Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-01-23

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:05 putter lambdabot: ?tell audreyt How hard would it be to write an oo ast spec?  gaal mentioned there were some parts he was unclear on.  With a spec, we could start writing p6 code for it, and emitters, perhaps exercised by a PIL1->oo-ast converter.
00:05 lambdabot Consider it noted.
00:07 putter luqui: what kind of data structure bugs?  can it be characterized at all?
00:07 TimToady my impressions is that the transation to Capture/Signature objects is perhaps not complete.
00:07 TimToady I could be wrong though.
00:07 TimToady *transition
00:08 TimToady and Match objects are a form of Capture
00:08 putter ah
00:09 TimToady there may also be a dependency through binding semantics back as far as MMD design
00:09 TimToady but that would mostly relate to Signatures, I think.
00:10 TimToady wouldn't relate to Match objects till you start trying to use them to dispatch via MMD
00:10 TimToady but I'm sure luqui has seen much more of the innards than I have.
00:10 TimToady I'm mostly just guessing
00:14 putter one thing I wonder whether I haven't thought clearly about in the past is the distinction between implementing things in p6 "for pugs", versus on p6 "on pugs".  The latter potentially being much easier, because one isn't so tightly coupled to the vagaries of pugs.
00:15 putter s/versus on/versus in/
00:17 putter "on pugs" is like "on mp6", but with pugs rather than mp6.  if pugs match objects are odd, or you can't hook into pugs's regexp handling, well, that's not the objective.  there just has to be some usable subdialect of pugs which is firm enough to build on.
00:17 luqui putter, one of the bugs popped up in examples/nfa2dfa.pl
00:17 putter looking...
00:17 luqui there's a comment in the first function describing the wierdness
00:18 luqui (and I looked at Set.pm--there's no bug there)
00:20 luqui the following pattern comes up a lot:
00:20 luqui return ..some..expression.. # not work
00:20 luqui my $x = ..some..expression..
00:20 luqui return $x  # work
00:20 putter "it's not true that 2 == 2 anymore"?!?  yipes
00:21 luqui i.e. if I get a 2 out of the set, then it's not equal to 2 from somewhere else
00:21 putter right
00:21 putter :/
00:22 luqui when I write my next perl 6 program I will covert the bugs into tests
00:22 luqui *converrt
00:22 luqui *convert :-)
00:22 putter t/xx-uncategorized is the current version of t/pugsbugs?
00:23 * luqui guesses so
00:23 * putter was just about to ask whether tests had been created... :)
00:24 luqui my new type inference algorithm will be a good test
00:24 luqui it is data structure intensive
00:24 luqui (of course)
00:24 putter ")
00:27 putter since everyone has p5 regex implementations (albeit often non-reentrant and can't embed code), i was musing about having a general bootstrap path of basic-p5 -> wrap in continuation passing style subs to get reentrant, embedded code, and <rule>s -> build p6 syntax regex on that
00:29 luqui are you talking about the Perl6::Rules path?
00:29 luqui or not/
00:29 luqui ?
00:29 luqui no, I don't think you are.
00:30 putter js, ruby, python, etc,  p5.  p6/pugs.
00:30 luqui so I don't know what you're talking about then :-)
00:30 putter looking at P6R...
00:30 luqui converts p6 rule syntax into p5 rules with embedded code
00:30 luqui failed because embedded code is buggy in p5
00:31 putter "buggy"?  or merely non-reentrant?
00:32 putter but, no (re "P6R path?").  p6r, because it wanted to be "in p5" rather than "on p5", had to get down and dirty with the details of the existing re, match, etc.
00:32 putter I'm thinking more like a generalization of...
00:33 rashakil joined perl6
00:34 putter misc/pX/Common/Regexp-Parser-ReentrantEngine
00:39 putter the underlying p5 engine is not used for embedded code or repetition.  so its not entirely clear its worth keeping around.  but it saves worrying about unicode and similar headaches.
00:40 putter s/not entirely clear/entirely clear/ # <- avoid unicode headaches
00:43 * putter tries to remember if pcre is reentrant (it has callbacks)
00:44 justatheory joined perl6
00:52 rashakil_ joined perl6
00:54 rashakil__ joined perl6
01:03 CardinalNumber joined perl6
01:07 lyokato joined perl6
01:27 svnbot6 r15131 | lwall++ | Made map return a multislice.
01:27 rashakil_ joined perl6
01:27 TimToady well, only spec'ed it, actually...
02:14 bonesss joined perl6
02:38 bones joined perl6
02:40 bsb Is the Huffman coding of the new |, || and &, && backwards?
02:40 bsb and does it matter?
02:44 dmq joined perl6
02:47 TimToady maybe, and probably not.  :)
02:47 TimToady I don't see any way to buck the C short-circuit metaphor for || and &&
02:48 bsb thought that might be the raisin
02:48 TimToady and if we reversed them there we'd have to reverse junctionals and short circuits too
02:48 TimToady and in a sense the || and && are "fancier"
02:48 TimToady more dangerous maybe
02:49 TimToady | and & are, in theory, simpler concepts, and symmetrical
02:49 TimToady and the hope is that people won't notice the change most of the time, and just use | and & anyway.
02:51 TimToady decommuting &
02:59 Aankh|Clone joined perl6
03:08 CardinalNumber is now known as ProperNoun
03:10 weinig is now known as weinig|zZz
03:13 justatheory joined perl6
03:18 nperez joined perl6
03:31 nipra joined perl6
03:38 mako132 joined perl6
03:54 reZo joined perl6
03:54 Aankh|Clone is now known as Aankhen``
04:04 svnbot6 r15132 | putter++ | Moved misc/pX/Common/Regexp-Parser-ConvertToSix to perl5/Regexp-Parser-ConvertToSix.  My impression is it is working and stable.
04:14 leed joined perl6
04:31 justatheory joined perl6
04:33 Debolaz2 joined perl6
04:35 justatheory joined perl6
05:24 nipra joined perl6
05:28 kanru joined perl6
06:14 BooK joined perl6
06:37 fandang0 joined perl6
06:38 spo0nman joined perl6
07:10 nipra joined perl6
07:18 marmic joined perl6
07:42 CardinalNumber joined perl6
07:46 iblechbot joined perl6
08:04 devogon joined perl6
08:33 elmex joined perl6
08:46 luqui joined perl6
08:49 dfaure joined perl6
08:50 drrho joined perl6
09:03 nipra joined perl6
09:04 TimToady joined perl6
09:07 szymzet joined perl6
09:12 szymzet Hi, where can I find any information about perl6 (parrot) development, because I'd like to help somehow.
09:13 fandang0 szymzet: http://www.perl.org/perl6
09:13 lambdabot Title: Perl 6 - perl6
09:16 szymzet Well I can't find any concrete information
09:19 fandang0 i belive communication is done through diff. mailing lists, you can find list of those under http://dev.perl.org/perl6/lists/
09:19 lambdabot Title: Mailing Lists - perl6
09:30 andara joined perl6
09:39 ruoso joined perl6
09:51 fandang0 hm.. download link on http://www.parrotcode.org/ pointing to http://search.cpan.org/~particle/parrot-0.4.8/ is broken
09:51 lambdabot Title: Parrot Virtual Machine - parrotcode
09:51 fandang0 url parrot
09:51 fandang0 download Parrot
09:54 broquaint http://search.cpan.org/~particle/parrot-0.4.8b/
09:54 lambdabot Title: particle / parrot-0.4.8b - search.cpan.org
09:57 fandang0 is there any consolidated downloadable document for perl6 language changes.
09:57 fandang0 ?
09:59 broquaint The Synopses are updated regularly: http://dev.perl.org/perl6/doc/synopsis.html
09:59 lambdabot Title: Synopses - perl6
10:20 fglock joined perl6
10:24 fglock putter: we seem to be at complementary timezones
10:24 lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
10:26 fglock putter: tomorrow is my last day online
10:45 VanilleBert joined perl6
10:51 penk joined perl6
10:56 penk joined perl6
11:03 svnbot6 r15133 | fglock++ | kp6 - answer a FAQ
11:13 penk joined perl6
11:19 b00t joined perl6
11:20 fandang0 while trying to run parrot,getting the following error:  error while loading shared libraries: libparrot.so.0.4.8:
11:20 fandang0 parrot has been installed in /home/user directory
11:21 broquaint Try the #parrot channel on irc.perl.org, fandang0.
11:22 fandang0 ok, thanx
11:29 dduncan left perl6
11:30 penk joined perl6
11:33 spo0nman joined perl6
11:40 Ziggy6 joined perl6
12:03 TimToady joined perl6
12:04 penk left perl6
12:18 VanilleBert to write a test i use     ok(CONDITION, TEXT)    , right?  just asking cause its my first test i write
12:19 broquaint Yeah, that should do.
12:20 theorbtwo VanilleBert: You can, but it's generally better to write is(COMPUTATION, EXPECTED, TEXT) -- you get nicer-looking errors.
12:24 VanilleBert ?eval is.signature
12:24 evalbot_r15122 is now known as evalbot_r15133
12:24 evalbot_r15133 Error: No compatible subroutine found: "&is"
12:24 VanilleBert ?eval &is.signature
12:24 evalbot_r15133 CCall "perl" CaptMeth {c_invocant = VPure (SigSubSingle {s_requiredPositionalCount = 0, s_requiredNames = fromList [], s_positionalList = [], s_namedSet = fromList [], s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHash = Nothing, s_slurpyCode = Nothing, s_slurpyCapture = Nothing}), c_feeds = [MkFeed {f_positionals = [], f_nameds = fromList []}]}
12:25 theorbtwo VanilleBert: IIRC, you have to use Test first, or somesuch.
12:26 VanilleBert k
12:31 lambdabot joined perl6
12:31 bones joined perl6
12:33 svnbot6 r15134 | fglock++ | kp6 - rollback unfinished changes to kp6-perl5.pl, so that it's usable again
12:33 svnbot6 r15134 | fglock++ | - add kp6-perl5.pl usage to FAQ
12:35 bones is now known as bonesss
12:37 nothingmuch audreyt: i can't delete the RT spam in Perl6-Pugs -- does RT respect comaint?
12:37 nothingmuch oh wait, now I can
12:37 nothingmuch very odd
12:44 VanilleBert left perl6
12:44 hexmode joined perl6
12:58 svnbot6 r15135 | fglock++ | kp6 - added 'See Also' to FAQ - www.cis.uab.edu/gray/Pubs/sac-2005-carl.pdf
12:58 svnbot6 r15135 | fglock++ |   - Compares the visitor pattern used by kp6 with other approaches
13:15 Limbic_Region joined perl6
13:32 ezraburgh joined perl6
13:36 gnuvince joined perl6
13:36 avar ?eval 1
13:36 evalbot_r15133 is now known as evalbot_r15135
13:36 evalbot_r15135 1
13:42 andara joined perl6
13:47 weinig|zZz is now known as weinig|bbl
13:48 Limbic_Region ?eval atan(1, 1) * 4
13:48 evalbot_r15135 3.141592653589793
13:48 Limbic_Region curios - what happened to the infinite precision?
13:49 masak Limbic_Region: it probably doesn't concern floats, only integers
13:50 masak ?eval my $recursive = '$recursive.eval()'; $recursive.eval()
13:50 Limbic_Region *shrug* I can't speel either
13:50 evalbot_r15135 (no output)
13:50 masak evalbot_r15135: that's probably wise of you
13:53 xinming joined perl6
14:07 * smash_ good afternoon
14:20 cdfh_ joined perl6
14:21 iblechbot joined perl6
14:26 vel joined perl6
14:40 fglock joined perl6
14:44 Psyche^ joined perl6
14:49 chris2 joined perl6
14:58 svnbot6 r15136 | fglock++ | kp6 - FAQ - What is the plan for kp6?
15:01 Psyche^ is now known as Patterner
15:01 avar joined perl6
15:02 buetow joined perl6
15:19 bonesss joined perl6
15:22 ofer1 joined perl6
15:24 pbuetow joined perl6
15:50 svnbot6 r15137 | fglock++ | kp6 - FAQ on backends
15:58 VanilleBert joined perl6
16:14 weinig|bbl is now known as weinig
16:28 fglock I sent a "Bootstrapping Perl 6" talk to http://fisl.softwarelivre.org/8.0/www/
16:28 lambdabot Title: 8th International Free Software Forum | 12, 13 e 14 de Abril de 2007
16:33 mako132 joined perl6
16:34 nipra joined perl6
16:47 svnbot6 r15138 | fglock++ | kp6 FAQ - added Overview
16:53 vel joined perl6
17:03 kolibrie fglock: I thought you were at the beach (but I'm glad you're documenting!)
17:03 Ziggy6 fglock: i was thinking about writing a new parser for mp6
17:06 Ziggy6 but i want it to have better performance. do you think a table based non-recursive top-down parser would work?
17:08 Ziggy6 something like http://lambda.uta.edu/cse5317/notes/node15.html
17:08 lambdabot Title: 3.2.2 Predictive Parsing Using Tables
17:14 fglock Ziggy6: I think it can easily be optimized at the emitter side, by making $/ special
17:15 fglock Ziggy6: looking at the link...
17:15 fglock Ziggy6: but the place to concentrate new work is in kp6, 6-on-6, and backends
17:16 fglock and libs
17:16 fglock and tests, and docs
17:17 Ziggy6 yes, but i can't wait 2 minutes to regenerate lib5
17:17 Ziggy6 i like my compilers fast :P
17:17 fglock hmm - Should p6 regexes eliminate left-recursion automatically?
17:17 fglock Ziggy6: no problem then - just do it :)
17:19 Ziggy6 how does kp6 handle left-recursion?
17:19 fglock Ziggy6: re parser: in the case you want to change the algorithm, you can write a new emitter for the regex compiler
17:19 fglock Ziggy6: it doesn't do it automatically
17:20 fglock Ziggy6: re beach: I'll stay until tomorrow
17:21 kolibrie fglock: that was a very short month :)
17:22 fglock kolibrie: yes - I had to move vacations in order to make a presentation on $job - I'll come back after carnival
17:24 BooK joined perl6
17:25 [particle] fglock: will kp6 have assignment?
17:25 [particle] or references?
17:26 Ziggy6 faq says it will hava assignment
17:26 falesca joined perl6
17:26 fglock [particle]: yes
17:26 [particle] Ziggy6: thx, hadn't gotten that far yet :)
17:26 fglock Ziggy6: if you want to make experiences, feel free to add v6-MiniPerl6-Ziggy/
17:28 nipra joined perl6
17:29 Ziggy6 fglock: that's what i was thinking too :)
17:31 fglock misc/pX/ is another possible place for experiments
17:34 Ziggy6 fglock: i will probably commit the whole thing when it's good enough to replace v6-MiniPerl6 or nothing at all
17:39 miyagawa joined perl6
17:46 VanilleBert left perl6
17:50 __Ace__ joined perl6
17:52 andara left perl6
17:54 justatheory joined perl6
17:58 _bernhard joined perl6
18:16 xinming joined perl6
18:34 ekelund joined perl6
18:36 TimToady I'm wondering if what we're calling a multislice is really a CoC, Capture of Capture.
18:39 TimToady maybe it's just a List of Capture
18:40 TimToady if each iteration of map() returns a capture, then you just stuff that into the multislice as the next slice without any extra processing.
18:41 TimToady the actual flattening or not happens at bind time.
18:41 TimToady (trying to convince myself that changing the autoflattening of map to multislice generation is not a big efficiency hit.)
18:43 TimToady I think we've now unified map and for such that for can simply be desugered to the equivalent map
18:47 TimToady I'm tired of hearing people whine about use of map in void context...
18:54 TimToady it's like there's this logic diagram that people insist on turning from inclusive or to exclusive.
18:54 TimToady just because the compiler might whine about "useless use of pure code in void context"
18:55 fglock is there any implication on 'for' being expected to not parallelize, while map can run in any order?
18:55 [particle] i thought that whining largely went away in 5.6
18:55 TimToady they think they ought to be able to whine about "useful use of code in void context"
18:55 [particle] when the performance bug was resolved
18:56 TimToady fglock: map and for make no promises about parallelizability
18:57 [particle] i'd rather they promise not to be parallelizable
18:57 [particle] leave that to hypers
18:57 [particle] can you hyperize map?
18:58 TimToady maybe with a hypermap variant if needed
18:58 TimToady .>>.map: {...}
18:58 [particle] unless there's already a construct that does that
18:58 TimToady see above
18:59 TimToady course, that recurses
18:59 [particle] is recursion default behavior of hyper?
18:59 TimToady yes
19:00 TimToady so we do seem to be missing something
19:00 TimToady since the answer we gave yesterday to "how do I do it flat?" was to use map...
19:00 fglock >>::  - ratchet hyper
19:02 [particle] can you break down .>>.map for me? it looks like the arrows are the wrong way
19:02 TimToady .any.map almost does it
19:02 TimToady .map is a postfix
19:02 TimToady @foo>>++
19:02 lambdabot Unknown command, try @list
19:03 [particle] is .<<.map ... any different?
19:03 TimToady currently not allowed; we only have reversible <<>> on infix hypers
19:03 TimToady to indicate which side to amplify
19:04 [particle] i see -<< (1,2,3) in S03
19:04 TimToady ?eval -<< (1,2,3)
19:04 evalbot_r15135 is now known as evalbot_r15138
19:04 evalbot_r15138 (-1, -2, -3)
19:05 TimToady ?eval -<< (1,(2,4),3)
19:05 evalbot_r15138 (-1, -2, -4, -3)
19:05 TimToady ?eval -<< (1,[2,4],3)
19:05 evalbot_r15138 (-1, (-2, -4), -3)
19:07 [particle] ok, i see the part i need now: When using a unary operator, you always aim the blunt end at the single operand, because no dwimmery ever happens ... Note that method calls are really postfix operators, not infix, so you shouldn't put a « after the dot.
19:08 __Ace__ oh, TimToady did you get my email?
19:08 TimToady yes, was thinking about it and forgot to reply...
19:09 __Ace__ quite busy man eh?
19:09 TimToady happens to me frequently
19:09 __Ace__ bet it does
19:09 __Ace__ alot of spam and idiots aswell..
19:09 SamB well I don't imagine he spends much time thinking about the spam
19:09 __Ace__ hehe
19:10 TimToady don't even think about it long enough to delete it
19:10 TimToady just let it flow past
19:10 SamB TimToady: that *is* a problem
19:10 TimToady eventually I get a bigger disk drive
19:10 SamB well, how do you read your inbox if every other thing in it is spam?
19:10 __Ace__ you save the spam?
19:10 TimToady the spam I see is a small subset of the spam I am sent.
19:10 SamB point
19:10 TimToady every other thing would be neat
19:11 TimToady more like 1 message in 100 isn't spam, and that's post spamassassin
19:11 __Ace__ you gonna respond now then or? :)
19:11 awwaiid and 1gig storage is less than a cheap soda
19:11 awwaiid think of that next time you count your change for a coke
19:12 TimToady I've been trying not to travel much lately, after wearing myself out last year.
19:12 __Ace__ ah
19:13 __Ace__ what price on some talk about Perl6 then?
19:14 TimToady I don't do prices.
19:14 __Ace__ heh
19:15 TimToady who was it said a good functional programmer knows the value of everything but the price of nothing?
19:16 __Ace__ that was me
19:16 __Ace__ ;)
19:16 SamB __Ace__: *really*?
19:16 __Ace__ nah
19:16 mdiep joined perl6
19:18 __Ace__ hard to put prices on knowledge eh?
19:19 __Ace__ $1 per line of code
19:19 SamB it is a pun
19:44 hexmode` joined perl6
19:47 beppu TimToady, re: spam -- look into greylisting if you haven't already.  I've found it to be a great anti-spam technique.
20:02 BooK joined perl6
20:07 elmex_ joined perl6
20:07 weinig is now known as weinig|food
20:14 bonesss joined perl6
20:22 jrigby joined perl6
20:24 szabgab joined perl6
20:25 szabgab ?eval split "(", "ab(cd"
20:25 evalbot_r15138 ("ab", "cd")
20:27 szabgab when split gets a "string" as the separator, does it now use it as a plain string (as above) or should it still use it as regex as in P5?
20:27 szabgab I could not find this in the synopsis
20:34 TimToady see doc for split in pugs/docs/Perl6/Spec/Functions.pod
20:34 TimToady (answer: a plain string is never interpreted as a regex)
20:36 SamB joined perl6
20:37 TimToady now I wonder if split and comb should also be returning multislices.
20:38 TimToady "Do you want smooth or chunky?"
20:38 ekelund_ joined perl6
20:38 [particle] mmm chunky.
20:41 nipra joined perl6
20:42 szabgab heh ? what smooth and chunky?
20:43 ProperNoun joined perl6
20:43 szabgab and thanks for the link to the perldoc, I thought I should only look at the synopsis
20:44 szabgab and if I was doing that I could have found the link to this pod file ...
20:46 larsen_ joined perl6
20:54 TimToady szabgab: er, sorry, an oblique reference to styles of peanut butter in the U.S.
20:57 polettix joined perl6
20:58 TimToady @tell dduncan by the way, "butter" does originally come from Indo-European for "cow" (see "bous" in Greek for instance) so the butter-like consistency metaphor is derived from that
20:58 lambdabot Consider it noted.
20:58 Odin-LAP joined perl6
21:19 ekelund_ is now known as ekelund
21:26 Ziggy6 left perl6
21:28 weinig|food is now known as weinig
21:29 Ziggy6 joined perl6
21:46 TimToady joined perl6
21:47 TimToady join cbstream
21:49 larsen__ joined perl6
21:56 larsen___ joined perl6
22:16 cdfh joined perl6
22:29 dduncan joined perl6
22:32 Aankhen`` joined perl6
23:01 polettix joined perl6
23:12 SamB is now known as Java
23:12 Java is now known as SamB
23:13 Psyche^ joined perl6
23:27 Psyche^ is now known as Patterner
23:37 ludan joined perl6
23:38 ludan ola
23:39 luqui joined perl6
23:46 awwaiid joined perl6

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

Perl 6 | Reference Documentation | Rakudo