Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-06-18

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:03 * Limbic_Region looks at the output of pugs -CPIR <some example> and has no idea how to determine what exactly it is suggesting is missing
00:03 djames has left
00:03 svnbot6 r4772, putter++ | Added not() and defined() to Emit/PIR.hs.
00:09 sri_ whats the new %INC?
00:11 sri_ or how do i at least check if a module is loaded?
00:13 arcady has quit IRC ("Leaving")
00:15 Enveigler has quit IRC (Read error: 104 (Connection reset by peer))
00:20 putter sri_: It doesnt look like %*INC exists yet...
00:20 sri_ :(
00:21 sri_ that leaves lots of todos in the Module::Pluggable port...
00:22 putter Limbic_Region: for whatever its worth, I plan to look at it shortly... finishing up a split() implementation...
00:22 putter sri_: hmm, I wonder how difficult it would be to add...
00:23 kungfuftr @*INC/@INC not enough?
00:27 sri_ no, i need to be able to check for blib
00:27 putter Limbic_Region: I hope the error wasnt error:imcc:op not found 'lt' (lt<3>)...
00:31 Limbic_Region no putter
00:32 putter good.  afraid for a moment I broke the build.
00:33 putter sri_: looks like adding %*INC as a variable would be easy.  Run.hs.  I haven't looked at populating it yet.
00:33 sri_ don't look at me, my haskell is very bad ;)
00:35 putter sri_: ok, I'll try...
00:35 sri_ thx :)
00:47 Darren_Duncan result of running 'make test' on 4770 is ...
00:47 Darren_Duncan (5 subtests UNEXPECTEDLY SUCCEEDED) (858 subtests TODO), 715 subtests skipped.
00:47 Darren_Duncan Failed 16/350 test scripts, 95.43% okay. 57/6445 subtests failed, 99.12% okay.
00:49 crysflame woo, yay success
00:55 vcv- has quit IRC (Read error: 145 (Connection timed out))
01:04 Limbic_Region ok - I am off having not been able to decipher what exactly it thinks is missing
01:04 Limbic_Region TTFN all
01:04 Limbic_Region has quit IRC ("tiuq\")
01:08 putter bye
01:09 jagerman has quit IRC (Remote closed the connection)
01:10 theorbtw1 has joined #perl6
01:14 putter sri_: ok, what exactly is %*INC supposed to contain?
01:17 sri_ pathes to loaded modules
01:18 sri_ in the unixish / notation
01:19 theorbtwo has quit IRC (Read error: 60 (Operation timed out))
01:21 putter sri_: wooh!  working.  cleaning up...
01:21 sri_ yay! :)
01:21 sri_ putter++
01:29 jdv79 has quit IRC (Read error: 113 (No route to host))
01:35 putter sri_: r4774
01:35 svnbot6 r4773, chromatic++ | s/Perl6/Perl 6/ for all non-filepath and module name uses.
01:35 svnbot6 r4774, putter++ | Added intial support for %*INC.
01:35 putter It's almost certainly not spec with regard to the keys, but perhaps its enough to get started.
02:12 xinming has quit IRC ("I really love GNU")
02:12 vcv-- has quit IRC (Read error: 104 (Connection reset by peer))
02:12 svnbot6 r4775, putter++ | Modified src/Pugs/Prim/Eval.hs to leave %*INC support commented out by default.  Its too late at night to make security judgements.
02:12 svnbot6 r4776, putter++ | Emit/PIR.hs split() can now split on "\n".  Needed to get Test.pm working.  Actually, any fixed string should work, but only "\n" is enabled.
02:13 justatheory has quit IRC ()
02:35 vcv- has joined #perl6
02:35 svnbot6 r4777, putter++ | Call parrot without -j.  It is fatal on systems where parrot does not support jit.
02:59 xern has joined #perl6
02:59 svnbot6 r4778, sri++ | Ported Module::Pluggable::Fast
03:07 vcv- has quit IRC (Read error: 145 (Connection timed out))
03:09 jagerman has joined #perl6
03:09 jagerman has quit IRC (Client Quit)
03:19 nothingmuch_ has joined #perl6
03:19 svnbot6 r4779, sri++ | Added HTTP::Server::Lite
03:21 nothingmuch has quit IRC (Read error: 131 (Connection reset by peer))
03:28 obra sri_: What does HTTP::Server::Lite look like apiwise?
03:28 svnbot6 r4780, putter++ | Bugfix to r4771.
03:30 sri_ like you simple server, just a bit... simpler
03:30 sri_ +r
03:30 sri_ i don't need all the hooks
03:31 sri_ feel free to extend and rename it
03:32 obra No worries. FWIW, I'm totally fine with you calling it HTTP::Server::Simple without the hooks being there yet
03:33 obra My initial release didn't have most of the hooks :)
03:33 sri_ fine, then i'll rename it with the next commit :)
03:34 obra woot
03:34 obra sri_++
03:35 obra Once I start hacking in perl6, I'll get around to adding the hooks I need
03:35 sri_ wonder if it's possible to use method traits
03:35 vcv-- has joined #perl6
03:35 sri_ the real Cat6 porting begins now...
03:36 obra Neat
03:37 sri_ can't help but traits seem a bit ugly compared to perl5 attributes
03:37 sri_ method foo is Regex('^bar$') vs. sub foo : Regex('^bar$')
03:39 sri_ are lower case traits reserved?
03:39 sri_ cause all the built in ones are lower case (rw, export...)
03:48 sri_ hmm...someone could port Text::MicroMason...it has no prereqs :)
03:50 obra Heh.
03:51 sri_ but for the time being i could also live with Text::PSP
03:53 sri_ really wish i could spend more time on this :/
03:57 Khisanth sri_: well you could just use the p5 version right now :)
04:04 putter autrijus: Here are issues I encountered trying to get parrot to do Test.pm...
04:05 svnbot6 r4781, putter++ | Added a varText for code vars in Compile/Parrot.hs.
04:06 putter [lit curPad] in Compile/PIR.hs is generating "-1" (with quotes) rather than -1.  Affects new_pad and store_lex.
04:08 putter module, %ENV<>, :=, unless, END{}, _auto (eg, "&ok_auto" vs "&ok"), $*ERR.
04:10 putter Those done, one can run t/01-sanity/* embedded in Test.pm.  Modulo #use and a couple of output differences.
04:11 putter Good night.
04:11 putter has quit IRC ("Leaving")
04:17 sri_ Khisanth: but i'd have to use perl5 in templates!
04:17 Khisanth hmm :)
04:18 sri_ the point is to use perl6 in mason, which would be damn cool ;)
04:19 * Khisanth wonders if TT is still using _ for concat
04:20 sri_ it is
04:21 Khisanth well there goes my plan for playing with it, my hypen key is broken
04:21 Khisanth well not exactly broken but pressing it seems to send no signal
04:21 sri_ lol
04:22 Khisanth and not constant either
04:22 Khisanth it periodically drops off
04:23 Khisanth know anything about fixing laptop keyboards? :)
04:23 sri_ call service number? ;)
04:25 Khisanth oi ... the left shift too
04:26 sri_ keyboards are cheap on ebay
04:27 Khisanth laptop?
04:28 sri_ sure
04:28 Khisanth ack! I just realized I can't really write Perl without the hypen key
04:29 sri_ then better stick to haskell and fix caller for me ;)
04:30 * Khisanth doesn't really know Haskell
04:30 Khisanth it looks interesting enough though
04:31 Khisanth ok must be something else that is wrong
04:32 Khisanth the entire rows of keys with the numbers seem to be acting up
04:32 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
04:35 vcv- has joined #perl6
04:37 Khisanth I wonder who actually buys these http://store.yahoo.com/pfu​ca-store/haphackeyser.html
04:38 lumi_ has joined #perl6
04:38 MrKrueger has quit IRC (Remote closed the connection)
05:21 SamB has joined #perl6
05:21 vcv-- has quit IRC (Read error: 104 (Connection reset by peer))
05:23 * Khisanth curses at the cost of laptop parts
05:28 gaal sri_: ping
05:30 vcv- has quit IRC (Read error: 145 (Connection timed out))
05:30 sri_ gaal: pong
05:31 gaal good morning! you were looking for caller?
05:31 sri_ yea!
05:31 gaal it works, but you need the parens: caller().subname.say
05:31 sri_ and morning!
05:32 gaal see Prelude.pm for the grit, and Carp::longmess there for example usage.
05:32 sri_ has it changed recently?
05:32 sri_ my pugs is 2 days old
05:32 gaal i don't think so, but i haven't used it in two days :) let me 'svn praise' :)
05:32 sri_ and it returns undef
05:33 sri_ :)
05:33 gaal is your caller the top level?
05:34 gaal ?eval sub x { caller().subname } x
05:34 sri_ that may be
05:34 gaal this will be undef because x is called on top level
05:34 gaal anyway make sure you use the parens.
05:34 sri_ it should at least have package
05:34 sri_ and line
05:35 gaal hmm, arguably you're right. does p5 work that way?
05:35 sri_ mhm
05:36 gaal hey, it does!
05:37 Khisanth never realized how important the - was
05:37 gaal perl -le 'sub x {print for caller} x'
05:37 gaal what - ?
05:37 Khisanth the key
05:37 gaal ?
05:38 Khisanth gaal: broken keyboard
05:38 gaal aaaahhhh :)
05:38 gaal i believe the shift becomes the most important key with perl.
05:38 sri_ stop crying and remap!
05:38 Khisanth and a replacement seems to cost around $100USD
05:38 sri_ :)
05:38 gaal sri_: how bad do you need this fixed?
05:39 sri_ have to check...
05:39 Khisanth sri_: I was trying to type perldoc -f :/
05:40 sri_ i really need it...
05:41 sri_ not that important for development, can use constants, but once other people start hacking on it too...
05:41 gaal oh of course it'll be fixed :) i'm just asking how urgent it is
05:42 gaal can you please add tests to t/builtins/caller.t ?
05:42 gaal i'll work on it
05:44 sri_ will do
05:45 gaal sri_++
05:45 sri_ gaal++
05:55 gaal sri_: after looking into the p5 caller some more, i'm not sure it does work there.
05:56 gaal when you use caller(EXPR) in this case you get undef:
05:56 gaal perl -le 'sub x{print for caller(1)}x'
05:57 gaal it's only when you call the EXPRless caller that you get that info, and EXPRless caller isn't quite specced in p6
05:57 gaal rather, it means "caller(Any, :skip<0>)"
05:57 gaal which would not do what you want.
05:57 Shachaf has quit IRC ("''")
05:58 sri_ hmm...i just need the package somehow :)
05:58 gaal what's your use case?
05:59 gaal i can imagine p5ish "import" wanting to respond to its "use" caller.
05:59 gaal hmmm, that's certainly a legitimate wish :)
06:00 gaal ((how does importing work in p6? apart from 'is export' which is kinda blunt?))
06:00 sri_ ;)
06:01 sri_ it seems like perl5 import...
06:01 gaal i'm beginning to think maybe Any here is a special case which in fact includes 'not defined'.. but this looks like it needs p6-lification.
06:03 sri_ i better wait with tests till you've decided
06:03 gaal i'm writing up a query.
06:04 sri_ need sleep now...nite
06:04 gaal night!
06:37 vcv-- has joined #perl6
06:38 vcv- has joined #perl6
06:39 gaal any lambdafolk about?
06:52 xern has quit IRC ("Lost terminal")
07:00 vcv- has quit IRC (Read error: 145 (Connection timed out))
07:10 sapper has joined #perl6
07:13 jagerman has joined #perl6
07:36 Darren_Duncan has left
07:36 vcv-- has quit IRC (Read error: 104 (Connection reset by peer))
07:38 autrijus gaal: yes?
07:43 gaal thanks, #haskell helped me with my problem :)
07:49 autrijus cool
07:49 autrijus if your maybe type is monadic
07:50 autrijus pugs has maybeM
07:50 gaal it was a Maybe VCode
07:50 autrijus (in Pugs.Internals)
07:51 autrijus maybeM f m = fmapM m =<< f
07:51 autrijus surprisingly there's haddock around it.
07:51 gaal cool!
07:53 gaal scook0++ # svn praise
07:54 autrijus scook0++
07:54 * autrijus praises gnoming in general and scook0 in particular
07:54 autrijus but now... breakfast
07:54 autrijus and then some serious alligator hunting fun
07:55 gaal hmm, i wonder where eyespoplikeamosquito is? might come in handy where alligators are concerned.
07:57 autrijus he's an alligator expert?
07:58 gaal well, he's australian, so he must be!
07:58 autrijus ah right!
07:58 gander has joined #perl6
08:01 gander has left "Leaving"
08:01 svnbot6 r4782, autrijus++ | * use CGP core by default for external parrot.
08:01 svnbot6 r4782, autrijus++ | * test and use CGP core for embedded parrot too.
08:02 autrijus Siracusa++ # lol! "thread necromancy"
08:02 autrijus that's a wonderful meme
08:02 autrijus p6l is so full of necromancers
08:03 xerox `meme' ?
08:04 autrijus meme is a memetic concept that says memes, like genes of organisms, dictates and manifests our thoughtst, and so are suspect to memetic engineering
08:04 mugwump sounds like psychohistory
08:06 autrijus or, in words of J. Joyce, that dead people rushes to capture my tongue
08:06 autrijus which ironically is just what happens with Joyce and me.
08:06 autrijus # http://en.wikipedia.org/wiki/Meme
08:10 gaal autrijus, speaking of Joyce, do you know the Litter?
08:10 * mugwump was referring to http://en.wikipedia.org/wiki/​Psychohistory_%28fictional%29 :)
08:10 gaal http://www.livejournal.com​/users/antinous/19017.html
08:11 gaal btw the translation is brilliant, as good imo as the origina.
08:15 gaal historical context: while Joyce was publishing _Work in Progress_ (previews of _Finnegans Wake_), he got this "Litter" from one Vladimir Dixon. He liked it so much that he published it in the next issue
08:15 gaal and his readers didn't believe that it was authentic, claiming he had made it up himself.
08:17 gaal but in fact he had not: there was a Vladimir Dixon.
08:18 autrijus that letter doesn't read like joyce at all :)
08:19 lumi__ has joined #perl6
08:19 lumi_ has quit IRC (Remote closed the connection)
08:20 gaal it does't read like "The Dead", but hey, it fooled his contemporaries who were reading FW sneak previews :)
08:22 gaal in any case, i don't recognize your original reference (not that i'm very well read in joyce!) -- where's it from?
08:23 autrijus geez, I forgot. it's somewhere in the FW.
08:23 autrijus (but that's not saying much if at all.)
08:24 autrijus (everything is in FW.)
08:24 gaal well, at least now i understand something you told me
08:24 gaal you said haskell is easy :)
08:24 xerox You do have such a big love for acronyms.
08:24 gaal FW == _Finnegans Wake_
08:24 autrijus gaal: hm? it _is_ easy :)
08:24 * xerox falls
08:25 autrijus only problem is it must be learned and can't be taught
08:25 autrijus and the only way of learning is by coding it into your brain :)
08:25 autrijus (since it, unlike perl, has absolutely no root in everyday linguistics and metaphors)
08:25 autrijus s/unlike/in direct contrast to/
08:26 gaal here's another conjecture: anyone who completes FW can pick up Haskell, easy!
08:26 autrijus right!
08:26 autrijus although I can't claim "complete"... far from it
08:26 autrijus I'm not even sure I have read every word. probably.
08:27 gaal well, you know what Joyce said about it...
08:27 gaal ...it took him ten years to write, and he expected his readers to spend as much on it too.
08:27 autrijus nod
08:27 autrijus incidentally the only way of reading FW is by coding it into your brain, too, afaic
08:28 autrijus I've translated the first page, then gave up
08:28 iblechbot has joined #perl6
08:28 autrijus took me ~3 days to arrive to a moderately acceptable translation.
08:28 autrijus (to trad. chinese)
08:29 gaal i never even tried. i read the first chapter of _Ulysses_ with great difficulty - it was very beautiful, but i guess i ran out of tuits.
08:29 xerox What is Finnegans Wake?
08:29 autrijus oh well. maybe some day I'll write some program to translate it for me, based on fuzzy matching with huge corpuses and opencyc etc.
08:30 gaal xerox: a novel by James Joyce
08:30 autrijus xerox:  http://www.finnegansweb.co​m/wiki/index.php/Main_Page
08:30 gaal autrijus, how did you manage The fall (<insert a hundred characters>)?
08:31 xerox I found this http://www.trentu.ca/jjoyce/fw-3.htm
08:31 autrijus gaal: right... because of the ideographical nature it's actually easy
08:31 gaal not that i'd be able to understand your result, not knowing chinese
08:31 autrijus because the sound and meaning are separate
08:31 autrijus to a degree
08:31 autrijus and for each syllable there are dozens of characters that sound the same to choose from
08:32 * gaal nods
08:32 sapper has quit IRC ("bye")
08:33 gaal is it immediately clear to a reader that that paranthetical clause is nonsense?
08:33 autrijus sure... it's very easy to make immediately clearly nonsensical chinese sentences :)
08:34 gaal that must be a useful trait for the purpose of translating Joyce :)
08:35 autrijus :)
08:35 autrijus right. for a few months my poems were quite joycean
08:35 autrijus that is, until my readers complained in pain ;)
08:37 * xerox never wrote poems.
08:37 * gaal is saddened by the thought that he will likely never appreciate a poem in chinese.
08:38 * autrijus notes the abundance of truth-speaking lions in this world
08:38 gaal "wipe your glosses with what you know" -- Joyce
08:39 xerox It's so sad I always have to ask you what does it mean what you said :)
08:39 xerox But maybe this time I got the metaphore right.
08:39 vcv- has joined #perl6
08:41 * gaal presents autrijus with a volume of works by Borges
08:43 xerox b0rgs?
08:43 * autrijus reads all the forking volumes at once
08:52 elmex has joined #perl6
09:13 vcv-- has joined #perl6
09:20 gaal ./pugs -e 'my %x;my $a=4; %x<<$a>>=1; say %x.perl;'
09:20 gaal => {('1' => 1)}
09:20 gaal pug-p?
09:20 gaal bug-p, that is?
09:22 vcv- has quit IRC (Read error: 145 (Connection timed out))
09:26 mugwump ok, so I've almost got stevan's Pod-Event-Parser and Kwid-Event-Parser plugged into a Perl5 Perldoc.pm...
09:27 mugwump should I include Perldoc.pm in lib/ perhaps?  Or just make it a dependancy in their Makefiles?
09:31 mugwump stevan: about?
09:43 iblech has joined #perl6
09:45 svnbot6 r4783, iblech++ | Usual svn props (including appropriate svn:ignore) added to sri++'s
09:45 svnbot6 r4783, iblech++ | Module-Pluggable-Fast and HTTP-Server-Lite.
09:57 gaal i've encountered a weird bug with %:privhash = ()
09:57 gaal unfortunately it's difficult to isolate.
09:58 gaal i can't even describe what it's doing, i think it's a delayed crash.
09:58 gaal anyone got a linux box and a few minutes to see if this segfaults for them?
09:59 * gaal suddenly remembers feather
09:59 misc gaal: yes ?
10:00 migo__ has joined #perl6
10:01 gaal misc: please svn up
10:02 gaal then ./pugs examples/obfu/l33t.p6
10:02 gaal you enter the interactive debugger
10:02 gaal hit "C" (clear all breakpoints)
10:02 svnbot6 r4784, gaal++ | debugger for l33t interpreter
10:02 gaal then hit "r" (run)
10:02 gaal this should just trace the program and exit
10:03 misc gaal: i do not have the svn version of pugs
10:03 gaal after you confirm this works, please go to line 195 of l33t.p6
10:03 gaal oh, you don't need a very new pugs
10:03 gaal just the new l33t.p6
10:03 gaal hold on
10:03 misc ok
10:03 gaal svn.openfoundry.org/pugs/examples/obfu/l33t.p6
10:04 gaal http://svn.openfoundry.org/​pugs/examples/obfu/l33t.p6 sorry
10:04 misc no problem, works fine
10:04 misc wget is able to add http:// :)
10:04 gaal :)
10:04 gaal k see what happens when you run that
10:05 misc a error
10:05 gaal actually - with the code i ci'ed if you C then r, you'll exit soon.
10:05 gaal all right, now edit l33t.p6, and comment out line 195
10:05 gaal then try again.
10:06 misc gaal: http://pastebin.com/301314
10:06 gaal (the line saying %:breakpoints = () )
10:06 misc same error with the comment
10:06 gaal oh, err hmm.
10:06 misc with pugs 6.2.7
10:07 gaal you need a newer pugs :(
10:07 gaal autrijus fixed ^^= last night
10:07 gaal sorry, forgot
10:07 misc i can try to compile it somewhere, i guess
10:07 gaal don't bother, i have a (slow) linux box, and there's also feather.
10:07 gaal thanks :)
10:08 misc well, if this is just a simple program, i have a fast linux box somewhere dedicated to building
10:09 gaal okay! :)
10:09 gaal pageant++ # ssh-agent by PuTTY author
10:10 crysflame pageant++ # integrates with winscp
10:23 misc gaal: ok, so i have finished, i see no error when using C and r
10:23 svnbot6 r4785, iblech++ | Pugs.Prim -- Fixed "a b c".split(" ").
10:23 svnbot6 r4786, iblech++ | t/ -- Various unTODOs, unEVALs, and eval "..." -> eval("...") transition.
10:23 pupilzeng has joined #perl6
10:23 gaal i think it may be "simply a bug" but having no *pugs* debugger investigating this is... fun :)
10:23 gaal thanks then!
10:25 misc gaal: i removed the comment, i have seen no crash
10:25 misc gaal: i just stopped 2 minutes later instead of 2 secondes
10:25 gaal but the program terminates much sooner
10:25 gaal when that statement is executed
10:26 gaal "C" merely removes breakpoints -- that ought not make a debugged program terminate any faster ;-)
10:36 svnbot6 r4787, iblech++ | * Benchmark.pm -- Worked around a Pugs bug and made benchmark results displayed
10:36 svnbot6 r4787, iblech++ |   as whole numbers.
10:36 svnbot6 r4787, iblech++ | * kv.t -- Added a test for the bug which caused Benchmark.pm to stop working.
10:52 vcv- has joined #perl6
10:52 vcv-- has quit IRC (Read error: 104 (Connection reset by peer))
11:09 Nattfodd has joined #perl6
11:09 svnbot6 r4788, iblech++ | * Pugs.Embed.Parrot -- Pass contents of %*ENV<PUGS_PARROT_OPTS> as option to parrot.
11:09 svnbot6 r4788, iblech++ | * pugs::run -- Document this new environment variable.
11:09 svnbot6 r4788, iblech++ | * util/livecd/linuxrc -- Set PUGS_PARROT_OPTS to "-jO" for maximum speed.
11:13 svnbot6 r4789, iblech++ | * evalbot.p6    -- Unbroke evalbot.
11:13 svnbot6 r4789, iblech++ | * evalhelper.p5 -- Added a safe &say.
11:18 vcv- has quit IRC (Read error: 145 (Connection timed out))
11:19 lumi__ has quit IRC (Read error: 104 (Connection reset by peer))
11:20 meppl has joined #perl6
11:24 lumi_ has joined #perl6
11:35 svnbot6 r4790, iblech++ | Pugs.Prim.Eval -- Made putter+'s (first part of a) %*INC patch safe.
11:54 integral has quit IRC ("Lost terminal")
11:59 madhouse has joined #perl6
11:59 malaire has joined #perl6
12:02 integral has joined #perl6
12:04 svnbot6 r4791, iblech++ | mklivecd.pl -- Increase default initrd size and create /tmp on the initrd so
12:04 svnbot6 r4791, iblech++ | eval("...", :lang<PIR>) works.
12:05 scook0 has joined #perl6
12:18 gaal "5" ~~ rx:perl5/(([-+])?\d+)/ => what should $0 and $1 be?
12:19 gaal $2 is undef; currently $0 strigifies to 5 and $1 to ""
12:20 gaal which i can't make any sense of.
12:22 iblech I think that's correct... $0 is the outer group ("([-+])?\d+" -> "5"), and $1 is the inner group ("[-+]?" -> "")
12:23 gaal oh! yes of course
12:23 gaal thanks
12:23 elmex has quit IRC ("leaving")
12:23 gaal okay i still have a weird crash. isloating.
12:26 gaal hmm. somehow this has to do with an our $VAR being poisonous, triggering an exit when read.
12:27 gaal oh! no, i mistyped the variable. but then how did my program parse?
12:27 gaal and why is there no error message?
12:28 iblech Currently, there're no compile-time checks for non-existing variables
12:28 iblech So "my $z; $fooo" will always parse
12:28 gaal but at least die usefully at runtime?
12:29 iblech Yep, it should die with an appropriate message at runtime
12:29 iblech pugs> my $x; $y
12:29 iblech *** Undeclared variable: "$y"
12:29 pasteling "gaal" at 192.115.25.249 pasted "please help roo debug the debugger!" (355 lines, 11.1K) at http://sial.org/pbot/11188
12:30 gaal okay, please run the nopasted file and at the prompt type "ip 5"
12:30 gaal or any other integer
12:30 gaal then see line 223, where i made a typo:
12:30 gaal i used $MAXMEM instead of $MEMSIZE
12:30 gaal (silly me)
12:31 gaal but the program terminates immediately when that happens.
12:31 gaal aaaah no no no!
12:31 gaal sillier me
12:31 gaal i have a try!
12:31 gaal beh, sorry about that :)
12:31 gaal hmmm, how do i rethrow uncaught exceptions?
12:31 iblech Hmm... die $!?
12:32 gaal where, in a separate CATCH block?
12:32 malaire hello all. I'm having problems with rules. "Hello" ~~ rx/../ gives error: *** Cannot parse PGE: .. / *** Error: end of file
12:32 iblech Eventually, yes, I think. For now: try {...} die $!
12:32 gaal try { code code code CATCH Interesting { } CATCH { die $! } }     ?
12:33 gaal ok
12:33 gaal malaire: you need parrot for p6 rules
12:33 malaire I have parrot
12:33 gaal either compile against that or use perl5 regexps
12:33 iblech malaire: Known. This is because currently, some major Parrot internals change (the calling conventions)
12:33 malaire ok
12:33 pupilzeng has quit IRC ("See you!")
12:33 * nothingmuch_ wonders how his friends can survive with so little sunlight
12:34 nothingmuch_ is now known as nothingmuch
12:34 dkf has quit IRC ()
12:34 gaal okay, how do i rethrow an exception from the context of the original throw? :)   (can i?)
12:35 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
12:35 malaire has left
12:35 iblech Not sure if this is want you want:
12:35 iblech pugs> try { die "Hi" }; if $! eq "Hi" { die $! } else {...}
12:35 iblech *** Hi
12:35 vcv-- has joined #perl6
12:37 gaal iblech, no, i got the selective die working all right - what i want is for the rethrow to give the stack trace as if no try {} was there.
12:37 gaal that is,
12:37 gaal i don't want to intercept ALL exceptions.
12:37 iblech Ah
12:37 iblech Don't think you can do that yet
12:37 gaal k
12:38 knewt_ has joined #perl6
12:40 lumi_ has joined #perl6
12:49 Enveigler has joined #perl6
12:50 gaal aha!
12:50 gaal ./pugs.exe -e 'class C;has Bool %:x; method x{%:x=();%:x<a>; say "alive"}C.new.x'
12:50 gaal *** Cannot cast into Hash: VRef <Array>
12:50 gaal %:privhash = () screws it up.
12:51 gaal this doesn't happen to normal hashes.
12:51 gaal it DOES happen to public member hashes.
12:52 vcv- has joined #perl6
12:53 dkf has joined #perl6
12:53 wolverian has quit IRC ("BORKEN")
12:55 wolverian has joined #perl6
12:55 svnbot6 r4792, iblech++ | Main, Pugs.Run -- Display a "Loading Prelude... [some seconds] done." message
12:55 svnbot6 r4792, iblech++ | while loading the Prelude in interactive Pugs. Please bikeshed at will
12:55 svnbot6 r4792, iblech++ | (add/remove newlines/dots, etc.).
12:55 gaal lol
13:03 svnbot6 r4793, gaal++ | add test for %:hash=() messing up the member
13:10 gaal hmmm, now i think i understand: this bug happens because of what autrijus said the other day, that attributres are not locked but are rather simply hash elements.
13:17 ilogger stops logging #perl6 at Sat Jun 18 13:17:17 2005
13:17 ilogger stops logging #perl6 at Sat Jun 18 13:17:17 2005
13:45 ilogger starts logging #perl6 at Sat Jun 18 13:45:28 2005
13:45 ilogger has joined #perl6
13:45 gaal sounds like a good idea.
13:45 iblech k, will do it then
13:46 gaal why did the &say trap break evalbot?
13:46 gaal oh, shouldn't it have been a "~" there?
13:46 gaal instead of a "+"
13:47 sbkhh is now known as Odin-
13:47 iblech Exactly, before my fix there was a "+", causing evalbot to not be able to evaluate anything
13:47 gaal .....but it looks like the fix is to remove everthing instead of to change it to ~. why?
13:48 iblech Look at evalhelper.p5 :)
13:48 iblech I added a &say to evalhelper.p5, which safe_print's its arguments
13:48 gaal ah :)
13:49 xerox st
13:49 xerox Oops, sorry.
13:50 putter PGE is currently broken?!?
13:50 svnbot6 r4797, iblech++ | Moved t/rules/from_perl6_rules temporarily to t_disabled, as a) PGE is
13:50 svnbot6 r4797, iblech++ | currently broken, so the tests are not of much use and b) if one has embedded
13:50 svnbot6 r4797, iblech++ | Parrot, it seems, even the guard to see if rules are available at the top of
13:50 svnbot6 r4797, iblech++ | each from_perl6_rules/*.t will cause the entire pugs process to die, causing
13:50 svnbot6 r4797, iblech++ | 400+ test failures.
13:51 iblech putter: Yep. Because of the calling conventions change
13:51 putter Ahhh. tnx.
13:51 integral why not just fix PGE?
13:51 * putter moves rx on p6 emitter up his todo list.
13:54 dkf has left
13:56 autrijus rehi \camels!
14:01 * putter is trying to figure out how modify Emit/PIR.hs to include keyed expressions...
14:02 autrijus putter: first compile it? :)
14:02 autrijus preferably as calls to &circumpostfix:{}
14:03 putter Yes... I've been working in the other direction, write  &circumpostfix:{} first, then (hypothetically;) edit compiler...
14:07 autrijus nice :D
14:08 putter can one have "flattened" recursive "data"s?  data A = B | C | D (AbutnotD)
14:09 putter I'm trying to avoid adding a constructor level to distinguish primitive from keyed lvalues.
14:11 autrijus a constructor level is probably best if you are aiming for general purpose emitters :)
14:11 autrijus to answer your question, yes, you can do that with GADTs with existential quantification
14:11 autrijus I did it with IVar in pugs; PAST uses GADT too although not yet existentially quantified
14:11 autrijus data A a where
14:12 autrijus    B :: A Foo
14:12 autrijus    C :: A foo
14:12 autrijus    D :: A Foo -> A Bar
14:12 autrijus s/foo/Foo/
14:12 svnbot6 r4798, autrijus++ | * oops, typo in short circuit logicals
14:12 svnbot6 r4799, iblech++ | util/livecd/linux -- Don't pass "-O" to parrot, as currently, it'll segfault
14:12 svnbot6 r4799, iblech++ | instantly.
14:12 svnbot6 r4800, iblech++ | util/svnlog2graph.pl -- Adjust scaling again, as we're approaching r5000. :)
14:12 autrijus you can pick any value of foo and bar
14:12 autrijus they doesn't matter :)
14:12 autrijus but normally you pick a type so you can write something like
14:12 autrijus reduceA :: A a -> a
14:13 autrijus also you can do
14:13 autrijus    E :: (FooBarClass b) => A b -> A Baz
14:13 autrijus and then instantiate Foo/Bar into FooBarClass
14:13 autrijus to get selective memberships
14:13 * autrijus praises GADT for putting the "funk" in "funktional programming"
14:14 putter oy. ;)
14:14 putter ok, constructor level.  :) Thanks.
14:14 autrijus np :)
14:14 * autrijus focuses on Syn := and other syns
14:16 SamB has quit IRC (Read error: 54 (Connection reset by peer))
14:20 Enveigler has quit IRC (Read error: 60 (Operation timed out))
14:21 Enveigler has joined #perl6
14:32 baxteras has joined #perl6
14:33 baxteras hi, when i try to call $agent->click() through www::mechanize i get this error : "Unexpected field value http://www.mysite.com/ at (eval 5) line 1" , what can be wrong?
14:34 * autrijus kindly refers baxteras to #perl :)
14:34 autrijus because, although I'd greatly desire that, WWW::Mechanize has not yet been ported to perl6
14:34 baxteras well i asked there too ,  thanx anyway:)
14:36 autrijus looks like you have an old version of HTTP::Headers.
14:36 autrijus upgrading it from CPAN should fix this problem.
14:37 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
14:40 baxteras hmm i ll try that
14:41 madhouse has quit IRC (Read error: 110 (Connection timed out))
14:43 lumi_ has joined #perl6
14:51 Limbic_Region has joined #perl6
14:58 stevan autrijus: any releases planned for this weekend?
15:01 stevan mugwump: I think we should port Perldoc to perl6
15:01 xerox has quit IRC ("ERC Version 5.0 (CVS) $Revision: 1.751 $ (IRC client for Emacs)")
15:01 stevan it should be pretty simple to get the DOM part working
15:02 stevan we can use Tree instead of Tree::DAG_Node
15:02 stevan ok, off to run errands &
15:05 pasteling "putter" at 66.30.119.55 pasted "fishing for haskell feedback" (42 lines, 971B) at http://sial.org/pbot/11191
15:06 putter autrijus: As I get a bit bogged down in Compile/PIR.hs, I though I should sanity check / look for feedback on the core change.
15:06 autrijus stevan: I think the plan is to changelogging and releng etc during today and tomorrow
15:06 autrijus stevan: and I'll releease on monday
15:06 autrijus the night before I fly to .ca
15:06 putter iblech: any comments welcome.  and anyone else.
15:07 autrijus putter: I already got lvalue functions
15:08 autrijus so it may be better to treat them as such
15:08 autrijus I'll check in my code
15:08 putter ok.  no hurry.
15:16 Limbic_Region has quit IRC (Read error: 110 (Connection timed out))
15:16 dudley has joined #perl6
15:20 autrijus putter: they're in.
15:21 autrijus let me check in %ENV support
15:21 autrijus sec
15:24 putter 'k.  (I was just wondering where %*ENV initialization would go...:)
15:26 svnbot6 r4801, autrijus++ | * postcircumfix as lvalues
15:31 Khisanth autrijus: wouldn't porting WWW::Mechanize require porting LWP::UserAgent first?
15:36 autrijus right
15:37 autrijus yay, worked on first try!
15:38 autrijus *Main> runPIR "say %ENV<USER>"
15:38 autrijus autrijus
15:38 Shachaf has joined #perl6
15:38 * autrijus praises formalism
15:43 clydee has joined #perl6
15:43 svnbot6 r4802, autrijus++ | * Keyed access: `say %ENV<USER>` now works.
15:43 rafl has quit IRC (Read error: 60 (Operation timed out))
15:49 putter for anyone backreading, fyi, the key (no pun intended) flaw in the recent paste http://sial.org/pbot/11191 was attempting to have keyed literals... which is silly, when you're not confusing symbols with literals, as I was.
15:49 autrijus :)
15:50 putter Postmortem lesson - if your code size is exploding, reexamine your assumptions to make sure your not doing something silly.
15:51 autrijus however. my emitter is currently wrong
15:51 autrijus because the type system allows for nested keyed
15:51 autrijus for the idx part
15:52 autrijus eg. $P0[$S1[$S2]]
15:52 autrijus er
15:52 autrijus eg. $P0[$P1[$P2]]
15:52 autrijus which is patently unsound. the emitter should use the temp* for each intermediate level, but the margin of my screen is too narrow for me to finish it completely, or something :)
15:55 putter Sigh.  Oh, yeah, _that_ was what motivated 11191.  No keyed literals involved.  Postmortem lesson... have lunch before doing further postmortems.
15:56 autrijus however I believe it is indeed a sound Expression type :)
15:56 autrijus it's just the emitter needs work.
16:02 putter Ha.  I was thinking of it as they types the emitter uses to constrain the problem to correctness, rather than as an api for the emitter.  neat.
16:02 * autrijus tries making all pugs types typeable.
16:02 autrijus ah. no.
16:03 autrijus PIR is an "idealised" PIR.
16:03 autrijus we are free to work around all the messes in PIR
16:03 autrijus as long as the translation does not involve lose of information either way
16:03 autrijus (which this nested key satisfies)
16:04 * putter feels warm fuzziness towards design described.
16:07 * autrijus has always wanted a typed assembly language with first class full continuations
16:07 autrijus ...and now we have one!
16:17 Juerd autrijus: I don't think your web scripting idea with continuations will work well :)
16:17 svnbot6 r4803, autrijus++ | * make all our monomorphic function types explicitly Show'able,
16:17 svnbot6 r4803, autrijus++ |   to ease debugging and enforce thorough Typeableness..
16:17 autrijus Juerd: you mean Seaside sucks, or something else? :)
16:17 nothingmuch damnit!
16:17 autrijus and/or Cocoon
16:17 Juerd autrijus: I don't know. What is Seaside?
16:17 nothingmuch can anyone figure out where malev flight ma0094 will land and when?
16:18 autrijus Juerd: Seaside and Cocoon are two successful applications of web continuations.
16:18 Juerd I see a problem with web shops where you open category pages in different tabs
16:18 autrijus they represent the state of art today
16:18 Juerd And then you end up with $x different shopping carts :)
16:18 autrijus look at Seaside (and Halo) especially; it's lots of fun.
16:18 Juerd I'll have a look
16:18 autrijus Juerd: er, no, it's just like threading; shared resources are still shared.
16:18 autrijus think of it as ithreads for web.
16:19 autrijus whereas the current "sessions" are 5005 threads.
16:19 Juerd But shared resources outside process boundaries is exactly the same as sessions, are they not? :)
16:19 * Juerd probably misses an important difference
16:19 putter So, the reason [lit curPad] in Compile/PIR is returning "-1" rather than -1, thus breaking new_pad and store_lex, seems to be
16:19 autrijus Juerd: the difference is page to page is no longer GOTOs.
16:19 autrijus Juerd: you are allowed to pass a coroutine to your user's browser
16:19 autrijus which will yield back to you
16:19 * Juerd is online with his EDGE card now btw - fully mobile, and reaching up to 20 kB/s
16:20 autrijus in the standard coroutine fashion.
16:20 putter instance LiteralClass Doc Expression where    lit = ExpLit . LitStr . render
16:20 madhouse has joined #perl6
16:20 putter LitInt should work... but I'm still not sure if it will break something else.
16:20 Juerd autrijus: Yes, but there is other syntactic sugar for this too -- how it works internally isn't too relevant for programming
16:20 Juerd I think this idea works best for wizards
16:20 Enveigler has quit IRC (Read error: 60 (Operation timed out))
16:21 autrijus Juerd: I think once you think the web application as CPS, it will make more sense to you.
16:21 Juerd Which is nice, except that wizards suck on the web, because a webpage naturally scrolls :)
16:21 autrijus where the user is just another coroutine thing.
16:21 autrijus so it's also for portlets
16:21 Juerd What does CPS stand for?
16:21 autrijus continuation-passing style
16:22 Juerd I look forward to actually trying this out with Perl 6 :)
16:22 autrijus meanwhile you can try it out with Smalltalk/Seaside, JavaScript/Cocoon, Ruby/Borges  etc first :)
16:22 putter Juerd: RubyOnRails aswell
16:23 Juerd RoR uses this?
16:23 * Juerd has used it, but never got the impression it had anything to do with continuations
16:23 autrijus no, RoR does not... RoR only uses continuations within a single request
16:23 autrijus it does not marshall it
16:23 putter ah, ok.
16:23 autrijus but it is useful for intra-request things
16:24 Juerd I'm particularly interested in persistent continuations, yes
16:24 Juerd That is: the ability to continue after a reboot :)
16:24 Juerd (That'll be more important for me than web programming)
16:24 autrijus Juerd: anyway, omniprecient debugging is likely as hot, if not hotter, as an application
16:25 Juerd Yeah - writing a program will be much more like editing a file: undo and redo.
16:25 autrijus yup.
16:25 Juerd In fact, I really wonder if writing during execution would work well.
16:25 Juerd Or the other way around
16:25 autrijus DrScheme has the UI for this
16:25 autrijus like, completely
16:25 autrijus showing reduction for each step
16:25 autrijus and let you interactively navigate the entire module tree and their deps
16:25 autrijus and refactor easily
16:25 Juerd External editors probably work better
16:26 autrijus I have since seen the light :)
16:26 Juerd But it'll be interesting to see different uis
16:26 Juerd My main problem is that I only know Perl well :)
16:26 autrijus that's fine. we'll have that reflection in perl6 :)
16:29 justatheory has joined #perl6
16:30 * putter notes the store_lex "-1" problem is fixed.
16:31 svnbot6 r4804, putter++ | In Emit/PIR.hs, changed curPad from Doc to Int, so store_lex/new_pad are not given a stringified "-1".
16:33 autrijus nice!
16:33 * autrijus notes that Test.pm is now compiled.
16:34 nothingmuch GAH! this is so annoying
16:35 madhouse has quit IRC ()
16:36 * putter hypothesizes autrijus has already implemented PBind...
16:36 autrijus putter: that's just a straight copy and past from PAssign
16:36 autrijus changing <== to <:=
16:36 autrijus 'tsall
16:36 Juerd autrijus: Compiled as in all PIR?
16:36 autrijus Juerd: right.
16:36 svnbot6 r4805, autrijus++ | * Emit binding; handle tCxt;  Test.pm is now compiled...
16:37 Juerd auThat's really neat
16:37 autrijus seven days :)
16:37 Juerd Oh, lovely - I type faster than the connection can handle :)
16:37 Juerd So irssi thinks I'm pasting
16:37 putter ahhh. :)
16:37 autrijus now I need to add optional params
16:37 autrijus and then... profit!
16:38 Juerd autrijus: Congratulation. This is a huge mile stone, for outsiders to see.
16:38 putter nothingmuch: smoked parrot?
16:38 Juerd s/ion/ions/
16:41 * putter realizes nothingmuch has made several exclamations of annoyance... oh, did you find your flight info yet?
16:41 nothingmuch no, i am so frustrated
16:42 nothingmuch i can find the same flight for today
16:42 nothingmuch or search by date, which doesn't work
16:42 nothingmuch or search for flights departing tomorrow
16:42 autrijus oh wow.
16:42 autrijus phone them?
16:42 nothingmuch that means getting up
16:42 Juerd Hm, a google hit for "dead perl people" on my site, juerd.nl
16:43 Juerd Why would anyone search for that?
16:43 rindolf has joined #perl6
16:43 rindolf autrijus: here?
16:43 Juerd Look who's there.
16:43 Juerd Hello, mr. fish.
16:44 autrijus rindolf: yo
16:44 rindolf Hi Juerd
16:44 rindolf autrijus: can XML::RSS::Aggregate handle RSS 2.0?
16:44 autrijus rindolf: it can handle whatever XML::RSS can handle, I think?
16:44 rindolf autrijus: well, it seems that it does not grok pubDate at all.
16:45 autrijus however XML::Feeds (or is it XML::Feed?) is nowadays hipper.
16:45 autrijus and TorgoX (i.e. SBURKE) has a never aggregator
16:45 rindolf autrijus: OK, thanks.
16:45 autrijus not sure if he uses X::F there, but you may want to take a look
16:45 autrijus np :)
16:45 autrijus s/never/newer/; # heh jungian slip
16:45 Juerd What is 'jungian'?
16:46 autrijus er, just random variation. Carl Jung
16:47 * Juerd can't stop playing with the external antenna of this EDGE card
16:47 Juerd I should investigate if I can stock spares :)
16:49 nothingmuch damnit! how can an airline not be open 24/7?!
16:49 nothingmuch UGH! UGH! UGH!
16:51 putter Call an office in a different timezone...? (modulo $$)
16:51 lumi_ has quit IRC (Read error: 54 (Connection reset by peer))
16:51 putter autrijus: are you writing an @ENV walker, or should I?
16:51 lumi_ has joined #perl6
16:51 putter err, @END walker.
16:52 autrijus please do!
16:52 putter k
16:52 autrijus I'm working on callconv.
16:52 autrijus with both fixed, we have a realistic chance of getting Test.pm supported
16:52 autrijus rest of work is just filling in prims.
16:52 nothingmuch putter: it's weekend, they're open mondays through fridays, 9-17:00 or something useless like that
16:55 shlomif has joined #perl6
16:55 nothingmuch "all our lines are busy. You can buy your ticken on www.malev.com"
16:56 nothingmuch but you can't find out what time it gets there, can you?!
16:57 nothingmuch 17
16:57 sapper has joined #perl6
16:57 nothingmuch wow
16:58 shlomif has left "Client Exiting"
16:59 Juerd life without icmp sucks.
16:59 nothingmuch icmp is like introspection support for network equip
16:59 Juerd nothingmuch: botsnack
17:00 Juerd :)
17:00 nothingmuch botsnack?
17:00 Juerd Never mind :)
17:00 nothingmuch please explain
17:00 Juerd I doubt I can
17:03 Forth ping......the ping(isReachable()) comes with J2SE 1.5 doesn't work properly
17:04 rindolf has quit IRC (Read error: 110 (Connection timed out))
17:04 nothingmuch huraah
17:04 nothingmuch was that out loud?
17:05 sapper has quit IRC ("bye")
17:08 Juerd nothingmuch: What?
17:08 nothingmuch Never mind :)
17:11 putter nothingmuch: but they have offices all over the world.  perhaps, say, JFK will be open.
17:12 nothingmuch putter - i got the info
17:12 nothingmuch terminal 3, 17:50
17:12 nothingmuch i had to wait a few minutes, in which I was told a few more times that the lines are busy and that they have a website
17:12 nothingmuch 21st
17:15 baxteras has quit IRC ()
17:16 putter autrijus: is there a vision for backend-specific code in prelude, postlude?  It took a while to sink in, but its silly for me to be writing PIR for a simple perl expression to be used by something which already knows how to convert one to the other.;)
17:17 putter Vision as in "common file, flagged" or "separate files" or ...
17:21 nothingmuch what's the name of gödel numbering of programs?
17:28 autrijus putter: let me take the Vision Drug...
17:28 autrijus ...yes, I see visions!
17:28 autrijus I see each Emit layer providing the lowest level primitives
17:29 crysflame autrijus: have you read the parrot/javascript discussion at http://use.perl.org/comments​.pl?sid=22069&amp;cid=33574
17:29 autrijus I see them all implementing the same Pugs::Internals::*
17:29 autrijus in native code or in perl 6, doesn't matter
17:29 autrijus I see a shared Prelude.pm making use of those ::Internals functions.
17:29 * crysflame puts on sunglasses
17:30 autrijus I see the descendent of silicon based life forms and carbon based life forms join hands; where a lifeform is not judged by its chemical composition, but by its character.
17:30 autrijus er, sorry, too far.
17:30 * autrijus ends tripping
17:30 crysflame blinded by the awesome view
17:31 crysflame e l
17:31 autrijus nice stereograph
17:31 crysflame :)
17:33 putter lol
17:34 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
17:34 autrijus crysflame++ # http://lxr.mozilla.org/moz​illa/source/js/narcissus/ -- JavaScript in JavaScript
17:34 autrijus with this, Emit.JS may not be difficult at all :)
17:35 * autrijus praises narcissism
17:35 autrijus otoh, it actually makes JS->PAST easier, not PAST->JS.
17:35 crysflame blast.
17:36 * crysflame scores a point on the wrong field.
17:36 autrijus nah, it's useful bothways :)
17:36 crysflame mental image of playing soccer on an N-dimensional soccer field with a goal on every slice
17:36 crysflame "oops, i scored one three degrees kata"
17:37 crysflame i was out really late last night, so i'm going to rest for a while longer. will think about this and let you know if i run into something,.
17:37 SamB has joined #perl6
17:40 lumi_ has joined #perl6
17:40 svnbot6 r4806, sri++ | Renamed HTTP::Server::Lite to HTTP::Server::Simple
17:50 crysflame http://pre.plt-scheme.org/plt​/collects/algol60/compile.ss # AST to Scheme compiler written in .. something lisp
17:50 crysflame http://www.gnu.org/software/kawa/ # Scheme to Java
17:51 crysflame http://www.livejournal.com/c​ommunity/lj_dev/600713.html
17:52 crysflame # compiling S2 to Javascript; resembles a Class:: module from CPAN written in JS
17:53 crysflame autrijus: which part are you looking for? emit, parse, ...?
17:53 ramzi has joined #perl6
17:59 autrijus crysflame: all... but just emit for now
18:04 crysflame there are several emit variations across platforms - does having it in multiple source languages help? haven't found any js emit paired with PAST..
18:05 autrijus don't need PAST
18:05 autrijus just bare js emission and ast
18:05 autrijus i.e. some kind of a js ast with js prettyprinting
18:07 putter autrijus: any quick suggestions on getting @END, populated by the parser, into the compiler.  (putter's mental model of the connection is... cloudy, like concrete).
18:08 autrijus putter: hm? you should have @*END as part of the globals, no?
18:08 autrijus putter: so in line 105ish define it as canCompile
18:08 autrijus then reduce it to a Decl
18:08 autrijus i.e. a sub
18:08 autrijus that when called, yields the PerlArray that represents @*END
18:08 autrijus then finally call that in the init
18:09 putter Parser.hs sticks END{} clauses into @END at compiletime... have @*END yes... will look... thnx
18:11 putter ahhhhhh.
18:11 svnbot6 r4807, putter++ | In PIR, run elements of @*END.  But @END isnt populated by END{} yet.  And this PIR implementation should be replaced by something like a PostludePIR.pm.
18:12 putter svnbot6-- # high latency
18:15 crysflame laszlo implemented lzx dtd which is then translated into a subset of ecmascript
18:15 crysflame the LZX DTD, and a schema which "defines the LZX tag set"
18:16 crysflame i'm not sure that's AST though.
18:21 autrijus it is.
18:23 Darren_Duncan has joined #perl6
18:28 crysflame it uses embedded javscript and thus might not cover much. erhg.
18:28 sri_ has perl6 a built in Class::Data::Inheritable alternative?
18:29 autrijus sri_: hrm, I'm not familiar with CDI -- look at S12?
18:29 clydee has quit IRC ()
18:30 sri_ *looking*
18:31 sri_ otherwise i'll just port the perl5 thing
18:31 autrijus that sounds fruitful too
18:32 sri_ shouldn't be that hard
18:46 sri_ whats the new way to do *{"foo"} = sub {} ?
18:48 autrijus our &foo := sub {...};
18:48 Darren_Duncan good ... noon
18:48 autrijus yo darren-san!
18:49 Darren_Duncan currently I have 4807 all 'made'
18:49 sri_ our &{$name} := sub {} ?
18:49 iblech our &::($name) := sub {...}
18:50 sri_ aah, sweet
18:50 sri_ thx
18:50 svnbot6 r4808, iblech++ | * Emit.PIR, Pugs.Compile.PIR -- Added %*ENV and @*END. Eventually, we'll have
18:50 svnbot6 r4808, iblech++ |   to write our own find_name wrapper (or fix Parrot's find_name appropriately).
18:50 svnbot6 r4808, iblech++ | * Usual svn props added to ext/HTTP-Server-Simple/.
18:50 Darren_Duncan question ...
18:52 autrijus iblech: fix parrot's find_name is the Right Thing :)
18:52 autrijus "all languages are equal on parrot..."
18:52 autrijus "...but perl6 is more equal than others"
18:53 Darren_Duncan unless it already exists, I was going to add a test for that Array/Hash/etc that are anonymously declared as sub/method arguments are preserved as those container types through the passing, and not turned into List types
18:53 Darren_Duncan so where in the test tree should I put it?
18:53 autrijus Darren_Duncan: t/pugsbugs/ or t/subroutines
18:53 Darren_Duncan also; add a new file or expand an existing one?
18:53 putter Thanks, iblech.  I was just about to write "uncle".
18:53 autrijus a new one makes sense
18:54 putter (Re END{})
18:54 iblech There are some tests for that in builtins/arrays_and_hashes/{kv,pairs}.t
18:54 Darren_Duncan btw, why is there a 'pugsbugs' directory?  shouldn't any failing test represent a pugs bug?
18:55 * putter putter happily turns to the back of the book to see the answer...
18:55 autrijus Darren_Duncan: the idea is they represent failing tests that the writer knows not the cause
18:55 autrijus and is not sure where to categorise
18:55 vcv- has quit IRC (Read error: 145 (Connection timed out))
18:55 autrijus so will be categorised upon fixing
18:55 Darren_Duncan okay
18:56 Darren_Duncan now, if I put this under subroutines because it manifests there, but the cause is actually broader, will someone move the test on fixing it?
18:56 autrijus sure!
18:56 autrijus none of the directories are immobile
18:57 autrijus in fact, the only thing immobile in the pugs tree is the "." directory.
18:57 autrijus ;)
18:58 nothingmuch http://theages.superman.ws/Enc​yclopaedia/images/Brainiac.jpg
19:01 putter Oh, END{} still isnt done.
19:02 putter ok, I'm going to timeout on attempting to get END{} compiled into PIR.  I'm wheel spinning, so I leave it to someone else.
19:05 putter autrijus, iblech: Is that really a find_name problem?  Having find_name understand multiple component names, that's a find_name problem.  But,
19:06 putter the idea that %*ENV, or rather %::*::ENV means a variable %ENV in the global namespace, that seems a compiler issue.  %*foo should emit as find_global "%foo".
19:06 putter no?
19:06 autrijus that is correct.
19:06 autrijus find_name has another issue, namely dealing with :: vars
19:07 * autrijus is still killing the callconv alligator
19:07 autrijus almost done
19:15 sapper has joined #perl6
19:15 justatheory has quit IRC ()
19:24 putter autrijus: re, find_name has another issue, namely dealing with :: vars, do your mean $a::b vars?  if so, thats the same multi-part name problem... where $a::b should emit as find_name ["a";"$b"], but find_name doesnt support it yet...
19:25 * putter is cleaning up a regexp grammar...
19:25 autrijus right
19:26 knewt_ has quit IRC ("off to the pub")
19:28 erg has joined #perl6
19:28 iblech Hm... and what about &infix:<+> returning &infix:+?
19:28 * autrijus proceeds to add core ops into parrot
19:29 autrijus iblech: I think it should be normalised by the compiler...
19:29 iblech But what about $var = "infix:<+>"; &::($var)?
19:29 autrijus the &::() emitter should be a func call.
19:30 iblech And (say) &Pugs::Internals::symbolic_deref will do the normalisation then? Sounds ok
19:31 autrijus right.
19:33 svnbot6 r4809, iblech++ | Emit.PIR, Pugs.Compile.PIR -- Implemented $::(...) (symbolic dereferentiation).
19:33 autrijus ok, we'll soon need trunk parrot
19:38 sri_ hah, Class::Data::Inheritable is quite pointless...there are class attributes now :)
19:39 autrijus okay, parrot #8416.
19:39 svnbot6 r4810, iblech++ | Pugs.Compile.PIR -- Normalise "&infix:<+>" to "&infix:+" etc. at compile-time,
19:39 svnbot6 r4810, iblech++ | if possible.
19:39 autrijus my next commit (optional args) will depend on that.
19:39 iblech sri_: There are? Give an example please :)
19:39 autrijus our $foo and my $bar
19:39 sri_ just use my or our instead of has
19:40 nnunley has joined #perl6
19:40 sri_ our $.foo is rw;
19:40 sri_ wonder if it's values are supposed to be inheritable too? :)
19:41 iblech our/my + $.vars is allowed? Didn't know that, cool :)
19:44 sri_ pugs -e 'class Foo { our $.foo = "bar" } say Foo.foo'
19:44 sri_ parses but doesn't work :/
19:46 svnbot6 r4811, iblech++ | Added PIR to the list of valid backends to Pugs.Help and pugs::run.
19:46 svnbot6 r4812, Darren_Duncan++ | added new test set t/subroutines/arg_ref_type_preservation.t which validates that array and hash refs passed as sub/method args remain as 'Array' or 'Hash' and are not turned into 'List'
19:47 Darren_Duncan that's that then
19:52 putter Darren_Duncan: and not a little bit of pain that has caused... :)
19:52 Darren_Duncan indeed
19:53 Darren_Duncan it's the result of my trying to figure out why my LKT methods were returning the wrong output
19:54 Darren_Duncan took many hours to isolate this cause
20:00 autrijus huzzah!
20:00 autrijus *Main> runPIR "sub foo ($x, ?$y=$x ) {say qq[$x, $y]} foo(1,2)"
20:00 autrijus 1, 1
20:01 autrijus that's of course wrong ;)
20:01 dudley has quit IRC ()
20:01 Darren_Duncan indeed
20:02 putter Darren_Duncan: Perhaps we need something like a bulletin board.  Perhaps a page on the wiki.  Where things like this can be posted.  When I found the problem, weeks ago, I created failing tests, now dark green.  Which by your own experience wont help the next person...
20:02 putter autrijus:  huzzah!
20:02 putter :)
20:03 Darren_Duncan there are so many tests that it's sometimes hard to know if one checks for the issue or not
20:03 autrijus it's a parrot bug ;)
20:03 putter ha
20:04 Darren_Duncan a web thingy could be useful where people sort of describe bugs, and then separately a note could be attached that says it is tested for in test foo.t and/or fixed in revision N
20:04 putter Darren_Duncan: if only tests had uids, the obvious thing to do would be to have an "advice" overlay, which presented its advice until the associated tests started passing.
20:05 putter ;)
20:05 Darren_Duncan whatever works
20:06 Darren_Duncan anyway, I'm off to do some Perl 5 now ... ping if you want my attention
20:06 svnbot6 r4813, sri++ | Added tests for class attributes
20:07 putter &
20:07 autrijus ok, optionals landed
20:07 autrijus iblech: the plan is to discard Parrot.hs entirely soon
20:08 autrijus and alias it to PIR in run etc
20:08 svnbot6 r4814, autrijus++ | * Optional parameter support:
20:08 svnbot6 r4814, autrijus++ |     sub foo ($x, ?$y=$x) {say qq[$x, $y]}
20:08 svnbot6 r4814, autrijus++ |     foo(1,2);
20:08 svnbot6 r4814, autrijus++ |   (currently optional args always discard their args --
20:08 svnbot6 r4814, autrijus++ |    but it's a parrot bug ;))
20:09 iblech autrijus: So we should remove all pointers to -[BC]Parrot in documentation?
20:09 Darren_Duncan why?
20:09 autrijus iblech: I don't care really... I think keep the current Parrot name is fine
20:09 Darren_Duncan more like, add a pointer that says a certain bug is on the Parrot side
20:09 autrijus if only as alises internally
20:09 sri_ someone pls implement t/oo/class/attributes.t
20:10 sri_ =)
20:10 autrijus sri_: that someone would be me, but please wait a bit :)
20:10 autrijus (other \folks can take a stab too)
20:10 autrijus Darren_Duncan: er, we're talking about the new PIR backend and the old Parrot backend
20:11 Darren_Duncan okay
20:11 sri_ autrijus: mkay... :)
20:12 Darren_Duncan on that note, 6.2.8 was mainly about getting this new backend made ... about how far along would you say you are between 0 and 100?
20:13 putter Darren_Duncan: its not a euclidean space.
20:13 svnbot6 r4815, sri++ | Added some more class attribute tests
20:13 Darren_Duncan so it's just ready when its ready, eh?
20:14 Darren_Duncan that's life
20:17 autrijus Darren_Duncan: I think I'm 15% there.
20:17 autrijus soon we'll hit a step where all missing are primitives and PMCs.
20:17 svnbot6 r4816, iblech++ | * Added the usual svn props to new arg_ref_type_preservation.t and
20:17 svnbot6 r4816, iblech++ |   oo/class/attributes.t.
20:17 svnbot6 r4816, iblech++ | * Fixed oo/class/attributes.t (eval_ok -> ok eval(...)) and backlinked to S12.
20:18 autrijus which I hope the gnomes in hackathon will takeover.
20:20 Shillo has joined #perl6
20:20 Darren_Duncan iblech, what is involved in 'adding svn props' so I can do this myself with the files I create?
20:20 iblech Darren_Duncan: ./util/add-svn-props.sh file
20:22 Darren_Duncan okay; will try to remember to use in future
20:24 lumi__ has joined #perl6
20:24 svnbot6 r4817, putter++ | The world needs a Perl6 regex pattern reference grammar.  Here is a place to accumulate one.
20:26 autrijus hm, END is not part of the final globals? wtf?
20:26 jhorwitz has joined #perl6
20:27 Shillo autrijus: Er, END? Never heard of it. Oposite of BEGIN is CHECK, I think?
20:27 autrijus @*END
20:28 iblech Shillo: And there is END... The order is: BEGIN (compile-time, ASAP), CHECK (compile-time, ALAP), INIT (runtime, ASAP), END (runtime, ALAP)
20:28 Shillo iblech: Oh.
20:29 autrijus bbiab
20:29 svnbot6 r4818, autrijus++ | * prettyprint things a bit.
20:30 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
20:32 vcv- has joined #perl6
20:38 Forth has quit IRC (Read error: 110 (Connection timed out))
20:42 nothingmuch anyone got a script to make images smaller?
20:43 iblech convert -geometry 50% in.png out.png?
20:44 nothingmuch i mean like pallette indexing
20:44 svnbot6 r4819, putter++ | module/Grammars/rx_grammar.pl: added a few rules.  You can too! :)
20:47 iblech convert -geometry 50% in.png out.png?
20:47 iblech Err, wrong key
20:47 svnbot6 r4820, putter++ | module/Grammars/rx_grammar.pl: added pointers toresources.
20:56 lightstep has joined #perl6
21:00 Shillo has quit IRC ("Leaving")
21:03 dm has joined #perl6
21:04 dudley has joined #perl6
21:05 svnbot6 r4821, iblech++ | Moved t/oo/attributes.t to t/oo/attributes/instance.t and
21:05 svnbot6 r4821, iblech++ | t/oo/class/attributes.t to t/oo/attributes/class.t.
21:25 svnbot6 r4822, iblech++ | Emit.PIR -- Added missing type signatures and &undefine.
21:25 vcv-- has quit IRC (Read error: 54 (Connection reset by peer))
21:29 rafl has joined #perl6
21:33 G2 has joined #perl6
21:35 lightstep has quit IRC (Read error: 60 (Operation timed out))
21:36 dudley has quit IRC ()
21:38 sapper has quit IRC ("bye")
21:39 svnbot6 r4823, iblech++ | Emit.PIR -- Added &exists and &delete.
21:39 iblech Gonna sleep, night :)
21:39 iblech has quit IRC ("sleep &")
21:42 vcv- has quit IRC (Read error: 110 (Connection timed out))
21:49 putter autrijus: how goes @END?
21:50 putter And large reptiles?
21:51 autrijus leo's asleep so reptiles needs to wait
21:51 autrijus I got @*END done
21:51 autrijus committing
21:52 putter no hurry, just curious.
21:59 * autrijus commits, this time for real
21:59 svnbot6 r4824, putter++ | modules/Grammars/rx_emit_examples.pl: some examples of doing regexp engine generation from rx grammar :parsetrees.
22:00 ihb has joined #perl6
22:00 autrijus $ ./pugs -BPIR -e 'END{say"Fin. Again!"} END{say"A way a long a last
22:00 autrijus Fin. Again!
22:00 autrijus A way a long a last
22:01 autrijus er, missing the trailing "}'
22:01 putter :)
22:01 autrijus but it works
22:01 autrijus :)
22:02 putter Yay!.  Hmm, I have lost track, is that the end of the Test.pm todo?
22:03 justatheory has joined #perl6
22:03 autrijus no... there's a small matter of module lexicals
22:03 autrijus fixing
22:03 * putter realizes that was... inconsiderate?  Time for celebration.  Next tasks... next.
22:03 G2 has quit IRC ("oops")
22:05 iblechbot has quit IRC (Read error: 145 (Connection timed out))
22:05 svnbot6 r4825, autrijus++ | * @*END support!
22:08 autrijus it's about static lexical level
22:08 putter oops, it looks like HTTP-Server-Lite broke make test?
22:09 nnunley has quit IRC (Read error: 148 (No route to host))
22:09 * autrijus decides to punt, esp. because the lexical pad thing is largely fuzzy
22:09 autrijus so will ask leo tomorrow
22:10 putter sounds like a plan.
22:10 autrijus meanwhile... let me declare every lexical variable is global.
22:10 autrijus ;)
22:10 putter :)
22:10 autrijus    emit (InsPrim Nothing "store_lex" (_:args)) =
22:10 autrijus        -- XXX - horrible hack! perl 4!
22:10 autrijus        emit (InsPrim Nothing "store_global" args)
22:10 putter how very 1970's BASIC.
22:10 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
22:10 autrijus and... lo and behold!
22:10 autrijus $ ./pugs -BPIR s -BPIR ext/Test/lib/Test.pm
22:10 autrijus 1..0
22:10 putter wooooooottt!
22:11 * autrijus high-fives putter
22:11 putter indeed
22:11 autrijus er it's actually
22:11 autrijus $ ./pugs -BPIR ext/Test/lib/Test.pm
22:11 autrijus 1..0
22:11 autrijus wonder what happened to my terminal
22:11 * putter pictures trying to explain to someone, yes, it said "1..0", so we were quite happy...
22:14 nnunley has joined #perl6
22:14 autrijus http://perlcabal.org/~autrijus/test_pm.pir # generated code
22:16 putter re,  HTTP-Server-Lite, just detrice in my build...
22:16 svnbot6 r4826, autrijus++ | * hack to make lexicals globals, until leo wakes up and we
22:16 svnbot6 r4826, autrijus++ |   figure out how to statically analyze lexical pad levels...
22:16 svnbot6 r4826, autrijus++ |     $ ./pugs -B PIR ext/Test/lib/Test.pm
22:16 svnbot6 r4826, autrijus++ |     1..0
22:17 G2 has joined #perl6
22:17 autrijus Test.pm is 127k when compiled to pbc
22:17 autrijus 162k with primitives
22:17 autrijus a bit heavy
22:17 autrijus but still in the acceptable range
22:18 * autrijus implements mandel.p6 just for fun
22:19 putter The test_pm.pir online is 231k?
22:20 autrijus putter: sure
22:20 autrijus large number of comments (entire AST recursively) too
22:20 autrijus down to token level
22:20 putter It compresses very nicely though.  27k.  Computes and disk being what they are, perhaps parrot should load compressed.
22:20 putter Ah, right.
22:21 autrijus well, .pbc files are like .class, no?
22:21 autrijus so the zip format should be called something like .jar
22:21 autrijus ...perhaps .par ;)
22:21 vitaminmoo has joined #perl6
22:21 putter :)
22:22 * putter is trying to remember if any of gzip bzip etc have concatenation of files is a valid file property.
22:23 autrijus zip is close but not quite
22:23 autrijus it's probably easy enough now to just use zip though.
22:23 autrijus not to mention builtin jar:// support in gecko :)
22:24 putter autorecognition of file compression has the nice property that it doesnt introduce a new concept.
22:24 putter creating sets of files, with assorted semantics, could then be orthogonal.
22:26 putter grep -v '#' test_pm.pir | wc    6374   20237  178344
22:26 putter 178 != 162...   soo doesnt matter.  old habits of double checking numbers simply die hard.
22:31 putter without comments, is 14k (bzip2) to 22k(zip).
22:31 putter np.
22:32 nnunley has quit IRC (No route to host)
22:33 autrijus the src is 13k
22:34 * autrijus decides to test op dispatch
22:34 autrijus let's run "$x=1" 10000 times!
22:34 putter ./pugs -B PIR -Iblib6/lib t/01-sanity/* work!  except for 07, which is a imcc error... exploring...
22:35 autrijus putter: it's because 'use' didn't really pull Test.pm in
22:35 autrijus it only evaluates it with pugs itself
22:35 autrijus need to make compile time use respect the current compilation backend
22:36 putter ah, ok.
22:39 clkao win21
22:39 svnbot6 r4827, autrijus++ | * first step in getting mandel back to normal
22:39 dm has quit IRC ()
22:41 lumi__ has quit IRC (Read error: 131 (Connection reset by peer))
22:41 larsen has joined #perl6
22:42 autrijus ok... for 1000 "1+1" calls
22:42 lumi_ has joined #perl6
22:42 lumi_ has quit IRC (Read error: 131 (Connection reset by peer))
22:43 lumi_ has joined #perl6
22:44 lumi_ has quit IRC (Read error: 131 (Connection reset by peer))
22:45 lumi_ has joined #perl6
22:46 putter ... yes?
22:47 autrijus ...pbc segfaults ;)
22:47 autrijus so it's fast.
22:47 autrijus like, in constant time
22:47 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
22:47 putter sigh.
22:48 autrijus ;)
22:48 * autrijus grabs parrot 0.2.1
22:53 lumi_ has joined #perl6
22:55 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
22:56 putter /usr/bin/time ./pugs -B PIR -Iblib6/lib -we 'sub f($n){if $n-- {f($n)}}f(980);' > /dev/null  3.23user
22:56 nnunley has joined #perl6
22:58 putter half a ms/call.
22:59 autrijus actually it's mostly compile time.
22:59 autrijus if you -CPIR
23:00 autrijus then it's considerably faster.
23:00 putter oh, I subtracted out the &f(1) case... but -C PIR woudl be better.  adding a say($n) to the inner loop only cost  a tenth of a ms.
23:01 lumi_ has joined #perl6
23:03 Enveigler has joined #perl6
23:03 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:04 autrijus mm
23:04 autrijus let me implement the tail call optimiser.
23:04 putter same numbers with -C. long case takes 0.9 s, base case 0.3 s.  980 reps was chosen as just under recursion limit;)
23:04 putter x86_64, so no jit.
23:05 vcv-- has joined #perl6
23:05 vcv- has joined #perl6
23:05 autrijus when tail call is there, there will be no recusion limit.
23:05 autrijus a sec.
23:06 viirya has quit IRC (Remote closed the connection)
23:07 putter folks wont see jit unless they set some runtime flag... PUGS_PARROT_OPTS
23:09 lumi_ has joined #perl6
23:09 putter hey, implementing tail call just means I have to find another loop construct to do testing with... ;)
23:09 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:10 autrijus ...done, testing
23:12 putter that has to be quote: [19:02] mm   let me implement the tail call optimiser. [19:18]  ...done, testing ;)
23:13 putter or not... almost dinner time.
23:13 * crysflame grins
23:15 lumi_ has joined #perl6
23:18 autrijus ...works.
23:18 lumi_ has quit IRC (Read error: 131 (Connection reset by peer))
23:18 migo__ has quit IRC ("leaving")
23:18 lumi_ has joined #perl6
23:19 putter 19:02, 19:08, 19:16  (I mistyped 19:18 earlier)
23:19 putter checked in?
23:20 autrijus yeah
23:20 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:22 autrijus $ ./pugs -CPIR -e 'sub f($n){f(($n-1) || exit)}; f(100000)'
23:22 svnbot6 r4828, autrijus++ | * tail call optimisation.
23:23 crysflame 16:02 -> 16:21
23:23 crysflame autrijus++ # we hold stopwatches in your honor
23:24 Maddingue has joined #perl6
23:24 putter hmm, I believe I'm still seeing max recursion limit.  or rather, I know I'm seeing it, I'm just not sure I havent done something silly.
23:25 autrijus you havn't. tail call optimisation only kicks in when your sub has only one instruction.
23:25 autrijus I'll fix :)
23:25 autrijus $ time ./pugs -CPIR -e 'sub f($n){f(($n-1) || exit)}; f(3000)'
23:25 autrijus real    0m1.363s
23:25 lumi_ has joined #perl6
23:26 putter ah.
23:26 autrijus $ time parrot -G dump.ast
23:26 autrijus real    0m1.243s
23:26 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:26 lumi_ has joined #perl6
23:26 autrijus $ time perl -e 'sub f{$n=shift;f(($n-1) || exit)}; f(300000)'
23:26 autrijus real    0m1.444s
23:27 autrijus 100x slowdown.
23:27 autrijus ;)
23:27 Odin-LAP has quit IRC (Remote closed the connection)
23:27 lumi_ has quit IRC (Read error: 131 (Connection reset by peer))
23:27 putter curious, this works...
23:27 lumi_ has joined #perl6
23:28 putter ./pugs -B PIR -we 'my @a;sub f($n){say($n);if $n-- {f($n)}}f(2000);'
23:28 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:28 G2 has quit IRC ("oops")
23:28 autrijus sure, because the f() is a single instruction.
23:28 autrijus i.e. not preceded by a semicolon
23:29 autrijus $ time ./pugs -e 'sub f($n){f(($n-1) || exit)}; f(3000)'
23:29 autrijus real    0m7.082s
23:29 autrijus otoh, it's already much faster than the evaluator.
23:29 autrijus I think I know why the short circuitting || is slow
23:30 autrijus because parrot is still using the old callconv's way to clone interpreter context.
23:30 putter oh, I misread your 300000 case/comment.  nevermind.
23:31 jagerman has quit IRC (Remote closed the connection)
23:31 jagerman has joined #perl6
23:32 clkao gah parrot is that slow?
23:34 putter hmm, push(@a,$n);pop(@a); x 1000 takes under a second, x10000... well, I give up after 30 s.
23:34 autrijus clkao: parrot is atrociously slow when doing CPS.
23:34 autrijus clkao: because it's walking O(n^2)
23:34 autrijus to snapshot a continuation
23:35 autrijus leo already had a O(1) algorithm around
23:35 autrijus which should considerably speed things up ;)
23:36 autrijus ok, tail call optimisation is now automagic.
23:36 autrijus i.e. it analyses all statement boundaries, not only single-instruction ones.
23:36 lumi_ has joined #perl6
23:36 autrijus r4829
23:37 putter When today get's written up, lets just not make the once common parrot mistake of saying we have foo, without the clarification of we _dont_ have bar.
23:37 autrijus hrm?
23:38 _meppl_ has joined #perl6
23:38 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:39 putter Parrot, at least at one time, would mark every first draft at foo with a "we have foo!" announcement.  But being the first draft, unsurprisingly, much of foo was unimplemented, and the rest was very buggy.
23:39 svnbot6 r4829, autrijus++ | * tail call optimisation for multiple statement blocks.
23:39 putter So lots of folks would come try foo, and lose.
23:39 autrijus oh. I don't think I was guilty of that :)
23:40 putter No.  I'm just being cautious.  Proximity to parrot and all.
23:40 autrijus ahh. well, I don't know about others, but I'm keen on this underpromising thing :)
23:41 autrijus i.e. it's fine to spew random ideas around but not fine to promise delivering them -- unless of course it's already done in full
23:41 putter weary "yeah!". ;)
23:41 putter "yay"?
23:41 * putter goes off to get sugar fix.
23:41 autrijus :p
23:45 lumi_ has joined #perl6
23:45 larsen has quit IRC ("later")
23:45 putter agreed.
23:46 putter how much difference does jit make?
23:46 autrijus not at all.
23:46 lumi_ has quit IRC (Read error: 131 (Connection reset by peer))
23:46 autrijus -G is even faster for me.
23:47 putter -G is goto core?
23:47 autrijus and I can't build parrot optimised
23:47 putter ouch.
23:47 autrijus because GCC whines about insufficient registers inthe switch core
23:47 crysflame hahaha
23:47 autrijus -G is CGP core
23:47 lumi_ has joined #perl6
23:48 crysflame GCC's internals have a cap on the number of registers?
23:48 autrijus no, x86 does
23:48 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:48 * putter thinks crysflame has a PPC.  or an alpha.
23:48 G2 has joined #perl6
23:53 lumi_ has joined #perl6
23:54 meppl has quit IRC (Connection timed out)
23:54 autrijus putter: so, journal up
23:55 autrijus putter: check for bluffing?
23:55 lumi_ has quit IRC (Read error: 104 (Connection reset by peer))
23:55 autrijus # http://use.perl.org/~autrijus/journal/
23:56 putter :), checking...
23:57 G2 has quit IRC ("oops")
23:58 putter hmm... just for context, one might mention that _none_ of the other test files pass... (well, I can't say that, I gave up after a while).
23:59 putter basically, the effort was on Test.pm and sanity.  So thats what works.  Any code with say, a comma, wont.
23:59 autrijus hrm? sanity passes
23:59 putter sorry, yes, but I didnt see anything beyond sanity.

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

Perl 6 | Reference Documentation | Rakudo