Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-07-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 Enveigler has left
00:06 dudley has quit IRC ()
00:11 SamB has quit IRC (Connection timed out)
00:12 SamB has joined #perl6
00:14 dudley has joined #perl6
00:32 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
00:32 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
00:51 stevan mugwump++ # is_deeply hack .... very nice :)
00:52 stevan iblech: I hope this doesn't mean I have to write the metamodel in JS now too
00:52 stevan :P
00:56 mugwump stevan: of course, it doesn't look inside objects.  this is an interesting example of requiring a "visitor pattern"
00:57 bloves has joined #perl6
01:02 mugwump It will be a design decision what to do with "private" state in this case
01:02 mugwump The visitor pattern needs to be a module that runs against the metamodel - it should be capable of visiting both private and public state
01:06 mugwump which reminds me.  We need to think of a term for "visitor pattern" that isn't as long as "generic data traversal iterator" and doesn't sound like the sort of thing a Java freak would say.  Any ideas, anyone?
01:10 cm has joined #perl6
01:11 mugwump does anyone _like_ the term, "visitor pattern" ?
01:15 castaway_ has joined #perl6
01:33 castaway has quit IRC (Read error: 110 (Connection timed out))
01:33 cwest iblech++ # :-)
01:41 elmex has quit IRC ("leaving")
01:44 cm has quit IRC (Read error: 110 (Connection timed out))
01:45 meppl has quit IRC (Read error: 148 (No route to host))
01:53 Nattfodd has quit IRC ("Leaving")
02:00 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
02:14 vcv- has joined #perl6
02:23 Maddingue has joined #perl6
02:39 mja has joined #perl6
02:58 Maddingue has quit IRC (Read error: 110 (Connection timed out))
02:58 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
02:58 Maddingue has joined #perl6
03:30 Khisanth has joined #perl6
03:30 svnbot6 r5655, fglock++ | Refactored "Recurrence.pm" out of "Span::Code"; added tests for "Inf" behaviour in infinity.t
03:33 mja has quit IRC ("Killed (DrmWEaver (Requested by panasync))")
03:39 * mugwump crosses his fingers and hopes that he can get the $.foo =:= $?SELF.foo() confirmed without anyone talking about "use self"
03:39 svnbot6 r5657, fglock++ | "recurrence" code refactored out to Recurrence.pm; some methods marked with "..."
03:44 Amnesiac has quit IRC ("Leaving")
03:45 stevan mugwump: I like "visitor pattern" :)
03:47 mugwump ok, so perhaps it's just me who thinks that "design patterns" is like jizzwords for what should be covered in comp101
03:48 obra mugwump: it's all about having a vocabulary. Not because any of it is hard, but being able to say "you need a facade there, you dork" is useful
03:51 bloves has quit IRC (Read error: 110 (Connection timed out))
03:51 mugwump ok, so "visitor pattern" can be for the iterator that asks for "public" attributes only.  and "squatter pattern" can be for the one that gets the private attributes, too ;)
03:56 masak has joined #perl6
03:56 mugwump stevan: maybe it would be better to implement "next" in terms of a single primitive "next" that just returns Code refs for the remainder of the method dispatch queue
03:57 mugwump and allows you to set it too, then just jump to the next one
03:59 stevan mugwump: that is kind of what next_METHOD() is doing in the prototype
03:59 stevan the dispatcher is just a closure over a stack of iterators (themselves implemented in closures)
04:00 stevan so it is stateful, and next_METHOD just starts up the method search again
04:00 mugwump ok.  with the C3 basic, people can sub-class the metamodel to demonstrate new features which can eventually be used as default
04:00 mugwump s/features/schemes/
04:00 stevan I dont understand?
04:00 stevan C3 is just one of the dispatch orders
04:01 stevan (which I am working on right now BTW)
04:01 mugwump so, once that's in the metamodel as the "canonical" method, then if somebody wants to implement what's in A12 they can prototype it by specialising your metamodel classes
04:02 mugwump on the "don't implement poorly considered half-baked nice to haves in version 1" principle ;)
04:02 stevan well I am not sure it will be the canonical method
04:02 stevan I think it probably should be, but I am not Larry :)
04:03 stevan and we already have pre-order and breadth first in the metamodel
04:03 stevan there is a MetaClass::Dispatcher class
04:03 stevan which you call like this: $Foo->meta->dispatcher(':preorder');
04:04 stevan $Foo->meta->dispatcher(':breadth');, etc
04:04 stevan and it returns something which responds to the next() method and returns the next metaclass in the ordering
04:04 stevan WALKMETH and WALKCLASS are implemented in terms of this
04:05 stevan if you so insane as to want to write your own dispatcher :)
04:05 stevan then you would likely subclass MetaClass and have it's dispatcher() method return something else
04:14 mugwump right... thanks for the insight
04:24 stevan converting python to perl is not as simple as you might think
04:24 stevan but I think I got the C3 stuff down now
04:24 stevan just gotta write a bunch more tests :)
04:30 alinbsp has quit IRC ()
04:38 jdv79 has joined #perl6
04:39 vcv- has joined #perl6
04:43 autrijus rehi.
04:44 autrijus stevan: the C3 order radiates sanity in the insane land of MI.
04:44 stevan autrijus: I agree
04:44 stevan autrijus: I am about to commit the converted python C3 code
04:44 autrijus ooooh.
04:45 stevan I want to add more tests from the Dylan paper too
04:45 autrijus so svn is back, and we can freely release 6.2.9 today/tomorrow if we feel like to
04:45 autrijus I think I got time for releng; is there any reason we shouldn't do a 6.2.9?
04:46 autrijus (instead of waiting until (say) next week)
04:46 stevan up to you really
04:46 stevan I am about to go to bed though, but I can do some releng in the morning (in about 9 hours)
04:46 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
04:47 autrijus that's fine; meanwhile I'll do the usual bug triaging
04:47 autrijus really the main benefit of weekly release to me is that I won't neglect bugs for too long :)
04:47 * dudley has his finger on the smoke button...
04:48 autrijus but I'd like to see your C3 code before you sleep :D
04:48 autrijus 70_MRO.t?
04:48 stevan yes, just committed it
04:48 stevan it is a ugly port of the Python code
04:48 autrijus woot
04:48 stevan it could use some perlish-ness
04:48 autrijus dudley: you can press the button anytime :)
04:49 stevan autrijus: I am thinking that C3 should be the canonical order
04:49 autrijus k
04:49 svnbot6 r5658, Stevan++ | Perl6::MetaModel -
04:49 svnbot6 r5658, Stevan++ | * first prototype of the C3 ordering in t/70_MOR.t
04:49 svnbot6 r5658, Stevan++ |     - NOTE: this is
04:49 svnbot6 r5658, Stevan++ | not yet added to the metamodel
04:49 autrijus stevan: I can't see a reason against that
04:49 stevan this way we can check MRO at class composition time
04:49 stevan and can croak if things are ambigious
04:50 autrijus yes.
04:50 stevan I will need to do some thinking about how next METHOD will work
04:50 stevan should it always use the MRO from the original class?
04:50 autrijus and the thing that bugs me about p5's preorder MI was its nonmonotonicity
04:50 stevan or as it winds it way down, should it use the MRO of those classes
04:51 stevan yes, p5 was just pre-order, which is nice and easy, but hard to grok
04:51 stevan actually it's easy to grok, just hard to use :)
04:51 autrijus hehe
04:51 autrijus I'd argue that A12 models the dispatch as a iterator loop
04:51 stevan I want to add some of the more complex examples from the Dylan paper too
04:51 autrijus over the dispatch order
04:52 stevan autrijus: yes, i think you are right (with C3 at least)
04:52 autrijus so 'next' just means 'next' there
04:52 stevan with pre-order or breadth first its a little sillier
04:52 autrijus i.e. always from original class
04:52 stevan yes
04:52 stevan I think that will be the least suprising :)
04:52 autrijus good, then we agree :)
04:52 stevan so we are borrowing from Python and Dylan now too
04:53 stevan :)
04:53 stevan Perl 6 : everything and Python too
04:53 autrijus eh, p5's OO was borrowed en masse from Python already.
04:53 autrijus lwall said we should blame python for p5 oo's brokenness ;)
04:53 stevan true, but Pythons was much cleaner (at least typing-wise
04:54 autrijus nod.
04:54 autrijus anyway, I like that "least surprised" r us.
04:54 stevan yes me too
04:54 * autrijus is reminded of why the lucky stiff's "The Least Surprised" comic strip series
04:54 stevan I really like that it is sooooo easy to blow up when things are broken
04:54 autrijus # http://redhanded.hobix.com/
04:54 stevan as opposed to just doing things wonky
04:55 autrijus nodnod.
04:56 stevan the algorithm is really pretty simple actually, once you implement it :)
04:56 stevan of course now I have to write it in Javascript too :P
04:57 stevan oh I orderd that "art of the metaobject" book finally
04:57 alinbsp has joined #perl6
04:57 stevan it should get here this week
04:58 autrijus cool
04:58 autrijus I don't think it will be that hard to do metaobjects in javascript really :)
04:58 autrijus prototype-based modeling is clean
04:58 stevan it goes into detail about bootstraping, which is what I really need to learn
04:59 autrijus 'k. I think I need to finish re-reading TaPL and finish ATTaPL, then I need to get more books
04:59 stevan autrijus: yes, JS wont be that hard, except my JS is rusty old 1.2 knowledge
04:59 stevan (more books)++ # can never have enough of them
05:00 autrijus I think our friendly rhinocamel friends can help :)
05:00 stevan yes, I have been hanging around the JSAN guys lately
05:01 jdv79 nice work with the validator by the way
05:01 stevan robkinyon (who has been JSAN-izing the Prototype library) actually works with me
05:01 stevan jdv79: thanks
05:02 stevan ok I have to sleep now
05:02 stevan nite all &
05:04 autrijus nite!
05:04 autrijus validator?
05:05 jdv79 http://openjsan.org/doc/s/st/stevan/​HTML/Form/Validator/0.01/index.html
05:06 autrijus ooh.
05:08 Maddingue has joined #perl6
05:13 mugwump heh, I tried to implement a classical inheritance model in JS, but stumbled on lack of SUPER support
05:14 mugwump I got a SUPER implementation from Douglas Crockford's "JS is like LISP" site
05:14 dudley hmm, is javascript worth learning if I harbor a deep hatred of the web?
05:15 mugwump After I found it wasn't re-entrant I e-mailed him about it, and he told me I should be using Java
05:15 dudley I never gave it much thought before, but everyone's talking about it lately...
05:25 jql I like JS as a language
05:26 jql web programming is a bit like pulling teeth, but so is writing a perl admin script that works on unix and VMS
05:26 jql but that doesn't reflect on ECMA-the-script
05:27 jdv79 browser diffs and the incompleteness of CSS 2.0 are some of my more agrivating gripes with it
05:29 * jql grows weary of the boiler-plate body { text-align: center; } .content { margin: 0em auto 0em auto; } or whatever
05:29 * jql kicks IE on general principle
05:30 * dudley joins jql in the beating
05:30 jdv79 we may have found a bug in it at work even - not sure though
05:31 jql I punched out a "standard" html/css webpage and was surprised to find it recognizable when I loaded it in IE4
05:31 jql not sure what I did wrong. I needed to use more bells or whistles
05:31 dudley writing perl scripts that run on unix and vms is actually one of the better parts of my job
05:32 jql writing things that work on VMS gives you great respect for CPAN
05:32 dudley maintaining 20-year-old vax basic code that was written without a single function is one of the worst :-(
05:33 jql ow
05:33 mugwump goto insanity;
05:33 jdv79 MS SQL server stored procedures and old VB isn't very nice to maintain either
05:34 dudley yech.
05:34 jql I like MS SQL. I do not like VB + anything
06:01 coral mugwump: heh!  (re: "should be using Java")
06:01 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
06:35 * masak tries writing using the dvorak layout
06:35 masak difficult
06:39 iblechbot has joined #perl6
06:48 dmo has joined #perl6
06:49 dmo has quit IRC (Client Quit)
06:50 dmo has joined #perl6
06:51 dmo has left
06:59 scook0 has quit IRC ("Leaving")
07:05 dmo has joined #perl6
07:08 Juerd masak: What's so difficult?
07:08 Juerd masak: Use dvorak.nl to get familiar with at least the home row before you do anything else
07:08 Juerd Otherwise you'll learn dvorak the same way most people learn qwerty, and then you ruin it again for the rest of your life.
07:09 Forth has quit IRC (Nick collision from services.)
07:09 Forth_ has joined #perl6
07:09 masak Juerd: what's difficult is using dvorak in vim
07:10 masak you'll never know what a keypress does :/
07:11 larsen has joined #perl6
07:13 masak Juerd: thx for the url, btw, it's helping
07:13 Juerd masak: In vim, all that's important is to know what a *letter* does
07:13 Juerd And forget entirely what a certain *key* used to do in kwertie
07:15 masak Juerd: yes, i know, but so much is reflex in vim
07:16 masak i reach for a key, only to discover that it's been remapped
07:16 masak my muscles don't think "letters" they think coordinates
07:16 Juerd Oh, and you should probably NOT remap keys so that you have a hjkl-ishly "sane" mapping again
07:16 Juerd As that'll hurt only more if you encounter a default vim
07:16 Juerd If you used hjkl, keep using them
07:17 Juerd It's a little awkward only the first few days
07:17 Juerd But yes, vim is probably the hardest thing to switch layouts with :)
07:17 Juerd I know someone who has gone as far as mapping all command mode back to qwerty
07:18 masak :)
07:18 Juerd while keeping insert mode in dvorak
07:18 masak i can see why
07:18 Juerd I think it's a foolish concept.
07:18 masak it's based on habit
07:18 masak writing text and typing commands are handled differently in the brain
07:18 Juerd Habit is exactly the thing you have to unlearn.
07:19 Juerd And while you're at it, you can make them handled the same way
07:19 Juerd When you hit dd, say (if possible, out loud) "dee dee"
07:19 masak that's an idea
07:20 Juerd It worked for me
07:20 masak i just hope i'll still be able to use vim on qwerty keyboards
07:20 Juerd My mom wondered what I was doing when I said xxx, but still, it worked well.
07:21 masak :)
07:21 castaway_ is now known as castaway
07:21 dmo has quit IRC (Remote closed the connection)
07:22 elmex has joined #perl6
07:22 masak vowels to the left, consonants to the right... i like
07:24 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
07:33 vcv has joined #perl6
07:33 dmo has joined #perl6
07:36 dmo has quit IRC (Client Quit)
07:43 elmex has quit IRC ("uni")
07:47 Maddingue has joined #perl6
07:56 Aankhen`` has joined #perl6
08:13 scook0 has joined #perl6
08:13 vcv has quit IRC (Read error: 54 (Connection reset by peer))
08:14 scook0 has quit IRC (Remote closed the connection)
08:21 scook0 has joined #perl6
08:22 Yaakov has quit IRC (Read error: 104 (Connection reset by peer))
08:22 Yaakov has joined #perl6
08:33 osfameron has joined #perl6
08:33 skugg Juerd: bah. vim is a doodle compared to emacs's multi-keypress combos.
08:34 * castaway was wondering how they translated to dvorak..
08:34 skugg with great difficulty :)
08:35 castaway all a matter of training fingers I guess.. (hard enough using english layout at home, and german at work ,)
08:36 Juerd skugg: I always assumed people smart enough to use Dvorak would also be smart enough to not use Emacs...
08:36 * castaway refrains from thumping Juerd :)
08:36 Juerd Aw, come on. What's a day without holy wars?
08:37 castaway a nice quiet one? ,)
08:37 Juerd What's nice about quiet? ;)
08:37 osfameron does anyone get worked up about vim vs emacs anymore?
08:37 osfameron I thought they just pretended to now!
08:37 Juerd I dunno. I don't use emacs myself
08:38 Juerd And must say it does feel a bit awkward when someone requests this 20 megabyte editor on a box I admin.
08:38 castaway osfameron: I dunno.. though I do think linking it to intelligence is a bit below the belt
08:39 osfameron yeah, I guess
08:39 osfameron I get annoyed when people do the same about Windows
08:39 Juerd -rw-r--r--  1 root root 2.5M May 25 21:09 /boot/vmlinuz-2.6.11.9
08:39 Juerd -rwxr-xr-x  1 root root 4.3M Mar 17 22:48 /usr/bin/emacs21-x
08:39 osfameron I mean, it's ok to bash microsoft
08:39 * castaway too
08:39 Juerd castaway: Oh, below the belt it certainly was
08:39 castaway Juerd, space is cheap
08:39 Juerd Still
08:40 * castaway shrug.
08:40 Juerd The entire linux kernel on feather is 2.5 MB, while a single editor, that doesn't have all the hardware support, is almost twice as large :)
08:40 castaway s/$/s/
08:40 castaway So?
08:40 Juerd shrug.s? ;)
08:40 osfameron :-)
08:40 castaway woops
08:41 castaway well you seem to have X support in, and probably a bundle of addons
08:41 Juerd Only because some people requested that.
08:41 castaway it's not really worth complaining about though IMO.. or just say no..
08:41 Juerd I installed X for the same reason I installed emacs: user requests
08:41 Juerd I'm not complaining
08:42 Juerd If you have a special reason to need openoffice.org on the box, it'll be there
08:42 castaway Ok then
08:42 Juerd But I do think it's a huge, slow and inconvenient piece of software
08:42 castaway (thats what it sounded like)
08:43 castaway you're entitled to your opinion, as long as nobodies forcing you to use it yourself
08:43 Juerd Of course
08:43 Juerd Although I do sometimes want to sneakily symlink emacs to vim ;)
08:43 * QtPlatypus wishes that he could edit word files with emacs "Then I would only need one huge slow piece of software."
08:43 castaway heh
08:44 castaway yeah, needing OOo is annoyig, but such is life
08:44 Juerd Have you logged in at feather with a utf8 capable terminal lately, by the way?
08:44 QtPlatypus Actually emacs is light as a feather compared to OOo.
08:44 castaway I havent ever been on there, Juerd
08:44 Juerd feather isn't all that light
08:44 Juerd castaway: Oh
08:44 castaway but gimme a login and I will :)
08:45 Juerd You can request one by mailing, well, the request, including full name and preferred user name
08:45 * castaway has emacs symlinked to jed on one machine, btw (much smaller, maybe you should give them that and see if they notive :)
08:45 castaway to?
08:45 Juerd me
08:45 castaway [email@hidden.address]
08:45 Juerd That'll work
08:46 Juerd If you use dvorak, [email@hidden.address] is easier ;)
08:46 * castaway grins
08:46 * castaway cant even 10-finger type.. or even 5-finger..
08:47 Juerd I can tell by the amount of spam I get at that address, that dvorak is gaining in popularity.
08:47 Juerd castaway: If you have at least 8 fingers and one thumb, you can learn to touch type dvorak within 10 hours
08:47 Juerd Touch typing qwerty is not a requirement, and not a problem. :)
08:48 Juerd Weirdly, there are both people who think touch typing qwerty will help, and who think it'll hurt...
08:48 castaway emailed
08:48 * castaway counts
08:49 castaway well, its more like 4 moveable fingers and only one on the left hand (for practical purposes)
08:49 Juerd DAmn
08:49 Aankhen`` Juerd >> Your typing tutor is really useful.
08:49 castaway I cant move the ones on the left hand worth a damn
08:49 Juerd I have to make the email column twice as large now!
08:49 castaway why, my email too long? :)
08:49 Juerd yea
08:49 * castaway grins
08:49 castaway increasingly, I try to logon places with it, and it gets rejected as invalid (sigh)
08:49 Aankhen`` Yay, `svk sync` is at r4226...
09:13 bb3 has joined #perl6
09:40 dada has joined #perl6
09:42 bb3 has quit IRC ("Client Exiting")
09:50 saorge has quit IRC (Read error: 110 (Connection timed out))
09:56 vcv has joined #perl6
10:21 joepurl has quit IRC (Read error: 113 (No route to host))
10:21 vcv has quit IRC (Read error: 104 (Connection reset by peer))
10:39 ipv6guru has joined #perl6
10:41 ipv6guru Hi All, anything happening
10:47 webmind well.. if anything.. not here
10:47 ipv6guru It seems that way, maybe being in Aus means I get to miss everybody
10:51 ipv6guru I will try again later, was only here to have a listen at the moment, cya later.
10:52 Aankh|Clone has joined #perl6
11:11 Maddingue has quit IRC (Connection reset by peer)
11:12 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
11:13 Aankh|Clone has quit IRC ("Look ma, no script!")
11:14 Aankhen`` has joined #perl6
11:15 kolibrie has joined #perl6
11:18 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
11:34 Maddingue has joined #perl6
11:40 ipv6guru has quit IRC ()
11:46 iblechbot has joined #perl6
11:56 vcv has joined #perl6
12:03 nothing_pasta has joined #perl6
12:14 masak how would i write @p = (1,2,3) »+« (4,5,6) in perl 5?
12:14 * masak fears the perl6 reformatting of his brain has begun
12:18 castaway umm, whats it do? :)
12:18 osfameron a for loop that unshifts 2 arrays at same time, much less elegant
12:25 nothingmuch has joined #perl6
12:28 masak osfameron: and i'd like if it left the original arrays alone
12:28 osfameron masak: well, you could copy them...
12:28 masak castaway: the program or the perl6 reformatting?
12:28 masak osfameron: much less elegant :)
12:29 osfameron masak: well, basically you're going to want something like
12:29 osfameron @p = hyper { $_[0] + $_[1] } [1,2,3], [4,5,6];
12:30 osfameron this is probably implemented somewhere on CPAN - dunno, List::Util maybe ?
12:30 masak oftentimes i find myself wishing for a variable that tells me the index of the current element in a map or for
12:30 masak that would make this easier to do, too
12:30 osfameron yeah!  apparently this is what .kv will do
12:30 osfameron otherwise you end up having to set up an external iterator, which is annoying
12:30 masak yes
12:31 masak .kv++
12:31 osfameron TT has a nice awareness of its loop iterator position, I think p6 should have that too as well as kv
12:31 masak that's a good idea
12:31 masak any thoughts on how?
12:31 masak (syntactically)
12:32 autrijus when would you like that instead of .kv?
12:33 masak i'm not sure i follow how to do it with .kv
12:33 masak i thought .kv was for hashes
12:34 castaway masak, i meant the perl6 code you gave
12:38 masak castaway: it's meant to put (5,7, 9) into @p
12:38 masak it's just that one statement, not part of a bigger code
12:38 osfameron autrijus: I guess that I think something like  for $x (@foo) { print $x.index }  seems nicer than for $k,$v ( @foo.kv) { print $k } # or whatever the syntax is :-(
12:38 osfameron partly because though I like the idea of kv, I think it's a little confusing
12:39 osfameron not least because of the name.  kv?
12:39 osfameron I'll deal, of course.
12:40 castaway Oh.. in that case a for loop over the indexes, thats what i'd do anyway.. (or a map over them) - my @p = map {(1,2,3)[$_] + (4,5,6)[$_]} (0..2) ?
12:40 Nattfodd has joined #perl6
12:41 osfameron castaway: cute!
12:41 * castaway bows
12:43 autrijus osfameron: for @foo.pairs { say .key, .value }
12:44 osfameron oh, well I like pairs much more than .kv  - is it kosher ?
12:44 masak castaway: thx
12:44 autrijus kosher, as in valid? sure, but currently due to an amazing design bug you need to write
12:45 autrijus for [1..10].pairs -> Pair $_ { say(.key, .value) }
12:45 autrijus I've just p6l'ed it.
12:45 castaway mm, fugly :)
12:45 autrijus (the key being the explicit "Pair $_")
12:45 autrijus right. blame larry -- see my new p6l post for details.
12:50 osfameron hmmm, "Is this a desirable behaviour?".  Very subtle :-)
12:50 osfameron btw, did it ever get decided if .head and .tail were synonyms of .key and .value?
12:51 castaway hmm, that sounds subtly wrong.. head - first list item, tail - rest of list ..
12:52 Arathorn has joined #perl6
12:52 osfameron castaway: well, considering that 1 => 2 => 3 is the pair 1=>(2=>3)... e.g. it's a cheeky linked list
12:52 meppl has joined #perl6
12:54 gazouli has joined #perl6
12:55 castaway hmm, its not a list though, really
12:55 castaway (and if I see anyone write that I think I'll go quietly mad)
12:57 osfameron castaway: as discovered here on #perl6, you can create a linked list by doing [=>] @array
12:58 * castaway wonders
12:58 Arathorn that is very sexy
13:02 dada osfameron: is [=>] an operator?
13:03 masak dada: [] is the meta-operator "reduce"
13:03 dada never heard of this one
13:03 masak it effectively replaces every comma in a list with the operator inside the []
13:03 dada I've been away too long :-(
13:03 Arathorn i wonder what kind of memory hit you get between (1,2,3) and (1,(2,3)) etc.
13:05 Aankhen`` perlbot seen putter
13:06 Aankhen`` dada >> `[=>] (1, 2, 3)` is equivalent to `1 => 2 => 3`.
13:06 Aankhen`` # which returns (1, undef)
13:08 dada Aankhen``: so `[+] (1, 2, 3)` returns 6, right?
13:08 Aankhen`` Yep.
13:08 QtPlatypus ?eval [=>] (1,2,3,4)
13:08 evalbot6 (1 => undef)
13:08 dada ?eval [+] (1,2,3)
13:08 evalbot6 6
13:08 dada :-)
13:08 Aankhen`` ?eval say "My safe_say is working now!"
13:08 evalbot6 My safe_say is working now! bool::true
13:08 Aankhen`` :-o
13:08 castaway why 1, undef ?
13:08 QtPlatypus Thouh it looks like [=>] is broken at  the moment.
13:10 Aankhen`` ?eval 1 => 2 => 3
13:10 evalbot6 (1 => (2 => 3))
13:10 dada ?eval my %r = [=>] (1,2,3); %r
13:10 evalbot6 {('1' => undef)}
13:11 dada oops, they're even
13:11 masak QtPlatypus: is there a corresponding failing test for that? :)
13:11 Arathorn ?eval [,] (1,2,3)
13:11 evalbot6 (1, 2, 3)
13:12 Arathorn :D
13:12 masak :D
13:12 dada ?eval say [~" "~] <<foo bar baz>>
13:12 evalbot6 Error:  unexpected "[" expecting block construct, term, ":", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
13:12 masak dada: sorry, just operators
13:12 QtPlatypus [~] Is damn usefull.
13:12 dada masak: ok, thanks
13:13 dada ?eval say [~] <<foo bar baz>>
13:13 evalbot6 foobarbaz bool::true
13:13 svnbot6 r5659, iblech++ | PIL2JS:
13:13 svnbot6 r5659, iblech++ | * pil2js.pl -- Added option --yaml-dump to dump the parsed PIL as YAML
13:13 svnbot6 r5659, iblech++ |   (clearness of YAML and other PIL2* compiler writers might benefit).
13:13 svnbot6 r5659, iblech++ | * New shell: jspugs.pl, simplifies the usage of pil2js.pl (you can enter
13:13 svnbot6 r5659, iblech++ |   statements to compile just like in interactive Pugs).
13:14 wilx has quit IRC (Ping timeout: 14400 seconds)
13:17 osfameron oh, is [=>] broken now, or is that desired behaviour?
13:18 QtPlatypus That isn't desired behavour.
13:18 QtPlatypus [=>] (1,2,3) should be just like 1 => 2 => 3
13:24 mja has joined #perl6
13:27 mja ll
13:27 mja oops, my bad
13:35 Aankhen`` How do I check an altered Prelude without recompiling?
13:36 jhorwitz has joined #perl6
13:36 Aankhen`` Nevermind, figured it out.
13:36 Aankhen`` gaal++
13:44 iblech has joined #perl6
13:48 svnbot6 r5660, iblech++ | * Usual svn props added to ext/Recurrence.
13:48 svnbot6 r5660, iblech++ | * PIL2JS: jspugs.pl  -- Some new functions (:js, :l).
13:48 svnbot6 r5660, iblech++ | * PIL2JS: PIL::Nodes -- As we know, subs return the value of their last
13:48 svnbot6 r5660, iblech++ |   statement if there's no return(). Previously, I used JavaScript's eval() to
13:48 svnbot6 r5660, iblech++ |   simulate that behaviour; Now I analyse at compile-time what the last
13:48 svnbot6 r5660, iblech++ |   statement is and add an appropriate call to return(). PIL++ for the absence
13:48 svnbot6 r5660, iblech++ |   of Syn, which'd made this task a lot more complicated! :)
13:57 slv has joined #perl6
13:58 Arathorn this may be a really stupid question, but why is PIL2JS in the pugs/perl5 dir?
13:59 iblech Arathorn: Because it's written in Perl 5? :)
14:00 Arathorn hm ;)
14:00 * Arathorn takes a closer look, then
14:00 iblech To start, you might want to start ./jspugs.pl
14:01 Arathorn right - that makes a whole lot more sense
14:01 iblech And then enter :precomp
14:01 iblech And then say 3 + 4
14:01 Arathorn :pil say "hello world" # seems out output code rather than a PIL dump, though
14:01 iblech And then you'll have a output.html, which, when run in a browser, will output 7 :)
14:01 Arathorn (unless i'm missing the point even more than normal)
14:01 iblech Oh, right
14:01 iblech Fixing
14:02 Arathorn :pil.yaml is very pretty, though
14:02 Arathorn 'tis a great hack :)
14:02 iblech :)
14:05 slv has left
14:05 svnbot6 r5661, iblech++ | * PIL2JS: jspugs.pl -- Fix :pil not getting processed correctly, thanks to
14:05 svnbot6 r5661, iblech++ |   Arathorn++ for noticing.
14:05 svnbot6 r5661, iblech++ | * PIL2JS: PIL::Nodes -- Better reporting of compilation errors (now with
14:05 svnbot6 r5661, iblech++ |   line/column info, thanks to PPos).
14:06 Arathorn aah, that's more like it
14:06 Arathorn woo :)
14:07 elmex has joined #perl6
14:28 Arathorn iblech: fwiw, ../../pugs -Ilib6 -CPIL ../../examples/mandel.p6 | ./pil2js.pl --html --preludepc preludepc.js | mozilla
14:28 vcv has quit IRC (Read error: 54 (Connection reset by peer))
14:28 Arathorn yields a Error: box.GET is not a function
14:28 Arathorn Source File: http://arasphere.net/output.html
14:28 Arathorn Line: 53
14:28 iblech Yep
14:28 Arathorn (from Venkman)
14:28 iblech Working on it :)
14:29 Arathorn cool :)
14:29 * Arathorn tries to wrap his head around the code
14:30 iblech The new PIL2JS.Box.Constant(...).GET() are disturbing
14:30 iblech (But in most cases, indispensable)
14:32 elmex has quit IRC ("leaving")
14:33 PerlJam has joined #perl6
14:35 Arathorn hm, anyone know if there's any way to get a fuzzy stack backtrace in javascript?
14:37 Arathorn istr that the mangled netscape 3 js engine on Liberate set-top-boxes could give you backtraces..
14:37 * Arathorn rummages around
14:37 iblech That would be *really* great
14:38 iblech Would simplify debugging extremely
14:38 Arathorn well, Opera can do it, seemingly: http://my.opera.com/community/dev/jsdebug/
14:40 wilx has joined #perl6
14:41 * Arathorn upgrades his opera a few major revisions..
14:43 iblech autrijus: Is it ok to change the definition of show (PPos x y z) to not include the y (the raw Exp)? That'd simplify my parser *extremely* (try pugs -CPIL -we '{42}()' or so -- you'll see VCode, MkEnv, etc...)
14:47 Arathorn iblech: interestingly, Opera's js engine catches the null boxed object in a completely different place, complete with backtrace
14:47 * Arathorn has a play
14:48 autrijus iblech: sure!
14:48 iblech autrijus: Great! :)
14:48 autrijus iblech: looking at your :pil.yaml I'm further convinced that explicit arity is doomed
14:48 autrijus all nodes should be given with record syntax :)
14:49 autrijus PStmt { pStmtHead = ..., pStmtTail = ... }
14:49 autrijus etc
14:50 iblech Yep
14:50 iblech Would further simplify parsing
14:50 autrijus also do you think we should split off two version of PApp?
14:50 autrijus PAppFun and PAppMeth
14:51 autrijus partly to avoid the Just part
14:51 autrijus and partly because the emission sequence is likely different anyway
14:51 autrijus for the inv and noninv variants
14:51 autrijus maybe PApp and PInv
14:52 iblech Yep, makes sense (but the ->isa("PIL::Just") or ->isa("PIL::Nothing") aren't thaat problematic right now)
14:53 autrijus with that, all positionals would be eliminated from PIL tree, and everything will either be named records or rank-1 atoms
14:53 svnbot6 r5662, iblech++ | Pugs.Compile -- Don't output the raw Exp in the show of PPos to ease the life
14:53 svnbot6 r5662, iblech++ | of PIL parser writers.
14:53 mja has quit IRC ("My damn controlling terminal disappeared!")
14:54 masak autrijus: how's the tropical cyclone coming along?
14:54 svnbot6 r5663, iblech++ | * PIL2JS: jspugs.pl  -- Detect an outdated precompiled Prelude.
14:54 svnbot6 r5663, iblech++ | * PIL2JS: PIL::Nodes -- $a = $b returned the unboxed $b, fixed.
14:54 svnbot6 r5663, iblech++ | * PIL2JS: pil2js.pl, Prelude::JS, PIL::Nodes -- Support for $?POSITION, and
14:54 svnbot6 r5663, iblech++ |   &die reports the erroring position, too (as in normal Pugs).
14:54 autrijus masak: it's dwindling :)
14:54 masak :)
14:58 putter has joined #perl6
14:58 putter Aankhen``: pong? ;)
14:59 autrijus ok, so the new PIL structure will be very YAML friendly
14:59 autrijus it's either Scalars (aka atoms, as in PLit values)
14:59 autrijus Sequences (aka lists, normal Haskell lists)
15:00 autrijus or Mappings (aka hashes, Haskell named records)
15:00 autrijus that's the three node kinds
15:00 autrijus of course each one is still tagged with the constructor name as the node type.
15:00 autrijus but the idea is instead of the huge arity table, we only need to record the nodes as belonging to one of the 3 types
15:01 mja has joined #perl6
15:01 justatheory has joined #perl6
15:01 * autrijus praises yaml for constraining the representation space
15:02 autrijus so in yaml the constructor name directly translated to taguri
15:02 autrijus and the three node types are all native
15:02 elmex has joined #perl6
15:02 putter hmm.  not that I disagree, but... the only reason we need arity is because we're parsing hs.  which we shouldn't be.  when hs walks the tree and outputs something with parens, no arity needed.  no?  so that shouldnt be a reason to make the switch.
15:03 autrijus putter: uh, how is parens going to save us?
15:03 autrijus (PApp 1 2 3)
15:03 autrijus even if you mean (PApp (1, 2, 3))
15:04 autrijus that is still a datatype relying on positional understanding
15:04 putter arity is explit.  need parens for  Foo Bar 2 3  -> parse me..!?!
15:04 autrijus hrm. the context here is iblech did a yaml serialisation of pil
15:05 putter yep.  haven't looked at it yet :(
15:05 autrijus jspugs> :pil.yaml 1+1
15:05 autrijus ...
15:05 autrijus          - !perl/@PIL::PApp
15:05 autrijus            - !perl/@PIL::TTailCall
15:05 autrijus              - !perl/@PIL::TCxtVoid []
15:05 autrijus            - !perl/@PIL::PExp
15:05 autrijus              - !perl/@PIL::PVar
15:05 autrijus                - '&infix:+'
15:05 autrijus            - !perl/@PIL::Nothing []
15:05 autrijus            -
15:05 autrijus              - !perl/@PIL::PLit
15:05 autrijus                - !perl/@PIL::PVal
15:05 autrijus                  - !perl/@PIL::VInt
15:05 autrijus                    - 1
15:05 autrijus              - !perl/@PIL::PLit
15:05 autrijus                - !perl/@PIL::PVal
15:06 autrijus                  - !perl/@PIL::VInt
15:06 autrijus                    - 1
15:06 autrijus sorry for the flood.
15:06 autrijus but I think that illustrates my point
15:06 autrijus which is that PApp etc should have named fields
15:06 autrijus so we get the taguri of %PIL::PApp
15:07 autrijus !perl/%PIL::PApp even
15:07 autrijus so we can avoid code like
15:08 putter I don't disagree with named fields (though there is likely a space and speed cost).  Just don't think the current arity situation is a valid motivation.
15:08 autrijus if ($self->[2]->[0]->[0]->isa("PIL::PVar")) ...
15:09 autrijus hm... just to make sure we're on the same page
15:09 autrijus I'm talking about
15:09 Arathorn eww - opera fails on the JS because it can't handle the trailing , on hash = { foo : "bar", baz : "quux", };
15:09 autrijus ./pugs -CPIL_YAML
15:09 putter outputing Foo { x=1 y=2} rather than Foo 1 2
15:09 autrijus no, outputting YAML directly
15:09 putter ooo... "never mind".  sorry.
15:10 autrijus np :)
15:10 * autrijus ponders if ./pugs -CYAML is unambiguous enough
15:10 * autrijus further ponders if we can canonise YAML and make pugs -CPIL output just that
15:11 putter PIL_SEXP, PIL_PLRB (pl rb), PIL_...
15:11 autrijus the point being yaml have good support for named, positional and scalars with tagged constructor names, and the equivalent thing in XML or S-expr are less concise
15:11 autrijus yeah
15:11 autrijus ok, I think "-C YAML" for now.
15:11 autrijus it is in one sense a "codegen".
15:12 svnbot6 r5664, iblech++ | * PIL2JS: jspugs.pl -- Minor cosmetic fix.
15:12 svnbot6 r5664, iblech++ | * PIL2JS: pil2js.pl -- Don't emit trailing ","s in hashes, thanks to Arathorn++
15:12 svnbot6 r5664, iblech++ |   for noticing.
15:12 iblech Aankhen``: See if r5664 fixes the problem?
15:12 putter there was something here a while back about p5's yaml having issues...  I'm not sure what the yaml state of other languages is.
15:12 iblech Aankhen``: Err, sorry, meant Arathorn
15:12 autrijus other languages are mostly using syck
15:12 autrijus and they are just fine
15:12 autrijus only p5 gets to have ancient semibroken YAML library.
15:13 obra there's no syck for perl?
15:14 Arathorn yup, that fixes it
15:14 Arathorn thanks :)
15:14 obra or rather syck-wrapper
15:14 putter -C PIL_JS ... fast...
15:14 autrijus obra: there is very ancient and proof-of-concept http://search.cpan.org/dist/YAML-Parser-Syck/
15:14 autrijus putter: eh? :)
15:15 autrijus -C JSON you mean?
15:15 autrijus mmmmm tempting.
15:15 autrijus but JSON has no taguri
15:15 maaaa has joined #perl6
15:16 autrijus so we are forced to list the constructor as an additional field
15:16 putter re previous conversation, fastest path is for hs to crawl hs tree and emit code in language X which can simply be evaled.  -C PIL_PL emits perhaps  foo(x=>3,y=>4), -C PIL_JS emits... whatever iblech would find convenient.
15:16 autrijus which may actually be a win, not sure
15:17 autrijus putter: iblech doesn't use PIL_JS.
15:17 autrijus he's using perl5 :)
15:17 putter PIL_JS doesnt exist.  oh, ok, then just -C PIL_PL...
15:17 autrijus but I see what you mean. maybe that shouldn't be -C then. dare we take -D for that?
15:18 putter hmm...
15:18 autrijus or -P...
15:18 autrijus because we are fairly sure -P will be Gone and Dead from p6
15:18 Arathorn iblech: wow: the backtrace from Opera now that it can compile is quite spectacular for mandel.p6
15:18 putter or -C backend outputform ...
15:18 autrijus what, mandel.p6 compiles to js?
15:19 autrijus putter: nah... I think that's overloading things too much
15:19 putter k
15:19 Arathorn it doesn't run
15:19 autrijus but that's already better than any other backends :)
15:20 iblech :)
15:20 Arathorn iblech: fwiw, the backtrace is at http://pastebot.nd.edu/1824
15:20 * Arathorn crawls through it
15:20 * autrijus praises the sheer madness of iblech
15:20 Arathorn i guess it's just citing a whole wodge of the preludepc.js
15:21 iblech Arathorn: r5665 might actually fix that problem :)
15:21 Arathorn but still, a bit more data than venkman provides
15:21 autrijus putter: ok, so worthy -P backends being: XML, YAML, Perl
15:21 obra S-expressions? ;)
15:21 iblech Arathorn: PThunk wasn't compiled correctly
15:21 autrijus the Perl one can actually be shared among p5 and p6 with some luck
15:21 Arathorn ah, cool
15:21 svnbot6 r5665, iblech++ | PIL2JS: PIL::Nodes -- Fixed compilation of PThunk.
15:21 autrijus thru creative use of &bless
15:22 autrijus obra: first find us a consumer of S-exp :)
15:22 autrijus . o O (Perl 6 refactoring browser in Emacs)
15:22 putter ruby should be ok with the p5.
15:22 * obra is just making trouble
15:22 iblech Arathorn: Ok, it does not, at least not here. Could you nopaste a new backtrace? :)
15:22 Arathorn hm, iblech: that breaks prelude precomping, i think
15:22 Arathorn oh, false alarm - sorry
15:23 Arathorn weird keyboard buffering going on
15:23 Arathorn that gives an identical backtrace, iblech
15:23 autrijus obra: oh, do you know if src of http://dev.perl.org/perl6/faq.html is kept in some svn repo?
15:24 Aankhen`` putter: Hiya.
15:24 autrijus obra: the first entry continue to trouble my conscience, even though it's theoretically SEP
15:24 Aankhen`` putter: I was wondering if you could perhaps get sprintf() to handle '%X' correctly?
15:25 autrijus actually the second entry is dubious too. as is part of the third :)
15:25 iblech Arathorn: Ok, thanks, investigating
15:25 autrijus (so I'm thinking of submitting a patch)
15:25 putter foo() 123 1.23 "..."  , and if we do named x => .   sexp (foo ) ... not sure which => to use.  maybe just ",".   getting the strings right ends up being the hardest part :(
15:25 putter what's %X
15:26 obra autrijus: if it's in a repository, it'd be the perl6 one
15:26 Arathorn iblech: for completeness (and in case i'm being blind/thick): http://pastebot.nd.edu/1825
15:26 autrijus obra: oh, prolly not then
15:26 Aankhen`` putter: Uppercase '%x'.
15:26 obra autrijus: I'll see about getting it fixed
15:26 autrijus obra: thanks for the project managineering :)
15:27 putter ok, and in what way isnt it working/
15:27 iblech Arathorn: Ok. One problem is that empty subs don't return a boxed undef (fixing)
15:28 autrijus ?eval sprintf('%X', 1)
15:28 evalbot6 pugs: Printf.printf: bad formatting char X
15:28 putter ah, got it.
15:29 putter did you check D U O?
15:29 autrijus ?eval sprintf('%D', 1)
15:29 evalbot6 pugs: Printf.printf: bad formatting char D
15:29 autrijus ?eval sprintf('%U', 1)
15:29 evalbot6 pugs: Printf.printf: bad formatting char U
15:29 autrijus ?eval sprintf('%O', 1)
15:29 evalbot6 pugs: Printf.printf: bad formatting char O
15:29 putter k
15:30 malaire has joined #perl6
15:32 iblech autrijus: Possibly bug in Pugs.Compile: loop my $a = 0; ; $a++ {...}
15:33 iblech The first PThunk (the condition, which is empty in this case) is compiled to an empty PThunk
15:33 iblech I.e. returning undef
15:33 iblech Causing the loop to not run
15:33 autrijus hrmph it should be Noop
15:33 iblech Is this a bug in Pugs.Compile (which should instead compile to PThunk(1)) or in &statement_control:<loop>, which should treat undef as true?
15:34 autrijus        evalCond | unwrap cond == Noop = return True
15:34 autrijus this Clearly Does Not Belong in Eval.hs
15:34 autrijus so I'd say it's P.C's bug
15:34 autrijus please fix away
15:34 iblech Ok
15:34 autrijus that's what we have PIL for -- so these reductions are not recomputed endlessly in runtime
15:35 maaaa has quit IRC (Remote closed the connection)
15:38 * Arathorn has a crazy idea
15:38 Arathorn anyone seen http://mtasc.org/ before?
15:39 * Arathorn dreams of replacing the *horribly* broken ActionScript 2.0 with Perl 6 compiled to ActionScript 1.0 (~Javascript 1.4) via pugs
15:39 Arathorn (and then compiled into .swf using mtasc)
15:43 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
15:46 Arathorn (or perhaps i'm the only person who dirties their hands with the horror that is Flash 'round here)
15:47 wolverian ?eval 1.as('%X')
15:47 evalbot6 pugs: Printf.printf: bad formatting char X
15:48 wolverian oh, that's in. yay.
15:48 * putter , as he waits for a compile, wonders how one might get economies of scale among the (possibly many?) pugs backends...
15:49 autrijus putter: economies of scale?
15:49 autrijus (I know the term, but not the type context)
15:52 putter hmm, how does one generate an Inf in pugs?
15:52 autrijus Inf
15:52 putter ?eval sprintf('%x', Inf)
15:53 evalbot6 \'100000000000000000000000000000000000000000​00000000000000000000000000000000000000000000​00000000000000000000000000000000000000000000​00000000000000000000000000000000000000000000​00000000000000000000000000000000000000000000​000000000000000000000000000000000000000'
15:53 putter Inf seems small...
15:53 autrijus it's coerced into Int.
15:53 putter sprintf patch is in.  5666.
15:54 autrijus putter++
15:54 Aankhen`` putter++ # thanks :-)
15:54 justatheory has quit IRC ()
15:54 svnbot6 r5666, putter++ | sprintf now handles X D U O E G F specifiers without crashing.  Aankhen++.
15:54 svnbot6 r5667, iblech++ | * Pugs.Compile -- loop foo; ; bar {baz} should be compiled as loop foo;
15:54 svnbot6 r5667, iblech++ |   bool::true; bar {baz}.
15:54 svnbot6 r5667, iblech++ | * PIL2JS: jspugs.pl -- Empty lines don't cause a compile now.
15:54 svnbot6 r5667, iblech++ | * PIL2JS: PIL::Nodes, PIL::Parser -- Support for VBool.
15:55 * Arathorn tries r5667
15:56 iblech Ok, problem. mandel.p6 requires last. last is tricky. Can I create continuations in JavaScript?
15:56 * iblech googles
15:56 Arathorn yeah, i think you can
15:56 iblech How? :)
15:56 Arathorn there's an IBM developer works article about it, iirc
15:56 * Arathorn googles too
15:57 autrijus iblech: last doesn't need CC, just EC
15:57 autrijus EC can be modelled with try{}.
15:57 putter hmm, both perl and pugs now sprintf("%E",<inf>), 10**1000 or Inf, as inf and INF.  and I thought it was a kludge...
15:57 iblech Arathorn: http://www-128.ibm.com/developer​works/java/library/j-contin.html is about server-side continuations, I think. I need client-side CCs
15:57 iblech err, s/CCs/continuations/
15:58 Aankhen`` iblech: Continuations aren't really cleanly possible in JavaScript.
15:58 autrijus but it's just exceptions in this case :)
15:58 autrijus full CCs are rarely needed in p6
15:58 Arathorn iblech: uneval() (if supported)
15:58 iblech Aankhen``: Do you mean the code is ugly (which would be fine) or that it isn't working 100%?
15:58 autrijus formally last and return are both "leave" style exceptions
15:58 Aankhen`` iblech: Both.
15:58 Nattfodd has quit IRC (Read error: 104 (Connection reset by peer))
15:58 iblech Aankhen``: Oh.
15:59 Arathorn http://levelplusplus.blogspot.com/20​04/07/continuations-in-mozilla.html looks like it's ugly, but it would work 100%
15:59 Arathorn assuming you're running js 1.5
15:59 Aankhen`` iblech: Try http://trimpath.com/blog/?p=28
16:00 putter re scale, similar things being done n times.  how to benefit, and to avoid n*cost.  benefit's include see neat things iblech doing with JS and reflect in other backends.  avoid cost include move PIL emiter in pugs, perhaps use some common p5-based infrastructure, ...?
16:00 autrijus aw, vararg CPS
16:01 autrijus pugs needs to have PIL serialiser, there's no doubt about it
16:01 Aankhen`` Bleh, I still don't understand continuations properly. -_-
16:02 Arathorn i guess comment 3. on Aankhen``'s URL spells out the limitations fairly well
16:03 iblech autrijus: You mean, basically, loop ... { ...; last(); ... } -> try { loop ... { ...; die "LAST"; ... } }?
16:04 autrijus iblech: right. you need the same for &return anyway.
16:05 iblech autrijus: Ok, easier than I thought :)
16:05 Maddingue has joined #perl6
16:05 Aankhen`` You can't just use `break`, iblech?
16:05 autrijus eg you miscompile, currently
16:05 autrijus sub foo { { return 1 } } say foo()
16:05 putter more common ground... a cps transformed PIL?
16:06 autrijus putter: hm? I don't think CPS is applicable in the tree level
16:06 iblech Aankhen``: No, as &last is a separate function (I could of course hardcode &last -> JS::break, though)
16:06 Aankhen`` That's what I meant. :-P
16:07 Arathorn that seems a bit more functional :)
16:07 vcv has joined #perl6
16:07 dudley has quit IRC ()
16:07 Arathorn s/functional/pragmatic/
16:07 autrijus iblech: all nonlocal exits are just different VControl calls
16:08 autrijus iblech: the try{} blocks implicit around all non-primitive Code bodies are supposed to unwrap them
16:08 autrijus S06:
16:08 autrijus   leave Loop, :label<COUNT>; # Same as: last COUNT;
16:08 autrijus it doesn't need to be mapped exactly that way
16:09 autrijus but the idea is the try{} block pick up the :label and other flags and either handle it or optionall rethrowl
16:09 iblech Ah, ok, makes sense
16:10 autrijus that's where I stopped with CodeGen.PIR
16:10 autrijus because the exception handling semantics was Totally Broken Beyond Repair
16:10 autrijus fortunately it looks like leo-ctx5 has it fixed
16:10 iblech :) leo++
16:10 autrijus leo++ indeed
16:11 putter autrijus: re cps on tree... I'm puzzled, why not?  one could cps transform p6 code, so why not PIL?
16:12 autrijus putter: I'm puzzled because I don't recall any of our current backends mandate CPS
16:12 autrijus or lambda lifting
16:13 autrijus all of <PIR Perl5 JS> support inner functions and lexical pads
16:13 autrijus so it seems to me that CPS only adds unneccessary overhead
16:13 putter but p5 at least doesnt have full continuations...  what am I missing?
16:14 autrijus but p5 has escape continuations
16:14 autrijus and p6, as defined in the AES, only makes use of escape continuations
16:15 autrijus it's all very well to support something more, but I don't think we need to go full CPS for full conts on p5
16:15 putter ahh.  that's the missing bit.  I thought p6 had exposed full continuations.
16:15 autrijus not formally, no.
16:15 autrijus the closest thing is coro, and that is still a pugs specific unspeccedness.
16:16 autrijus so I don't think PIL need to worry about that just yet
16:16 autrijus it's also perfectly fine to have the Perl5 backend just die on a call/cc.
16:16 osfameron has quit IRC (Read error: 110 (Connection timed out))
16:17 autrijus because I don't think any of Prelude will require that
16:17 kungfuftr autrijus: has Bamboo stalled?
16:17 putter ok.
16:17 autrijus kungfuftr: Bamboo wants a sane runtime :)
16:17 Amnesiac has joined #perl6
16:18 autrijus kungfuftr: which is also part of the new PIL evaluator's goals (serialized continuations)
16:19 Arathorn presumably there is no hope in hell of p6->js objects working without stevan's metamodel stuff being somehow wrapped into PIL2JS?
16:19 kungfuftr eeeepppp!
16:19 kungfuftr autrijus: surely a serialized state machine would work?
16:19 autrijus kungfuftr: not when the state machine relies on C pointers!
16:19 autrijus (see Coro.pm)
16:19 kungfuftr ah... gotcha
16:19 dudley has joined #perl6
16:19 iblech Arathorn: Think so, too. .ref and .isa are currently just very simple stubs
16:19 autrijus kungfuftr: point being I'd like arbitary closures to participate in Bamboo logic
16:20 * Arathorn nods
16:20 autrijus kungfuftr: the more I worked toward the bamboo minilang, the more it resembles PIL
16:20 autrijus and at some point it doesn't make sense anymore to not unify them :)
16:20 svnbot6 r5668, Aankhen++ | * URI::Escape: fixed &uri_escape<Str,Str> and &fail_hi.
16:20 kungfuftr gotcha
16:22 svnbot6 r5669, iblech++ | PIL2JS: Prelude::PS, pil2js.pl -- Initial support for &last.
16:22 svnbot6 r5668, Aankhen++ | * URI::Escape: fixed &uri_escape<Str,Str> and &fail_hi.
16:22 autrijus wow, initial support for &last.
16:23 Arathorn it's a shame - without object support i can't see any easy hack for compiling perl6 to .swf
16:23 autrijus ... swf!?
16:23 autrijus next you'll tell me compiling perl6 to PDF.
16:23 Khisanth heh
16:23 Khisanth that would be less sane!
16:23 autrijus there's a HTTP server written in PostScript.
16:24 Arathorn yeah - see my rant above about http://www.mtasc.org
16:24 Khisanth autrijus: didn't you want to have it compiling to JS? :)
16:24 autrijus Khisanth: I did... sanity was never my forte
16:24 Arathorn oh, hang on
16:25 Khisanth well both actionscript and javascript are ECMA based aren't they? :)
16:26 Khisanth insane people have all the fun...
16:26 autrijus exactly
16:26 * autrijus invokes the ponie-3 quote again
16:27 autrijus "And, isn't sanity really just a one-trick ponie anyway? I mean all you get is one trick, rational thinking, but when you're good and crazy, oooh, oooh, oooh, the sky is the limit."
16:27 svnbot6 r5670, Aankhen++ | * fixed &URI::Escape::uri_unescape.
16:31 integral PDF can embed JS too...
16:31 autrijus yup.
16:31 autrijus JS really makes a lot of sense.
16:32 eric256 has joined #perl6
16:33 eric256 ?eval { 1 => {2 =>3 , 4=> 5}.perl
16:33 evalbot6 Error:  unexpected end of input expecting term postfix, operator, ">>=><<", "\187=>\171", "=>", "::=", "**=", "xx=", "||=", "&&=", "//=", "^^=", "+&=", "+|=", "+^=", "~&=", "~|=", "~^=", "?|=", "?^=", ":=", "~=", "+=", "-=", "*=", "/=", "%=", "x=", "Y=", "\165=", "|=", "^=", "&=", "=", postfix conditional, postfix loop, postfix iteration, ";" or "}"
16:33 eric256 ?eval { 1 => {2 =>3 , 4=> 5}}.perl
16:33 evalbot6 '{(\'1\' => (\'2\' => 3)), (\'4 5\' => undef)}'
16:34 eric256 could anyone help me know where to put tests for that bug?  (if it is a bug, or expain what i did wrong if it is not)
16:34 eric256 ?eval { 1 => {2 =>3 , 4=> 5}}
16:34 evalbot6 {('1' => ('2' => 3)), ('4 5' => undef)}
16:35 saorge has joined #perl6
16:36 eric256 hmmm..on another note, anyway else haveing trouble getting pugs to compile this morning?
16:36 nothing_pasta has quit IRC (Ping timeout: 14400 seconds)
16:36 putter autrijus: have you got funding lined up for post-sabatical?  perl foundation?
16:37 * putter wonders whether he should be nudging PF...
16:38 Aankhen`` `use Foo <bar baz>;` doesn't work.  Bah.
16:38 autrijus putter: no, nothing yet... didn't hear anything from the company allison mentioned either
16:38 autrijus putter: worst case is I'll just take up more $work :)
16:39 autrijus and try to keep 3 day a week to pugs
16:39 Aankh|Clone has joined #perl6
16:40 autrijus that is not unlike any other lambdacamels, and I'm fine with that :)
16:41 eric256 autrijus - any thoughts on that eval i just did? i just want to know where I should put a test for that ?
16:42 autrijus eric256: that's a bug. merge it with t/pugsbugs/parse_hash_ref.t or parsing_hash.t ?
16:42 svnbot6 r5671, Aankhen++ | * added ext/URI/t/escape.t
16:43 osfameron has joined #perl6
16:43 eric256 okay. what is the deciding factor on if it goes in pugsbugs or somewhere else/
16:43 autrijus whether it's fixed or not :)
16:43 autrijus and also whether it was immediately clreat to the submitter or not
16:43 eric256 oh.. okay. i'm posted some tests to the wrong places then ;(
16:43 autrijus oh, and the passing pugsbugs/*.t should be moved out -- if you have some cycles for that, that's cool too
16:43 Arathorn was there any conclusion on whethere [=>] @array should work?
16:43 autrijus heh, that's fine, 'svn mv' preserves history
16:44 autrijus we are working with (somewhat) sane tools now
16:44 autrijus Arathorn: it should work, that is definitely a bug, please grep and/or write a test
16:44 eric256 first i have to get pugs to actualy compile agian ( i think SVN and i are at a disaggreement) ...then i would be happy to move what i can
16:44 autrijus cool, eric256++
16:45 osfameron_ has joined #perl6
16:46 dudley has quit IRC (Read error: 104 (Connection reset by peer))
16:48 * eric256 clears entire pugs install.....arg
16:48 dudley has joined #perl6
16:48 autrijus "make unoptimised" may help
16:49 eric256 it wont even make. i think i've got a couple of files that arn't updating
16:49 autrijus aw.
16:50 Maddingue has quit IRC (brown.freenode.net irc.freenode.net)
16:51 Maddingue has joined #perl6
16:52 osfameron has quit IRC (Read error: 60 (Operation timed out))
16:52 eric256 wow. watching the test directory re download....lots and lots of tests
16:53 malaire btw, should "make pirtest" pass any sanity-tests currently?
16:54 iblech malaire: Yes
16:54 iblech (All of the sanity tests should pass)
16:55 eric256 i wonder if a blog showing example code of recent developments would interest anyone besides me...i'm always reading the journal but i know some stuff slips by.
16:56 eric256 and some stuff is easier shown with code
16:56 autrijus that will interest me a lot :)
16:56 autrijus I'm trying to add more screenshots in my journal
16:56 autrijus and code snippets
16:56 autrijus but sometimes it's just too much to keep up :)
16:57 eric256 i'm thinking about starting a side journal to post some code...i like to explore new additions. can multiple people post to a use.perl.org journal? since some additions are just plain beyond my understanding i would need help. ;)
16:58 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
16:58 Khisanth you could always make a thread as a journal :)
16:59 Aankh|Clone is now known as Aankhen``
17:00 autrijus right, you can annotate it just by hitting "Reply"
17:00 autrijus that will likely work very well, as I'm prone to let new developments slip by
17:00 autrijus so if you notices something, or want to illustrate some points, just hit "Reply" and add more
17:01 eric256 just reply to your journals? is that what you are saying? hmmm. could be. i was thinking it might be usefull if your journal entries mentioned what revision they were current for.
17:01 masak eric256++ # good example code blog idea
17:01 autrijus oh hm. that is a thought indeed
17:01 Khisanth eric256: you don't think the revisions change too fast for that?
17:02 autrijus although it can trivially be triaged
17:02 autrijus so , like
17:02 autrijus Day 165 (r5670): ...
17:02 eric256 they change plenty fast. but i can read the journal, then hit the log for any updates since the journal. ;) hard to do now without knowing when the journal was written with respect to the current revision
17:02 eric256 yea ;)
17:03 autrijus I'll try that. actually you can probably write a script to retrieve the rss metadata and triage using svn's -r DATE syntax
17:03 autrijus so I can retroactively add rev annotations to earlier entries with a script
17:03 autrijus wouldn't that be nice.
17:04 autrijus but sure, I'll start with the new format today
17:04 eric256 it would indeed. i guess i'll try posting code as replies, if that gets out of hand or to cumbersome i can always start a seperate journal later
17:04 autrijus right.
17:04 autrijus eric256++ # ideas
17:05 eric256 ideas are easy, implementing them is the hard part
17:05 * eric256 off to meeting. ick
17:06 malaire for me "make pirtest" currently dies on all sanity test with same error:
17:06 malaire Null PMC access in get_string()
17:06 malaire current instr.: 'EVAL_1' pc 10 (EVAL_1:7)
17:06 autrijus parrot 0.2.2?
17:07 iblech malaire: It works here fine, using latest leo-ctx5
17:07 autrijus malaire: oh, btw, have you got back to JaffaCake re GHC bug?
17:07 wolverian do you think URI::uri_unescape is sane, compared to URI.new.unescape, or so? (I specifically hate the uri_ in the name..)
17:07 wolverian (er, URI::Escape::uri_unescape, that is.)
17:07 malaire I have parrot 0.2.2-devel (r8644)
17:07 autrijus wolverian: I think both styles are sane :)
17:08 autrijus malaire: the parrot trunk is in a weird state, last I heard.
17:08 wolverian autrijus, right. maybe I should code URI.pm itself, then? :)
17:08 autrijus wolverian: yes :)
17:08 wolverian autrijus, I'll look into it! my girlfriend is over for the first time in a few weeks, so I'm a bit low on time
17:08 malaire I don't know enough of GHC to help in that bug. I just reported it, but I think I can't help much more in it.
17:08 autrijus malaire: aw. :/ since it's nonreproducable here anymore
17:09 autrijus malaire: I think Jaffa's problem is mostly he can't get the bug manifest
17:13 masak has left
17:14 Aankhen`` wolverian: iblech already ported the URI distribution to "pure" Perl 6 (i.e. currently non-working Perl 6 :-). You could try back-porting it: http://tpe.freepan.org/repos/iblech/URI/
17:14 wolverian Aankhen``, ah, thanks!
17:15 Aankhen`` I had got a nearly working version, but then I deleted the entire source tree...
17:17 Aankhen`` My fault, though.  I'd been sitting on it for a long time without checking it in.
17:18 wolverian oh, he did a straight port of the perl5 module
17:18 Aankhen`` Yes
17:18 Aankhen`` .
17:19 wolverian I'll try refactoring it into something I like more.
17:19 wolverian s,module,modules,
17:19 wolverian (not a small feat in itself :)
17:19 Aankhen`` Have fun. :-)
17:20 Aankhen`` I'll probably do the same with some parts of LWP eventually.
17:20 Aankhen`` Though that'll take considerable care.
17:20 iblech Aankhen``++ wolverian++ :)
17:20 iblech food &
17:23 meppl has quit IRC (Read error: 104 (Connection reset by peer))
17:27 vel has joined #perl6
17:37 vel has quit IRC (".")
17:41 kolibrie autrijus: pugs with embed perl5 worked fine after installing debian libperl-dev
17:41 justatheory has joined #perl6
17:42 kolibrie perl-base provides libperl.so.5.8.7, et al, libperl-dev provides the plain libperl.so
17:43 autrijus but is the two identical?
17:43 kolibrie I think so
17:44 kolibrie I think they just want to have a -dev package, so separated it out
17:44 autrijus can you do a cmp?
17:44 revdiablo has quit IRC (Read error: 110 (Connection timed out))
17:44 kolibrie just a sec, that was at home, I'll install here too
17:44 autrijus however, well, if it is the way it is, maybe just add a note to INSTALL, or better, detect for this in Makefile.PL
17:45 kolibrie I have almost no Makefile.PL foo
17:47 kolibrie hah, all the libperl-dev package does is set up a symlink to libperl.so.5.8
17:48 autrijus this is borderline insane ;)
17:48 autrijus but I can see that if -dev is the convention for everything else
17:49 kolibrie so, how to detect in Makefile.PL?
17:49 autrijus I have no debian-fu, but I suspect you can look at %Config and see which keys should match
17:50 Khisanth hmm
17:50 autrijus but maybe ask around other debian folks
17:50 Khisanth what is the => operator called?
17:51 kolibrie I mean, where in Makefile.PL does such a check go
17:51 autrijus Khisanth: &infix:=> in the symbol table
17:51 autrijus in src land is &infix:«=>»
17:52 Khisanth no I am trying to look for it in t/operators :)
17:52 autrijus kolibrie: see similar checks about Tiger and gcc4
17:52 * kolibrie looks
17:52 autrijus [not|autrijus]~/work/pugs$ grep -r '\[=>\]' t
17:52 autrijus t/builtins/lists/reduce.t:  # 18:45 < autrijus> [=>] 1..10;
17:53 autrijus hm, I probably need to sleep now
17:53 kolibrie ok, that doesn't look too hard
17:53 autrijus got some onsite $work tomorrow.
17:53 autrijus have fun :)
17:53 * autrijus waves &
17:53 kolibrie goodnight
17:53 Khisanth ah ha! data_types/pair.t :)
17:54 iblech [PIL2JS] !!! &return and &last work, &leave is simple now :)
17:54 iblech Night autrijus :)
17:54 autrijus iblech: wow. :)
17:54 autrijus eric256 and others: journal up; feel free to Reply and add more info
17:55 * autrijus waves again, for real &
17:55 gaal has joined #perl6
17:56 gaal hi all.
17:57 gaal very very cool stuff recently
17:57 revdiablo has joined #perl6
17:58 osfameron_ has quit IRC ("Leaving")
18:08 gaal ?eval {module f;}; $?PACKAGE
18:08 evalbot6 \::main
18:08 svnbot6 r5672, eric256++ | Testing for hash parse error on nested structure
18:08 svnbot6 r5673, iblech++ | PIL2JS -- Proper support for &last and &return.
18:08 gaal ?eval {module f;} $?PACKAGE
18:08 evalbot6 Error:  unexpected "$" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
18:08 gaal bug, right?
18:09 iblech !!!!!
18:09 iblech mandel.p6 runs on JS!!!
18:10 gaal !!!!!
18:10 gaal iblech++
18:10 iblech uploading
18:10 gaal applauding
18:10 Aankhen`` Jeez.
18:10 Aankhen`` iblech++
18:11 Aankhen`` Hi gaal. :-)
18:11 gaal hey :)
18:11 Aankhen`` I think Pugs is going to rule the world. :-P
18:11 Juerd I'm leaving for a few weeks of vacation next friday
18:11 Aankhen`` Today: Perl 6 to JavaScript.  Tomorrow: World domination.
18:11 Juerd During that period, if feather goes down, I won't be able to fix it.
18:11 Juerd And neither will anyone else
18:12 gaal i hope it doesn't
18:12 gaal might be very useful for the hackathon
18:12 Juerd If you know me well, and want root access and to monitor things, contact me
18:12 gaal but if it does we'll use nothingmuch's server
18:12 iblech http://m19s28.vlinux.de/iblech/stuff​/not_perm/pil2js-demo/mandel.p6.html
18:12 gaal mr pastaman
18:12 Juerd There's one condition in which the commercial emergency number can be used: broken hard drive
18:13 Juerd which will be noticeable from /proc/mdstat
18:13 iblech (Firefox complains about the script slowing it down, though)
18:13 Juerd But I'm not going to give that number to everyone :)
18:13 gaal iblech: it's kinda cute how it does that
18:14 iblech If somebody replied this news to autrijus' journal, I'd be grateful (I don't have a use.perl account) :)
18:14 gaal doesn't run at all on msie
18:14 iblech err, s/replied/relayed/
18:14 iblech gaal: Error msg?
18:15 gaal juerd: thanks, i think we'll fall back on either a local box or yuval's machine
18:15 gaal iblech: syntax error at line 85, char 13
18:16 * gaal doesn't have a use.perl account either. kinda silly that you have to have one
18:16 iblech gaal: Weird, there's nothing special about that line
18:16 * gaal waits for openID
18:17 tehpinktaco has joined #Perl6
18:17 Aankhen`` iblech++ iblech++ iblech++
18:18 tehpinktaco is now known as tehpwn
18:19 Juerd gaal: Well, if the current uptime is any indication, it'll hold
18:19 Juerd It's a justincase thing
18:19 gaal right
18:19 Juerd As the box has *no* user limits
18:19 Juerd Any user can easily forkbomb it.
18:19 gaal i doubt we have that kind of user around
18:19 Juerd It's easy to do by accident
18:20 Juerd Trust me on that :)
18:20 gaal speaking of uptime: 48 minutes to 200 days on one of my boxen
18:20 Juerd Nice
18:20 Juerd Awful maintenance though ;)
18:20 gaal *shrug* at some point in life, you have to stop compiling kernels
18:21 Juerd hehe
18:21 Juerd For a home box, it's okay
18:21 Juerd I'm still running 2.6.6 at home
18:22 Maddingue has quit IRC (Remote closed the connection)
18:23 stevan has quit IRC (Read error: 110 (Connection timed out))
18:24 nothingmuch moo
18:24 gaal se!
18:24 Maddingue has joined #perl6
18:25 Nattfodd has joined #perl6
18:26 gaal does use really work in BEGIN already?
18:26 iblech Yep, think so
18:27 gaal good, i think that means the prelude inlining stuff can be made much better
18:27 iblech How so?
18:28 gaal instead of manging in the source code of random modules and hacking in manual %*INC settings, i can just mangle in "use" statements.
18:28 gaal or better - -M switches.
18:29 stevan has joined #perl6
18:29 gaal this means you can inline anything in your PERL6LIB
18:30 gaal of course it means some care should be taken to get the right version during the build process, not one from the system install
18:30 kungfuftr ingy: about?
18:31 malaire has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0/20041107]")
18:34 kungfuftr seen ingy
18:34 jabbot kungfuftr: ingy was seen 3 hours 36 minutes 17 seconds ago
18:35 Uyuu has quit IRC (Success)
18:36 gaal oh, actually, that (my -M idea) won't work
18:37 gaal because the extra modules won't pass compilation because they likely require Prelude functionality, whcih isn't available yet
18:37 eric256 has quit IRC (Read error: 110 (Connection timed out))
18:38 gaal hmm, but i could add the Prelude.pm to the search path and -M it first :)
18:45 Juerd holy crap, there's sound in Mail.app!
18:45 Juerd And it actually sounds fun.
18:45 Juerd In stereo.
18:54 Amnesiac has quit IRC ("Leaving")
18:54 svnbot6 r5674, Stevan++ | Perl6::MetaModel -
18:54 svnbot6 r5674, Stevan++ | * 'canonical' dispatch order is now C3
18:54 svnbot6 r5674, Stevan++ |     - tests to check this is true
18:54 svnbot6 r5674, Stevan++ |     - tests to check we die with inconsitent hierarchies
18:54 svnbot6 r5674, Stevan++ |     - test for new class precendence list orders
18:55 stevan horay, we now support all the dispatch orders in A12
18:55 eric256 has joined #perl6
18:55 stevan (as if there was any good use for that)
18:56 stevan that also assumes that :descendant is just the reverse of :ascendent
18:57 PerlJam There is a good use for that.  If you're going to implement a compiler in perl6, you want the object language and the target language to share as many semantics as possible.  So, for instance, this opens the door for (quickly) implementing say, python, using perl6.
18:58 PerlJam er, I meant implement a compiler that targets perl6
18:59 PerlJam That and interacting with other languages where your class hierarchy spans multiple implementation languages are the only reasons I can imagine right off where you'd want such control over the dispatch order.
19:00 eric256 whats the t/pugsrun directory for?
19:01 stevan eric256: it tests the command line options of pugs
19:02 stevan PerlJam: ok, thats the first sane explaination I have heard
19:02 stevan of course it doesnt matter, they are all there
19:02 stevan breadth, preorder descendant ascendant
19:03 stevan and I made ascendant the canonical
19:03 stevan oh darnit
19:03 stevan thats backwards
19:03 stevan descendant is the canonical
19:04 eric256 any thoughts on where encoding tests should go?
19:04 eric256 make an encoding directory possibly?
19:04 gaal there already is a simple one, eric256.
19:04 gaal unicode.t i think
19:05 gaal extend that?
19:06 eric256 i'm moving test out of pugsbugs hyper_latin1.t now works... of course it might already be covered in another test. but i wanted to move it somewhere meaningfull... i thought about operators or encoding ...i'm guessing there will be mroe encoding tests in the future. should i just make a directory for encoding test?
19:06 eric256 or i could put it in the syntax folder.. maybe i'll just put it in there for now
19:06 eric256 makes enough sense i think
19:06 gaal sounds fine to me
19:07 gaal be careful with svn prop btw
19:07 gaal you need to mark each of these files in the appropraite encoding
19:07 eric256 if i svn mv it will keep the file the same as it is right?
19:08 gaal yes (i hope :-)
19:08 gaal if you add other files, svn propset svn:mime-type "text/plain; charset=SOMETHING"  the-file
19:09 stevan ok question here, least-derived basically means Object right?
19:09 * stevan didnt get much sleep last night
19:09 eric256 i'll try to remember that.... do i need to change that for the file i added earlier if it is just a normal file?
19:10 gaal if it's a normal file, use util/add-svn-props.sh on it
19:10 svnbot6 r5675, fglock++ | Span::Code.union() finally works (some weird syntax problems)
19:10 gaal that sets it as utf-8
19:11 gaal see the other svn propset in that script too (the one setting lineendings) - you want that on your files too, if you propset them manually
19:12 Juerd haha
19:12 Juerd stevan un-warnocked himself
19:12 Juerd that's funny.
19:13 stevan Juerd: I probably shouldn't have sent the mail on a weekend
19:13 Juerd There's no good day for perl messages, I've discovered.
19:14 Juerd Well, if you post on a saturday evening, you'll get most XP on PM, but apart from that, there's no good day.
19:14 stevan :D
19:15 eric256 don't post on PM on sat morning though, you may never get an answer. or maybe my question was just too out there
19:16 Arathorn the question seemed like the kind of thing lwall would normally like to pounce on
19:17 stevan Arathorn: which one?
19:20 Arathorn your one about MMD ordering
19:21 Arathorn or method resolution ordering, more accurately
19:21 svnbot6 r5676, Stevan++ | Perl6::MetaModel - I need sleep, I had ascend and descend mixed up
19:21 svnbot6 r5677, eric256++ | Cleaned out pugsbug directory some.
19:21 * Arathorn can't get mandel.p6 to work :(
19:21 Arathorn claims substr isn't implemented in prelude..
19:22 iblech Arathorn: :precomp
19:23 Arathorn i did..
19:23 * Arathorn does again
19:23 iblech Maybe I haven't checked everything in
19:24 Arathorn yup, still fucked
19:24 Arathorn by diffing your preludepc.js with mine, i'd say the only difference is the substr impl
19:26 svnbot6 r5678, eric256++ | Missed the addition part of the move somehow
19:26 svnbot6 r5679, iblech++ | * Usual svn props.
19:26 svnbot6 r5679, iblech++ | * PIL2JS: &last, &next, &return, more work on the README.
19:26 iblech Try r5679 :)
19:26 * Arathorn does so
19:28 Arathorn wooha :D
19:28 Arathorn works lovelily on Opera without a firefox-styloe sogging-up-CPU warning
19:28 Arathorn congrats :)
19:28 Yaakov has quit IRC (Read error: 60 (Operation timed out))
19:28 iblech :)
19:28 * Arathorn goes to dry off after thoroughly soggy ultimate frisbee
19:31 Limbic_Region has joined #perl6
19:34 Limbic_Region seen nothingmuch
19:34 jabbot Limbic_Region: nothingmuch was seen 1 hours 9 minutes 55 seconds ago
19:34 Limbic_Region nothingmuch ping
19:34 Arathorn should mandel.p6 work with the parrot backend?
19:34 nothingmuch Limbic_Region: semi pong
19:36 Limbic_Region oh - just a short note to say that I am abandonging the yaml project - and everything Pugs related until further notice
19:36 Limbic_Region sorry to bail
19:36 Limbic_Region personal life has driven everything else to the back seat
19:36 Arathorn :/
19:36 Arathorn (pugs -Bparrot -e 'say "hello world"' -> Null PMC access in get_string() current instr.: 'EVAL_1' pc 10 (EVAL_1:7) is presumably a stupid mistake on my behalf somewhere?)
19:37 Arathorn (brb)
19:37 svnbot6 r5680, kolibrie++ | check for libperl.so when PUGS_EMBED contains perl5 (Debian only for now)
19:37 iblech Arathorn: IIRC yes. But it's probably not Pugs' fault, but Parrot's
19:39 * Aankhen`` goes to sleep.
19:39 Aankhen`` G'night.
19:39 Aankhen`` has quit IRC ("I'm watching you. Yes, you. I saw that! You are SO gonna pay. [Time wasted online: 2hrs 59mins 35secs]")
19:39 iblech Night :)
19:42 gazouli has quit IRC ()
19:42 svnbot6 r5681, philcrow++ | Added defaults.t to point out a namespace problem with default Code
19:42 svnbot6 r5681, philcrow++ | parameters.  When called from other packages, default code params must
19:42 svnbot6 r5681, philcrow++ | be fully qualified with package names.
19:45 nothingmuch Limbic_Region: oh my!
19:46 nothingmuch Limbic_Region: i hope whatever it is it's not causing you too much trouble
19:46 nothingmuch to follow your metaphore, when I'm no longer driving 200mph at work I'll do the YAML thing
19:47 Limbic_Region for me, stress manifests itself in physical ailments and ATM - I need to cut out whatever sources I can
19:48 Yaakov has joined #perl6
19:49 * Khisanth points at Yaakov
19:53 svnbot6 r5682, iblech++ | * Usual svn props.
19:53 svnbot6 r5682, iblech++ | * PIL2JS: Beginning of support for named parameters (not finished yet).
19:53 * iblech goes to sleep, too
19:53 iblech Night all :)
19:53 stevan nite iblech
19:53 iblech has quit IRC ("sleep &")
19:59 stevan nothingmuch: ping
20:04 Darren_Duncan has joined #perl6
20:04 Khisanth hmm
20:04 Khisanth Limbic_Region: what have you been trying to do with YAML?
20:08 jdv79 I couldn't get it to work in p5 y'day so good luck!
20:09 eric256 shouldn't objects defined in the main file have access to all subs defined in the main file?
20:09 PerlJam eric256: all those within the same scope, sure.
20:11 eric256 i'm having issues with wizard.p6 not being able to find a multi sub delcared earlier...realy wish the error message would show the signature it is looking for in a sub...that would make life easier cannont find "&prompt($,@)" or something
20:12 Yaakov has quit IRC (Read error: 104 (Connection reset by peer))
20:12 Yaakov has joined #perl6
20:13 * eric256 beggins to boil it down to reproduce.. fun
20:13 svnbot6 r5683, eric256++ | wizard.p6 almost working agian
20:15 eric256 well that was quick and easy.
20:16 eric256 ?eval sub test () { "PASSED"}; class Foo { method testing { test() } };  Foo.new.testing;
20:16 evalbot6 Error: No compatible subroutine found: "&test"
20:16 eric256 bug or feature?
20:20 * eric256 reflects that is probably not the best thing to do anyway....but that doesn't mean this behaviour isn't a bug..
20:21 eric256 seems like the class scope is too tight, but then maybe methods in a class shouldn't be able to call functions from main.....guess i'll see what i can find in the S* documents
20:22 dudley has quit IRC (Read error: 110 (Connection timed out))
20:25 Limbic_Region has quit IRC ("tiuq\")
20:27 sapper has joined #perl6
20:40 nothingmuch stevan: pong
20:41 svnbot6 r5684, fglock++ | t/span-code.t passes all tests, but emits some warnings
20:45 elmex has quit IRC ("n8")
20:52 stevan nothingmuch: pong back
21:08 osfameron has joined #perl6
21:08 svnbot6 r5685, fglock++ | updated TODO
21:14 kolibrie has quit IRC ("leaving")
21:15 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
21:18 sili has joined #perl6
21:24 mja has quit IRC ("BitchX Official FTP Site -- ftp://ftp.bitchx.org/")
21:24 svnbot6 r5686, Stevan++ | Perl6::MetaModel -
21:24 svnbot6 r5686, Stevan++ | * BUILDALL and DESTORYALL are now implemented with WALKMETH
21:24 svnbot6 r5686, Stevan++ |   and so take advantage of the new C3 dispatch order. This
21:24 svnbot6 r5686, Stevan++ |   means that a given DESTROY will not execute twice with
21:24 svnbot6 r5686, Stevan++ |   diamond inheritance.
21:24 svnbot6 r5686, Stevan++ |     - tests for this added too
21:25 gazouli has joined #perl6
21:27 alinbsp has quit IRC (Remote closed the connection)
21:30 nothingmuch stevan: ping pong moose
21:30 brentdax If a try {} block dies, is there a way to see what file and line number it died at?
21:30 nothingmuch actually no, i'm headed home
21:30 Amnesiac_ has joined #perl6
21:30 nothingmuch 0:30 instead of 3:30 this time... Woohoo!
21:30 mugwump brentdax: I'd guess there would be a property on $!
21:31 tehpwn word son
21:31 brentdax Is there some way to see which properties have ben set on a value, then?  Or is that still in the works?
21:31 brentdax *been
21:33 brentdax (wow, Parrot's a mess right now.)
21:33 mugwump I don't know, I guess it might be in A12, or maybe "each" should work
21:36 mugwump again it is a small case of the "visitor pattern"
21:36 svnbot6 r5687, fglock++ | added myself to the list
21:37 mugwump So the answer guaranteed to work is, look at the meta object
21:37 mugwump guaranteed to work eventually, that is
21:38 brentdax Eventually isn't quite soon enough for me, I'm afraid.
21:42 gazouli has quit IRC ()
21:45 mugwump sadly it looks like $! is currently a scalar only ...
21:49 sapper has quit IRC ("Leaving")
21:49 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
21:49 Darren_Duncan yes, that's sad ... I need it to be able to store an object reference
21:49 Darren_Duncan as Perl 5.006+ can
21:50 mugwump (as found by looking for various findSymRef "$!" / writeRef statements in Pugs source
21:50 brentdax Guess I'll leave the try {} in the supervisor loop commented out, then.
21:51 trigger has joined #perl6
21:52 trigger Hey, what's the official word on perl 6. Is it possible it will go into production next year?
21:52 trigger jeezus. Pugs? Is that for realz?
21:53 trigger Haskell?
21:53 kungfuftr trigger: it'll be done by christmas
21:53 jdv79 haha
21:53 * mugwump thwaps kungfuftr
21:53 tehpwn trigger: more like 5 years from now
21:53 dudley has joined #perl6
21:53 mugwump yes, he didn't say _which_ Christmas ;)
21:53 * tehpwn chuckles
21:53 trigger LOL
21:54 tehpwn the CHristmas of 2010
21:54 trigger no, really
21:54 trigger oh ok
21:54 trigger is haskell like lispy?
21:54 tehpwn no
21:54 tehpwn yes
21:54 tehpwn but no
21:54 tehpwn it's harder than lisp
21:54 trigger functional, so yes, but totally different syntax (O
21:54 tehpwn haskell is declaritive
21:54 trigger I'm guessin?)
21:54 trigger ohhhhh
21:54 jdv79 where's that timeline autrijus made?
21:54 trigger deCLARative
21:54 jdv79 show him that
21:54 tehpwn or "functional"
21:55 trigger phew I got that right
21:55 tehpwn indeed
21:55 trigger there's a 'timeline'?
21:55 tehpwn haskell is like reading abstract algebra
21:55 trigger tehpwn: wow that sounds fun
21:55 * tehpwn is also curious of this "timeline" you speak of
21:55 jdv79 trigger, http://svn.perl.org/perl6/pug​s/trunk/docs/01Overview.html
21:56 Amnesiac_ is now known as Amnesiac
21:56 tehpwn jdv79: type it to me too!
21:56 tehpwn jdv79: the link won't work unless you do
21:56 trigger jdv79: http://svn.perl.org/perl6/pug​s/trunk/docs/01Overview.html
21:56 jdv79 i'm trying to find it
21:56 tehpwn lol
21:57 jdv79 trigger, ?
21:57 trigger I thought you wanted somone to type the link to you
21:57 jdv79 i didn't say that
21:57 jdv79 ?
21:57 tehpwn jdv79: that's not a timeline dongface
21:57 jdv79 yeah, no way dude
21:57 trigger ooops, yeah that's no timeline donger
21:57 jdv79 i DIDN"T FIND IT YET:)
21:58 tehpwn ohhh
21:58 iblechbot has quit IRC (Success)
21:58 trigger http://www.google.com/search?q=perl6+timeline    ain't got doodley
21:59 trigger ahh, here http://bulknews.net/lib/tmp/perl6.log Damian predicts it will be released January 2004.
21:59 eric256 lol
21:59 Khisanth "will"
22:00 eric256 sure. the plan was to spend twenty years programming it, by then time travel will be invented and we'll send it back in time to jan 2004.. see no sweat we have all the time in the world
22:00 jdv79 http://perlcabal.org/~autrijus/perl6-timeline.png
22:00 trigger ok then. Thank you gentlemen and gentlewomen.
22:01 trigger jdv sweet thx
22:01 tehpwn are there enough people working on that Parrot whatchyamathingy?
22:01 jdv79 NO
22:01 mugwump Actually in the Conway universe, it's already released.  He's actually a pandimensional being who will appear inconsistently in your local idea of spacetime.
22:01 trigger I'm not even sure people are even really stoked on the parrot thing anymore
22:01 trigger 'People"
22:01 tehpwn stoked or not it seems like a good idea
22:01 trigger I thought so.
22:01 mr_ank and in Bizarro world, tehpwn is the main developer!
22:01 trigger But I'm not writin' perl6
22:01 mugwump trigger: don't confuse the language Perl 6 with the runtime Parrot with the compiler pugs
22:01 tehpwn mr_ank: tEh trUth
22:02 trigger mug: no, I don't
22:02 mugwump Bizarro!  Bizarro!  Bizarro!
22:02 tehpwn Parrot needs to be done first right? Then Perl6?
22:02 trigger that was the original plan
22:02 tehpwn well if it's gonna be that kind of party I'm sticking my dick in the mash potatoes
22:02 eric256 since pugs runs Perl6 code right now i don't think you could claim that any more
22:03 mr_ank tehpwn: dont look for an excuse you were goona do it anyway
22:03 jdv79 parrot is only loosely coupled to perl6
22:03 tehpwn mr_ank: damnit how'dyou know?!
22:03 mr_ank tehpwn: i know you -- from slashdot? Anonymous Coward?
22:03 tehpwn well someone needs to finish that shit right now so I can have real honst OO up in this piece
22:04 tehpwn mr_ank: dude your totally pwning me!!
22:04 trigger so is perl6 on haskell like a serious idea, or just for development? Is it comparable in speed to parrot?
22:04 * tehpwn can't stop teh pwnage seeping out of mr_ank
22:04 jdv79 AFAIK its much slower than p5 at the moment
22:05 mugwump trigger: well, what started as a proof of concept to test the language is fast developing into a compiler that can target multiple back-ends
22:05 tehpwn i would think it will always be much slower
22:05 jdv79 not on parrot hopefully
22:05 tehpwn anyway when you lazy bastards finish writing teh Real Perl6 for me let me know so I can start benefiting from your work
22:06 trigger you tell them tehpwn
22:06 jdv79 slow or not its just damn cool that p6 can run atop js:)
22:06 mugwump for instance, pugs can compile to parrot's IMC or PASM, a new language called PIL, Various Template Haskell back-ends including C, heck some crazy bugger even got it working on ... js
22:06 trigger js=javascript?
22:06 jdv79 jah
22:07 tehpwn buh?
22:07 trigger bfwah?
22:07 tehpwn haskell != js
22:07 * mugwump recommends /ignore tehpwn
22:07 tehpwn at least last time i smelt
22:07 jdv79 sounds good mugwump
22:07 tehpwn mugwump: it didn't work
22:08 tehpwn c'mon I'm bored entertain me!
22:08 tehpwn find i get the idea
22:08 mugwump Oh, did I forget to mention the Perl 6 to Perl 5 compiling?  :)
22:08 tehpwn i'll retract all my commits
22:08 tehpwn has left "teh part"
22:09 trigger perl6 to perl5 sounds fucking brilliant. I love haskell in the middle.
22:09 trigger no, really
22:09 * eric256 scratches his head, tilts it to the side.......and then slowly sinkins into a deep fog
22:10 jdv79 too bad firefox keeps asking me if i want to kill the slow js script when i run the mandel script:)
22:10 mugwump do you have a url demo for that jdv79 ?
22:11 jdv79 http://m19s28.vlinux.de/iblech/stuff​/not_perm/pil2js-demo/mandel.p6.html
22:11 jdv79 its in the comments on autrijus's latest journal entry
22:12 mugwump maybe that backend could use some timeslicing or something
22:12 Limbic_Region has joined #perl6
22:12 jdv79 i'm not sure what leo  means in his comment though
22:14 justatheory has quit IRC ()
22:15 trigger so does perl6 have those 200 wacky operators and everything?
22:15 wilx Yup, and more :)
22:15 jdv79 trigger, http://dev.perl.org/perl6/
22:16 mugwump trigger: well, for instance, there is an assignment operator and an add operator.  but combine them, and you have +=.  Is that a third operator or a combination?
22:16 trigger so, all these are in? [[periodic table of perl operators : http://www.acc.umu.se/~maswan/PeriodicTable.pdf ]]
22:17 mugwump the table is old, see S03 in the Perl6::Bible for a more up to date list
22:18 trigger perl6:bible bzwah?
22:18 trigger reading.
22:19 trigger holy fucking shit
22:19 trigger oops pardon the french
22:21 trigger so is perl6 going to make anything cleaner?
22:21 mugwump sadly, that's still up to the programmer
22:21 trigger lol
22:21 mugwump but the tools are sharper ;)
22:24 osfameron has quit IRC (Read error: 110 (Connection timed out))
22:28 jdv79 timeslicing could be cool on the js backend - its killing my browser with no output:(
22:29 Khisanth I get output, still killing it though
22:30 jdv79 huh, FF?
22:30 Khisanth no moz 1.7.six
22:30 Khisanth let see FF ..
22:30 mja has joined #perl6
22:30 jdv79 and i thought this box was fast but p6 on js - WOW
22:32 jdv79 this may take 10 minutes:)
22:32 PerlJam has quit IRC ("Lost terminal")
22:32 Khisanth hmm the JS version is even slower than the Haskell version
22:33 jdv79 no doubt about that
22:33 eric256 what a shock
22:33 eric256 lol
22:34 jdv79 took about 8 minutes here
22:35 Khisanth as opposed to less than a second for .p5 :)
22:35 jdv79 there's room for improvement;)
22:35 jdv79 be cool to profile that out
22:37 Khisanth your FF doesn't give you 1 line of output every time that dialog popups up?
22:38 justatheory has joined #perl6
22:38 jdv79 i set the dialog timer to 5 minutes
22:38 jdv79 max_script_run_time or something
22:38 jdv79 in about:config
22:38 jdv79 search for script and you'll see it
22:39 mugwump Hmm, I set it to 300 but still getting the dialog
22:39 jdv79 probably just be better to get parrot embedded into the browsers - i'm going to assume IE wouldn't allow that
22:39 jdv79 you have to restart FF:(
22:47 cm has joined #perl6
22:50 larsen has quit IRC ("later")
23:03 eric256 has left
23:06 Limbic_Region has quit IRC ()
23:11 meppl has joined #perl6
23:19 joepurl has joined #perl6
23:25 joepurl_ has joined #perl6
23:41 putter has quit IRC ("Leaving")
23:45 jhorwitz has joined #perl6
23:46 justatheory has quit IRC (Read error: 60 (Operation timed out))
23:47 trigger has quit IRC ()

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

Perl 6 | Reference Documentation | Rakudo