Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-03-15

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:01 Psyche^ joined perl6
00:04 Psyche^ is now known as Patterner
00:04 diakopter joined perl6
00:14 mako132_ joined perl6
00:15 Psyche^ joined perl6
00:26 Patterner joined perl6
00:34 bsb joined perl6
00:38 cognominal joined perl6
01:00 miyagawa joined perl6
01:03 weinig|bbl is now known as weinig
01:10 Schwern joined perl6
01:10 nipotaway is now known as nipotan
01:20 Limbic_Region joined perl6
01:22 [particle] joined perl6
01:28 Limbic_Region .seen flgock
01:28 Limbic_Region ?seen fglock
01:28 lambdabot I saw fglock leaving #perl6 4h 4s ago, and .
01:28 Limbic_Region diakopter ping
01:30 diakopter Limbic_Region
01:39 dolmans joined perl6
01:58 xinming joined perl6
02:02 [particle] joined perl6
02:07 H0LE joined perl6
02:25 forsaken joined perl6
02:49 Schwern joined perl6
03:18 mako132_ joined perl6
03:21 allbery_b ?eval 1
03:21 evalbot_r15716 is now known as evalbot_r15722
03:21 evalbot_r15722 1
03:26 forsaken joined perl6
03:35 pasteling "allbery_b" at 66.93.61.215 pasted "ghc 6.7.20070314 can't build pugs; 6.6 is fine (6.7.20070309 fails the same way)" (4 lines, 216B) at http://sial.org/pbot/23501
03:52 ilogger2 joined perl6
03:53 amnesiac joined perl6
03:58 forsaken joined perl6
04:02 [particle] joined perl6
04:16 bsb joined perl6
04:52 allbery_b audreyb++ but I kicked the 6.6 build off and at this point I should be in bed (whee, insomnia.  awake but brainless...)
04:55 audreyt mm zombie committers
04:56 audreyt finally wrangled Inline::Java into shape. "use java:Foo.Bar.Baz" in Pugs would be trivil now (via Inline)
04:56 audreyt *trivial
04:56 audreyt cpan++ # damn fine language
04:57 mjk joined perl6
05:17 Aankhen`` audreyt: That whole threads + events concurrency model is supposed to be implemented in 6.8, right?
05:17 Aankhen`` GHC 6.8, that is.
05:37 shay_ joined perl6
05:38 ayrnieu GHC has had both Parallel and Concurrent ( Haskell) for a good while.
05:40 Debolaz2 joined perl6
05:42 Schwern joined perl6
05:46 Schwern joined perl6
05:48 drupek12 joined perl6
05:57 Schwern joined perl6
06:03 the_dormant joined perl6
06:14 BooK joined perl6
06:16 kanru joined perl6
06:19 audreyt Aankhen``: correct.
06:19 audreyt ayrnieu: yes, but GHC has no native Coro.pm (libaio and workalike) yet
06:20 audreyt Aankhen``: like dph (data parallel haskell, the thing that neables automagic GPU/SMP for hyperops), the event/thread unification currently exists as a third-party library, but both are scheduled to be core in 6.8; since both are in active dev we won't track them in third-party/; instead will wait till 6.8 core
06:21 Aankhen`` Ah< I see.
06:21 Aankhen`` s/</,/
06:21 Aankhen`` Any timeframe for when we'll see similar stuff accessible directly in Pugs? :-D
06:22 audreyt the dph is already in pugs
06:22 audreyt it's just not autotransformed to GPU/SSE yet
06:22 audreyt you need explicit SMP (env GHCRTS=-N2)
06:22 Aankhen`` Mmm.
06:22 audreyt so once dph is core we get that immediately
06:22 audreyt ditto for thread/event
06:22 audreyt once it's core we just expose the event primitives
06:22 Aankhen`` Sweet.
06:22 audreyt and everything should Just Work.
06:23 * Aankhen`` drools in anticipation.
06:23 audreyt and exposing primitives is easier than before
06:23 audreyt # http://svn.pugscode.org/pugs/src/Pugs/Meta/Str.hs
06:23 audreyt _StrClass = mkPureClass "Str"
06:23 audreyt    [ "reverse"     ... Str.reverse
06:23 audreyt    , "join"        ... Str.join
06:24 audreyt    , "chop"        ... (\str -> if Str.null str then str else Str.init str)
06:24 audreyt etc
06:24 audreyt really can't get easier than that
06:24 * Aankhen`` nods.
06:24 audreyt but, $job, and see if I can get pugs/java bridged today
06:24 audreyt $job often pushes pugs in unexpected directions ;)
06:25 Aankhen`` Heh, have fun.
06:25 TimToady .oO(p6/java)
06:25 audreyt bbiab
06:56 devogon joined perl6
07:01 rfordinal joined perl6
07:04 bsb left perl6
07:18 Schwern joined perl6
07:20 meppl good morning
07:26 the_dormant joined perl6
07:37 DrSlump_2 joined perl6
07:50 iblechbot joined perl6
08:20 dolmans joined perl6
08:25 lichtkind joined perl6
08:36 lisppaste3 joined perl6
08:57 jamessan joined perl6
09:03 dolmans joined perl6
09:12 Bit-Man joined perl6
09:12 moritz_ 'morinin
09:26 IllvilJa joined perl6
09:30 lichtkind morjn :)
09:30 sili joined perl6
10:26 fridim joined perl6
10:29 ruoso joined perl6
10:32 cognominal joined perl6
10:40 DHGE joined perl6
11:07 ofer1 joined perl6
11:14 buetow joined perl6
11:15 VenganceBlade joined perl6
11:15 VenganceBlade left perl6
11:39 awwaiid joined perl6
11:50 weinig joined perl6
12:12 chris2 joined perl6
12:21 theorbtwo joined perl6
12:27 lichtkind moritz_ auch lust probezulesen?
12:35 meppl joined perl6
12:40 mr_ank joined perl6
12:41 moritz_ lichtkind: aber sicher
12:43 lichtkind welche adresse ? bin aber noch dabei die letzten kapitel umzuschreiben sie fliessen noch nicht
12:46 moritz_ lichtkind: [email@hidden.address]
12:50 lichtkind moritz_ http://moritz.faui2k3.org/ das photo sieht ganz schön gefährlich aus
12:50 lambdabot Title: Moritz Lenz
12:51 Patterner Es gibt was zu lesen?
12:51 moritz_ lichtkind: why?
12:52 lichtkind long hair like al qaida o wait i have long hair myself
12:52 lichtkind you look so young and enthusiastic
12:53 moritz_ lichtkind: http://registrierterterrorist.de/ <-- just a prototype by now
12:53 lambdabot Title: Registrierter Terrorist
12:56 lichtkind moritz_ abgeschickt
13:09 allbery_b hrm, r15272 / ghc6.6 went inmto an infinite loop and mbegan consuming large amounts of memory on ext/HTML-Entities/t/entities.t
13:09 yves evdb ?
13:09 lichtkind moritz_ lustig wollte auch mal sudoku programms schreiben ist halbfertig
13:16 xinming joined perl6
13:20 iblechbot joined perl6
13:24 dolmans joined perl6
13:25 xinming joined perl6
13:32 fglock joined perl6
13:38 moritz_ lichtkind: s/gebrauch/gebraucht/ (im Kapitel über Ponie)
13:39 lichtkind ja
13:39 lichtkind geändert
13:40 mako132_ joined perl6
13:40 moritz_ "Dadurch könnten wir bald einen
13:40 moritz_ funktionsfähigen und schnellen Perl5-Interpreter bekommen, auch wenn die Sprache
13:40 moritz_ sich noch ändern wird. "
13:40 moritz_ das sollte wohl p6 heissen?
13:41 fglock Limbic_Region: pong
13:44 rindolf joined perl6
13:49 fglock later &
13:50 lichtkind moritz_: ja ber p6 hab ich oft genug gesagt es wird schon klar sein worums geht
13:51 moritz_ lichtkind: ok. Sehr schöner artikel, gefällt mir
13:51 lichtkind :) freut mich aber noch nicht fertig
13:53 polettix joined perl6
13:54 lichtkind moritz_: mir gefallen einige sachen aber nocht nichts so gut :)
14:02 lichtkind moritz_: http://www.foo-magazin.de/
14:02 lambdabot Title: $foo - Perl-Magazin
14:09 moritz_ lichtkind: notify me when your article is published, I'm currently blogging about perl6 from time to time
14:10 lichtkind first of may
14:10 vel joined perl6
14:12 diakopter joined perl6
14:14 iblechbot joined perl6
14:19 moritz_ is there a way to run a smoke with the currently installed pugs rather than the one built in the repository?
14:20 rindolf moritz_: what is your blog?
14:20 moritz_ rindolf: http://moritz.faui2k3.org/blog/
14:21 lambdabot Title: Moritz Lenz - Blog
14:21 audreyt this mutable COMPILING:: thing is wrecking my brain :/
14:22 rindolf moritz_: hmmm... it's not in English.
14:22 rindolf Or in Hebrew. ;-)
14:22 moritz_ rindolf: you're absolutely right ;)
14:22 audreyt @tell TimToady { my $x; { ...; { $x = 1 }; my $x } } # should be an error, right? so S04:88 is incomplete -- $x could be bound to $OUTER::OUTER::x instead of $OUTER::x in this case, and it's equally invalid to redecl it in an intermediate scope. correct?
14:22 lambdabot Consider it noted.
14:27 allbery_b @tell audreyt r15272 / ghc6.6 went into an infinite loop and began consuming large amounts of memory on ext/HTML-Entities/t/entities.t
14:27 lambdabot Consider it noted.
14:27 allbery_b whoops :)
14:28 audreyt allbery_b: which test?
14:28 lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
14:28 audreyt which subtest that is
14:28 audreyt lambdabot: @moosages
14:28 lambdabot allbery_b said 27s ago: r15272 / ghc6.6 went into an infinite loop and began consuming large amounts of memory on ext/HTML-Entities/t/entities.t
14:34 buetow joined perl6
14:36 Limbic_Region joined perl6
14:38 allbery_b hm, my log prints the test file name and stops :(
14:39 audreyt most curious
14:39 audreyt can you dupe it with trunk ghc?
14:39 audreyt fwiw it works here
14:39 audreyt ok 10 - Decoding an array ref should work.
14:39 audreyt *** No compatible multi variant found: &decode_entities at ext/HTML-Entities/t/entities.t line 46, column 4-27
14:39 audreyt is what I get
14:39 audreyt also, with ghc 6.6
14:39 audreyt can you try pugs -d
14:39 audreyt and see where it loops?
14:41 allbery_b running verbose, it goes away after "ok 9"
14:42 allbery_b this is ghc6.6
14:43 [particle] joined perl6
14:43 audreyt ok
14:43 audreyt and without verbose it doesn't output anything?
14:44 Limbic_Region audreyt - did you get my @tell about which test hangs on smoke with Win32?
14:44 allbery_b well, under the normal test framework it didn't output anything
14:45 audreyt Limbic_Region: yes, and it's the same here
14:45 allbery_b I'm running with pugs -d now
14:45 audreyt allbery_b: try run it normally
14:45 audreyt pugs -Iblib6/lib ext/HTML-Entities/t/entities.t
14:45 * audreyt ponders what could be wrong
14:50 * Limbic_Region wanders off
14:51 allbery_b running normally, same problem
14:52 fglock joined perl6
14:52 audreyt what does -d say then?
14:52 allbery_b it's still churning
14:53 allbery_b I had to interrupt it to run the other test, s I'm starting over
14:53 audreyt k
14:53 audreyt thanks for looking into it
14:53 allbery_b (remember, g4 macmini; not a speed demon :)
14:53 * audreyt is still fighting with COMPILING::
14:54 allbery_b make realclean didn't work after my attempt with ghc6.7 (n makefiles yet) btu I suppose it's conceivable that there might be some turd left over from the ghc6.7 attempt...
14:54 audreyt ok
14:54 offby1 allbery_b: I have a script that deletes every file that isn't under svn control.  It's the strongest possible form of "make clean".
14:54 offby1 can't get no cleaner than that!
14:55 allbery_b although ghc6.7 stuff should produce errors at compile time, the .hi files aren't compatible
14:55 audreyt rm -rf * .* ; svk revert -R .
14:55 offby1 audreyt: but that'll nuke your .svn directory too.
14:55 allbery_b no svk here
14:55 offby1 thereby making "revert" not work.  I would guess.
14:55 audreyt offby1: svk has no .svn directories
14:55 audreyt and is much faster
14:55 offby1 aaaahhh
14:55 audreyt :)
14:56 offby1 the one reason I'm not using svk is that the initial mirror looked like it would take approximately one million years.
14:56 audreyt svk2.0 has improved considerably
14:56 audreyt also you can opt to start getting from head rev
14:56 audreyt which has the same bandwidth cost as svn co
14:57 offby1 aha
14:57 offby1 and since I don't care about the history ... y'know, I think I'll try that.  thanks
14:57 audreyt woot :)
14:57 audreyt svk co http://svn.pugscode.org/pugs
14:57 audreyt and answer "h"
14:57 lambdabot Title: Revision 15723: /
14:57 offby1 "h", huh?  hmm.
14:57 audreyt is all takes
14:57 audreyt it'll ask how many revs you want to get
14:57 audreyt [a]ll or [h]ead etc
14:57 moritz_ debian etch still has svk-1.08-2
14:58 audreyt well svk 1.08 can do that too
14:58 audreyt it's just svk2's network usage = much more efficient
15:02 avarab joined perl6
15:02 allbery_b gack, this is slow :)
15:02 audreyt maybe it looped already
15:03 audreyt tail to see if it complains about recursion depth
15:03 allbery_b no, a grep indicates it hasn't even reached test 9 yet
15:05 allbery_b it was still on test 4 :)
15:05 allbery_b was getting "deep recursion" warnings even there, though
15:06 audreyt where did it recurse?
15:07 allbery_b I'm not sure how to read this
15:08 pasteling "allbery_b" at 66.93.61.215 pasted "deep recursion (ext/HTML-Entities/t/entities.t test 4" (16 lines, 754B) at http://sial.org/pbot/23508
15:08 allbery_b I have to head to campus,. won't be able to work on this until tonight sometime
15:10 audreyt ok, thanks
15:11 audreyt located from the trace.
15:11 audreyt fixing
15:12 allbery_b yay audreyt++
15:12 allbery_b now I must run
15:14 amnesiac joined perl6
15:20 offby1 #svn seems dead; can someone help me check out pugs?  here's the problem: http://nopaste.snit.ch:8001/9696
15:20 offby1 s/svn/svk/
15:21 lichtkind joined perl6
15:21 audreyt offby1: weird
15:22 lichtkind audreyt: have you looked at the text ?
15:22 * offby1 pouts
15:22 audreyt svk sync //mirror/pug -s 15723
15:22 audreyt try this?
15:23 offby1 already did.
15:23 offby1 same problem
15:23 offby1 well, I put the "-s 15723" _before_ the //mirror/pugs, so lemme try it exactly as you typed it
15:23 offby1 yeah, same failure.
15:24 offby1 or _almost_ the same: RA layer request failed: REPORT request failed on '/pugs/!svn/bc/15724': REPORT of '/pugs/!svn/bc/15724': 200 OK (http://svn.pugscode.org)
15:24 lambdabot Title: Revision 15723: /
15:24 offby1 the URL is different by one digit
15:24 audreyt svk sy -t 10 ; svk sy -s 15723
15:24 audreyt # what about this?
15:24 audreyt but looks like a bug.
15:25 offby1 -t 10 works
15:26 avarab is now known as avar
15:26 svnbot6 joined perl6
15:31 audreyt @tell Limbic_Region the infinite loop should be gone now
15:31 lambdabot Consider it noted.
15:31 audreyt @tell allbery_b the infinite loop should be gone now
15:31 lambdabot Consider it noted.
15:33 offby1 @tell aunt_rhodie the old gray goose is dead
15:33 lambdabot Consider it noted.
15:35 shay_ is now known as shay
15:36 lichtkind audreyt: sorry for repeating have you looked at the text ?
15:43 buetow joined perl6
15:46 kolibrie running 'svk pull' on feather, I get: Svndiff data ends unexpectedly: Unexpected end of svndiff input
15:46 kolibrie and then it just seems to hang forever
15:46 offby1 today is a good day for svk trouble, apparently.
15:47 kolibrie well, I just saw all the conversation and thought I'd add my two cents
16:10 TimToady @messages
16:10 lambdabot audreyt said 1h 47m 33s ago: { my $x; { ...; { $x = 1 }; my $x } } # should be an error, right? so S04:88 is incomplete -- $x could be bound to $OUTER::OUTER::x instead of $OUTER::x in this case,
16:10 lambdabot and it's equally invalid to redecl it in an intermediate scope. correct?
16:10 TimToady audreyt: yes, that's correct
16:17 geoffb audreyt: Is there a doc somewhere that explains how svk 2 got faster?
16:17 * geoffb is still in 1.08 land (Debian Etch), but curious about the technical details of just about any nice optimization
16:18 * geoffb finds it very, very hard not to optimize everything he touches ... but if I did that, I'd never get any work done.  :-)
16:18 * [particle] thinks geoffb could be typing fewer chars
16:19 geoffb huh?
16:19 [particle] optimize your text
16:19 geoffb oh
16:19 geoffb Yeah, I am kinda verbose, aren't I?
16:19 [particle] ;)
16:19 geoffb Blame my mother, she's an English teacher.
16:25 prly_ joined perl6
16:30 prly__ joined perl6
16:36 [particle] geoffb: i think the svk speed improvement is due to improvements in svn 1.4
16:37 geoffb [particle]: hmmm ... so anyone using svn 1.4 would have seen the improvement, not just svk users ....
16:38 [particle] i'm sure there are svk-specific improvements, but i know syncs with svn 1.4 (both client&server required) are much improved
16:39 [particle] hey, here's a blog entry about svk 2.0: http://bestpractical.typepad.com/worst_imp​ractical/2007/01/svk_20_is_bette.html#more
16:39 lambdabot Title: Best Practical: SVK 2.0 is better, faster and just as free, http://tinyurl.com/ytbmdc
16:44 audreyt lichtkind: I have not yet received it.
16:45 audreyt let me check spam folder
16:45 weinig is now known as weinig|bbl
16:45 audreyt lichtkind: no. did you send to [email@hidden.address] can you try [email@hidden.address]
16:47 clkao the improvement requiring 1.4 is during sync
16:57 lichtkind audreyt: yesterday 13:20 to [email@hidden.address]
16:57 geoffb [particle]: thanks for the url, reading ...
16:58 audreyt lichtkind: please resend to the gmail addr
16:58 audreyt sorry about that but I've not seen it even in spamfolder
16:58 geoffb clkao: Has the "other big announcement" about svk happened?
16:59 clkao uhm. no the announcement hasn't happened
16:59 clkao but what's happened in the potential big announcement has happened.
17:00 audreyt so if you demand a big announcement, the value can be yielded
17:00 audreyt instead of fail with nontermination
17:00 geoffb Is the thing that happened secret, or can you share?
17:00 lichtkind audreyt: i forwarded the send mail to your gmail its inside the textblock
17:00 audreyt danke
17:00 lichtkind bitte :)
17:02 geoffb Oooh, that pullyu utility is a NICE feature ...
17:02 * geoffb now can't wait for Etch to release so package updates start flowing into testing again
17:04 audreyt lichtkind: got it this time thanks
17:04 lichtkind audreyt: moritz also liked it when you think have time to look through?
17:05 audreyt lichtkind: looking at it now
17:05 audreyt but will sleep soon, so don't expect reviews until tomorrow
17:05 lichtkind great so i wait here :)
17:05 audreyt but it's an entertaining read (and I think I grok the meanings even without dictionary)
17:05 lichtkind ah
17:06 audreyt "die mächtigste und durchdachteste Sprache unter dem Erdenhimmel" indeed. :-)
17:06 lichtkind thanks but im bit curious that  you say entertaining even when you dont understand fully :)
17:06 audreyt well, that's not unlike reading a beautifully written, say, O'Caml program
17:06 lichtkind yes bit fanboyism but i wouldnt be here if it were anything other
17:07 * lichtkind doesnt speak O'Caml
17:07 audreyt that's exactly the idea.
17:07 lichtkind but i havent seen it ... will look
17:12 audreyt fullname is "Perl 6 User's Golfing System"
17:12 audreyt not "user golfing system"
17:13 audreyt a user-golfing system would be a lot of fun
17:13 lichtkind haha
17:13 audreyt where we can knock user's heads as golf balls
17:13 lichtkind OCamls looks nice
17:13 audreyt but probably not as productive
17:14 * lichtkind replacing the topic
17:14 lichtkind are you really trough or just skipping?
17:14 audreyt both
17:14 audreyt I skipped the words I don't know :)
17:14 lichtkind haha
17:15 lichtkind i want to revamp the last chapters bit
17:15 lichtkind and add something about span6
17:15 lichtkind cpan and also mention MAD
17:16 lichtkind and there are some bits about pugs i want to and and therefore its great that you here so i can ask :)
17:16 lichtkind did you noticed some other mistakes?
17:18 audreyt yeah. PIL is not Parrot Intermediate Language
17:19 lichtkind but?
17:19 audreyt Pugs's Intermediate Language
17:19 Jedai joined perl6
17:19 lichtkind haha
17:19 audreyt look ad parrot/docs/glossary.pod
17:19 lichtkind ah no joke?
17:19 audreyt *at
17:19 audreyt no, no joke.
17:20 lichtkind so i mistaken this one
17:20 audreyt yeah
17:20 lichtkind so i assume thats very different from PIR
17:20 audreyt yeah. it's roughly equivalent to PAST
17:20 audreyt though it precedes PAST, and is more perl6-specific
17:20 audreyt (i.e. assume perl6 calling convention, binding convention, etc)
17:21 lichtkind no clue, i code maily in p5 editors you know, but please what is PAST?
17:21 lichtkind an AST?
17:22 audreyt PAST is "Parrot/Punie Abstract Syntax Tree"
17:22 lichtkind the thing pge compiles into?
17:22 audreyt er, was
17:22 [particle] parrot abstract syntax tree
17:22 audreyt now promoted to "Parrot Abstract Syntax Tree"
17:22 audreyt though still referred to with old name in e.g. compilers/past/PAST.pir
17:22 lichtkind yes but thats what PGE generates
17:23 audreyt dunno. last I recall PGE generates a parse tree
17:24 audreyt which is transformed by TGE into PAST
17:24 audreyt then again into POST
17:24 audreyt but that may have changed.
17:24 audreyt seems not.
17:24 [particle] audreyt: you recall correctly
17:25 [particle] but now tge allows you to define your own transforms
17:25 lichtkind i dunno the details but will told me that TGE generates PIR
17:25 [particle] so you could go parse -> pil if you wanted to
17:25 audreyt though not recursively
17:25 audreyt so the inner block is still PIR
17:25 audreyt but yes.
17:26 lichtkind and what the heck is difference between PAST and POST?
17:26 audreyt (recursion really would help :))
17:27 lichtkind so TGE is transforming it several time but finally produces PIR
17:27 audreyt (as in, recursive subcompilation so you can write transformers in any language that has a compiler to PIR. I think. but </backseat-driving> :))
17:27 lichtkind i just want to be correct
17:27 lichtkind :)
17:28 [particle] lichtkind: perl 6 is the high level language as typed by developer, parse tree is converted to tree format, past is conversion of hll-syntax tree to express semantic operations, post is conversion to vm-synax tree, pir is vm level language
17:28 obra TimToady: ping
17:28 audreyt ProgramText -(PGE)-> PAST -(TGE)-> POST -(TGE)-> PIR
17:28 justatheory joined perl6
17:28 TimToady obra: pongongongong
17:29 lichtkind [particle]: thanks i knew just didnt heard about POST
17:29 audreyt er sorry.
17:29 audreyt ProgramText -(PGE)-> Match -(TGE)-> PAST -(TGE)-> POST -(TGE)-> PIR
17:29 [particle] lichtkind: think of PAST as a transformational mirror, where hll is reflected as pir, and parse tree is reflected as opcode syntax tree (aka post)
17:29 obra TimToady: http://groups.google.com/group/new​s.software.b/msg/716e3446db058d2d prompted a friend of mine to realize that he really missed playing Warp...and then to discover that it's not packaged for Debian. He asked me to ping you to see if you knew where he might find a recent source tree that he could port to modern Linux and package for debian.
17:29 lambdabot Title: A new OFF THE WALL SOFTWARE PRODUCT from LARRY WALL - news.software.b | Google G ..., http://tinyurl.com/2abf3f
17:30 lichtkind thanks audrey but what Match stands for?
17:31 audreyt the match tree objects that PGE parses the program text to
17:31 audreyt it has no particular name.
17:31 audreyt some call it "parse tree"
17:32 audreyt it's not really a language with semantic meaning at that level.
17:32 obra Ah. http://www.isc.org/index.pl?/so​urces/games/strategy/warp7.php Is that the most recent release?
17:33 lichtkind good
17:33 lichtkind [particle]: thanks
17:33 lichtkind audreyt: any more mistakes?
17:34 lichtkind audreyt:  after the mistakes in the article i want also mention that pugs brought a new dev culture my question: is still developing in all directions or is now more sttled down?
17:35 audreyt well, it's still developing in all directions, though the directions are more settled down.
17:35 TimToady obra: as far as I know that's the most recent.  was still optimized for dumb terminals at that point, so used nulls to control timing of explosions.  running under X tends to defeat that though, so it tends to zip through the turbolasers rather too fast.  :/
17:35 * [particle] wonders if svk views could be set up to make it easier to develop a part of pugs
17:35 audreyt [particle]: mm interesting thought
17:35 [particle] like, a kp6 view
17:36 audreyt *nod*
17:36 TimToady obra: over the years I've heard from a couple of people who asked to port it, but I don't know if anything every came of those efforts.
17:38 obra TimToady:  I'll pass that along. Oh. heh. Apparently, it's not debian free, so it will end up in non-free.
17:38 audreyt lichtkind: sorry really need to sleep
17:38 audreyt lichtkind: can we sync this again tomorrow? :)
17:38 obra I'll tell you if kcr gets anywhere
17:39 TimToady ok, thanks
17:39 TimToady by the way, the original version was written in BASIC/PLUS.  :)
17:39 obra Oh wow.
17:40 obra . o O { Warp 6 }
17:40 * obra gets bad ideas about release announcements for 1 April
17:40 args obra++
17:41 args I mostly had the same idea at the same time.
17:41 lichtkind audreyt: gut bis morgen :)
17:42 lichtkind good nicht
17:42 lichtkind night
18:09 nxu7-wrk joined perl6
18:12 jisom joined perl6
18:18 iblechbot_ joined perl6
18:20 idiotmax joined perl6
18:37 bonesss joined perl6
18:42 xerox joined perl6
18:48 devogon joined perl6
18:49 rashakil_ joined perl6
18:50 the_dormant joined perl6
18:56 svnbot6 r15725 | audreyt++ | * Today's $job hack to get Java working with Pugs.
18:56 svnbot6 r15725 | audreyt++ |   You need: Inline::Java and a suitable CLASSPATH variable.
18:56 svnbot6 r15725 | audreyt++ |   You write:
18:56 svnbot6 r15725 | audreyt++ |     use java:java.lang.System;
18:56 svnbot6 r15725 | audreyt++ |     say "Greetings from Java ", System.getProperty('java.version');
18:56 svnbot6 r15725 | audreyt++ |   You see:
18:56 svnbot6 r15725 | audreyt++ |     Greetings from Java 1.5.0_07
18:56 svnbot6 r15725 | audreyt++ |   Qualified class names aka java::lang::System.getProperty(...) works too.
18:56 svnbot6 r15725 | audreyt++ |   Enjoy. :-)
18:57 wolverian audreyt, whoa! nice :)
18:58 audreyt ($job has code that probes JNI, does more type coercion stuff, CLASSPATH shuffling, etc)
18:58 audreyt but too mangled to check in
18:58 audreyt so just the simple version
18:58 audreyt but it's fun :)
18:58 audreyt *puff*
18:58 TimToady now you just have to change to new syntax: "use System:from<Java java.lang.System>;"  :)
19:00 TimToady having worked once upon a time on Java/Perl interaction, I know just about how much fun it is.  ;)
19:00 bonesss joined perl6
19:04 fglock joined perl6
19:12 wilx` joined perl6
19:15 amnesiac joined perl6
19:32 TimToady http://www.usnews.com/usnews/bizt​ech/articles/070311/19record.htm
19:48 geoffb joined perl6
19:50 svnbot6 r15726 | fglock++ | Data::Bind - added tests for blessed references
19:51 fglock hmm - I know there was a problem with Data::Bind and references, but I can't reproduce it
19:55 ruz joined perl6
19:56 [particle] joined perl6
19:57 audreyt @tell TimToady S06:1711 is contradicting S02:1542 badly :)
19:57 lambdabot Consider it noted.
19:58 audreyt @tell TimToady "our multi f (){...}; { &f(1); our multi f($x){...} }" is fine, right? "our multi f(){...}; { &f(1); my multi f($x){...} }" explodes, correct?
19:58 lambdabot Consider it noted.
20:03 TimToady yes, should probably explode as a too-late redef
20:03 lambdabot TimToady: You have 2 new messages. '/msg lambdabot @messages' to read them.
20:03 TimToady fixing S02...
20:05 audreyt so just to be sure, "my $x; { ...; { $x } my $x }" explodes right?
20:06 Aankhen`` joined perl6
20:06 audreyt and under default stricture, an unbound "&f" is resolved at end of compunit to &*f if &*f is there, but "$f" in same situation is error
20:06 audreyt (that's the assumptions this refactored-pugs are working with now; just want a sanity check)
20:07 jrockway hey, can i ask a stupid haskell question here (#haskell never gives me an understandable answer)
20:08 audreyt jrockway: sure...
20:08 xerox :O
20:08 audreyt TimToady: that set of assumption allows "die(); my sub die () { 'not really' }" to not die at all (and no error at all.) probably sane.
20:09 audreyt would be fine if it's ruled as error (prebinding to global considered part of too-late rule)
20:09 audreyt but, which would reject "die();   sub die () {...}" too.
20:10 jrockway if i have a data Foo a = Foo a, and data Bar a = Bar a, and I want to write a function "baz" that depends on the type, I can create a class and two instances to handle that, right?
20:10 jrockway i hope so, but i can't figure out the syntax
20:10 xerox yep
20:10 jrockway class Bazable where \n baz :: b a -> b a -> a ?
20:10 xerox class Quux n where quux :: n -> n
20:11 jrockway what is the n there?
20:11 jrockway i have a (Foo a) and then the (a)
20:11 xerox the constrained type variable
20:11 jrockway the function takes two (Foo a)s and returns a
20:11 jrockway (a is probably a Num)
20:11 audreyt class Bazable m where baz :: m a -> m a -> a
20:11 xerox keep in mind that Foo is a type constructor, and Foo a is a type
20:11 TimToady audreyt: yes, I think that is all sane.
20:11 xerox instance (Num a) => Quux (Foo a) where ... should work?
20:12 audreyt TimToady: cool, consider it done :)
20:13 audreyt sleephack &
20:15 jrockway yeah, that ends up being a kind mismatch
20:16 jrockway expected * -> * , Foo a is '*'
20:24 vel joined perl6
20:27 audreyt TimToady: wow. this system has a very good mfix/letrec property. if $y is not in scope, we can have
20:27 audreyt sub f ($x = $y, $y = $x) { ... }
20:28 audreyt and either f(x=>1) or f(y=>1) would work.
20:29 audreyt or, more generally:
20:29 audreyt my @x := (1, @y); my @y := (2, @x);
20:29 audreyt would work fine as well.
20:29 audreyt (assuming, again, that @y is not in scope.)
20:30 TimToady hope it doesn't shoot our performance to heck
20:31 audreyt nope; not at all related to performance
20:31 TimToady do we know why we're currently still about 2X slower than we were
20:31 TimToady ?
20:32 audreyt yes. the new Pad node is behaving very slowly
20:32 audreyt (part of the reason to motivate refactoring)
20:32 audreyt we shouldn't have a Pad node anyway.
20:33 audreyt since now it's always first stored into the mutable %COMPILING::, then directly grafted onto a block.
20:33 audreyt so should be faster after the padrefactor.
20:34 TimToady good.  please keep me honest if you see any design decisions that make it impossible to run blazing fast eventually.
20:34 audreyt sure
20:34 audreyt also. CALLER::<$?LINE> is not a lexical variable at all, right?
20:34 TimToady no, but just clarified that CALLER:: does lookup of any available symbol at that point.
20:34 audreyt it can't really be closed over; also a lexical variable doesn't vary padentry across lines
20:35 TimToady spec in svn, hasn't popped up here yet
20:35 specbot6 r14350 | larry++ | Change CONTEXT:: vars to be consistent with new context() function.
20:35 specbot6 r14350 | larry++ | Clarify that CALLER:: can return variables defined elsewhere if visible there.
20:36 jrockway hey, i got my program working :)
20:36 jrockway thanks for your help
20:36 TimToady don't worry, we'll find some way to break it.  :)
20:36 jrockway the key was to put the Num a => in the type signature of a method in the class
20:36 jrockway i don't understand why it works yet... but it does :)
20:38 vel joined perl6
20:40 Limbic_Region audreyt - judging from svn up - you found the Win32 hanging problem with entities.t?
20:40 lambdabot Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it.
20:40 Limbic_Region @moosages
20:40 lambdabot audreyt said 5h 9m 35s ago: the infinite loop should be gone now
20:40 audreyt Limbic_Region: yeah
20:40 Limbic_Region heh
20:41 audreyt TimToady: spec is weird...    sub f {  my $x is context; CALLER::<$x> = 123; f() }
20:41 Limbic_Region running a smoke.  Hopefully it will finish and upload - will be the first time for me in well over a month
20:42 TimToady eh?  CALLER can't see its own $x
20:42 [particle] joined perl6
20:42 vel joined perl6
20:43 TimToady can't set it either without <rw>
20:44 vel joined perl6
20:45 TimToady are you thinking you have to close CALLER::<$x>?  Doesn't quite seem like a requirement to me...
20:46 TimToady to me it's more like caller.my('$x')
20:47 TimToady though it would be nice to avoid looking it up multiple times, I suppose
20:47 TimToady but that's more like a memoization
20:48 audreyt I see.
20:48 TimToady where that lookup cache is what is closed
20:49 TimToady more like a state
20:49 xerox jrockway: Haskell single parameter type classes are just sets. Sets of types. |class| defines such a set. |instance| puts the given type (or set of types, like in your case) in the set.
20:49 TimToady hmm, state doesn't work for recursion tho
20:50 TimToady and caller would vary
20:50 audreyt ok, that's clear... re $?LINE, does OUTER::<$?LINE> have to make sense?
20:50 TimToady maybe a line range...
20:50 xerox jrockway: it's very straightforward, I think.  Also, multi parameter type classes are actually relations, in the mathematical sense (subset of the cartesian product).
20:50 TimToady but if just a num, presumably first line of outer block
20:51 xerox jrockway: in the end functional dependencies turn these relations into functions.
20:51 TimToady @?LINES for a range maybe
20:51 audreyt but CONTEXT::<$?LINE> would be the last line before our block
20:51 audreyt even though they are (conceptually) same scope
20:51 TimToady CONTEXT is this scope, not OUTER
20:51 xerox jrockway: that's the way through which one can actually do computation in the type system :)
20:51 TimToady so CONTEXT($?FOO) is likely to be equiv to $?FOO
20:52 audreyt gotcha.
20:52 audreyt but still
20:52 audreyt CALLER::<$?LINE>
20:52 audreyt would be the line of call
20:52 audreyt not the first line of caller's scope
20:52 TimToady presumably
20:53 audreyt so they are actually distinct symbols, provided they are constant entries
20:53 TimToady hmm, two meanings of "current line"
20:53 audreyt one way to do this is, when entering a call frame
20:53 TimToady $?LINE current dynamic location
20:53 audreyt in addition to "is context" vars
20:53 TimToady @?LINES the block range?
20:53 audreyt it pushes $?LINE into the is-context set
20:53 audreyt but it isn't really lexical
20:53 audreyt i.e. not existing in the block's pad
20:54 audreyt well, the problem is that $?LINE wouldn't be @?LINE[0] that way
20:54 TimToady well, we could abandon $?LINE as part of context, and make context.line actively figure it out
20:54 audreyt it's not really nesting...
20:54 audreyt yes.
20:55 audreyt since we're pushing toward making magical constants actually compiler-filled const entries
20:55 audreyt i.e. it has to be definable using "constant ..." notation conceptually
20:55 TimToady context.pc
20:56 audreyt we should eliminate dynamic access to $?LINE under the same logic we eliminated $?SELF
20:56 TimToady so COMPILING::<$?LINE> makes sense, but not CALLER::<$?LINE>
20:56 TimToady *nodnod*
20:56 audreyt after glacing all $?, I see nothing worth keeping as part of cxt
20:57 audreyt *glancing
20:57 TimToady good!
20:57 audreyt so maybe they are never is-contextual.
20:57 audreyt and dyncursor access is always through methods -- which is good, because methods means it does work, instead of just symbols you can close over.
20:57 TimToady still want to get at them somehow
20:57 audreyt and sure re COMPILING:: :)
20:58 audreyt sure, but they are more like runtime API instead of padentry
20:58 TimToady so is it a problem that CALLER:: implies work?
20:58 audreyt not a problem, but CALLER:: implies scope
20:58 TimToady CONTEXT:: certainly implies work to find the scope...
20:59 audreyt and punning within that scope should be restricted to things that we con conceivably marked as both dyn and lex
20:59 audreyt via "is context"
20:59 audreyt which you can't really define $?LINE this way
21:00 TimToady yeah, that'd imply that $+?LINE should work, shudder.  :)
21:01 TimToady on the other hand, can a user say "constant $?FOO = ..."?
21:01 wilx` is now known as wilx
21:02 TimToady and then, of course, they want "constant $?FOO is context"
21:02 audreyt I don't think that's possible
21:02 audreyt or rather, should be made possible :)
21:04 TimToady force 'em to say 'constant $line is context = $?LINE' ?
21:04 audreyt yeah.
21:04 audreyt $?FOO are to me but special names to constant inlined macros
21:04 audreyt not unlike __FOO__
21:05 audreyt so I'd like to keep them apart from anything that depends on runtime info
21:05 audreyt because with
21:05 audreyt constant $LINE is context = $?LINE;
21:05 audreyt everybody knows it's fixed to that line
21:05 audreyt not varying to whatever Apply nodes in that scope
21:06 audreyt constant $LINE is context = $?LINE; f(); g(); h();
21:06 audreyt &f&g&h sees the same caller-line
21:06 TimToady officially forgettable symbols, but possibly keep a secret stash of 'em for caller.compilersymbol('$?LINE') lookup
21:06 audreyt yup
21:07 audreyt and the real dynamic line is better known as caller.line
21:08 audreyt ==>> @moresleephack &
21:08 TimToady have the appropriate amount of sleepfun
21:11 miyagawa hi audreyt
21:14 [particle] -Odreams
21:15 ofer0 joined perl6
21:20 rashakil__ joined perl6
21:27 specbot6 r14351 | larry++ | Refinements to context methods.
21:29 TimToady commuting &
21:30 * Limbic_Region yawns
21:31 pelagic joined perl6
21:32 offby1 don't start that!!
21:32 * offby1 stifles
21:34 * tene yaaaawns
21:46 Psyche^ joined perl6
21:46 offby1 Nooo!!!
21:47 * offby1 drinks three double-tall skinny extra-mocha lattes
21:50 avar offby1: I was off by one in a program yesterday and though of you
21:50 offby1 oh goody :-p
21:50 avar >:)
21:50 offby1 serves me right for naming myself after an error.
21:51 Limbic_Region holy cow - smoke is still running after an hour
21:54 iblechbot joined perl6
22:02 Psyche^ is now known as Patterner
22:03 forsaken joined perl6
22:04 diakopter joined perl6
22:07 Limbic_Region salutations diakopter
22:08 * Limbic_Region was just about to go check the mail
22:08 Limbic_Region have you received yours yet?
22:10 theorbtwo joined perl6
22:26 ludan joined perl6
22:31 moritz_ has anybody written a sudoku solver in perl for arbitrary sudoku sizes?
22:31 moritz_ and released it as open source, that is
22:31 Khisanth there are several on CPAN
22:33 moritz_ *looking*
22:44 forsaken joined perl6
22:54 larsen_ joined perl6
22:57 dvorak joined perl6
23:13 meppl good night
23:15 IllvilJa left perl6
23:18 Limbic_Region joined perl6
23:19 ofer0 joined perl6
23:27 jamessan left perl6
23:35 amnesiac joined perl6
23:37 polettix joined perl6
23:40 svnbot6 r15727 | lwall++ | Test cross operator in smooth vs chunky context.
23:43 TimToady Welcome to the Paradigm Exchange Research Laboratory.
23:44 TimToady Tours and tasting daily.
23:47 dmpk2k joined perl6
23:48 * Khisanth points dmpk2k towards TimToady :)
23:48 dmpk2k --;
23:48 dmpk2k Okay, what's a smooth and chunky context?
23:51 diakopter chunky is less melted.
23:52 Khisanth mmm melted brains
23:53 TimToady a reference to peanut butter.  smooth context is normal list context, indicated by @() coercer.  chunky preserves original structure of a list of captures, so you end up with a list of arrays instead, and the coercer is @@().
23:53 * Khisanth goes to look for the Hannibal Lecter operator
23:53 TimToady grep all the @@ from the synopses for more
23:53 dmpk2k I see. Thanks.
23:54 TimToady it avoids writing twice as many functions for things like zip and map
23:54 TimToady and the X operator, in the case of the recent patch.
23:55 dmpk2k Ouch. I see I have a lot of reading to do. :)
23:55 TimToady I'm not sure whether to hope it will be boring or not boring reading...
23:57 explorer joined perl6
23:57 * diakopter wishes svnbot6 would post a link to the revision page, e.g. the last one: http://dev.pugscode.org/changeset/15727
23:57 lambdabot Title: Changeset 15727 - Pugs - Trac
23:57 dmpk2k Reading about Perl6 is rarely dull, so...
23:59 diakopter or lamdbabot could post the url in response to an svn revision so lambdabot wouldn't also respond with the url's title.

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

Perl 6 | Reference Documentation | Rakudo