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