Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-10-06

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:00 weinig is now known as weinig|bbl
00:18 MacVince joined perl6
00:21 nekokak joined perl6
01:06 rafl joined perl6
01:06 rafl joined perl6
01:12 TreyHarris lol, i was reading some old perl 6 list archives from over a year ago, and i kept thinking, "wow, the language really has changed in just a year... what is this <at> thing that keeps coming up?"  then i realized that the archive's spam obfuscator was turning every @array into "<at> array"....
01:17 wolverian heh
01:17 SamB eeek, hate that!
01:29 mako132_ joined perl6
01:40 TreyHarris ?eval sort((1|4),(2|3),(3|2))
01:40 evalbot_r13969 is now known as evalbot_r13970
01:40 evalbot_r13970 ((1, (2 | 3), (2 | 3)) | (4, (2 | 3), (2 | 3)))
01:40 TreyHarris is that correct?
01:41 TreyHarris i'm not sure what would be correct, so i'm happy to accept that as correct... :)
01:43 TreyHarris ?eval sort(any(['f','a','b'],[9,8,2,19]))
01:43 evalbot_r13970 ((19, 2, 8, 9))
01:43 TreyHarris that seems rather clearly wrong to me.
01:48 TimToady you gave it a junction for a sort criterion, it would seem.
01:49 TimToady which it ignored and did a string sort.
01:50 TimToady hmm, except both are inside the any.  hmm.
01:52 TimToady junctions are not terribly meaningful in list context anyway.
02:04 dj_goku left perl6
02:27 weinig|bbl is now known as weinig
02:48 svnbot6 r13971 | audreyt++ | * Fix t/xx-uncategorized/pair_in_array.t - A single pair
02:48 svnbot6 r13971 | audreyt++ |   in slurpy context does _not_ flatten into a Seq of two
02:48 svnbot6 r13971 | audreyt++ |   elements after all.
02:48 chip joined perl6
02:48 pmichaud_ joined perl6
02:51 TreyHarris TimToady: I would have expected it to autothread the sort and give me a junction of each list sorted....
02:51 TreyHarris the other one, trying to sort a list of junctions, i'm not unhappy about... i'm just glad it doesn't go into an infinite loop
02:53 weinig is now known as weinig|zZz
02:54 TreyHarris s/each list sorted/each sorted list/
02:55 f0rth joined perl6
03:03 nperez joined perl6
03:18 kcwu joined perl6
03:25 putter joined perl6
03:55 svnbot6 r13972 | fglock++ | v6;v6-emitter - added runtime classes Str, Bool, Int, Num
03:57 dduncan joined perl6
03:58 dduncan I say, that was a lot of commits from someone today ... well done!
04:07 putter fglock: ping?
04:07 svnbot6 r13973 | putter++ | [t/regex/p6regex/p6regex.t]
04:07 svnbot6 r13973 | putter++ | Replaced a junction with a "simpler for v6" hash lookup.
04:07 svnbot6 r13973 | putter++ | The @force_todo list is now correct.
04:07 svnbot6 r13973 | putter++ | The test does NOT pass however...
04:07 svnbot6 r13973 | putter++ | Between tests 39 and 40, $line_count (it's actually a test count) gets incremented twice.  So subsequent force_todo's are out of sync.
04:07 svnbot6 r13973 | putter++ | I don't immediately see how the double increment could be happening.
04:10 putter night &
04:32 clkao i wonder what's this perl5array and array in emitter-perl6-perl5
04:34 clkao and i wonder why i woke up in the middle of the night and wondering about the emitter
05:08 Psyche^ joined perl6
05:15 BooK joined perl6
05:24 Psyche^ is now known as Patterner
05:40 vel joined perl6
05:49 BooK joined perl6
06:10 dduncan left perl6
06:19 rindolf joined perl6
06:19 pasteling "rindolf" at 88.155.15.113 pasted "Why does this Haskell script generates a stack overflow?" (92 lines, 2.8K) at http://sial.org/pbot/20214
06:36 bsb joined perl6
06:40 iblechbot joined perl6
07:06 drrho joined perl6
07:15 zakharyas joined perl6
07:15 kanru joined perl6
07:23 meppl joined perl6
07:59 marmic joined perl6
07:59 buetow joined perl6
08:19 mdiep_ joined perl6
08:38 yts joined perl6
08:44 BooK joined perl6
09:01 pbuetow joined perl6
09:01 pbuetow joined perl6
09:05 bsb left perl6
09:10 ruoso joined perl6
09:15 chris2 joined perl6
09:39 svnbot6 r13974 | audreyt++ | * pairs.t and fmt.t: unTODO them now that pair no longer flatten
09:39 svnbot6 r13974 | audreyt++ |   inside list context.
09:42 svnbot6 r13975 | audreyt++ | * In the interactive shell, ":r" should not reset the environment
09:42 svnbot6 r13975 | audreyt++ |   twice -- once is quite sufficient.
09:46 svnbot6 r13976 | audreyt++ | * Pugs.Prim.List: Remove the commented-out special case for
09:46 svnbot6 r13976 | audreyt++ |   .map and .grep now smoke shows no adverse effects on removing them.
09:47 TreyHarris uh-oh.  what's the magic incantation for kicking pugs' version number when a make clean/make doesn't do it?  i forget...
09:48 TreyHarris i just realized i've now downloaded four different smokes for r13907, only one of which was actually r13907...
09:48 TreyHarris s/downloaded/uploaded/
09:49 svnbot6 r13977 | audreyt++ | * reduce_le1arg.t: Add three tests for [|] [&] [^], and
09:49 svnbot6 r13977 | audreyt++ |   take out the unneccessary eval().
10:04 avarab joined perl6
10:04 svnbot6 r13978 | trey++ | [t/operators/hyper.t]
10:04 svnbot6 r13978 | trey++ | Hyper junction operators are failing.  Is this a regression?
10:04 svnbot6 r13978 | trey++ | Don't know, so made tests :todo<feature>.
10:04 audreyt TreyHarris: rm src/Pugs/Version.hs ?
10:04 lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
10:04 audreyt @messages
10:04 lambdabot gaal said 16h 27m 30s ago: nothingmuch and I are going hiking this weekend, I'll only be available for releng Tue
10:05 TreyHarris audreyt: sounds right, thanks
10:05 audreyt not so sure actually... rm src/pugs_version.h maybe
10:06 TreyHarris i remember it took several tries last time.  i should have put a note somewhere, don't know why i didn't....
10:06 TreyHarris oh, actually i do, i didn't know where to put the note and nobody on the channel at the time knew either :)
10:09 audreyt it should perhaps be fixed :)
10:09 TreyHarris oh.  duh.  what i needed to remove is ./pugs.  so i guess i was smoking r13907 all this time.  wonder why make didn't replace it?  it built everything else...
10:10 audreyt do you have a pugs.new ?
10:10 audreyt I modified build_pugs.pl to do a unlink and then a rename
10:10 audreyt maybe I should've checked unlink's return value
10:11 TreyHarris no, not now, but i already rm'd ./pugs and did a new make, dunno if that would cause the loss of pugs.new
10:12 TreyHarris i did not do any cleans since i noticed that pugs was old though
10:13 audreyt no, it won't. mmm weird
10:14 TreyHarris this is a very new checkout even, like only a week old.
10:14 audreyt er, that's ancient
10:14 audreyt but anyway... did the new make produce a ./pugs ?
10:14 TreyHarris oh, you rm -rf and co from scratch frequently?
10:15 TreyHarris yes, it's smoking now
10:16 andara joined perl6
10:16 TreyHarris 'ancient'?  my ppc checkout is from may, i haven't blown it away and started over once :)  i just update and occassionally make clean
10:16 audreyt ok... er no, I guess I misparsed your sentence is all
10:16 audreyt thought you didn't "svn up" during this week
10:16 TreyHarris ahhh.  no.  but i know that especially on win32 people have seen cruft that gets fixed by started out with a brand new working copy
10:16 TreyHarris s/started/starting/
10:18 TreyHarris audreyt: i should sleep now, but if you'd do me a favor and before you sleep mention any releng tasks that people can work on while you sleep, i'd appreciate it, i may have some time before you awaken :)
10:18 audreyt check the failing tests
10:18 audreyt esp in the ext/ space
10:18 audreyt find out why
10:18 audreyt and fix them or mark them :)
10:18 audreyt that's all :)
10:18 audreyt aka, "triage"
10:19 TreyHarris ok :)  i didn't know how far you'd gotten
10:19 TreyHarris night!
10:19 audreyt nite!
10:20 stennie joined perl6
10:22 loumz joined perl6
10:23 andara hi, is anyone working on the "runpugs" web terminal idea? If not, I'd like to give it a try.
10:24 audreyt please do!
10:24 audreyt afaik no-one is working on that now
10:25 andara OK. Where in the tree should I put the code? util/ ?
10:25 * integral saw someone try a perl5 version of that the other day
10:26 audreyt oh? url?
10:26 audreyt andara: misc/runpugs/ ?
10:26 integral it's not public _yet_, but I shall encourage :-)
10:27 audreyt integral++
10:28 andara I'd better wait a bit then. Mine would be in perl5 too of course :-)
10:29 audreyt er, please don't be blocked :)
10:29 audreyt two implementations is better than one
10:29 audreyt and chances are bits can be reused :)
10:29 kane-xs joined perl6
10:30 audreyt (and unannounced code is as good as nonexistenct imho)
10:30 andara I saw this great Ruby terminal on http://tryruby.hobix.com/, by why the lucky stiff. Thought I might ask to reuse the front-end.
10:30 lambdabot Title: try ruby! (in your browser)
10:30 integral if you want to save lexicals between lines try Devel::EvalContext</plug>
10:37 agentzh joined perl6
10:39 agentzh audreyt: another (baby) talk on XML: http://perlcabal.org/agent​/slides/xmlapp/xmlapp.xul :)
10:39 lambdabot http://tinyurl.com/hh7mx
10:40 loumz joined perl6
10:41 agentzh ciao &
10:41 agentzh left perl6
10:52 svnbot6 r13979 | audreyt++ | * Now Pairs won't autoflatten, adjust .fmt so it can format
10:52 svnbot6 r13979 | audreyt++ |   them correctly. (fmt.t all pass with this commit.)
10:52 svnbot6 r13980 | audreyt++ | * Further inhibition of autoflattening Pairs.
11:13 xinming joined perl6
11:41 audreyt @tell agentzh excellent talk :)
11:41 lambdabot Consider it noted.
11:46 Odin- joined perl6
11:50 stennie joined perl6
11:50 Patterner joined perl6
11:50 SCalimlim joined perl6
11:50 spoop joined perl6
11:50 lollan joined perl6
11:50 kane-xs_ joined perl6
11:50 Teratogen joined perl6
11:50 jabbot joined perl6
11:50 ruz joined perl6
11:50 ajs_home joined perl6
11:56 svnbot6 r13981 | audreyt++ | * A scalar containing an non-scalar mutable object no longer
11:56 svnbot6 r13981 | audreyt++ |   flattens the inner object recursively.  This is fix #1...
12:03 avarab is now known as avar
12:21 Limbic_Region joined perl6
12:23 mugwump_ joined perl6
12:23 * Limbic_Region suspects there is a problem with pugs -v reporting the correct version (or at least there was over the last couple days)
12:23 Limbic_Region I am confirming now
12:24 Limbic_Region but the smokes I have ran previously showed up under the wrong rev
12:28 weinig|zZz is now known as weinig
12:28 mugwump joined perl6
12:32 iblechbot joined perl6
12:37 fglock joined perl6
12:37 svnbot6 r13982 | rnhainsworth++ | test that role composed from inner role has attributes from inner role
12:37 svnbot6 r13981 | audreyt++ | * A scalar containing an non-scalar mutable object no longer
12:37 svnbot6 r13981 | audreyt++ |   flattens the inner object recursively.  This is fix #1...
12:43 Limbic_Region yep - confirmed bug
12:43 Limbic_Region audreyt - pugs -v is reporting version 13890
12:43 Limbic_Region what's even stranger
12:44 Limbic_Region is that it was previously reporting version 13894 prior to svn up'ing and nmaking
12:44 audreyt hrmph.
12:44 svnbot6 r13983 | fglock++ | Pugs-Emitter-Perl6-Perl5
12:44 svnbot6 r13983 | fglock++ | - fixed Scalar.WHAT .perl .yaml
12:44 svnbot6 r13983 | fglock++ | - binding is broken
12:44 svnbot6 r13984 | audreyt++ | * Removal of recursive scalar dereferencing, part 2 of 2:
12:44 svnbot6 r13984 | audreyt++ |   Read-only scalar proxies of Array and Hash should be able
12:44 svnbot6 r13984 | audreyt++ |   to be rebound back into Array and Hash containers.
12:44 audreyt what does src/Pugs/pugs_version.h  say
12:45 audreyt ?
12:45 Limbic_Region just a sec
12:45 Limbic_Region was getting the latest comitts
12:45 markstos_ joined perl6
12:46 Limbic_Region 13981
12:46 Limbic_Region which is right for the last time I nmake
12:47 Limbic_Region it just doesn't agree with pugs -v
12:48 Limbic_Region I'm afraid to say this looks like a Win32 thing - but by checking out the smoke reports - it does
12:48 audreyt I'm puzzled and can't repeat it here
12:48 audreyt the relevant bits of code is util/version_h.pl
12:48 svnbot6 r13985 | fglock++ | Pugs-Emitter-Perl6-Perl5 - fixed tests
12:49 audreyt which should be run as part of every make
12:49 audreyt let me try a patch.
12:49 Limbic_Region audreyt - the version header file is getting updated
12:49 Limbic_Region it just isn't being reported correctly
12:52 Limbic_Region as soon as pugs finishes rebuilding I will confirm the header file and what pugs -v is reporting again
12:55 audreyt t/builtins finished triage
12:56 svnbot6 r13986 | audreyt++ | * build_pugs.pl: Force rebuilding of Pugs.Version at each
12:56 svnbot6 r13986 | audreyt++ |   Pugs building.  Also avoid crippling ./pugs if a link
12:56 svnbot6 r13986 | audreyt++ |   was unsuccessful by linking under ./pugs.new first.
12:56 audreyt moving to t/closure_traits now
13:00 Limbic_Region audreyt - the version header file says #define PUGS_SVN_REVISION 13984
13:00 audreyt yes. r13986 should help
13:00 Limbic_Region but pugs -v says 13890
13:00 Limbic_Region going to try that now
13:07 weinig is now known as weinig|bbl
13:11 Limbic_Region hrmmm - am I lagging or have I been disconnected
13:12 Limbic_Region audreyt - fixed
13:12 smash joined perl6
13:15 pasteling "fglock" at 200.17.89.80 pasted "Data::Bind::bind_op2() problem when values are references" (30 lines, 498B) at http://sial.org/pbot/20223
13:18 audreyt cool
13:19 Limbic_Region running smoke now - will verify it reports correctly
13:19 Limbic_Region now if only my NP complete to O(1) translation will ever finish running (coming up on 14 hours now)
13:21 audreyt oy.
13:21 audreyt do you have an estimate how long it's going to take?
13:21 svnbot6 r13987 | audreyt++ | * closure_traits/ascending_order.t: plan number was off by one.
13:22 Limbic_Region audreyt - I am doing it in phases for a couple of reasons
13:23 Limbic_Region one, not knowing how long the entire process will take - I want to be able to abort if it if my back of the envelope math was way off
13:23 Limbic_Region two, if the program should crash for whatever reason before reaching conclusion - I don't want to have to start over from the beginning
13:23 svnbot6 r13988 | audreyt++ | * descending_order.t: "first" was tested but never seen.
13:23 Limbic_Region it has one phase after this
13:24 Limbic_Region which should actually be faster since the number of remaining combinations should be reaching 0
13:24 Limbic_Region If I can't complete this phase and the next by Monday - I will chalk it up to a good but impractical idea
13:24 Limbic_Region . o O ( or write it in Java instead )
13:24 svnbot6 r13989 | audreyt++ | * add a "parserWarn" function to raise warnings during parsing.
13:24 svnbot6 r13989 | audreyt++ | * use that to raise a warning on hooking ENTER and LEAVE to the
13:24 svnbot6 r13989 | audreyt++ |   main program body, which doesn't work yet.
13:29 pasteling "masak" at 130.238.83.176 pasted "audreyt, how much does Encode::HanConvert take the following into account?" (3 lines, 459B) at http://sial.org/pbot/20224
13:30 masak (oops, seems nopaste preserves newlines more than I intended in this case)
13:35 audreyt masak: piconv -p uses a dictionary that contains common phrases
13:35 svnbot6 r13990 | fglock++ | v6/emitter - fixed .true, .isa
13:37 audreyt masak: er I mean b2g.pl -p
13:37 audreyt and g2b.pl -p
13:38 masak audreyt: oh goodie
13:42 xinming audreyt: Hi, happy middle autumn day.. :-)
13:43 svnbot6 r13991 | lanny++ | * fmt.t - place eval() where needed to stop run fail
13:44 pasteling "fglock" at 200.17.89.80 pasted "Sub::Multi tests problem" (21 lines, 626B) at http://sial.org/pbot/20226
13:45 audreyt xinming: thanks :)
13:46 svnbot6 r13992 | fglock++ | Pugs-Emitter-Perl6-Perl5 - disable autoboxing for now in order to avoid problems with Data::Bind
13:46 svnbot6 r13991 | lanny++ | * fmt.t - place eval() where needed to stop run fail
13:47 masak xinming: oh, is it mid-autumn day already? we will celebrate it here in Uppsala tomorrow
13:48 * Limbic_Region looks up mid-autumn day as he has never heard of it before
13:49 xinming I even don't know It's middle autumn now, But just now, I watch the tv news, and let me know, today, is mid-autumn day. >_<
13:57 lambdabot joined perl6
13:59 iblechbot joined perl6
13:59 mdiep_ joined perl6
13:59 chip joined perl6
13:59 drbean joined perl6
13:59 lisppaste3 joined perl6
13:59 evalbot_r13970 joined perl6
13:59 buubot joined perl6
13:59 dvorak joined perl6
13:59 holoway joined perl6
13:59 mako132 joined perl6
13:59 stevan joined perl6
13:59 statico joined perl6
13:59 gaal joined perl6
13:59 Juerd joined perl6
13:59 webmind joined perl6
13:59 leo_ joined perl6
13:59 PerlJam joined perl6
13:59 audreyt joined perl6
13:59 plural joined perl6
13:59 wolverian joined perl6
13:59 pjcj joined perl6
13:59 orafu joined perl6
13:59 revdiablo joined perl6
13:59 knewt joined perl6
13:59 perlbot joined perl6
13:59 rafl_ joined perl6
13:59 hcchien joined perl6
13:59 cj joined perl6
13:59 kolibrie joined perl6
13:59 smash joined perl6
13:59 stennie joined perl6
13:59 Patterner joined perl6
13:59 SCalimlim joined perl6
13:59 spoop joined perl6
13:59 lollan joined perl6
13:59 kane-xs_ joined perl6
13:59 Teratogen joined perl6
13:59 jabbot joined perl6
13:59 ruz joined perl6
13:59 ajs_home joined perl6
14:00 fglock joined perl6
14:00 Limbic_Region joined perl6
14:00 Odin- joined perl6
14:00 meppl joined perl6
14:00 araujo joined perl6
14:00 Qiang_ joined perl6
14:00 Yappo joined perl6
14:00 nothingmuch joined perl6
14:00 baest_ joined perl6
14:00 Ikarus joined perl6
14:00 Narcisse joined perl6
14:00 szabgab joined perl6
14:00 jiing joined perl6
14:00 idiotmax joined perl6
14:00 masak joined perl6
14:00 Shabble joined perl6
14:00 scw joined perl6
14:00 gugod joined perl6
14:00 thepler joined perl6
14:00 autark joined perl6
14:00 spinclad joined perl6
14:00 kalven joined perl6
14:00 loumz joined perl6
14:00 avar joined perl6
14:00 f0rth joined perl6
14:00 rafl joined perl6
14:00 frankg joined perl6
14:00 etzel joined perl6
14:00 svnbot6 joined perl6
14:00 jdv79 joined perl6
14:00 Khisanth joined perl6
14:00 nine joined perl6
14:00 Grrrr joined perl6
14:00 kane-xs joined perl6
14:00 pmichaud_ joined perl6
14:00 weinig|bbl joined perl6
14:00 wilx joined perl6
14:00 TimToady joined perl6
14:00 cognominal joined perl6
14:00 bcorn joined perl6
14:00 norageek joined perl6
14:00 takanori joined perl6
14:00 lumi joined perl6
14:00 nnunley joined perl6
14:00 jferrero joined perl6
14:03 lambdabot joined perl6
14:07 vel joined perl6
14:07 svnbot6 r13995 | audreyt++ | * t/closure_traits/exit_in_check.t: This should invoke END:
14:07 svnbot6 r13995 | audreyt++ |     END { say 1 }
14:07 svnbot6 r13995 | audreyt++ |     CHECK { exit }
14:07 svnbot6 r13995 | audreyt++ |   exactly as BEGIN would, so reverse the test.
14:14 cjeris joined perl6
14:22 f0rth joined perl6
14:25 svnbot6 r13996 | audreyt++ | * Massive sanity refactoring of lumi++'s closure trait work;
14:25 svnbot6 r13996 | audreyt++ |   the "Maybe Exp" part is gone, and the transformer is now
14:25 svnbot6 r13996 | audreyt++ |   picked up directly on the VCode returned by retVerbatimBlock;
14:25 svnbot6 r13996 | audreyt++ |   nested blocks with traits is also handled correctly.
14:29 Eimi joined perl6
14:29 svnbot6 r13997 | audreyt++ | * For modules-treated-as-main-body, run their END blocks
14:29 svnbot6 r13997 | audreyt++ |   just like Main's END blocks.
14:36 svnbot6 r13998 | audreyt++ | * Err, typo.
15:09 svnbot6 r13999 | audreyt++ | * prevert infinite loop in tests.
15:09 Limbic_Region who you calling a prevert?
15:10 Limbic_Region woot 97.08%
15:10 fglock joined perl6
15:10 audreyt sigh, prevent.
15:11 audreyt actually, prevert is a poet
15:11 Limbic_Region which test(s) were infinitely looping
15:11 fglock what happens when you use := binding with mixed our/my vars? like my $a; our $b; $a:=$b  # $a is now our ?
15:11 Limbic_Region the one I thought was the other day wasn't
15:12 audreyt fglock: no, $Package::a won't work
15:12 audreyt what will happen is that modifying $a will cause $Package::b to be modified
15:12 audreyt Limbic_Region: closure_traits/next.t. I'm fixing that
15:13 fglock_ joined perl6
15:15 fglock_ audreyt: so $a name has scope 'my', and $a cell has scope 'our'
15:15 kolibrie so each variable keeps their own scope, and the binding is only in scope as long as the 'my' variable?
15:15 audreyt fglock_: cell has no scope
15:15 audreyt cell just is a Scalar object
15:15 fglock_ audreyt: right
15:16 audreyt it's just the package stash points to that Scalar via the name '$b'
15:16 audreyt as well as the lexical variable $b and $a
15:17 fglock_ can I use a for-loop to implement binding in pure-perl? for my $a ( $b ) { ... }
15:17 svnbot6 r14000 | audreyt++ | * Run import module's END after the main END.
15:17 svnbot6 r14001 | audreyt++ | * Allow multiple closure traits inside the same scope.
15:18 audreyt fglock_: sure, that's fine
15:26 audreyt magic number is now 26
15:26 audreyt tomorrow I'll finish t/ for sure; help for triaging ext/ wanted
15:26 svnbot6 r14002 | audreyt++ | * Restore the "while" test for next.t so at least that passes.
15:28 Limbic_Region audreyt - I will start looking at ext/ but I am unlikely to be able to fix anything that isn't a perl 6 code issue
15:29 Limbic_Region what I can do though if it is valid perl 6 code that isn't working - I can create a failing t/ test for it
15:29 Limbic_Region since it means we don't have adequate coverage
15:29 light_ joined perl6
15:30 audreyt nodnod.
15:31 audreyt I'm off to sleep... see ya tomorrow :)
15:31 svnbot6 r14003 | audreyt++ | * Register NEXT blocks in LIFO order, and PRE/FIRST/ENTER
15:32 svnbot6 r14003 | audreyt++ |   in FIFO order.
15:32 svnbot6 r14004 | audreyt++ | * next.t: The original ordering of LIFO was right for NEXT, so restore it.
15:32 light_ left perl6
15:35 Limbic_Region should smartmatch work here?  $obj ~~ Pkg::Class
15:35 Limbic_Region where Pkg::Class is not in quotes as a string
15:36 audreyt it will work only iff "class Pkg::Class" is seen before
15:36 audreyt otherwise you need to say
15:36 audreyt ~~ ::Pkg::Class
15:37 Limbic_Region ok, and isn't there a better way to do this anyway - something like isa() ?
15:37 audreyt isa_ok would work, yes
15:37 audreyt (bbl)
15:38 Limbic_Region go to sleep
15:41 svnbot6 r14005 | Limbic_Region++ | Changed ($ca ~~ Automata::Cellular to ($ca ~~ ::Automata::Cellular
15:49 buetow joined perl6
15:52 Limbic_Region what's the mojo required to rebuild a module in ext/ ?
15:52 Limbic_Region s/to rebuild/just to rebuild/
15:54 GabrielVieira joined perl6
15:54 GabrielVieira fglock_ ;)
16:00 fglock_ GabrielVieira: ola
16:02 Limbic_Region should it be possible to create a method like method postfix:<++> {
16:03 Limbic_Region and then do $obj++
16:03 Limbic_Region and have it do the right thing?
16:04 fglock_ Limbic_Region: sure
16:05 Limbic_Region and if Pugs isn't handling it correctly - it is either a parse bug or an unimplemented feature?
16:06 Limbic_Region I guess if it is valid perl 6 and pugs isn't handling it correctly it doesn't matter which it is - will write test
16:07 fglock_ maybe it is hardcoded in Pugs lib
16:07 fglock_ Limbic_Region: try s/method/multi/
16:08 Limbic_Region ok
16:09 Limbic_Region no change - still b0rked
16:10 Limbic_Region the interesting thing is that t/oo/methods/overload.t implies it should work
16:11 fglock joined perl6
16:12 fglock joined perl6
16:14 justatheory joined perl6
16:16 fglock ?eval multi postfix:<++> { 42 }; $a++
16:16 evalbot_r13970 is now known as evalbot_r14005
16:16 evalbot_r14005 Error: Undeclared variable: "$a"
16:17 fglock ?eval multi postfix:<++> { 42 }; my $a=1; $a++;
16:17 evalbot_r14005 42
16:19 fglock ?eval multi postfix:<++> ( $v is rw ) { $v += 2 }; my $a=1; $a++;
16:19 evalbot_r14005 \3
16:24 Limbic_Region joined perl6
16:25 Limbic_Region fglock - I didn't realize I had been disconnected
16:25 Limbic_Region are you in agreement that it isn't working the way it is supposed to?
16:25 fglock Limbic_Region: did you see my last ?eval ?
16:26 Limbic_Region ok, so what should the parameter piece of the signature look like for an object doing that
16:26 Limbic_Region multi method postfix:<++> ($self) { ... } ?
16:27 Limbic_Region though I have no idea why the multi should even be part of the equation
16:27 Limbic_Region it is an object method and there is only 1
16:28 Limbic_Region fglock - for an example of exactly what is not working - see ext/Automata-Cellular/t/ca.t
16:29 Limbic_Region $ca++ is not calling the method in Cellular.pm
16:29 fglock it only needs to be multi in the subroutine case
16:31 fglock Limbic_Region: does $ca.++ work?
16:31 b_jonas joined perl6
16:32 Psyche^ joined perl6
16:33 TimToady < Limbic_Region> multi method postfix:<++> ($self) { ... } ?
16:33 TimToady that would need $self: to be legal
16:34 Limbic_Region TimToady - I wasn't implying it was right
16:34 Limbic_Region I was trying to ascertain what the correct signature was
16:34 TimToady otherwise $self is not self
16:34 Limbic_Region the sig as is method postfix:<++> { ... } is not working
16:35 Limbic_Region anyway - free pizza so I am off
16:35 TimToady sounds like a bug
16:35 TimToady never turn down free food
16:39 weinig|bbl is now known as weinig
16:40 [particle] joined perl6
16:41 pasteling "fglock" at 200.17.89.80 pasted "clkao: this fixes the bug - re: previous paste at sial.org/pbot/20223" (29 lines, 558B) at http://sial.org/pbot/20232
16:47 Psyche^ is now known as Patterner
16:58 elmex joined perl6
17:01 penk joined perl6
17:18 amnesiac joined perl6
17:21 weinig joined perl6
17:43 theorb joined perl6
17:47 theorb is now known as theorbtwo
17:53 lanny joined perl6
17:56 lanny This is odd.  Linux smoke r14005 says t/builtins/fmt.t passes all while feather's pugs r14001 says it doesn't.  Doesn't seem to be anything for in-between commits that woudl fix it.
17:57 putter joined perl6
17:58 putter fglock: ping?
18:07 fglock putter: pong
18:19 Limbic_Region joined perl6
18:25 pasteling "lanny" at 128.107.248.220 pasted ".fmt for $pair" (3 lines, 141B) at http://sial.org/pbot/20233
18:26 svnbot6 r14006 | Limbic_Region++ | Changed $obj ~~ Pkg::Name to $obj ~~ ::Pkg::Name
18:26 lanny Does that code look odd ot anyone else?
18:33 TimToady couple things are odd
18:33 TimToady $comma has not default
18:33 TimToady *no
18:34 TimToady and $obj is declared Pair when the code is assuming List of Pair or some such.
18:34 lanny Agreed.  That's from Prelude.pm
18:34 TimToady I'd say a List of XXX doesn't "do" XXX
18:35 TimToady at least, not when hidden inside $obj
18:37 TimToady to me, a declaration of "Pair $obj" implies there can only be one pair.
18:38 putter joined perl6
18:38 [particle] joined perl6
18:38 lanny Yes.  That was the oddness that struck me.  I think it's a cut-n-paste from List $obj that got applied to Pair
18:38 TimToady probably just needs to be de-mapped.
18:38 lanny I'll patch it up after I make sure I'm not gonna break stuff by doing so.  pugs/t++
18:39 lanny Default comma for Lists and Hashes in .fmt()?  Doubt that's spec-ed yet
18:41 Limbic_Region If inside a method there is a statement such as my $foo = $.foo;
18:41 Limbic_Region and the object has not been defined to contain a .foo
18:41 Limbic_Region what kind of error (if any) should that generate
18:42 lanny @brain what do you think about Limbic's question?
18:42 lambdabot I think so, Brain, but don't you need a swimming pool to play Marco Polo?
18:42 lanny There you go, Limbic_Region.
18:42 TimToady "can't locate method .foo via class Bar" comes to mind.
18:42 elmex_ joined perl6
18:43 TimToady in pugs, probably "no compatible routine found, and I'll you guess what it is supposed to be compatible with."
18:43 TimToady s/you/let you/
18:43 Limbic_Region ok
18:43 Limbic_Region so I am going to note that as things that need to be fixed that I don't have control over
18:43 TimToady (my current pet peeve)
18:44 lanny Tim "bitter-boy" Toady
18:47 TimToady I don't think one can be characterized as bitter until one has at least two pet peeves, and hopefully more.
18:47 lanny TimToady: Thoughts on a useful default for .fmt on lists and hashes?  I can see arguments for '', ' ', and ', '.
18:48 lanny I always keep my pet peeves on a stack so bitter is probably accurate for me.
18:48 TimToady I'm sure this is discussed somewhere, either A or S.
18:49 lanny Not S (that I could find.  S02 seems to be only mention.)  I'll check A
18:50 TimToady S02:1707
18:51 TimToady note though that the default hash format has a newline *after* each pair, so it's not a join.
18:52 rindolf joined perl6
18:52 rindolf Hi all!
18:52 TimToady howdy
18:52 rindolf Does anyone has any idea about any idea about http://sial.org/pbot/20214 ?
18:52 lambdabot Title: Paste #20214 from "rindolf" at 88.155.15.113
18:52 rindolf TimToady: hi.
18:52 rindolf TimToady: what's up?
18:54 TimToady just compiling me a profiled pugs so I can see why my program is taking 10 hours to run.
18:54 TimToady if it would just keep going at the rate it starts out, it would be done in 30 minutes.
18:55 rindolf TimToady: OK.
18:55 TimToady and I'm not doing anything that ought to be collecting leaks
18:55 rindolf TimToady: what is this program about?
18:55 TimToady just analyzing some chunks of yaml for a histogram
18:56 TimToady the only thing cumulative is the hash, and I doubt that's what's slowing it down.
18:56 TimToady seems like repeated calls to eval($str, :lang<yaml) slow down, but need to profile it.
18:57 TimToady I wonder if it's doing something silly like memoizing strings that will never duplicate.
18:59 svnbot6 r14007 | Limbic_Region++ | Changed several method calls from $.method to self.method
18:59 demerphq joined perl6
19:00 rgs hi demerphq (regex hero)
19:00 demerphq hi rgs.
19:00 rindolf Hi rgs
19:00 rindolf rgs: did you see the bug with the XML::Simple tests crash in bleadperl?
19:00 demerphq nicholas sent me over...
19:00 rgs mr rindolf
19:00 rgs rindolf: yes
19:01 rindolf rgs: any idea?
19:01 rindolf rgs: is it a bug in bleadperl or in XML::Simple?
19:01 rgs no, I haven't looked at it myself
19:01 demerphq Apparently somebody here might be interested in morphing the perl5 regex engine to handle perl6 syntax.
19:01 rgs but it sure is annoying.
19:01 * TimToady <whistles tunelessly>
19:02 TimToady most of the people who are directly interested in that are in Brazil and China.
19:02 demerphq meaning they are visiting right? not that i have to learn another language?
19:03 TimToady no, meaning they're in a different timezone, and some of them are asleep.
19:03 demerphq ah. ok.
19:03 fglock hmm - coffee
19:03 TimToady and some of them need coffee
19:04 demerphq coffee i can do.
19:04 [particle] brazillian coffee? :)
19:04 demerphq china and brazil i cant do.
19:04 demerphq No, Mexican Maragyope (or however its spelled)
19:04 TimToady anyway, fglock is definitely one of the ones you want to talk to
19:04 fglock not export grade
19:04 demerphq Just roasting a batch now.
19:05 Limbic_Region ?eval my @foo = 1..5; my @bar = grep {$_ ~~ 3}, @foo; ~@bar
19:05 evalbot_r14005 is now known as evalbot_r14007
19:05 evalbot_r14007 "3"
19:05 demerphq will im available.
19:05 Limbic_Region hrm
19:05 demerphq i have a fair amount of time.
19:05 TimToady I suppose I might also have some small interest in P5 regexen.  :)
19:05 fglock demerphq: back in 10min &
19:05 demerphq if somebody wants to go down that road Im happy to handhold/help.
19:05 Limbic_Region ?eval my @foo = 1..5; if grep {$_ ~~ 3}, @foo { say 3 }
19:05 evalbot_r14007 Error:  Unexpected "," expecting comment, else or elsif construct, ";", end of input, Doc block, block declaration, declaration, construct or expression
19:05 demerphq timtoady: i bet. :-)
19:05 demerphq How are you with the latest proposals/additions?
19:05 Limbic_Region TimToady - is that a correct parsefail or is pugs b0rk?
19:06 TimToady though whether that's a positive interest or a negative one I'll leave aside for now.
19:06 Limbic_Region ?eval my @foo = 1..5; if grep {$_ ~~ 3} @foo { say 3 }
19:06 evalbot_r14007 Error:  Unexpected "{" expecting comment, operator, statement modifier, ";" or end of input
19:06 Limbic_Region ?eval my @foo = 1..5; if (grep {$_ ~~ 3}, @foo) { say 3 }
19:06 evalbot_r14007 OUTPUT[3 ] Bool::True
19:06 demerphq Named buffers: (?<NAME>pattern), (?'NAME'pattern) Named backrefs: \k<NAME> \k'NAME', Code access: $+{plus}. print for values %+; (yada)
19:07 Limbic_Region well, I can certain fix it easy enough but I think it is a pugs bug (parens required)
19:07 TimToady yes, it's a correct parsefail.  You may not use unprotected {...} at the top level of a conditional
19:07 demerphq Recursive patterns without EVAL: /^(<(?:[^<>]+|(?1))*>)$/
19:07 Limbic_Region oh good -
19:07 TimToady I'd put the parens on grep's args though.
19:08 TimToady ?eval my @foo = 1..5; if grep({$_ ~~ 3}, @foo) { say 3 }
19:08 evalbot_r14007 OUTPUT[3 ] Bool::True
19:11 demerphq I think a reasonable chunk of the perl6 grammar engine can be done in perl5 now.
19:11 svnbot6 r14008 | Limbic_Region++ | Changed if grep {...}, @list { ... } to if (grep {...}, @list) {...}
19:11 TimToady ?eval my @foo = 1..5; if grep:{$_ ~~ 3}, @foo { say 3 }
19:11 evalbot_r14007 OUTPUT[3 ] Bool::True
19:12 TimToady that also works, but only because the space is omitted between : and {
19:13 TimToady when TheDamian attempted Perl6::Rules, he ended up with a fairly lengthy laundry list of things that broke at that time.
19:13 demerphq i can imagine.
19:13 Limbic_Region well - I am just trying to help triage ext/ failing tests by fixing minor code errors without changing the intended behavior
19:13 TimToady a lot of it having to do with closures not really being closures inside regexen.
19:14 [particle] demerphq: are you talking about implementing in blead, or 5.8.x?
19:14 TimToady I hear a lot of that has been cleaned up.
19:14 demerphq im talking about having use re::Perl6; do something useful in perl5.
19:14 TimToady swap out the engine?
19:14 demerphq ive made the engine a lot more pluggable now.
19:14 demerphq yes.
19:14 [particle] ah, i see.
19:14 TimToady ah
19:15 demerphq my plan wouldnt be swap out the the engine.
19:15 TimToady so, plug in PGE.  :)
19:15 demerphq it would be swap out the compiler part of the engine.
19:15 demerphq the underlying engine wouldnt change.
19:15 [particle] yeah, i think patrick would be very interested in that.
19:15 demerphq but you could use perl6ish syntax.
19:15 pasteling "TreyHarris" at 216.254.17.198 pasted "t/builtins/io/dir.t -- four consecutive runs, four errors -- smoke hangs here" (68 lines, 2.6K) at http://sial.org/pbot/20235
19:15 demerphq the regex enigine binding is lexically scoped in perl5 now.
19:16 [particle] pge already has p5 and p6 rx front ends
19:16 demerphq But the coupling between the core engine and the perl5 internals are pretty tight. i havent gotten that far down that road.
19:16 TimToady that's where the closure thing will bite you.
19:16 TreyHarris anyone have any clues about my paste above?  i hate to disable the dir.t test when it seems to work, but i can't figure out why smoke hangs forever
19:17 demerphq with first order recursive matching the closure thing isnt as big a deal as it might be (IMHO)
19:18 fglock demerphq: putter has been doing some experiments
19:18 demerphq do tell.
19:19 demerphq how does perl6 handle named capture buffers?
19:20 Limbic_Region demerphq - nice to see you in the channel
19:21 * Limbic_Region gives up on ext/ after having only fixed a handful of failing tests
19:21 demerphq nice to see LR
19:21 fglock demerphq: have you tried Pugs::Compiler::Rule
19:21 demerphq no. i have to admit i havent played much at all.
19:21 fglock or v6.pm
19:22 demerphq ive been pretty focused on getting various improvements to the perl5 engine done before 5.10 is supposed to be out.
19:22 demerphq perl5.re is much faster.
19:22 demerphq now.
19:22 demerphq :-)
19:23 Limbic_Region did you get done everything you wanted to?
19:24 Limbic_Region I remember you mentioning that there were somethings you still had in mind
19:24 demerphq my thinking was basically that ive now got a pretty good grip on how the perl5 engine works. and if somebody wants to change the parser/compiler to support a different syntax such as perl6 uses, then id be happy to help them do so.
19:24 TimToady can the grammar swapout disable normal string interpolation pre-regex-compiler?
19:25 TimToady so that /$x/ is handled by the regex compiler instead of the Perl compiler?
19:25 demerphq i dont see why not.
19:25 demerphq it doesnt currently, but it could i think.
19:25 b_jonas TimToady: you mean like the way /(?{})/ is handled in perl5?
19:25 rgs currently the tokenizer does it, right ?
19:25 demerphq id have to check the code to see how involved it was.
19:25 TimToady someone crazy would have to speak to toke.c *cough*
19:26 putter hey folks
19:26 TimToady don't think it would be all that hard to add a /P6 option though
19:26 [particle] timtoady does hash again...
19:26 rgs I must be crazy
19:27 b_jonas wouldn't the problem with it be that the regexp compiler would have to know of these :s and other flags for the quote ops?
19:27 theorbtwo You're on #perl6.  It's a requirement.
19:27 TimToady otherwise you'd have to write all your regexen as qr'...'
19:27 theorbtwo Chanserv will kick you otherwise.
19:27 TimToady @arr
19:27 lambdabot Har de har har!
19:29 TimToady well, we could go as far as to change the /X form to the :X form, as long as it was predeclared in a lexical scope.
19:29 TimToady but otherwise we mess up people who have used : as the delim.
19:29 TimToady but I suppose if it's declared in a lexical scope we don't need /P6 anyway
19:30 putter demerphq: have you seen?: http://rt.openfoundry.org/Foundry/Project​/Source/index.html/pugs/checkout/misc/pX/​Aside/Regexp-ReplaceEngine.pm?rev=10351
19:30 lambdabot http://tinyurl.com/juq6e
19:30 TimToady oddly, you'd use :P5 to get back to normal p5 regex syntax.
19:30 b_jonas using : as the delim? like m:(?\:-):
19:31 demerphq quickly skimming that i think you would find it a lot easier now.
19:31 TimToady yeah, but once we start in on toke.c anything is possible
19:31 putter :)
19:31 demerphq the way that the regex hooks are implemented has changed.
19:31 ruoso joined perl6
19:31 demerphq each regexp structure now points at a vtable for its methods.
19:32 fglock /(?P6: ... )/
19:32 putter demerphq: one issue was that calling eval inside of the engine made things go boom later.  re tight integration of engine and interpreter.  improved?
19:32 demerphq the main problem before was that the hooks were interpreter wide.
19:32 TimToady fglock: doesn't help with preinterpolation of vars
19:33 TimToady (without toke.c hacking)
19:33 demerphq so you could compile a regex using one engine, and then pass that data set over to another engine which would then go boom.
19:33 demerphq that problem is gone.
19:33 putter yay
19:34 demerphq however, the code in perl that calls out the the engine "knows" a lot about how the perl optimiser works and expects to have access to that info.
19:34 demerphq so any plug in has to somehow contort themselves into producing the same data.
19:34 demerphq But as timtoady says, it doesnt solve the var issue as currently implemented.
19:36 putter demerphq: hmm, I'm not sure I understand "another engine"...  the idea is if the old regcomp hook called perl_eval, even not doing anything interesting with it, that by itself was sufficient to cause later... segfaults I think it was.
19:36 putter so a noop regcomp but for an ignored perl_eval call.
19:37 putter s/noop/handl off to normal regcomp/
19:38 putter re var issue... *mumble* quoting macros *mumble*
19:38 TimToady that's odd, recompiling with profiling caused 5 more tests to pass.  maybe it was just the realclean though.
19:39 demerphq you didnt hook reintuit start.
19:40 demerphq but you have to realize that changing the vars you did changes what engine will be used for every regex that was ever compiled with that perl interpreter.
19:41 justatheory joined perl6
19:41 demerphq putter have you read perlrehack.pod?
19:44 TreyHarris demerphq: link to?  don't see it on cpan or in the pugs repo
19:44 demerphq sorry, http://search.cpan.org/~rgarcia​/perl-5.9.4/pod/perlreguts.pod
19:45 lambdabot Title: perlreguts - Description of the Perl regular expression engine. - search.cpan.or ..., http://tinyurl.com/g4dr3
19:45 demerphq its perlreguts.pod,  perrehack.pod was my working title.
19:45 TimToady heh, my program that runs 10 hours is 98.9% GC, 1.1% productivity
19:45 [particle] GIGOGOGOGOGOGOGOGOGO
19:46 putter demerphq: sorry, bbib.  but yes.  my comments are at a different level.  a past through regcomp works.  a pass through regcomp which calls perl_eval and does nothing with the result causes later segfaults.
19:47 svnbot6 r14009 | lanny++ | [src/perl6/Prelude.pm]
19:47 svnbot6 r14009 | lanny++ | * fix fmt() for Pair
19:47 svnbot6 r14009 | lanny++ | * add default $comma to fmt() of list and hash
19:47 svnbot6 r14009 | lanny++ | * Note: interpolation of list of pairs is specced for pairs
19:47 svnbot6 r14009 | lanny++ |         to be seperated by newlines while list of pairs gets
19:47 svnbot6 r14009 | lanny++ |         handled by:  multi fmt(List $obj; $fmt, $comma = ' ');
19:47 svnbot6 r14009 | lanny++ | [t/builtins/fmt.t]
19:47 svnbot6 r14009 | lanny++ | * test fixes, add some failure tests
19:49 demerphq perlreguts needs more work.
19:49 andara joined perl6
19:49 demerphq could use stuff from putters notes there.
20:01 putter demerphq: sorry, let's see...
20:01 putter so the brief summary of what has changed with the perl5 implementation is...?
20:02 demerphq in general you mean?
20:03 putter with respect to the regexp engine being cleaner, and more cleanly integrated into the rest of p5?
20:04 demerphq its pretty simple, each regexp struct holds a pointer to a shared vtable structure, when perl works with a regexp it dispatches through the vtable compiled in.
20:05 demerphq instead of having 6 or 7 interpreter level vars it has one, the "core engine", which is used unless the %^H{regcomp} tells it to go somewhere else.
20:05 demerphq er, $^H{regcomp}
20:06 demerphq so the engine is now self contained.
20:06 putter nifty.
20:07 putter have the guts on either side of the new dispatch changed?
20:08 putter (I should have said "nifty! :)  :)  yay!  wooohooo!  hallelua!")
20:08 putter demerphq++
20:08 demerphq well the guts of the perl5 engine have changed a lot.
20:09 demerphq its not recursive anymore.
20:09 demerphq its simulated recursion.
20:09 demerphq davem did a fantastic job there.
20:09 demerphq and ive been working on new regops and optimisations.
20:09 TimToady stackless is good, now you just have to integrate that runloop with the main runloop.  :)
20:09 putter and thus can handle recursive regexps?
20:09 demerphq alternations are many orders of magnitude faster now.
20:09 BooK_ joined perl6
20:10 demerphq recursive regexps. named capture buffers.
20:10 * putter wonders if it is christmass...
20:10 demerphq plus im working on CUT/COMMIT/YES/NO/ACCEPT/REJECT regops right now.
20:10 demerphq I want to do some stuff with possessive quantifiers.
20:11 demerphq we do aho-corasick (start class) matching  now, as well as trie matching.
20:11 putter what about ... (that was my next question)
20:11 demerphq Oh, auto (?=[....]) for alternations (thats part of trie matching)
20:11 demerphq wat about .... ?
20:12 putter what is the state of the regexp analysis?  has tries been integrated with something flexible?
20:12 demerphq not sure i understand the question.
20:12 demerphq alternations are automatically "trie"ed if possible.
20:14 putter some regex engines like... not cl-pcre, the other common lisp regex engine.... eh, do nicer analysis and optimization that p5 does.
20:14 putter hmm, cl-pcre perhaps does itself
20:14 putter p5's has always been brute C speed
20:14 demerphq well, based on current benchmarks we cream python.
20:14 demerphq no, i disagree. p5's fast because its very clever about optimising.
20:14 putter err, yeah, but... higher goals? :)
20:14 putter (higher re python)
20:14 demerphq almost everywhere where we are slow is where we are bad about optimising.
20:14 TimToady one thing that a P6 parser requires is support for <%foo|%bar|%baz>
20:14 TimToady that takes the keys of the hashes and makes them into a trie or some such
20:14 demerphq i think that perl5 probably does pretty well against the competition right now.
20:15 TimToady and automatically recalculates if the hashes change.
20:15 demerphq trie construction isnt that fast...
20:15 demerphq perl5.9.5 i meant. assuming the named capture patch gets applied. i want that. :-)
20:15 TimToady could probably be done lazily, so you if you add a bunch of macros it doesn't recalculate every time
20:16 demerphq you can do some cool stuff with named captures.
20:16 putter http://www.geocities.com/mparker762/clawk#regex is worth looking at.
20:16 rgs yes yes it will be applied :)
20:16 lambdabot Title: REGEX/CLAWK/LEXER Packages, http://tinyurl.com/r9tnv
20:16 * demerphq blushes
20:17 putter also http://weitz.de/cl-ppcre/
20:17 lambdabot Title: CL-PPCRE - Portable Perl-compatible regular expressions for Common Lisp
20:17 demerphq i only have so many hours. :-) its hard to stay on top of all these engines.
20:17 demerphq especially not when you are neck up in the internals of perl5's.
20:18 putter oh, yes.
20:18 demerphq anyway, my focus is getting perl5's engine as polished and nice as timtoady and rgs and the other gods let me.
20:18 TimToady demerphq++
20:19 demerphq so, getting PCRE or the TCL regex engine pluggable is my number 2 objective.
20:19 putter so a one-liner is: I believe some engines have had stronger high-level optimizations than p5 has had.  and there has been no easy way to add them as the p5 engine just wasn't set up for it.  if that's changed... that could be very very neat.
20:19 demerphq but if you want to go down that road id be sure to make myself available for support and whatever.
20:20 demerphq putter: id be interested to know what optimisations you mean.
20:20 rindolf joined perl6
20:21 * putter tries to find notes... maybe the "keep better notes" sign above my desk needs to be bigger... maybe 1m^2 would do it...
20:21 demerphq there are a few we dont do, but thats partly because we dont support possessive quantifiers right now...
20:21 fglock a big problem I found when compiling p6regex to p5 is how do you backtrack into subrules
20:21 demerphq thats solved.
20:21 fglock wow
20:21 demerphq subrules are just named capture buffers.
20:21 demerphq actually they dont even need names.
20:22 demerphq this: /^(<(?:[^<>]+|(?1))*>)$/
20:22 demerphq backtracks into itself if necessary.
20:22 demerphq you can even put quantifiers on the recursion call. hows that for twisty. :-)
20:23 rgs nice.
20:23 demerphq Once the named capture patch gets applied ill make a way to do a recursion to it by name.
20:24 demerphq the other thing the perl5 engine needs to make you perl6 people more at home is a (?DEFINE:...) construct.
20:24 andara left perl6
20:24 demerphq that allows a subpatter to be defined but not executed except by recursion/subroutine call.
20:25 demerphq so then /(?DEFINE:(?<rule1>....)(?<rul​e2>...))(?&rule1)*|(?&rule2)/ would dwim.
20:25 TimToady it would be nice to be able to define those outside of the current regex.
20:26 b_jonas demerphq: I don't see why you'd ever need DEFINE,
20:26 demerphq in a different qr//?
20:26 putter define++
20:26 b_jonas I mean, couldn't you just put the subexpression at the first place it's used and refer to it later
20:26 rindolf TimToady: should I read http://dev.perl.org/perl6/doc/design/apo/A12.html or is it already obsolete?
20:26 lambdabot Title: Apocalypse 12: Objects - perl6:, http://tinyurl.com/gtalj
20:26 b_jonas (even outsied from it, that is, not recursing)
20:26 demerphq b_jonas: you could, yes.
20:27 TimToady rindolf: go ahead and read it--it is less out of date than the other A's, and it has [Update] sections.
20:27 fglock demerphq: grammars are like packages, you can have subrules spread in different modules
20:27 demerphq but you are thinking of writing a pattern from the get go. what happens if somebody hands you a qr with their own definitions.
20:27 demerphq sure with a qr// and (?DEFINE:) you can define rules wherever you like.
20:28 putter b_jonas: it can be a pain, so one does a lot of (|...defineA)(|...defineB..​.)commit-if-you-can...real stuff...
20:28 demerphq pick you package. not my problem :-)
20:28 putter s/it/ordering/
20:28 b_jonas like, /[+-]?(\d+(?\.\d*))[+-]?(?1)[ij]/ could match a complex
20:28 b_jonas oh, when the define is _named_, then indeed it would make sense
20:29 b_jonas because you could write something like /$RE{all} (?&number)[+-]?(?&number)[ij]/
20:29 demerphq and since the engine is iterative we can do interesting things like COMMIT.
20:29 b_jonas loading a whole regexp library at the beginning of the regexp
20:31 b_jonas btw, isn't there a way to fake a define like /(?!(?!)(subexpression)) expression using (?1) and (?1) again/x
20:31 TimToady the problem with this is that inheritance is defined directly between regexen.  We need a way for one grammar to inherit from another grammar.
20:32 demerphq i think with a bit of creativity we could do that.
20:32 demerphq a grammar becomes a qr// blessed into a special package?
20:32 rindolf TimToady: ok, thanks.
20:32 putter demerphq: I'm losing on finding notes.  http://weitz.de/cl-ppcre/#performance does have some performance comparisons and tools.   regex's optimize.lisp doesn't do anything p5 doesn't (thought it did, puzzled).  checking ppcre...
20:32 demerphq with some kind of special support for that or whatever. (lots of handwaving)
20:32 lambdabot Title: CL-PPCRE - Portable Perl-compatible regular expressions for Common Lisp
20:32 TimToady yes, at some point it can be considered sugar
20:33 TimToady "all of the qr in this scope auto-import from that regex over there."
20:33 TimToady but it seems like it could be heavy
20:34 TimToady C include fiasco comes to mind.
20:34 TimToady in p6 grammars are just modules which are just packages.
20:35 TimToady <handwaving>
20:35 TimToady so name lookup can be lazy, knowing just the package.
20:35 TimToady this looks like it's reinventing a different namespace.
20:35 demerphq im not sure what the importation does, so im not sure how it could be hacked in. :-)
20:36 putter does p5 engine do "minimum length of rest of branch", either for reducing the search region or for following a fast-scanning pattern anchor?
20:36 demerphq no.
20:36 demerphq minimum length optimisations are per pattern
20:37 demerphq although i did teach it to grok positive lookahead and lookbehind now.
20:38 demerphq so it knows that /(?=foo)/ must match 'foo' and must be 3 chars. older perls wouldnt optimise that at all.
20:38 putter say purely hypothetically one wanted to do per-branch min length... given the current state of internals, would that be "not hard", "well, you could do it", "hard", "laugh"?
20:38 demerphq id like to do auto-possessification of quantifiers preceding a contrary char. thats one thing im eager for.
20:38 demerphq actually not that hard.
20:39 putter so that's a significant improvement on its previous state, yes?
20:39 demerphq except that it wouldnt play all that nicely with the trie optimisations.
20:39 putter s/significant/big wopping/
20:39 demerphq depends how it plays with the trie optimisations to be honest.
20:39 demerphq :-)
20:39 putter yeah, nothing does (play well with tries)
20:40 demerphq i suppose you could add data to the trie.
20:40 demerphq wel already have jump tries.
20:40 putter is the trie stuff a sort of separate universe still, or is it part of a more general "gross code movement" framework?
20:40 demerphq (foo[xy]+|bar[zy]+) is optimised into a trie.
20:40 demerphq kinda a seperate universe. kinda not.
20:41 demerphq its like a regexp switch/case statement.
20:41 putter ooh, neat (re jump tries)
20:41 demerphq sorta half way "dfa" and halfway "nfa"
20:41 TimToady I thought you already had possessive quantifiers if you write them as (?>\d+)
20:41 demerphq but those terms are totally bogus for our purposes.
20:41 demerphq horrible terms.
20:41 demerphq timtoady yes.
20:41 putter but the analysis phase?  standalone, or integrated?
20:42 TimToady or were you just wanting a better syntax?
20:42 demerphq again, i dont get the question?
20:42 demerphq (?>...) needs a suspend op.
20:42 demerphq so its not so useful for stud_chunk() phase optimisations.
20:42 demerphq true possesive quantifiers would mean we could just upgrade the appropriate structures.
20:43 demerphq ie, just change the type field to be STARP instead of STAR or whatever. Similar for the CURLY/WHILE's.
20:43 putter ok, pop stack.  very neat.  this is all in p5 head?
20:44 demerphq bleadperl.
20:44 putter ok
20:44 demerphq well, depending on when rgs applys the patch .:-)
20:44 demerphq for named captures.
20:44 putter :)
20:44 demerphq if you sync blead you could apply it yourself.
20:45 demerphq :-)
20:45 b_jonas I wondered if we could embed a DFA regexp (say, posix regexp) to a perl regexp
20:45 demerphq Anyway, i must run. Its been nice chatting. Ill be around.
20:45 demerphq take care all.
20:45 putter demerphq: look forward too it
20:45 putter thank you for your work! :)
20:45 b_jonas like, /foo(?d:bar)baz/ would match foo, then match the posix regexp bar atomically, then baz
20:47 putter b_jonas: how would that be different than /foo(?>bar)baz/ ?  oops, left room
20:53 putter hmm... backlogging...
20:55 putter regards named regex and inheritance....  someone remind me why we need named regex if we have "embedded code returning regex to insert here" and the engine is now not non-reentrant?
20:55 putter just as a caching strategy?
20:56 fglock I guess embedded code is slow
20:57 TimToady for the same reason that OO is better than subroutine composition.
20:57 SamB "subroutine composition"?
20:58 putter right (re slow).  and the usual answer is you cant embed code at all.  but p5 can, and now it really can, so I'm wondering if that changes how one deals with this.
20:58 * stevan prefers GOTO, subroutines are for loosers
20:58 * SamB has heard of "function compostion"
20:58 stevan heya putter :)
20:58 SamB er.
20:58 SamB "function composition"
20:59 rindolf stevan: I wrote Acme::Gosub if you're interested.
20:59 stevan modules! bah!... PHP doesnt need namespaces,.. and neither do i
20:59 putter TimToady: just to be clear, not wondering about subrules, but about naming subparts of a pattern and then doing backreferences to it...
20:59 putter hi stevan :)
21:00 polettix joined perl6
21:00 * [particle] wonders if stevan has started work on the Meta Goto Protocol yet...
21:00 * stevan stumbles and drops his punchcard stack...
21:00 stevan [particle]: shhhh,.. you will ruin the suprise
21:01 * kolibrie offers to help stevan pick up his punchcards and put them in the right order
21:02 * SamB looks for cards full of parens
21:02 stevan *sigh*, this never happened with paper tape
21:03 * stevan goes back to oiling his Difference Engine
21:04 turrepurre joined perl6
21:05 putter other engines use the /...(?NameThis<Foo>...foo...)... (?UseHere<Foo>).../  construct mostly because they can't embed code.  i'm puzzling over whether (1) it's all that useful for p5, and (2) whether it's the right analogy for p6 subrules, or whether some sort of caching (??{&subrule}) is closer...
21:05 [particle] stevan: say hi to babbage for me
21:05 Limbic_Region joined perl6
21:06 * putter discovers he still has the clump of neurons dedicated to generating an adrenaline spike upon reading "drops his punchcard stack"...
21:06 putter bad stevan
21:06 SamB upon *reading* it?
21:07 putter stevan wrote it.  I went *spike*.  sigh.
21:07 stevan putter: its interesting to think I can randomly fire neuron clumps in your brain
21:07 stevan hmm ... programmable putter
21:07 putter there, you did it again
21:07 TimToady y'know, if you just punch sequence numbers on them we have some technology for sorting them back into order.
21:08 SamB TimToady: they still have that?
21:08 putter stevan: and the channel is archived, so you just diddled the neurons of thousands spread through decades...
21:08 stevan TimToady: my Jacquard Loom is only v1.0 so it does not support that yet
21:09 TimToady just goahead and punch the numbers--you can simulate the sorting machine with a knitting needle.
21:10 SamB heh
21:10 SamB be sure to leave some free!
21:10 SamB in case you need to insert cards later.
21:11 SamB ... anyway isn't the sorting machine standalone?
21:13 stevan putter: sorry, freenode is blocking my /msg to you
21:14 TimToady You could probably start an International Business with such a Machine.
21:14 stevan oh oh... http://cgi.ebay.com/IBM-Punch-Card-2540​-Reader-557-Interpreter-83-Sorter_W0QQi​temZ8796630576QQihZ005QQcategoryZ74946Q​QrdZ1QQssPageNameZWD1VQQcmdZViewItem
21:14 lambdabot http://tinyurl.com/pjqur
21:15 stevan if we all pool our lunch money, we could get this
21:15 TimToady quick, invest in knitting needles
21:15 putter lol
21:15 putter lol re sorter
21:16 putter that's worse than the "let's run a pdp-10" folks :)
21:17 putter hmm... though I don't think I've ever met someone who actually has _fond_ memories of cards...
21:17 TimToady I wonder if someone's been pilfering the Computer History Museum...
21:17 stevan I wonder if it will run Linux?
21:17 SamB stevan: a card sorter?
21:17 TimToady a card sort plus an operator maybe
21:18 SamB eeek
21:18 SamB where do you people eat lunch!
21:18 stevan SamB: reader and interpreter too
21:18 TimToady at the moment, in front of IRC
21:18 [particle] mmm... lunch. i'm off now &
21:19 SamB TimToady: is that a very expensive restaurant?
21:19 * stevan subsists entirely on Perl 6
21:19 TimToady no, the dry sausage was on sale at Safeway
21:21 putter mmm... dinner...
21:26 putter stevan: ping?
21:27 stevan putter: pong
21:27 stevan putter: check your email,.. freenode sucks :(
21:27 stevan I lost my password
21:28 putter :(
21:28 putter will do...
21:29 stevan I pondered sending a binary encoded letter through the mail, but email seemed faster
21:30 * putter looks quizically at stevan
21:30 stevan sorry,.. stack of punchcards though snailmail
21:31 putter what's up with cards?  anything in particular?
21:31 putter need chad confettii?
21:31 stevan elections are right around the corner
21:32 putter "do not fold, bend, spindle or mutilate"
21:33 putter bah, chads.  did you see the note go by on a no-residue vote modifying diablo virus trasmitted by the key cards...?
21:33 stevan yeah
21:33 stevan scary
21:34 putter re go for it.  going... no doubt I'll regret it in the morning...
21:39 putter someone has a hard choice - use it for this election, or save it, but risk losing it, for the next.  though... that's not quite right.
21:39 putter in.
21:39 svnbot6 r14010 | putter++ | misc/pX/Common/redsix - created.
21:39 svnbot6 r14010 | putter++ | Snapshot of an old unfinished p6 on ruby bootstrap attempt.
21:40 kolibrie stevan: didn't you loose you password long enough ago that you can re-register?
21:40 Aankhen`` joined perl6
21:41 stevan kolibrie: probably,,.. but I am lazy :)
21:41 kolibrie :)
21:41 putter lol
21:48 cjeris left perl6
21:49 putter stevan: so what is the state of Moose?  I hadn't realized Data::Bind and such were currently a v6 bottleneck...
21:49 stevan putter: Moose is progressing slowly right now because of $work
21:49 stevan mostly I need to clean up the roles implementation
21:51 stevan then figure out the best way to make it fast
21:51 stevan but it is in several production sites at the moment,.. and not all mine either :)
21:54 putter :)
21:55 weinig is now known as weinigBBL
21:58 putter re $work, it's scary how much that paces the maturation of software engineering.
22:00 putter 1/2 an audreyt, because we can't find $3ishK/mo to have her whole.   something came up at dinner last night... can't remember... something (smalltalk land?) recently got done, but took 10+ years because noone was every there to say "here is $20k, do it now, rather than spread out over the next decade".
22:00 putter lots and lots of neat stuff is like that.
22:00 putter s/every/ever/
22:03 putter even back when arpa was working, there was the concept that maybe well targeted micro grants, get the distracted person a secretary, the person isn't going to get around to the book a ghost writer to sit in his office, the "audreyt" an extra year to focus on a project, the language which desperately needs a test suite a test writer, etc, etc...
22:04 putter could make a large, small integer factor, impact on the the field's pace.  sigh.
22:14 Limbic_Region joined perl6
22:55 mako132 joined perl6
23:02 putter &
23:02 putter left perl6
23:40 demerphq joined perl6
23:43 weinigBBL is now known as weinig

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

Perl 6 | Reference Documentation | Rakudo