Pugs t-shirts www.cafepress.com/pugscode | Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net Set by stevan on 15 August 2005. |
|||
GoCooL | what is the difference between pugs and parrot? | 00:22 | |
the docs has that parrot consists of - parser, compiler, optimizer and interpreter | 00:23 | ||
dduncan | short answer ... | ||
GoCooL | and that | ||
dduncan | parrot is a multi-language virtual machine written in C, intended for long-term use | 00:24 | |
pugs is written in Haskell, and exists as a functional prototype for Perl 6, which is one language that will run on parrot | |||
GoCooL | pugs is an implementation of Perl 6, and I'm not sure what that actually means | ||
dduncan | Perl 6 is an interpreted language | ||
it can run under pugs and parrot | 00:25 | ||
pugs and parrot are different programs that can both interpret the perl 6 language | |||
an analogy is like Mozilla and IE are both programs that can interpret html web pages | |||
GoCooL | I read somewhere that the target of pugs is the Parrot VM | 00:26 | |
dduncan | pugs is currently implemented with multiple targets from which the user can pick | ||
GoCooL | now that confuses me further | ||
because | 00:27 | ||
dduncan | think of pugs like a compiler that can target multiple CPUs | ||
think of parrot as one CPU | |||
pugs can compile Perl 6 to either Parrot, or to Haskell, or to Perl 5, or to Javascript | |||
Parrot is expected to perform the best in the long term, or even now to an extent | 00:28 | ||
GoCooL | parrot doc says that the source code is parsed to produce the Abstract Syntax Tree which is them compiled to produce the byte code that is run by the interpreter | ||
dduncan | yes, and pugs is doing that source code parsing and AST producing and producing parrot byte code | 00:29 | |
but pugs can also execute perl 6 directly, so we can try out perl 6 and test edge cases, improving the design of perl 6, before parrot is complete | |||
think of parrot as a CISC CPU and pugs as a compiler that can target it, with Perl 6 being the high level language that pugs can compile | 00:31 | ||
GoCooL | hmmmm, so is it right to say that the pugs is a part of parrot, the part being the compiler? | ||
dduncan | pugs is not a part of parrot, but they are two distinct projects that can work together | ||
they are complementary to each other, but each does not depend on the other | 00:32 | ||
its like parrot is one of multiple CPUs to choose from, and pugs is one of multiple compilers to choose from | |||
GoCooL | ohhhh, ok | 00:33 | |
dduncan | other Perl 6 compilers were attempted, and abandoned; pugs is the newest and most complete one | ||
xinming | dduncan: And the most functional one. :-) | 00:35 | |
dduncan | yes indeed | ||
you could say, the only fu | |||
nctional one | |||
pugs is complete enough that you can do several types of complete programs in it right now | 00:36 | ||
xinming | But It seems that pugs developement progress is slown down ... :( | ||
GoCooL | since I'm still trying to get get my head around Perl 6 some of my questions might not make much sense, I'll try nevertheless | 00:37 | |
let's say that | |||
xinming | I've just got the laptop, And Just finished installing my Dear-Debian on it... though, many things has to be downloaded. :'( | 00:38 | |
dduncan | xinming, my impression of the slowdown is that some things are waiting on the completion of the Perl 6 MetaModel | ||
... and/or the complete conversion to the PIL based run mode | 00:39 | ||
GoCooL | lets say I don't want to use Pugs, will I be able to | ||
dduncan | I'm doing stuff that requires those to be done-ish before I can have a non-contorted and truly working perl 6 program | 00:40 | |
xinming | GoCooL: hmm, In fact, Pugs will do the same thing as "official" perl 6 does. Except the speed of your running program.... | ||
GoCooL | will i be able to compile and run my source using only Parrot? If I am then that means that Parrot has an inbuilt compiler.right? | 00:41 | |
xinming | Perl 6 will be written in Perl 6, So, Pugs seems to be like the best choice... | ||
GoCooL: You can use parrot "ASM" to do such things | |||
hmm, well, maybe I didn't catch what you mean... | 00:43 | ||
GoCooL | "Autrijus Tang, the lead on the Pugs project, notes that an unoptimized Parrot is already 30% faster than Haskell. Add compiler optimization and a few planned optimizations and Parrot will beat Pugs for speed hands down. " from Parrot FAQ | 00:46 | |
so is it right to say that Pugs and Parrot are basically doing the same thing? | 00:47 | ||
revdiablo | pugs can run code itself or run it through parrot | 00:48 | |
GoCooL | when there is a compiler that is part of Parrot, why and how can one use Pugs as a compiler to produce byte code for Parrot? | 00:51 | |
dudley | GoCooL: The truth of the matter is, parrot and Pugs are two completely separate and mostly unrelated projects. | ||
also, there isn't a Perl 6 compiler that is a part of parrot | 00:52 | ||
One was started about a million years ago, but it never got anywhere. | |||
GoCooL | maybe I'm not comprehending this right but in the docs here: dev.perl.org/perl6/pdd/pdd01_overview.html | 00:53 | |
revdiablo | GoCooL: parrot is a general purpose VM | ||
GoCooL | what is the compiler part of Parrot that they are talking about? | ||
dudley | oh, that's the compiler for PIR | 00:54 | |
Parrot Intermediate Representation | |||
which is kind of like an object-oriented assembler | |||
GoCooL | ohhhhhh | ||
dudley | it's the code that the Perl 6 compiler will eventually emit | ||
and it's what Pugs can emit now | 00:55 | ||
GoCooL | OHHHHHHHHH | ||
!!! | |||
revdiablo | pugs compiles perl6 into an intermediate form that parrot then runs | ||
but pugs can also run it directly, without parrot | |||
GoCooL | so the source code in the link above is actually PIR, right? and not Perl 6 source code | ||
dudley | probably | 00:56 | |
GoCooL | hmmmm | ||
revdiablo | that document looks like it's just a general idea of how parrot is intended to be used | ||
dudley | parrot doesn't have anything to do with Perl 6 at the moment | ||
revdiablo | it's not necessarily describing what parrot currently does nor saying anything about perl6 | 00:57 | |
GoCooL | godddd, that feels like an eye opener | ||
revdiablo | like dudley says, parrot and perl6 are pretty much separate projects. parrot is a VM that will probably work out very nicely for running perl6, and was designed with perl6 in mind, but was also designed not to be perl6 specific | 00:59 | |
GoCooL | I'm planning on downloading and playing a little bit with Parrot. at this point, will I be able to run Perl code on Parrot? | 01:05 | |
dudley | GoCooL: Possibly, but if you want to play with Perl 6, you don't need parrot. | 01:06 | |
If you want to play with parrot, though, you do. :-) | |||
GoCooL | Perl 6 is what I intend to experiment with | 01:07 | |
dudley | Then all you need is Pugs :) | ||
GoCooL | one more thing | 01:10 | |
Pugs is a perl 6 compiler written in haskell, but the final design objective is to write the compiler in Perl 6 itself, right? | 01:11 | ||
QtPlatypus nods to GoCooL "Yes" | 01:14 | ||
dudley | stevan: ping | 02:35 | |
spinclad goes back in time 11:30 and applauds nm | 02:59 | ||
dudley | Hey luqui | 03:04 | |
luqui | hi dudley | ||
dudley | When did .meta go away? | 03:05 | |
luqui | .meta? | ||
oh | |||
right, braino | |||
.meta went away? | |||
you mean in pugs? | |||
I never knew it existed to begin with | |||
dudley | In the new metamodel, there's no metaclass | 03:06 | |
luqui | oh. huh. that's weird | ||
dudley | I was wondering if that was an implementation issue, or if it was Decreed | ||
luqui | I haven't heard anything, so it's probably implementation | ||
03:06
ods15_ is now known as ods15
|
|||
luqui | Larry's basically pushing the meta stuff off onto autrijus and stevan | 03:06 | |
so there is still a "metaclass", but it's probably just "class" these days | 03:07 | ||
dudley | Exactly. | ||
I meant there's no "MetaClass" class | |||
luqui | then where is the dispatch logic held? | 03:08 | |
dudley | the metaclass is now "$::Class" like you said | 03:10 | |
luqui | well, IIRC, "MetaClass" was just the default metaclass anyway | 03:11 | |
so as long as you can change it, it doesn't matter what the default is | 03:12 | ||
and you have to be an instance of yourself at some point | |||
I think the new metamodel is (wisely) just pulling that point as low as possible | |||
dudley | Yes, I definitely think it's an improvement | ||
but Larry seemed so dead set on the Class being a thin candy shell for the MetaClass | 03:14 | ||
luqui | he did? | ||
dudley | that was the impression I got from p6l | 03:15 | |
luqui now recalls ignoring a big thread about metastuff | |||
luqui goes back and sees if he can find the relevant messages | 03:16 | ||
plus catching up on that thread... | |||
dudley | thread.gmane.org/gmane.comp.lang.pe...guage/4558 | 03:18 | |
there's one of them | |||
but it can't be the one you ignored, 'cause you replied to this one ;-) | |||
luqui | when I "ignore" a message, that basically means I look at the subject and any code examples to see if there's anything that I want to think about | 03:19 | |
so I may have been oblivious to most of this conversation | 03:20 | ||
dudley | I often "ignore" p6l threads by reading the entire thing and then completely forgetting everything I just read | 03:22 | |
and discovering it a couple of weeks later like it was new | |||
luqui | Any lwall statement that starts with "I'm not sure if" can be taken as speculation :-) | 03:26 | |
dudley | I usually take it that way | 03:28 | |
but each time he says something similar, the speculativity of it decreases :) | |||
Anyway, off to bed now. | 03:29 | ||
sleep & | |||
svnbot6 | r7041 | luqui++ | r3456@jabberwock: fibonaci | 2005-09-18 22:50:48 +0000 | 04:53 | |
r7041 | luqui++ | Added note about when a theory is a role. | |||
gaal | Khisanth: the company that purchased IBM's PC division, Lenovo. I wonder how well they'll keep the products. | 05:00 | |
(morning!) | |||
Khisanth | gaal: I seem to recall the paper saying they have been manufacturing them for IBM for several years already | 05:01 | |
gaal | good, so they know how to make 'em. I hope they keep making them as good, etc. | 05:03 | |
05:05
SM_a1 is now known as SM_ax
|
|||
nothingmuch | ahoy | 07:03 | |
luqui | ahoy matee | 07:07 | |
what be happenin in the lore land of perl 6? | 07:16 | ||
gaal | arrr! me pragmas still be lost at sea | 07:20 | |
luqui | What pragmas be ye workin' on? | 07:21 | |
gaal | i ken not whether i'll have time to voyage fer them! | ||
arr, those be any pragmas at all, the ones that the parser be installing | |||
luqui | Aye | 07:22 | |
I dasn't think swashbucklers like us say "ken". Those be the scurvy scottish! | 07:24 | ||
gaal | I think it be a valid saxon word... I'll check me OED when I get to me cabin | 07:25 | |
luqui | I be havin' to stop talkin' like a pirate when I be scribin' like a pirate, lest me voice go dry | 07:27 | |
nothingmuch | hola luqui | ||
luqui | hola, me hearty, como estas arrr? | 07:28 | |
gaal | nothingmuch be a Spaniard pirate! arr! | ||
nothingmuch | Thar buxom Blondie is type inferrencing, yarr | ||
luqui | Arrrr! | ||
luqui takes a gander | 07:29 | ||
nothingmuch | I tried to be compiling to C, but my mind became groggy like a land lubber at high sea | ||
gaal | ...on swill | ||
nothingmuch | swill? | ||
www.talklikeapirate.com/howto.html#basic | |||
nothingmuch is trying with that | |||
luqui | gaal be a cunning seafarin' hearty | 07:31 | |
nothingmuch | luqui: did yer get to read some of me Blondie? | ||
gaal | nuffin: swill be the cheap grog | 07:32 | |
luqui | Nay | ||
Blondie be type inferencin' this tide? | |||
nothingmuch | arr, gaal! | ||
luqui: aye! it be compiling to a tree that be statically converting types | 07:33 | ||
(albeit unnecessarily, this being perl and all) | |||
me wanted to compile to C, but alas I was too tired | |||
luqui | What algorithm does't use? | 07:34 | |
Be't in pugs? | |||
luqui answers his own queries | 07:35 | ||
nothingmuch | aye | ||
algorithm beith silly and dumb | |||
nothingmuch.woobling.org/blondie_ty...tation.png | |||
it hath no generic yet | 07:36 | ||
luqui | It be a start | ||
Odin- | Be it talk-like-pirate day again, arr? | ||
luqui | Once ye get generics, ye get t'decide between monotypes and their lack | ||
Thar be a hard decision | 07:37 | ||
nothingmuch | luqui: i just wanted the quickest route to type conversion for compiling down to sea | ||
err, C | |||
luqui | arr | ||
nothingmuch | real inferrence will come later, arr | ||
luqui | This be luqui's first TLAP tide | 07:38 | |
nothingmuch | arr, mine too... yerr a fairly capable buckaneer, luqui | 07:39 | |
gaal | thank ye, luqui, and yer own speakin' be fine as well | ||
luqui | thank ye arr | 07:41 | |
G2 | Morning, is it acceptable to use Perl6::Export::Attrs in production Modules? | 07:55 | |
luqui | G2: Aye | 07:56 | |
G2 | Cool. I thought Perl BP wouldn't have mentioned it otherwise | ||
spinclad arr's a few times, fer good luck | 07:57 | ||
G2 | ;-) | ||
luqui | What be Perl BP? | ||
G2 | Perl best Practices | ||
luqui laughs | |||
Perl6::Export::Attrs be a Damian Conway module | |||
G2 | Of Course! | ||
Ha | |||
Self Promotion book that is | 07:58 | ||
;-) | |||
luqui | Aye | ||
G2 | 517 Pages of advertisments ;-) | ||
luqui | Damian said he scribed ten moduled fer that book alone | 07:59 | |
nothingmuch | G2: i wouldn't | ||
luqui | *modules | ||
G2 | Will CPAN accept modules that have Perl6::Export::Attrs? | ||
luqui | nothingmuch, why? | ||
G2, CPAN accepts all | |||
nothingmuch | due to the handling of attrs | ||
G2 | Cool | ||
nothingmuch | BEGIN handlers can happen uniformly, but the sub is not yet defined at that point | ||
INIT time is not good though | |||
soif you 'requrie Module::That::Export::Attrs' the export list is not set up | 08:00 | ||
G2 | But you don't, you 'use' it | ||
nothingmuch | right, but sometimes you don't have control | ||
nothingmuch avoids attrs due to this instatbility | |||
i thought it's okay, because I use it | 08:01 | ||
a month later I removed all Export::Simple or whatever that was from my code =( | |||
G2 | nothingmuch: Yeah, ok. | ||
luqui | nothingmuch, I think P6::E::A sets up an export list and just looks at it from import() | ||
nothingmuch | luqui: right, and the way it sets up an export list might not be triggerred under a mod_perl environment, for example | ||
luqui | arr, aye, aye | 08:02 | |
nothingmuch | Exporter::Simple | ||
G2 | Noted. Thanks. | ||
nothingmuch | it's actually a very nice syntax though... *sniff* | ||
luqui | what about Perl6::Export | ||
very simple source filters be not th' devil | |||
G2 | Not looked | ||
nothingmuch | source filters are, well, source filters | 08:03 | |
i guess it is a better choice | |||
but note that loading Filter::Simple is not an easy task | |||
luqui | ? | ||
nothingmuch | (for perl) | ||
it takes a while | |||
luqui | not really | ||
stupidly implemented source filters take a while | |||
nothingmuch | oh, okay | 08:04 | |
it could have been that then | |||
nothingmuch remembers a *big* performance hit from source filtered code | |||
luqui uses Perl6::Attributes all the time and doesn't percieve a performance hit | |||
P6::A (my module of course) is about as simple as source filters get | |||
:-) | |||
luqui has ceased talkin' like a buckaneer | 08:05 | ||
luqui hangs his head in shame | |||
spinclad | arrk! pieces of eight! pieces of eight! | ||
luqui | ? | 08:06 | |
spinclad | arrk! it's talk like a parrot day! arrk! | ||
nothingmuch | ahoy spinclad | ||
wolverian | luqui, by the way, the last line in P6::A's DESCRIPTION looks faulty (reading it on CPAN, anyway) | ||
spinclad | ahoy matey! | ||
luqui | aye | 08:07 | |
ahoy spinclad | |||
spinclad | ahoy and avast! | ||
spinclad whistles | 08:08 | ||
spinclad wonders how far he can go with sound FX | 08:09 | ||
nothingmuch | spinclad: did you see recent blondie progress? | 08:11 | |
luqui | homepages.nildram.co.uk/~gkhs/pirate.mp3 | ||
nothingmuch | arrr, my speakers beith silent as death | 08:12 | |
they be doin it 'ccasionally when me be unplug the cable whilest the laptop sleeps | |||
gaal hath yar soundtrack to Amateur blastin' | 08:13 | ||
nothingmuch thinks the laptop should use a thief knot (en.wikipedia.org/wiki/Thief_knot) to catch me in the act | |||
spinclad | hold hard a jiffy, lemme bring me pugs-hoard up to the runnin tide | ||
acme | arr, shiver me timbers | 08:14 | |
spinclad | i heard yer word of it from the crows nest | 08:15 | |
nothingmuch | spinclad: Ye might want to heave the revision of example.pl that comes before the head, ter see the first incarnation | ||
acme: arr matey, what has come about? | |||
acme | the wind be shifting | 08:16 | |
luqui dasn't like the sound of that | 08:17 | ||
spinclad | aye, toss it overboard! make it *walk the plank!* | 08:19 | |
nothingmuch | spinclad: the buxom blondie is a tasteful lass... she be wanting many pretty modules | 08:20 | |
luqui | I thinks Blondie be a beauty t' try out me new type inferencin' module | 08:21 | |
I best be gettin' me arse in gear writin' thar module | 08:22 | ||
nothingmuch | luqui: ye be read Blondie::TypeSafe | ||
and ye be study thar outline | 08:23 | ||
it be simple... if yer make a Blondie::TypeSafe::Annotator that is interface compatible but smarter, i be me a happy cutlass | |||
luqui | aye aye | 08:24 | |
nothingmuch | in plain english: | ||
the problems right now are as follows: | |||
1. two level call depths have problems with parameter placeholders | 08:25 | ||
2. generic types are not yet supported | |||
the things I like: | |||
luqui | explain (1) | ||
nothingmuch | luqui: i was trying to compile to C yesterday, but instead I chased the bug | ||
i redid the prelude's &print | |||
as App(Sym( | 08:26 | ||
'&printf'), Sym('$handle'), Val('%s'), Sym('$string')) | |||
to make things easier for the C backend (Since that's what all the hash based replacement is about, after all) | |||
and the type of the call to &say was confused somehow | 08:27 | ||
&say implemented with a builtin &print works OK with the say(42) program | |||
it amkes it into say(stringify(42)) | |||
I'm also thinking of making Thunk a List instead of a Unit | 08:28 | ||
or maybe even a map with body and params | |||
luqui | arr, what type gets say when ye redid &print? | 08:29 | |
nothingmuch | let me explain how params and syms are resolved | ||
since &say => Thunk( Seq( Param('$string'), App(Sym('&print'), App(Sym('&infix:<~>'), Sym('$string'), Val("\n")))) | 08:30 | ||
when the &say thunk is traversed Param($string) is noted, and it contains a placeholder type | |||
the dynamic symbol resolution notes that Sym('$string') resolves to that, so it's set to have the type of the placeholder | 08:31 | ||
&infix:<~> is resolved, and has the type 'PV -> PV -> PV' | |||
Val('\n') has the type PV | |||
the App() has the type 'PV' | |||
Sym has a placeholder type | |||
all that's left is to unify (Placeholder, PV) with (PV, PV) | |||
luqui | arr, th' weather be harsh to me modem | 08:32 | |
nothingmuch | when unifying with a placeholder the expected type fills in the placeholder | ||
luqui goes back and reads from the top | |||
nothingmuch | okay, so now we've noted a PV type in Param('$string') | ||
and resolve the App to have a type PV | |||
App(Sym('&print'), Sym('$handle)' | 08:33 | ||
err | |||
App(Sym('&print'), Sym('$*OUT'), App(...concat...)) relies on $*OUT and &print being provided by the runtime | |||
&print is GV -> PV -> IV | |||
*OUT is GV | |||
the App is PV | |||
so the type of App is IV, and everything unifies correctly | 08:34 | ||
then we exit the Thunk's reduction | |||
it constructs a new type taking the return value of the Seq (which takes the return value of the last element in the list, in this case IV) | |||
and it finds all the children of the Seq that are Params (no traversal yet, even though it's easy - just stop at the next App) | 08:35 | ||
and uses their stored types (the ones they got from inferrinf the Syms, not their own type - they have the bottom type since they have no return value) | |||
to construct thde parameter list | |||
since $string was a PV the type of &say is 'PV -> IV' | |||
then App(Sym('&say'), Val(42)) is applies | 08:36 | ||
*applied | |||
since 42 is an IV Val(42) is also an IV | |||
and the App's type is IV | |||
but it tries to unify a (PV -> IV)'s PV with an IV, which doesn't work | |||
so it says $self->runtime->cast_node_type($annotated_node_that_is_val_42_with_type_info, $de_facto_type_of_val_42, $expected_type_found_in_say's_type_signature); | 08:37 | ||
a type strict runtime will raise an exception | |||
luqui thinks he understands | |||
nothingmuch | Blondie::Backend::Perl constructs an App(Prim(...caster...), Val(42), Val("PV"), Val("IV")) and does a runtime conversion | 08:38 | |
that is "42" | |||
but it's moot since that will happen anyway ;-) | |||
hi szabgab | |||
i mean, ahoy szabgab | |||
luqui: any suggestions on what to do? | 08:39 | ||
what to do (better|next), that is | |||
luqui | nothingmuch, what do you mean? | ||
ahh... | |||
um... | |||
nothingmuch | my next step is to compile to a static language | ||
then I'll have a look at generic inferrencing | 08:40 | ||
luqui | I'll try to release my inferencing module soon | ||
nothingmuch | during the compilation to C i expect to fix the bug with the dually nested thingies | ||
it's probably something stupid | |||
luqui: what process does it do? | |||
luqui | it takes a "type equation system" view; so you have a "equation system" object, and as you traverse your tree, you add equations to it | 08:41 | |
(asking it for free variable names and whatnot) | |||
then you say, Solve it Stupid! | |||
nothingmuch | sounds reusable | ||
=) | |||
luqui | and it gives you back the constraints on all your variables | ||
nothingmuch | does it know of 'x -> x' types? | ||
luqui | uh? | ||
you mean functions? | |||
nothingmuch | for example map | ||
yep | |||
luqui can't decide | 08:42 | ||
Aankhen`` | UPS AHOY | ||
nothingmuch | how come? | ||
ahoy Aankhen``! | |||
luqui | well, what equation would you get for App($a, $b) | ||
Aankhen`` | Hiya nothingmuch. :-) | ||
Aankhen`` dances with joy. | |||
luqui | it seems like something that the compiler should do to pull apart $a's type | ||
nothingmuch | the compiler has $a's type =) | ||
supposedly | 08:43 | ||
luqui | right, and you'd just say $a's type is (a -> b) for variables a and b | ||
and then set up the equations appropriately | |||
nothingmuch | for example App('&map', Sym('&say'), Val([qw/a b c/])) | ||
luqui | but the inferencer wouldn't know about the type a -> b, just a and b] | ||
nothingmuch | this should take the type 'PV -> IV' from say | ||
and the type '[PV]' from the Val | 08:44 | ||
or '[PV|IV]' if it's mixed | |||
luqui | it all comes down to interface. if there is a good equation-based interface to function types, I will add them | ||
but I can't see how to incorporate it | |||
nothingmuch | and apply it to &map which has the type '($a -> $b) -> [$a] -> [$b]' | ||
TaPL and adv TaPL should help us, I guess | |||
I hope they arrive quickly | |||
luqui too | 08:45 | ||
amazon says they're coming today | |||
rather, between today and Oct 1 | |||
nothingmuch | hah | ||
luqui | I always assume the best though so I can be disappointed with maximum efficiency | ||
nothingmuch | =) | ||
Delivery estimate: Nov 1, 2005 (More about estimates) | |||
damnit | |||
i should have bought it here... combooks.co.il/details.asp?catalogi...0262162091 | 08:46 | ||
luqui | nothingmuch, do you have windows? | ||
nothingmuch | nope | 08:47 | |
i can have windows within 2-3 minutes | |||
but no proper tools on it | |||
how come? | |||
luqui | :-) | 08:48 | |
I was just thinking, I could give you my university account information, and you could see TaPL online | |||
it's a bit of a pain to read because of all the security features, but the content is there | |||
oh, wait, I think there's a VPN for mac | |||
duh | |||
nothingmuch | what vpn? | 08:49 | |
l2tp/ipsec? | |||
luqui has no idea | |||
luqui finds the webpage | |||
nothingmuch | those are getting popular lately | ||
luqui | www.colorado.edu/its/vpn/ | ||
nothingmuch | okay, seems like it might work | 08:50 | |
luqui | well, it was worth a shot | 08:54 | |
nothingmuch | wow, oreilly's safari is pretty bare | 08:59 | |
it's 99% hype books... haven't found anything serious yet | 09:00 | ||
luqui | pretty much oreilly books | ||
? | |||
nothingmuch | nothing about haskell | ||
just .net, VB, teach yourself X in 21 days, and oreiily books | |||
luqui | eyuck | 09:01 | |
gaal | i got into unix from an oreilly book | ||
nothingmuch | i got into unix from perldoc =) | ||
luqui | no, oreilly is great | ||
nothingmuch | oreilly is great, but their selection is pretty limited | 09:02 | |
luqui | just... they're not much for academic material :-) | ||
gaal | picked up "unix power tools" years ago and loved the culture, the hackage | ||
in recent years they've published some fluff along with very good books | |||
nothingmuch | gaal: did you see my first post to perlmonks? | ||
luqui | be ye a hacker before then? | ||
gaal | nope | ||
arrr! thank ye fer reminding me how ta speak | 09:03 | ||
nothingmuch | gaal: it be a translation of Oedipus Rex to UNIX IPC | ||
gaal be looking | |||
nothingmuch | twas an expression of frustration and loinging, what with me not having UNIX till a year after that | ||
nothingmuch grew up on Macperl | |||
gaal | an nothingmuch be mad :) | ||
nothingmuch | somewhere half way through perldoc I tried 'fork()' | 09:04 | |
and it be say: | |||
"fork()?! I'm not *that* kind of operating system." | |||
luqui | where find I this first post? | ||
nothingmuch | www.perlmonks.org/?node_id=6364&...ood=Search | ||
although those new posts are emabarracing | |||
www.perlmonks.org/?node_id=177897 | |||
gaal | luqui, nay, i be a kid before then, who moosed around BBSen | ||
nothingmuch | the approximate matching w/o c one was /me trying to show off closures, and getting shouted at by [merlyn] for plagiarising MaPLK | 09:05 | |
wolverian | hm, is there a syntax to import a classname to the current namespace? Date ::= DateTime::Gregorian? | ||
gaal | an fooled with desqview an os/2 ('member that?) | 09:06 | |
nothingmuch | my ::Date ::= DateTime::Gregorian? | ||
wolverian | perhaps. it is a nice idiom, anyway. (letting the code to determine what calendar to use for Dates) | ||
nothingmuch | =) | 09:07 | |
wolverian | oops, that's Date::Gregorian, by the way. | ||
gaal | "for (my $i = 1; $i <= 4; $i++){" !? :-) | ||
nothingmuch | gaal: i was around 4-5 months into perl... forgive me | ||
luqui giggles | |||
when me matey be learning perl, he writes: "if (!$x) { $x = 10 }" | 09:08 | ||
nothingmuch | =) | 09:09 | |
gaal is not wont ta show 'is own old code | |||
luqui | I still remembers the look on his face when I showed him "$x ||= 10" | ||
nothingmuch too | |||
luqui | Oooh. Ack! Oh. Eep. | ||
nothingmuch | salads came crawling out of the bung hole | ||
wolverian | hmm, is date() a builtin or a Date::Gregorian export? | ||
nothingmuch | i'd say it was an export | 09:10 | |
luqui | export | ||
nothingmuch | i'd say in perl 6 almost everything is an export | ||
wolverian | er, rephrase: would it be a good idea to have such a function as a builtin? | ||
nothingmuch | nope | ||
wolverian | right. | ||
luqui | aye, we calls it "time" | ||
wolverian | heh. ;) | ||
nothingmuch | i think that's also not a "builtin" | ||
wolverian | does time() return an object, then? | ||
luqui | time.month | ||
nothingmuch | it's part of Perl6::Prelude::POSIX | ||
wolverian | if it does, it'd be practically the same as Date::*.new() | ||
luqui | that be nice | ||
wolverian | nothingmuch, I thought the plan was to ditch POSIX :) | 09:11 | |
nothingmuch | err, right | ||
luqui | wolverian, kid ye? | ||
kid ye not? | |||
wolverian | I don't know. | ||
nothingmuch | Perl6::Prelude::POSIXIAN uses POSIX to give a time object from the epoch time | ||
anyway, i'm off to eat | |||
gaal | Prelude.pm is getting big enough fer the build system te assemble from several files, nay? | ||
wolverian | right. okay. I'm just wondering how necessary that is | ||
(duplication of interfaces) | 09:12 | ||
nothingmuch | gaal: i thought there were problems with precompilation... do you mean assemble several files into Prelude.pm? or load several Prelude modules | ||
nothingmuch really leaves | |||
gaal | aye, and indeed there be problems that may not be worth fixin' | 09:13 | |
i needs must go as well now | |||
luqui be alonne | 09:14 | ||
wolverian | arr, I be hungry | ||
Juerd | Talk like a pirate day again? Yarrgh. | 09:17 | |
rafl_ | Juerd: Hm. | 09:40 | |
Juerd: The display works for me, but when suspending to ram I get SATA errors after the wakeup. | |||
Juerd | rafl_: I be sailing that kubuntu ship. | 09:41 | |
What's yer ship? | |||
rafl_ | Juerd: There's a patch for that, but if it's applied it suspends/wakes up correctly but shuts down then. | ||
Juerd: Debian sid. | |||
Juerd | I don't know what patches are applied to Ubuntu's kernel. | ||
Oh, I had that shutting down too first. It was because I used my power button to wake it up | 09:42 | ||
And the event doescome through | |||
So use another way to wake it up :) | |||
rafl_ | What other ways are there? | 09:45 | |
Juerd | On my thinkpad, it wakes up when opening the lid (requires closing first, obviously) | ||
And on pressing the Fn key | |||
If you pass s3_mode too, any mouse movement suffices, but then you'restill using a lot of battery. | 09:46 | ||
rafl_ | OK, I'll try that. Thanks. | ||
Juerd | I first thought it was Fn+F4, which is the key to sleep | ||
But later I discovered that it's just the Fn key that it responds to. | |||
Funnily enough, Fn+F4 doesn't make it wake up and then sleep again, which you would expect with powerbtn waking up and shutting down. | 09:47 | ||
Good luck | |||
Time for therapy again :( | 09:48 | ||
(for my knees, not the mind) | |||
luqui | sure | ||
arr, how does pirates say "bye"? | 09:49 | ||
rafl_ | Juerd: I love you! Thanks! | 09:50 | |
nothingmuch 's juggling is improving | 10:14 | ||
eeep.... PBP and CPANTS are making me nervous | 10:17 | ||
too many people are spending too much time on these things | 10:18 | ||
they should learn to keep things in mind and try to remember them when it counts | |||
luqui | what be CPANTS? | ||
nothingmuch | kwalitee | ||
there is a long thread on perl-qa lately | |||
or several, actually | |||
luqui concurs wholeheartedly, arr | |||
nothingmuch | with who? | 10:19 | |
;-) | |||
luqui | avast, too much time be spent worrying about code standards, and not enough on good code | 10:20 | |
nothingmuch | aye | ||
luqui watches Fear and Loathing in Las Vegas | 10:21 | ||
b-aye | 10:22 | ||
nothingmuch | nice movie | ||
ciao | |||
heh: cpants.dev.zsi.at/author/NUFFIN | 10:24 | ||
my kwalitee sucks | |||
damnit, wtf is up with 'has_test_pod' and 'has_test_coverage' | |||
pod_coverage | |||
this is something WRT the act of distribution | 10:25 | ||
i don't need to test that pod is correct on every platform i install | |||
these people are drunk | |||
why not has_good_pod | |||
and pod_covered | |||
pjcj covers nothingmuch's pod | 10:36 | ||
(no_pod_errors is there too) | |||
nothingmuch | so what does a test have to do with it? | 10:37 | |
if I can ship pod without errors what do they care how I do it? | |||
pjcj | what does pugs do wrt order of evaluation and stuff like $i = $i++ ? | ||
nothingmuch | stuff like? | ||
pjcj | things that would cause undefined behaviour in C | 10:38 | |
nothingmuch | oh | ||
i would expect it to work just like $x = foo($x); | |||
sub &postfix:<++> ($i is rw) { my $j = $i; ++$i; return $j }; | |||
so it increments $i in place in the ($i++) expr | 10:39 | ||
and then sets it to $j | |||
&prefix:<++> ($i is rw) { $i += 1 } | |||
pjcj | so, $i = 2; $i = $i++; say $i gives what? | 10:40 | |
evalbot_7041: $i = 2; $i = $i++; say $i | |||
nothingmuch | ?eval my $i = 2; $i = $i++; $i | 10:41 | |
evalbot_7041 | \2 | ||
Juerd | I'm in my car | ||
nothingmuch | Juerd: cellphone? | ||
Juerd | Waiting for the wegenwacht (people in yellow cars fixing cars) | ||
I left my lights on. The battery is empty now :( | |||
nothingmuch | oi | ||
can't you flag some bypasser to start you up? | 10:42 | ||
Juerd | I was planning on using EDGE (cell phone using technique, 240 kb/s) | ||
nothingmuch: I'm not that good with people | |||
nothingmuch | Juerd: aren't the people in yellow cars people? | ||
Juerd | Anyway, I found free internet via wifi, only 40 meters from my own home | ||
nothingmuch | hehe | ||
Juerd | nothingmuch: Yes, but them I pay. | 10:43 | |
They're strangers with a function | |||
That's always easier | |||
nothingmuch | fairy nuff | ||
Juerd | Let's see what kind of an internet connection I get here | 10:44 | |
Oh, it's quick | |||
It reaches 5 Mbit/s | |||
nothingmuch | ooh | ||
Juerd | Which probably means wifi is the bottleneck, and the connection is relaly 8 Mbit/s | ||
nothingmuch | get closer | 10:45 | |
Juerd | I can't | ||
My car ain't moving | |||
nothingmuch | ah | ||
Juerd | Can't even open a window for some fresh air | ||
So I opened a door | 10:46 | ||
nothingmuch | 5 is usually the limit imposed when it's throttled down for reliability | ||
Juerd | The rate is 11 | ||
But I'm used to getting no more than 5 over an 11 Mbit/s connection | |||
10:46
Aankh|Clone is now known as Aankhen``
|
|||
Juerd | nmapping... :) | 10:48 | |
(I feel responsible for telling these people their wifi is open) | |||
But I first need to know who they are | |||
Usually, this can be found out by watching their holiday pictures | 10:49 | ||
Aankhen`` | Anyone here taken the new (2005) SAT? | ||
Juerd | Which are often on passwordless smb shares | ||
I'm the only station on at the moment. Too bad. | |||
rafl_ | Juerd: What do you use for suspend to disk? | 10:50 | |
Juerd | rafl_: On what level? | ||
rafl_ | Juerd: Kernel level. swsusp2? | 10:51 | |
Juerd | Whatever is in ubuntu's default kernel | ||
I think it's old swsusp | |||
rafl_ | :-( | ||
Juerd: Can you upload the kernel config for me, please? | |||
Juerd | Sure. Whereto? | 10:52 | |
rafl_: Alternatively, just install ubuntu's kernel package | |||
rafl_ | I don't know. A webserver, a nopaste site.. | ||
Juerd | It's linux-image-2.6.12-8-686 | ||
rafl_ | Juerd: No, I need a self-compiled kernel. | 10:53 | |
Juerd | The sources are available too :) | ||
nothingmuch | Juerd: zcat /proc/config.gz | pbotutil -m "my kernel config" -u "Juerd" | 10:54 | |
rafl_ | Yes. I thought it would be easier for you to upload the config than for me to download the whole src package and extract the config. | ||
Juerd | rafl_: tnx.nl/4154OBFV | 10:55 | |
nothingmuch: Ubuntu has the configs right there in /boot/config-`uname -r` | |||
rafl_ | Juerd: Thank you. | ||
Juerd: You don't have your swap partition on LVM2, do you? | 10:56 | ||
Juerd | rafl_: No | ||
Why would I? | |||
nothingmuch | so that it can be resized | ||
Juerd | Who the hell needs to resize swap partitions? | ||
You can add as many swap partitions as you like | 10:57 | ||
rafl_ | Because LVM is cool. Unfortunately I didn't get suspend to disk working on a swap partition on LVM. | ||
Juerd | It stripes them automatically too (little known feature) | ||
rafl_ | Juerd: It's not about the swap partition. I have everything but /boot on lvm. | ||
Juerd | Make it everything but /boot and swap | ||
rafl_ | That's a problem now (without any data loss) | 10:58 | |
nothingmuch | stripping of partitions on the same physical drive doesn't make sense... are you sure it does that if they're on the same disk? | ||
Juerd | rafl_: Real flexible, that lvm thing ;) | ||
nothingmuch: No, I don't think it will. | |||
rafl_ | Juerd: Much more than without LVM. | ||
Juerd closes the door again | |||
nothingmuch | Juerd: LVM is a tradeoff... it's good for some things, but bad for others | 10:59 | |
Juerd | Some fire department people moving car is driving around in circles | ||
nothingmuch | it pays off if you have two disks | ||
Juerd | I've seen it pass me four times already | ||
(I'm parked next to the fire brigade) | |||
nothingmuch | maybe they're patrolling for smoke | ||
Juerd | The building next to me says, in large neon letters: "Eerst redden, dan blussen" (rescue first, then extuinguish) | 11:00 | |
Hehe, sure | |||
QtPlatypus | Juerd: Your lucky, i live next to a hospital. | ||
Juerd | I think they think I'm a terorrist :P | ||
QtPlatypus: Oh, but ambulances make much less noise | |||
Here at least | |||
QtPlatypus | Juerd: Not when there helicopters. | ||
Juerd | Haha | ||
Right :) | |||
nothingmuch wonders why Damian's modules can't stay simple | |||
nwc10 | larry++ # good answer | 11:01 | |
Juerd | What the... | ||
karmaspammer! | |||
nothingmuch | search.cpan.org/~dconway/IO-Prompt-.../Prompt.pm (includes a clustered option switch parser just for fun) | ||
Juerd | nothingmuch: He's an academic programmer | ||
That's just how they work and think | |||
nothingmuch | =( | 11:02 | |
Juerd | there | 11:04 | |
car works | |||
bye! | |||
nothingmuch | huraah | ||
ciao | |||
the perl debugger sucks | 11:10 | ||
gaal | nothingmuch, have ye seen Devel::ebug? Did I mention it in yer ears already? | 11:11 | |
nothingmuch | yes, I have | ||
nothingmuch upgrades it | 11:12 | ||
it didn't work last time, i forgot why | |||
btw, did MJD ever do that perl debugger thing on the TPF grant page? | 11:13 | ||
gaal | i think not, but he's got a few good points there (as usual) | 11:15 | |
pjcj | ?eval $i = 2; @a[$i++] = $i++; @a | ||
evalbot_7041 | Error: Undeclared variable: "$i" | ||
nothingmuch | ?eval my $i = 2; @a[$i++] = $i++; @a | ||
pjcj | ?eval my $i = 2; my @a; @a[$i++] = $i++; @a | ||
evalbot_7041 | Error: Undeclared variable: "@a" | ||
[undef, undef, 3] | |||
gaal | ?eval me $i = 2; @a[$i++] = $i++; @a | ||
evalbot_7041 | Error: No compatible subroutine found: "&me" | ||
gaal | arr, evalbot must be patched! (eyepatched that is) | ||
nothingmuch | search.cpan.org/~emartin/Acme-Lingu...te/Perl.pm | ||
BilgeRat sounds like a bignum implementation ;-) | 11:16 | ||
nothingmuch ponders a 'use bignum' that can only count to 4 or so | 11:17 | ||
pjcj | pugs' behaviour there seems pretty much undefined | ||
nothingmuch | and then in multiples of barrels | ||
pjcj: i'd expect it to do this: | |||
gaal | keelhaul be a bit excessive.. | ||
nothingmuch | allocate $i, assign 2 to it | ||
increment i, return 2 from "$i++" | |||
increment i return 3 from $i++ in the postcircumfix [] | 11:18 | ||
?eval my $i = 2; my @a; @a[$i++] = $i++; @a | |||
evalbot_7041 | [undef, undef, 3] | ||
nothingmuch | hmm | ||
fair enough | |||
the lvalue is first resolved down to it's container atom | |||
then the rvalue | |||
this actually makes more sense | |||
pjcj: you'd be surprised, but autrijus invested some thought into these things | 11:19 | ||
pugs' execution semantics are actually less grudgy than they seem most of the time | |||
pjcj | I'm sure he did, I just don't want to have to specify too much - I rather leave things as undefined, or implementation defined | 11:20 | |
nothingmuch | why? then portability is hindered | 11:21 | |
pjcj | C is pretty portable ... | ||
nothingmuch | except for the nitty details | ||
and also keep in mind that C is far simpler than perl | |||
and it's not really portable, it just has facilities for portability | 11:22 | ||
the same C code won't just run anywhere, even when you disregard headers and libraries and all that | |||
due to bytebex, bitwidth, for starters. | |||
pjcj | I'm not sure what the difference is - if you stay away from undefined behaviour you are fine | 11:23 | |
nothingmuch | so why allow there to be any undefined behavior at all? | ||
why not disallow undefined behavior? | |||
@a[$i++] = $i++; # compile time death: "multiple assignments to single container in expression causes undefined execution order" | 11:24 | ||
pjcj | then you have to specify everything - which is fine too, Java does that, I think | ||
compile time death is fine too - C just calls it undefined behaviour | |||
it would be nice to do something better that Perl 5 does | 11:25 | ||
than | |||
nothingmuch | not everything, but execution order is an important thing to specify | 11:26 | |
btw, if assignment is really MMD &infix:<=> then the current behavior is correct | 11:27 | ||
?eval m @a; @a[die "first"] = die "second"; | |||
evalbot_7041 | Error: unexpected "a" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
nothingmuch | ?eval my @a; @a[die "first"] = die "second"; | ||
evalbot_7041 | Error: first | ||
nothingmuch | sub &infix:<=> ($x is rw, $y) { variable($x).set($y) } | 11:28 | |
it makes sense - $x is evaluated first, then $y | |||
just like | |||
?eval foo(die "first", die "Second"); | |||
evalbot_7041 | Error: No compatible subroutine found: "&foo" | ||
nothingmuch | hah | ||
?eval say(die "First", die "Second"); | 11:29 | ||
evalbot_7041 | Error: Second | ||
nothingmuch | that was unintuitive | ||
pjcj | oops ;-) | ||
nothingmuch writes a test | |||
pjcj | ?eval my $i = 1; say(@a[$i++] = 1, @a[$i++] = 2); @a | 11:31 | |
evalbot_7041 | Error: Undeclared variable: "@a" | ||
pjcj | ?eval my $i = 1; my @a; say(@a[$i++] = 1, @a[$i++] = 2); @a | ||
evalbot_7041 | 12 [undef, 1, 2] | ||
pjcj | hmmm | 11:32 | |
anyway, lumchtime - thanks, nothingmuch | |||
nothingmuch | ciao! | 11:33 | |
pjcj: comitted | 11:37 | ||
svnbot6 | r7042 | nothingmuch++ | r8167@syeeda: nothingmuch | 2005-09-19 14:37:45 +0300 | 11:40 | |
r7042 | nothingmuch++ | test for evaluation order when semantics are grudgy | |||
luqui | ... | 11:58 | |
what the hell was that movie about? | |||
more precisely, what the hell just happened? | |||
nothingmuch | hehe | ||
luqui | er, arr | ||
uh oh, hard drive failure | 12:17 | ||
I hear it | |||
might be awhile before I'm in here again | |||
nothingmuch | =( | 12:18 | |
Juerd | Back up your data NOW then :) | 12:21 | |
commit all open changes, run unison, pray | |||
webmind- prays to the flying spaghetti monster for luqui | 12:22 | ||
dudley cringes, wishes luqui good luck, and runs rsync | 12:27 | ||
gaal | hola! since i'm playing army tag again, and may not be able to complete the lexical pragma stuff, here's the current status: | 13:34 | |
the install_pragma_value does put pragmas somewhere. but not in the correct place. | |||
when i install, from the parser, in the current env instead of the caller's | 13:35 | ||
(that is, without the line saying "let env'' = envCaller env' -- not sure about this.") | 13:36 | ||
then the following: | |||
./pugs -e 'BEGIN { Pugs::Internals::install_pragma_value("moose", 42) } say Pugs::Internals::current_pragma_value("moose")' | 13:37 | ||
prints 42. | |||
and indeed, | |||
./pugs -e 'BEGIN { Pugs::Internals::install_pragma_value("moose", 42) Pugs::Internals::install_pragma_value("moose", 44) } say Pugs::Internals::current_pragma_value("moose")' | |||
prints 44, which is correct. | |||
however! | |||
that's not the way it's meant to be used: | |||
it's the code that *called* the pragmatic module that ought to see the pragma values | 13:38 | ||
that's why i install in the caller env | |||
except that that doesn't work. | |||
so: if i'm freed to work on this, i will, but there's a chance i won't be able to soon. i'd love it if someone picked this up :) | 13:39 | ||
14:46
rafl_ is now known as rafl
|
|||
coke_ | hio. I wanna steal the smoke scripts from pugs for parrot. anyone here familiar with how they work? | 15:37 | |
nothingmuch | yes | 15:42 | |
util/yaml_harness is like prove | |||
but it spits our yaml and can run in parallel | |||
util/test_graph.pl uses Test::TAP::HTMLMatrix to graph the YAML | |||
util/smokeserv/smokeserv-{client,server} - arranges for community displays of the graphed output | 15:43 | ||
util/runsmoke.pl - runs yaml harness and then testgraph | |||
make smoke - runs runsmoke | |||
coke_ | so the pretty html displayed from the server is actually generated on the client? | 15:44 | |
nothingmuch | yes | ||
although theoreticall we could send the YAML over | |||
coke_ | eh. if the client has the horsepower to run the test suite.... | 15:45 | |
nothingmuch | i think that the problem is that it takes about a full minute to dump or load the YAML | ||
YAML.pm is very very slow | |||
the best thing to start with is Test::TAP::Model and Test::TAP::HTMLMatrix | 15:46 | ||
use the example script in ::HTMLMatrix | |||
run the parrot test suite with that | |||
and then plug to smokeserv if applicable | |||
if parallel runs and yaml archiving are important, then you should look into yaml_harness.pl | 15:47 | ||
coke_ | by parallel, do you mean simutaneously? or merely multiple runs on the same svn revision? | ||
nothingmuch | parallel like N procs at a time | 15:48 | |
(i have SMP, so i pressured gaal to hack it in ;-) | |||
coke_ | That's not a current requirement, methinks. | ||
nothingmuch | nothingmuch.woobling.org/Test-TAP-Model/ | 15:49 | |
gaal | but you get it for free if you like :-) | ||
nothingmuch | nothingmuch.woobling.org/Test-TAP-HTMLMatrix/ | ||
coke_ | what is "yaml archiving"? | ||
gaal | (hi! bye!) | ||
nothingmuch | ciao | ||
coke_ | (I presume, saving a test run asyaml for regenerating the report later) | ||
nothingmuch | yes | ||
it's a serialized Test::TAP::Model | |||
gaal: ping. | 15:50 | ||
gaal | pong, but not fer long | ||
nothingmuch | i think we should "upgrade" yaml_harness to use Data::Serializer | ||
coke_ | (for free) yes, that makes it more compelling. | ||
nothingmuch | that way it's the user's choice | ||
and storable is *much* faster | |||
coke_ | nothingmuch: I don't suppose you'd be interested in "porting" these to parrot? =-) | 15:51 | |
nothingmuch | coke_: uh, tell you what, i'll help you and you'll help me | ||
i am going to compile Blondie to parrot sometime this week | |||
and I'll be asking idiot newbie questions because humans have a better response time than google ;-) | |||
and you'll have to help | |||
gaal | nm: feel free, feel free | ||
coke_ | nothingmuch: Sold. | 15:52 | |
nothingmuch | gaal: i'll possibly consider maybe doing that | ||
gaal | but i'm going away for (1 .. 30).pick days | ||
nothingmuch | coke_: okay, let's get started... I'll make sure my parrot is compiled and start reading make test | ||
coke_ | (I am going to a con T+W, but am available most of the week.) | ||
nothingmuch | oh shit, it's tuesday already | ||
coke_ | no, monday. | ||
nothingmuch | good luck! | ||
coke_ | (at least, in EST) | ||
nothingmuch | no, i mean it's tuesday soon | ||
gaal has reserve duty on tuesday =( | 15:53 | ||
gaal | gotta run. later! & | ||
nothingmuch | ciao | ||
coke_: do you know the parrot makefile? | 15:54 | ||
rafl | The parrot build system should be reworked anyway. It's really painful for distributors trying to make a package out of it. | 15:55 | |
coke_ | nothingmuch: yup. | 15:58 | |
nothingmuch | /invite coke_ #parrot | 15:59 | |
coke_ | see you there. | 16:00 | |
17:44
Amnesiac_ is now known as Amnesiac
|
|||
Juerd | Is there a type "List"? | 20:09 | |
Aankh|Clone goes to sleep. | 20:19 | ||
wolverian | Juerd, way back on p6l Larry replied to me there is, but it can not be assigned | ||
Aankh|Clone | G'night. | ||
wolverian | Juerd, that is, bound to a name | ||
Juerd | That's exceptional and weird | 20:20 | |
wolverian | I might be remembering it wrong. I think he meant that "not to the user, who knows about the implementation" | 20:21 | |
Juerd wonders why he constantly disagrees with TSa | 20:23 | ||
To the point that I'm actually sigh before reading the message. | |||
s/'m// | |||
wolverian | I share some of his quesitons | 20:24 | |
questions | |||
if not necessarily answers | |||
Juerd | I think he lacks Perl background. | 20:25 | |
And misses concepts like references, context and lists completely | 20:26 | ||
Which combined can lead to the illusion that it's possible to have a reference to a list | 20:27 | ||
wolverian | I like that someone thinks analytically of them. ignorance and misunderstandings sometimes enlighten me. | ||
PerlJam | Juerd: I too sigh before reading his email. Though I often just skip them these days. | ||
Juerd | PerlJam: It's good to know that I'm not the only one | 20:28 | |
wolverian | maybe I'm just too ignorant as well to understand how ignorant he is :) | 20:29 | |
Juerd | He has all kinds of wrong assumptions about Perl 6, that he doesn't confirm and doesn't state | 20:31 | |
That makes reading and understanding what he says very hard. | |||
beppu | who is this person? (out of curiosity) | 20:32 | |
Juerd | TSa, or: Thomas Sandlass | ||
wolverian | or SandlaĆ for the unicode people | 20:35 | |
Khisanth | isn't that a requirement for this channel? :) | 20:36 | |
PerlJam | wolverian: I sometimes find his email confusing and not because I don't understand the words but because he version of the world is so completely alien to me. | ||
Juerd | Khisanth: Hell no. | ||
dduncan | Juerd, regarding the List type, I heard several months ago that it is now gone, and replaced with Array | 20:38 | |
wolverian | PerlJam, right. I just gloss over his mails and look at the replies to him. | ||
nothingmuch | woobling.org:8080/ | 21:07 | |
wolverian | wow, nice! | 21:10 | |
kolibrie | nothingmuch: woot! | ||
nothingmuch | hola kolibrie! | ||
nice photo from toronto | |||
kolibrie | hola | ||
thanks | |||
nothingmuch | got more? | ||
kolibrie | not online, most aren't that good | 21:11 | |
how did yours come out? | |||
nothingmuch | haven't finished the roll yet | ||
kolibrie | :( | ||
nothingmuch didn't go out much since | |||
and 120 format is something you tend to be cheap about | 21:12 | ||
kolibrie | you got that parrot smoke report up fast, four hours or so? | ||
nothingmuch | well, iblech did most of the work | 21:13 | |
i hacked their harness | |||
and i hacked his CGI | |||
and most of my time was actually spent on house stuff | |||
cooking, eating, cleaning up, picking up my sister, etc. | 21:14 | ||
kolibrie | sounds like life | ||
I've just ben $working | |||
s/ben/been/ | |||
nothingmuch | what on? | 21:16 | |
kolibrie | nothingmuch: nothing interesting today | 21:20 | |
last week I was working on data extraction | |||
nothingmuch | and in general? how goeth that DB storage backend? | ||
and did you see DBIx::Class? it's much more flexible than Class::DBI | |||
what kind of extraction? | 21:21 | ||
kolibrie | I modified MJD tokens function to allow for extraction, rather than full lexing | ||
then I tried to port to Perl 6 and got stuck | 21:22 | ||
the Class::Inflate is on CPAN (old copy) | |||
I need to release again | |||
It's pretty stable for readonly | |||
no writes yet | |||
stevan pointed me at DBIx::Class, but I haven't tried it yet | 21:23 | ||
nothingmuch: darcs get graystudios.org/software/Class-Inflate | 21:25 | ||
nothingmuch | darcs! huraah | 21:27 | |
that seems a little heavy for my present mental condition | 21:28 | ||
kolibrie | till tomorrow & | 21:35 | |
21:40
knewt_ is now known as knewt
22:33
whiteg_ is now known as whiteg
|
|||
stevan | hey luqui | 23:11 | |
luqui | hi stevan | ||
luqui just realized something very cool about theory theory | |||
stevan | much pirate talk in the backlog today | ||
luqui | aye | ||
justatheory coughs | 23:12 | ||
luqui | P-) | ||
stevan | :) | 23:13 | |
ok, time to take the dog out & | |||
luqui | do I have to pay for graffle? | 23:15 | |
nothingmuch | luqui: there's a beta | 23:36 | |
and you can get an unlimited amount of trial licenses, too | |||
and download pro, it can export better | |||
luqui | oh, well, I'l half-way done using the standard version | 23:37 | |
*I'm | |||
nothingmuch | en.wikipedia.org/wiki/Speculative_execution | ||
oops | |||
luqui | oh, TaPL came today! | ||
the earliest possible expected date | |||
graffle is really smart about alignment :-) | 23:39 | ||
nothingmuch | yes, it's very nice that way | 23:40 | |
i like it because you can forget about being pretty, it does all that for you | |||
congrats on TaPL... i hope mine gets here eventually too ;-) | |||
perhaps an inter library loan from tel aviv will be faster... /me will ask mom ;-) | 23:41 | ||
luqui points everyone to his use.perl entry where the cooolest thing just jumped out at him | |||
turns out that data constructors and classes are pretty much exact opposites! | |||
they are precisely dual from a formal perspective | 23:42 |