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