Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-09-19

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo