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 audreyt on 2006-08-29 05:26:57 -0700] Set by Akwa|user on 14 September 2006. |
|||
00:00
xdg joined
|
|||
dduncan | what you see is what it should say | 00:00 | |
mine now says that too, but didn't initially ... | 00:01 | ||
I think I'll nopaste some of my 'make' output for reference ... | |||
Juerd | nothingmuch: And you thought Perl 6 was scary :P | 00:04 | |
nothingmuch: Perl 5 still has a lot to discover for most people | |||
pasteling | "dduncan" at 24.69.53.198 pasted "before and after a trivial version.pl update" (104 lines, 7K) at sial.org/pbot/19753 | 00:16 | |
00:23
rodi joined
00:32
lambdabot joined
00:34
MacVince joined
|
|||
MacVince | QUick question: I wrote a (incomplete) sudoku solver a few weeks ago in Python. Would it be something that I could translate to Perl 6 and include in pugs/ext? | 00:36 | |
or does that not belong there? | |||
wolverian | there's already one in /examples/continuation/nondet_sudoku.pl, but if yours is different, then sure! | ||
(in examples, probably) | 00:37 | ||
mugwump | you know, I think one based on continuations will be different from one written in Python ;) | 00:40 | |
wolverian | good point :) | 00:41 | |
mugwump | also the one there looks incomplete | 00:45 | |
00:57
zgh joined
01:51
dolmans joined
01:58
weinig|fooding is now known as weinig
01:59
bsb joined
02:05
lambdabot joined
02:20
markstos joined
02:38
mako132_ joined
02:54
mjk joined
03:46
apple-gunkies joined
04:02
penk joined
04:21
pkeane joined
04:23
rindolf joined
|
|||
rindolf | Hi all. | 04:23 | |
ingy: here? | |||
ingy | hi rindolf | 04:29 | |
rindolf | ingy: hi. | ||
ingy: I file a patch to the IO::All RT. | |||
s/file/filed/ | |||
ingy | does anyone know that module that lets you use hashes and arrays as hash keys? | ||
rindolf | ingy: Tie::HashRef? | ||
ingy | that's it | 04:30 | |
thanks | |||
rindolf | ingy: you're welcome. | ||
ingy | anyway, you were saying? | ||
rindolf | Or is it HashRef. | ||
ingy | you want me to get off my butt and release IO::All? | ||
mauke | RefHash | ||
rindolf | ingy: rt.cpan.org/Public/Bug/Display.html?id=20053 | 04:31 | |
lambdabot | Title: #20053: IO/All.pm isn't syntactically valid., tinyurl.com/mnlt8 | ||
rindolf | ingy: there's a patch there. | ||
mauke: right. RefHash. | |||
ingy | Tie::RefHash | ||
rindolf: added that url to my "Release IO::All" todo item... | 04:34 | ||
04:35
weinig is now known as weinig|zZz
|
|||
rindolf | ingy: OK. | 04:35 | |
ingy has been porting Python to Perl all day | 04:37 | ||
so boring... | |||
04:38
SubStack joined
|
|||
ingy | Python is so boring... | 04:49 | |
at least that makes it easy to port | 04:50 | ||
MacVince | porting what Python code? | 04:54 | |
ingy | PyYaml | ||
trac.yaml.com/trac/wiki/PlYaml | |||
lambdabot | Title: PlYaml - YAML.com Trac - Trac | ||
dduncan | fyi, if any of you haven't heard of this yet, well worth a look: citizendium.org/ | ||
lambdabot | Title: The "Citizendium" | ||
ingy | dduncan: Makes me forking sad | 04:56 | |
MacVince | ingy: Oh, you're the guy who got the grant for the port. | ||
ingy | MacVince: yes | 04:57 | |
MacVince | ingy: good luck there, Yaml is very cool and it would be a very cool addition | ||
dduncan | ingy, I won't discount it yet ... sounds like a good idea | ||
ingy | Perl deserves to have YAML tools that actually work | ||
MacVince | indeed | 04:58 | |
ingy | I'm just happy someone came along and did all the hard work | ||
dduncan | I hooked up with it anyway, in a minor capacity, as there seems to be a tangent between Citizendium and something I've been planning to make for awhile ... the tangent is that I was planning to make a new software tool that would be better suited for the task long term than the wikis of today | ||
ingy | but porting is so boring. I'm trying to resist the temptation to write a program to port it for me | 04:59 | |
dduncan | meanwhile, the thought processes for going into it may allow me to make occasional suggestions to improve the current one | ||
I'm very much into epistemology and all that | |||
ingy | surely a generalized Python to Perl compiler would be more interesting... | ||
but I go down that road, we'll end up with nothing | 05:00 | ||
I can't wait to see just how slow this new YAML.pm will be | 05:01 | ||
MacVince | hehe | ||
dduncan | of course, my involvement with Citizendium would be minor if best in the short term; I'm still focusing my attentions on Perl 6 and its tangents | ||
ingy | I'm also resisting the urge to optimize until the tests all pass | ||
dduncan | that is all | ||
MacVince | Well, hopefully the Python crowd will cheer up to the idea of parrot and those kinds of ports will become unnecessary in the future | ||
ingy | I thought the parrot was dead... | 05:02 | |
guess it was just pining for the fjords | |||
wolverian | pining for a ponie? | 05:03 | |
ingy | array.pop() === pop @array | 05:04 | |
array.pop(0) === shift @array | |||
wolverian | .pop() is kind of neat actually | 05:05 | |
badly named probably | |||
ingy | array.pop(array.length / 2) | 05:06 | |
oops | 05:08 | ||
array.pop(len(array)/2) | |||
guess you can't just make stuff up | 05:09 | ||
wolverian | I don't like the name and the defaulting, otherwise it's nice :) | ||
ingy | and expect the python to know what you mean | ||
wolverian: agreed | |||
python is mostly "nice" | 05:10 | ||
my only gripe about this code is that it makes liberal use of importing from other modules | 05:12 | ||
so much of the time I'm not sure where a property lives | |||
05:14
BooK joined
05:32
what3 joined
06:19
BooK_ joined
|
|||
svnbot6 | r13412 | audreyt++ | * Fix command-line HsBridge so "make ghci" work again. | 06:30 | |
06:32
drrho joined,
Aankh|Clone joined
06:38
iblechbot joined
06:40
mdiep_ joined
06:44
zgh joined
07:08
polettix joined
|
|||
nothingmuch | Juerd: =) | 07:09 | |
07:32
what3 joined
07:35
dduncan left
07:54
what3 joined
07:58
mugwump_ joined
07:59
ruoso joined,
BooK joined
08:19
KingDiamond joined
|
|||
ruoso just impressed by the new smartlinks.. | 08:39 | ||
Juerd | smartlinks++ agentz++ | 08:42 | |
ruoso | I think noone has ever taken TDD so seriously as here... | 08:46 | |
I was just wondering if this smartlinking stuff could be used on CPAN pointing to the CPAN test results... | 08:48 | ||
this would be soooo cool | |||
08:51
hareldvd joined
08:57
polettix joined
|
|||
Juerd | The problem with large writeups to mailing lists is that it takes some time for discussion to really begin | 09:04 | |
While spending time on writing it makes you so enthusiastic that you want replies immediately :) | |||
webmind | heh | 09:09 | |
masak | :) | 09:19 | |
09:19
prefiks joined
09:22
buetow joined
|
|||
svnbot6 | r13413 | trey++ | [t/operators/cross-metaop.t] | 09:50 | |
r13413 | trey++ | Tests for cross operators, all todo. | |||
09:50
prefiks left,
gene9 joined
09:51
penk joined
09:56
DHGE joined
|
|||
nothingmuch | mooooosening | 09:59 | |
svnbot6 | r13414 | audreyt++ | * PCR: Unbreak compile_p6grammar.pl. | 10:02 | |
r13414 | audreyt++ | * PCR: Recursion is not a sin (yet). | |||
10:07
zgh joined
10:33
b00t joined,
hareldvd joined
11:02
ludan joined,
TimToady joined
11:57
zeriod joined,
zeriod left,
b00t joined
|
|||
nothingmuch | mugwump_: @YARRRR | 12:03 | |
(1 hour ago, right?) | |||
no wait, that's not right | |||
xerox | ?keal | ||
lambdabot | how bout i say ick no unicorn and daisy loving girl mathematician will ever enjoy this | ||
clkao | i think the synopsis/test xref thing should use unicode smilies rxther than square root | 12:09 | |
12:10
mauke_ joined
|
|||
audreyt | clkao: I agree. commits... welcome :) | 12:12 | |
nothingmuch | =) | 12:13 | |
audreyt: fergal came on #moose today | |||
we talked about Code::Perl | |||
i got permission to abuse it | |||
audreyt | ooooh! | ||
congrats | 12:14 | ||
nothingmuch | it needs a few small refactorings, but after that it should be a very good base to emit non beautified code | ||
if Perl::Generate grows to fill a bigger niche i might replace it with a true pretty printer later | |||
but for now it's an excellent kick start | |||
audreyt | clkao: patch util/smartlinks.pl ? | 12:15 | |
excellent. | |||
(code commons)++ | |||
12:16
f0rth joined
12:20
iblechbot joined
12:22
crem joined
12:25
mauke_ is now known as mauke,
Limbic_Region joined
12:44
iblechbot_ joined
12:54
zeriod joined
12:59
ons joined
13:04
chris2 joined,
frederico joined
13:07
DHGE left
13:10
cjeris joined
13:19
fglock joined
|
|||
kolibrie | audreyt: I would like to try out Takahashi XUL slidemaking, and am trying to use one of your talks as a template, but copying pugs.xul and takahashi.css from your public_html locally results in a slideshow with what looks like no content. Do you have any suggestions? | 13:23 | |
audreyt | kolibrie: you need the .js as well | 13:24 | |
kolibrie | audreyt: just takahashi.js, or also takahashi-subtitle.js | 13:25 | |
audreyt | the fofirst one | ||
kolibrie | audreyt: thank you :) | ||
13:25
crem_ joined
|
|||
audreyt | np :) | 13:25 | |
fglock | does <prior> ignore successful rules that are called as subrules? for example, if there is a successful subrule match inside a failing match | 13:31 | |
audreyt | I think subrule is not counted | 13:33 | |
only toplevel runtime->rule_engine counts | |||
fglock | thanks | ||
audreyt | it's the same as perl5 // | 13:34 | |
13:34
zeriod left
13:36
[particle] joined
13:45
vel joined
13:47
rodi joined
|
|||
Limbic_Region | audreyt - have you done any smoking on Win32? | 13:51 | |
rodi makes the obligatory joke: "you'd have to be smoking to use win32..." | |||
13:52
dakkar joined
|
|||
audreyt | Limbic_Region: no not yet, I'm solving TimToady's apparent #1 pet unhappiness about pugs | 13:53 | |
clkao | which is... ? | ||
audreyt | ?eval while while while | ||
13:53
evalbot_r13406 is now known as evalbot_r13414
|
|||
evalbot_r13414 | Error: unexpected "w" expecting comment or expression postfix op | 13:53 | |
Limbic_Region | ok - I am also interested in knowing whta TimToady's pet peeve is | ||
audreyt | TimToady was repeatedly annoyed by "w" :) | 13:54 | |
also | 13:55 | ||
?eval while 1<1 | |||
evalbot_r13414 | Error: unexpected end of input expecting "_", fraction, exponent, term postfix, comment, operator, "\187!=:=\171", "\187!===\171", ">>!=:=<<", ">>!===<<", "\187!eqv\171", ">>!eqv<<", "\187!=\171", "\187!==\171", "\187=:=\171", "\187===\171", ">>!=<<", ">>!==<<", ">>=:=<<", ">>===<<", "\187eqv\171", "\187!~~\171", "\187!<=\171", "\187!>=\171", "\187!ne\171", "\187!eq\171", "\187!lt\171", "\187!le\171", "\187!gt\171", "\187!ge\171", ">>eqv<<", ">>! | ||
audreyt | he was quite unhappy about the noise | ||
now both are gone. | 13:56 | ||
will commit in a bit | |||
Limbic_Region | oh, (PCR for rules)++ btw | ||
audreyt | I blame you for that :) | ||
I mean, praise | 13:57 | ||
Limbic_Region | well, as I was discussing with agentzh - my vision was very shortsighted | ||
audreyt | I mean, annotate :) | ||
rodi | LOL | ||
audreyt | glad to see that obscure joke gets picked up :) | ||
Limbic_Region | I didn't even begin to see the benefits | ||
fglock | Limbic_Region: re benefits - I'm fixing some unimplemented things | 13:58 | |
Limbic_Region | fglock - that's great. audreyt was discussing some other things WRT overall Pugs design and interoperability with other languages | 13:59 | |
yadda yadda yadda | |||
IOW - I am the guy on the ground who got lucky and threw up a pair of binoculars to the people standing on the shoulders of giants | 14:00 | ||
14:01
zeriod joined
|
|||
Limbic_Region | or some such | 14:01 | |
Win32 smoke looking ok | 14:02 | ||
10969 test cases: 10320 ok, 649 failed, 1327 todo, 502 skipped and 0 unexpectedly succeeded | |||
of course, I removed 5 test files that cause Win32 (or at least my Win32) to hang | |||
14:04
yuval joined
|
|||
svnbot6 | r13415 | fglock++ | Pugs-Compiler-Rule - implemented <prior>; has a failing test | 14:10 | |
r13416 | audreyt++ | * Solve TimToady++'s #1 pet peeve about Parsec, namely the poor signal-to-noise ratio | |||
r13416 | audreyt++ | in our error messages. It was: | |||
r13416 | audreyt++ | ./pugs -e "1 moose 2" | |||
r13416 | audreyt++ | *** unexpected "m" | |||
r13416 | audreyt++ | expecting comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input | |||
r13416 | audreyt++ | at <interactive> line 1, column 3 | |||
r13416 | audreyt++ | ./pugs -e "while 1 < 2" | |||
r13416 | audreyt++ | *** unexpected end of input | |||
r13416 | audreyt++ | expecting "_", fraction, exponent, term postfix, comment, operator, ">>=:=<<", ">>===<<", ">>!=<<", ">>!~<<", ">><=<<", ">>==<<", ">>>=<<", ">>eq<<", ">>ge<<", ">>gt<<", ">>le<<", ">>lt<<", ">>ne<<", ">>~~<<", ">><<<", ">>><<", "\187=:=\171", "\187===\171", "\187!=\171", "\187!~\171", "\187<=\171", "\187==\171", "\187>=\171", "\187eq\171", "\187ge\171", "\187gt\171", "\187le\171", "\187lt\171", "\187ne\171", "\187~~\171", "=: | |||
r13416 | audreyt++ | at <interactive> line 1, column 12 | |||
r13416 | audreyt++ | Now it is: | 14:11 | ||
r13416 | audreyt++ | ./pugs -e "1 moose 2" | |||
r13416 | audreyt++ | *** Unexpected "moose" | |||
r13416 | audreyt++ | expecting comment, operator, statement modifier, ";" or end of input | |||
r13416 | audreyt++ | at -e line 1, column 3 | |||
r13416 | audreyt++ | ./pugs -e "while 1 < 2" | |||
r13416 | audreyt++ | *** Unexpected end of input | |||
r13416 | audreyt++ | expecting "_", fraction, exponent, term postfix, comment, operator or bare or pointy block construct | |||
r13416 | audreyt++ | at -e line 1, column 12 | |||
Limbic_Region | ?eval while 1<1 | 14:17 | |
14:17
evalbot_r13414 is now known as evalbot_r13416
|
|||
evalbot_r13416 | Error: Unexpected end of input expecting "_", fraction, exponent, term postfix, comment, operator or bare or pointy block construct | 14:17 | |
Limbic_Region | ?eval while while while | 14:19 | |
evalbot_r13416 | Error: Unexpected "while" expecting comment or expression postfix op | ||
14:20
justatheory joined
|
|||
svnbot6 | r13417 | fglock++ | Pugs-Compiler-Rule - fixed <prior> | 14:20 | |
fglock | there is a bug localizing <prior> in subrule calls - it looks like after { local $::_V6_PRIOR_ } the value of global $::_V6_PRIOR_ can't be set | 14:21 | |
do I have to predeclare $::_V6_PRIOR_ in order to localize it? | 14:23 | ||
14:26
detritus joined
|
|||
fglock | in case someone can take a look - uncomment Pugs::Emitter::Rule::Perl5::Ratchet line 107; tests in t/09-ratchet.t | 14:31 | |
14:37
ofer__ joined
14:38
ofer__ is now known as ofer1,
premshree_ joined
14:39
PerlPilot is now known as PerlJam
14:40
KingDiamond joined
|
|||
broquaint | You don't need to predeclare $::_V6_PRIOR_, but why localize it if you also want to set it globally? | 14:57 | |
Limbic_Region | broquaint - the same reason you localize any global variable? | 14:59 | |
broquaint | Oh, I misunderstood, the problem then :) | ||
Limbic_Region | well, I really wasn't paying attention to the problem nor the test | 15:00 | |
I was just reacting to your question | |||
fglock | broquaint: I want to undo the global modifications when the block exits | 15:02 | |
15:02
kanru joined
|
|||
Limbic_Region | ok, so I was right - the same reason you localize any global variable - to limit the scope of the modification | 15:02 | |
broquaint | fglock, how can I tell when it is working and when it is not, I'm not sure what to look for in 09-ratchet.t? | 15:03 | |
15:04
xinming joined
|
|||
fglock | broquaint: the last test should pass - it currently passes because Pugs::Emitter::Rule::Perl5::Ratchet line 107 is commented out | 15:04 | |
broquaint | Aha, thanks. | 15:05 | |
15:09
weinig|zZz is now known as weinig
|
|||
broquaint | fglock, I'm also certainly missing a beat here but when I run t/09-ratchet.t Pugs::Emitter::Rule::Perl5::Ratchet::emit is never reached. | 15:11 | |
fglock | broquaint: you may need to Makefile.PL, in order to clear the precompilation cache | 15:12 | |
broquaint | I'm using the lib directory directly (because I'm lazy like that). | ||
But I've svn upped and done the usual make process just to be sure too. | |||
15:13
hexmode joined
|
|||
broquaint | Ah, there's some caching going. | 15:15 | |
15:16
Odin- joined
|
|||
fglock | mm - saving $::_V6_PRIOR_ to a lexical variable works - which means it's not a problem with the algorithm | 15:16 | |
15:21
ludan joined
|
|||
TimToady | blear | 15:21 | |
ludan | re | ||
nothingmuch | scsys.co.uk:8001/4046 | 15:23 | |
lambdabot | Title: perl_web paste from "nothingmuch" at 81.29.65.220... | ||
nothingmuch | is that a bug? | 15:24 | |
ajs | is "pugs -CPIR" the correct tool to use to see what pugs would generate for PIR from my code? If so, should I be getting "Undeclared variable: "@*CHECK"" when I use it? | 15:28 | |
TimToady | it's...a design flaw | ||
nothingmuch | hmm | 15:29 | |
nothingmuch kinda hoped @{ @array } would also work | 15:30 | ||
oh well | |||
TimToady | @{ \@array } works | ||
lambdabot | Maybe you meant: . v | ||
nothingmuch | semantically it's valid to treat $# as a deref, right? | ||
yeah, but both of them work for @# ;-) | |||
TimToady | yes, but you have to start with a ref. :) | ||
nothingmuch likes symmetry | |||
ajs | I think it's coming from src/Pugs/Run.hs | ||
TimToady | that's the design flaw. | ||
nothingmuch | *nod* | ||
i can special case it's child node to also accept any statements whose last expr is an array var | 15:31 | ||
TimToady | and that's why P6 doesn't have references *cough* except when it does *cough* | ||
nothingmuch | huh?! who?! | ||
these are not the references you are looking for | |||
15:37
marmic joined
|
|||
ajs | Seriously, is anyone arround who knows how pugs handles startup? I'm having a devil of a time tracking this "Undeclared variable: "@*CHECK"" thing down. | 15:38 | |
15:39
xinming joined
|
|||
TimToady | darn, I'm going to have to start looking for a new pet peeve... | 15:42 | |
15:43
discordja joined
|
|||
lumi | ajs: I'm not here, but I think ruleProgram in Pugs.Parser.Program calls @*CHECK | 15:44 | |
Try instrumenting that area to see what's wrong | |||
fglock | lunch & | 15:46 | |
ajs | lumi: I'll work on it | ||
I think there's a package scope that Eval.hs is missing when it scans for variables, since @*CHECK is defined in Run.hs | 15:47 | ||
Of course, if I knew Haskell, this code would be easier to read ;) | 15:48 | ||
lumi | I guess the parser's evaluation env is brokn under PIR | ||
Will you be around in 3-4 hours? | 15:49 | ||
ajs | yeah | ||
lumi | Maybe I can help, then | ||
Off now, lates | |||
ajs | ok, thansk | ||
thanks even | |||
15:52
zeriod joined
15:58
buetow joined,
elmex joined
15:59
buetow joined
16:00
buetow joined
16:04
mako132 joined
16:24
Psyche^ joined
16:25
amnesiac joined
16:37
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
TimToady | ?eval class foo { has $.foo is rw; } | 16:38 | |
16:38
evalbot_r13416 is now known as evalbot_r13417
|
|||
evalbot_r13417 | Error: Unexpected "is" expecting comment, ";" or "}" | 16:38 | |
TimToady | ext/CGI and ext/Tree are both failing on this. | ||
though ext/CGI arguably shouldn't be saying "has $!privatefoo is rw;" | 16:39 | ||
since private storage is always writable. | |||
16:42
chris2 joined
|
|||
svnbot6 | r13418 | lwall++ | removed meaningless "is rw" from private attrs to work around bogus parsefail. | 16:42 | |
r13419 | fglock++ | Pugs-Compiler-Rule - subrules don't set global "prior" | 16:48 | ||
17:13
lollan joined
17:16
norageek joined
17:25
ruoso joined
17:27
schranzi joined
17:29
kattana_ joined
|
|||
schranzi | hi | 17:29 | |
i would like to ask a question concerning perl 6 | |||
have read the interview on pugs.blogs.com/pugs/2006/09/status_....html#more | |||
lambdabot | tinyurl.com/k4663 | ||
schranzi | there is a quote: "You can install "v6" from CPAN. It will load all the dependencies automatically." | 17:30 | |
svnbot6 | r13420 | fglock++ | Pugs-Compiler-Rule - emitter cleanup | ||
fglock | schranzi: yes | ||
schranzi | there are in fact many many dependencies but i cannot figure out how to load them *automatically* | 17:31 | |
any hints | |||
? | |||
cannot wait to play with v6 ;) | |||
gaal | do you know the CPAN shell? | ||
[particle] | schranzi: $ cpan v6 | ||
schranzi | ahm...no | ||
oh wow, i didnt know that! | |||
great! thank you!!! | 17:33 | ||
gaal | you're very welcome. enjoy :) | 17:34 | |
TimToady | gaal: any idea why "has $.foo is rw" doesn't parse anymore? It's not apparent from diffs to either Parser or Lexer... | ||
svnbot6 | r13421 | fglock++ | Pugs-Compiler-Rule - emitter cleanup (more) | ||
gaal | TimToady: I'll take a look! | ||
TimToady | thanks! | ||
gaal | sure! | 17:35 | |
schranzi | THIS WORKED! BYE, going to play... :) | ||
(things can be sooo easy...) | |||
fglock | schranzi: :) | 17:36 | |
TimToady | note that v6 tends to start up slowly the first few times while it's building up its caches... | ||
schranzi | ok | ||
thx again | |||
gaal | TimToady: incidentally, traceM $ "The moose is loose " ++ show something | ||
schranzi | i'll leave... | ||
bye | |||
gaal | (a golfy variant of trace ... $ return () in monads) | ||
kolibrie wonders if schranzi picked up a commit bit | 17:37 | ||
gaal | wow, lots of commits since I last was here | 17:38 | |
fglock | actually, v6 seems to not build a cache at all, until you install as root for the first time - I think this is some problem with Cache::FileCache rights | ||
17:39
norageek joined
|
|||
gaal | fglock: where is its cache kept? | 17:39 | |
xerox | gaal: and that still surprises you? %-) | ||
Limbic_Region | gaal - are you familiar with Isaac Asimov's Foundation series? | ||
gaal | should be per user | ||
xerox: moose | |||
Limbic_Region: yes | |||
fglock | gaal: /tmp/FileCache - it's the default place | ||
Limbic_Region | any relation to your name? | 17:40 | |
gaal | fglock: w/o knowing much about your strategy, is there a risk of leaking asts and stuff across users? | ||
Limbic_Region: yes. I am the great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-great-grandfather of Gaal Dornick. | 17:41 | ||
fglock | FileCache docs say the files are encoded per-user | ||
Limbic_Region | heh | ||
I just finished prelude and was starting foundation and thought of you immediately | 17:42 | ||
gaal | Prelude.pm to foundation | ||
nice catch, actually. my Hebrew name is often romanized as "gal", but that's American for "girl", which I ain't. | 17:43 | ||
so in adolescence I was looking for another spelling. | |||
there are other possible spellings that I've seen, but most of them are horrible. | |||
there's actually a good one, Gull, but that's the one chosen by someone I wasn't particularly friendly with at school | 17:44 | ||
Limbic_Region | TimToady - I am pretty sure that Hangul (Korean) is more of a regular alphabet than syllabary symbols | 17:45 | |
except you are the linguist and I took a basic language course | 17:46 | ||
gaal | only much, much later I discovered that ga'al (with a pharyngeal approximant) is actually a biblical name. | ||
(which is pronounced completely unlike my own, if you know can pronounce a pharyngeal approximant) | 17:47 | ||
speaking of syllables, it has one more than mine. | |||
Limbic_Region | I have a pretty hard time pronouncing anything that doesn't using english phonics except a few things in spanish and hangul (Korean) | 17:48 | |
gaal | oh, I saw a lovely site by some linguist in which he showed English phrases in which an allegedly non-English sound is used. Excellent learning material. | 17:49 | |
17:49
bernhard joined
|
|||
gaal | years ago, can't remember where. | 17:49 | |
17:50
ludan joined
|
|||
Limbic_Region | Well, I didn't learn english using "hooked on phonics" so I don't know how many english words have non-english phonics | 17:50 | |
17:50
chris2 joined
|
|||
gaal | though of course, the pharyngeals are being lost in the Hebrew speaking world | 17:50 | |
no, the nice thing is he used funny combinations of words | 17:51 | ||
well, not funny ones | |||
but he found palces where adjacent words triggered a phonetic shift so that in the middle you'd end up with a foreing sounding, eh, sound | 17:52 | ||
*places | 17:53 | ||
Limbic_Region | There was this site that was trying to find an english(ish) word that had a silent J but was so far unsuccesful though I believe every other letter was accounted for | ||
gaal | I know where you can find Silent Bob... | ||
Limbic_Region | After strikes back - I am very hesitant to watch the next movie | 17:54 | |
I was a big fan of clerks, mall rats, chasing amy, and dogma but strikes back sucked | |||
17:58
amv joined
|
|||
svnbot6 | r13422 | malon++ | t/packages/scope.t - correct tests that aren't in sync with S10/S11 | 17:58 | |
r13422 | malon++ | - A bare C<package> declarator declares an C<our> package | |||
r13422 | malon++ | *within the current package* | |||
r13422 | malon++ | - The default namespace for the main program is C<*Main> (not C<*main>) | |||
r13422 | malon++ | - Not sure that the "block level" (Test1) tests are valid, | |||
r13422 | malon++ | but left them as is -- *please check* | |||
r13422 | malon++ | t/packages/Test.pm - corrections | |||
r13422 | malon++ | - get rid of C<use v6-alpha>, which would nest rest of file in package Main | |||
r13422 | malon++ | - semicolon form of C<package> only valid for P5 packages | |||
gaal | TimToady: fixed | 18:01 | |
TimToady | ! | ||
gaal | but I need to do some commit browsing to see if my local fix is appropriate | 18:02 | |
it happened because: | |||
ruleMemberDeclaration = do { .... ; attr <- ruleVarName ; ... ; traits <- ruleTraitsIsOnly } | 18:03 | ||
and there was no whiteSpace eating | |||
now, conventionally our parsers named 'rule' are lexeme parsers, but ruleVarName isn't. | |||
so, I don't know whether it should become one, or whether it should be renamed to verbatimVarName | 18:04 | ||
but the local fix is simply to add "whiteSpace" at line 527. | |||
(tracing this a bit...) | 18:05 | ||
TimToady | I'll smoke that while I'm at lunch. | ||
Limbic_Region | ?eval while 1<1 | 18:14 | |
18:15
evalbot_r13417 is now known as evalbot_r13422
|
|||
evalbot_r13422 | Error: Unexpected end of input expecting "_", fraction, exponent, term postfix, comment, operator or bare or pointy block construct | 18:15 | |
Limbic_Region | ?eval while while while | ||
evalbot_r13422 | Error: Unexpected "while" expecting comment or expression postfix op | ||
Limbic_Region | gaal - what rev is your fix in? | ||
gaal | Limbic_Region: it isn't yet, because I want to make sure the where the fix should be. | 18:16 | |
I'm sensing that this was accidental: | |||
-ruleVarName = rule "variable name" ruleVarNameString | |||
+ruleVarName = ruleVarNameString | |||
and the real fix would be | |||
ruleVarName = lexeme $ ruleVarNameString | |||
(or rather, that and s:g/ruleVarNameString/verbatimVarNameString/ ) | 18:17 | ||
Limbic_Region | ok - I will continue to look dazed and confused - carry on | ||
gaal | Limbic_Region: heh, it's actually simple: | 18:18 | |
our "rules" eat up trailing whitepace, by convention | |||
Limbic_Region | that makes sense | ||
gaal | but that patch (probably) accidentally made that particular rule not do so | ||
Limbic_Region | well - was there a meaningful msg attached to the commit | 18:19 | |
svnbot6 | r13423 | fglock++ | Pugs-Compiler-Rule - preprocess_hash() moved to Pugs::Runtime::Regex; small fixes | 18:26 | |
18:29
putter joined
|
|||
gaal | committing. | 18:30 | |
better resmoke, since the fix is indeed lifing back ruleVarName to be a lexeme parser, not just inside the thing that parses 'has'. | 18:31 | ||
Limbic_Region | . o O (they're coming to take me away hee hee, they're coming to take me away ha ha) | ||
gaal | day after day / they take my friends away | 18:32 | |
ugh, i hate it when commits take forever | 18:34 | ||
Limbic_Region | is it stuck? | 18:37 | |
18:38
BooK_ joined
|
|||
kolibrie started his talk: feather.perl6.nl/~kolibrie/extraction.xul | 18:39 | ||
lambdabot | tinyurl.com/rxtmp | ||
svnbot6 | r13424 | gaal++ | * fix 'has $.x is rw' parsefail, reported by TimToady++. | ||
r13424 | gaal++ | * s:g/ruleVarNameString/verbatimVarNameString/, since it isn't | |||
r13424 | gaal++ | a lexeme parser. | |||
gaal | whee, apparently not any more. | ||
Limbic_Region | ?eval while 1<1 | ||
kolibrie | not much content yet, but I had to start | ||
18:39
evalbot_r13422 is now known as evalbot_r13423
|
|||
evalbot_r13423 | Error: Unexpected end of input expecting "_", fraction, exponent, term postfix, comment, operator or bare or pointy block construct | 18:39 | |
gaal | starting++ | 18:40 | |
bbiab & | |||
18:40
mdiep joined
|
|||
kolibrie | gaal: I'll want your input tomorrow, and every day until Saturday | 18:40 | |
gaal | sure! | ||
kolibrie | thanks | 18:41 | |
and anyone else who wants to contribute | |||
svnbot6 | r13425 | fglock++ | Pugs-Compiler-Rule - minor fixes & cleanup | 18:45 | |
Limbic_Region | building and smoking now | 18:48 | |
putter | fglock: ping? | 19:08 | |
fglock | putter: pong | 19:09 | |
putter | hi fglock :) | 19:10 | |
I'm trying to get my feet wet with PCR. | |||
Just for a place to start, I was looking at aliases. | 19:11 | ||
fglock | putter: welcome :) | ||
19:11
awwaiid joined
|
|||
putter | I see internal scalar alias "'$<' => token { <ident> \> <?ws>? <':='> <?ws>? <named_capture_body>". Are the others all todo? | 19:12 | |
fglock | yes | ||
putter | ok, next q | 19:13 | |
in the '$<' => token, how does a bare $<foo> get handled? ie, one without the following := | 19:14 | ||
re welcome, thanks :) | 19:15 | ||
fglock | it is not currently handled - see '$' => token{} for a way to write this using alternations | 19:16 | |
19:17
SubStack joined
|
|||
putter | so, for instance, to add numeric alias there, one would add a fourth alternative, like | 19:18 | |
fglock | if it fails /<?ws>? <':='>/, it is just a $<var> | ||
numeric alias are already handled - see the definition of <ident> | 19:19 | ||
putter | <?digit>+ <?ws>? <':='> <?ws>? <named_capture_body> { ...same as named alias... } | ...current options... | ||
19:20
weinig is now known as weinig|coffee
|
|||
putter | oh, ok, will look. so, scalar "internal" alias is done. array and hash "internal" is not? numeric is. external scalar/array/hash is not? have I missed any? | 19:20 | |
fglock | ident is /[ <?alnum> | _ | <'::'> ]+/ | 19:21 | |
putter | hmm, what is the \^? in the second clause of '$' => token mean? | 19:23 | |
fglock | putter: that's it, I think | ||
putter | k | ||
just /^\?/ ? | |||
fglock | you mean /\^?/ ? that covers $^var and $var | 19:24 | |
putter | $^var means... what? sorr, it's been a while. | 19:25 | |
s/sorr/sorry/ | |||
fglock | it is a way to refer to $_[0], $_[1] == $^a, $^b | ||
putter | ah, right :)( | 19:26 | |
fglock | anyway, it's not much useful inside rules | ||
putter | ok, re number alias already works. so $4 := (foo) works? | ||
fglock | $<4> := (foo) parses, but it is not implemented in the runtime | 19:27 | |
that would be a good place to start - not too difficult | 19:28 | ||
mm - maybe not too difficult :) | |||
19:29
lisppaste3 joined
|
|||
putter | ah, so to get $4 :=, one would modify '$' => token with a new first clause <?digit>+ <?ws>? <':='> <?ws>? <named_capture_body> { ...same as '$<' code... } | ...current options... | 19:29 | |
:) | |||
19:29
larsen joined
|
|||
fglock | I think $4 is not valid - it would bind to $OUTER::4 or something | 19:30 | |
$<4> binds to $/[4] | |||
putter | ok, I may be confused. something to check spec on. | 19:31 | |
let's see... | |||
:global stuff was showing up on t/rules tests. todo? | 19:32 | ||
19:32
azr|elious joined
|
|||
fglock | do you have that link again? | 19:33 | |
putter | looking... | 19:34 | |
to the paste of errors, right? | 19:35 | ||
fglock | yes | ||
putter | sial.org/pbot/19739 | ||
lambdabot | Title: Paste #19739 from "putter" at 66.30.119.55 | ||
putter | sial.org/pbot/19740 | 19:36 | |
lambdabot | Title: Paste #19740 from "putter" at 66.30.119.55 | ||
putter | first one sorted by file, second one just the errors. i think. | ||
all t/rules/from_perl6_rules/subst.t | 19:37 | ||
19:37
justatheory joined
|
|||
putter | s/all/all 'global' errors are from/ | 19:37 | |
fglock | 'global' could be handled by v6.pm - it should call match() until it fails | 19:40 | |
putter | and pugs could do something similar | ||
fglock | but it could be implemented at PCR, no problem - maybe return an iterator | 19:41 | |
putter | (there was even code for it at one point, both in hs and Prelude.pm I fuzzily recall) | ||
ok, todo of check what existing stuff exists (prelude and hs), then implement. sound right? | 19:42 | ||
fglock | substitutions can be handled at a higher level, too | ||
putter | any global or substitution code in PCR currently, or is this all new code? | ||
fglock | one thing to check, is how to handle closures in the haskell interface | 19:43 | |
it's all new code | |||
putter | ok | ||
re closures | |||
<{foo}> and {foo} , yes? | |||
fglock | re global, it can handle to restart a continuation (which it calls a "state") | 19:44 | |
re closures: yes - v6.pm installs a callback to parse and emit perl6 code; we need to find out how to handle this in Pugs | |||
putter | does that (state restart) have efficiency advantages over just calling the rule multiple times? | 19:45 | |
(I'm trying to get a feel for simplicity vs cost tradeoff) | |||
fglock | that depends what you want - you can simply redo the match with last position+1 | 19:46 | |
putter | re the other modifiers, all hard wired currently, yes? | ||
re "simply redo", ok | |||
fglock | but that doesn't handle :overlap or :exhaustive | 19:47 | |
19:48
weinig|coffee is now known as weinig
|
|||
fglock | re hard wired - :ratchet and :sigspace change the emitted code | 19:48 | |
(compile-time) | |||
putter | Prelude has an old implementation of overlap. Was waiting for Rul objects to work in the prelude, which they never did. :( Could use that. Exhaustive is similar. | 19:49 | |
re modifiers, right. so user defined modifiers is all todo, yes? | |||
19:50
azr|elious is now known as azr|el
|
|||
fglock | yes | 19:50 | |
putter | makes sense | ||
let's see... | |||
fglock | one nice thing to investigate - develop a syntax to define the precedence parser using rules | ||
nothingmuch | night | 19:51 | |
putter | variable and symbolic indirect rules todo? | ||
fglock | bbiab (10min) & | ||
putter: yes | |||
variables can reuse existing hash and array code | 19:52 | ||
putter | 'night nothing much. I'll get back to MO in... well, shortly I hope. | ||
[particle] | svn.perl.org/parrot/trunk/languages...r_optok.pg | ||
lambdabot | tinyurl.com/krndk | ||
putter | re 10min, ok, I'll collect | ||
fglock | bbiab | ||
putter | re precedence parser, yes :) | 19:53 | |
20:05
ofer__ joined
20:06
awwaiid joined
20:08
fglock joined
|
|||
fglock | putter: there is already a precedence parser api (syntactic categories), but it is limited to p6 compiler internals | 20:08 | |
putter | k | 20:10 | |
back? | |||
next question will be... capture numbering games working or todo? | |||
fglock | the numbering is working - there is one TODO there | 20:11 | |
in this rule: / <rule> <rule>+ / | 20:12 | ||
the second subrule is captured to an array - the first one is not | 20:13 | ||
putter | (aside, as I collect nm's MO description, re "joining rule terms into p5 rx doesn't give much gain", the key is to avoid needlessly breaking up or taking over something which the p5 regexp engine handles wizzily. eg, scanning for start of match, sequence of quants, backtracking in general.) | ||
fglock | they should go to the same array | ||
putter | so $<4> := (foo) (bar) will put (bar) in $5? | 20:14 | |
fglock | re joining: there is a problem when you need to backtrack into subrules - p5 doesn't support that | ||
putter | right. that would be an example of non-needless :) | ||
fglock | putter: yes - the compiler has an internal counter; you can restart the counter at '4' | 20:15 | |
putter | k, todo | ||
hmm. does p6 need to know the total number of captures like p5 does...? | |||
putter squints, trying to remember | 20:16 | ||
if so, or regardless, does is that info currently recorded somewhere for each rule? | |||
fglock | it is recorded while the code is emitted | 20:17 | |
putter | in ../Emit/.. ? | ||
fglock | $capture_count | 20:18 | |
putter | next question will be... characters | ||
ah, tnx | |||
oh, but first | |||
so, in general, how todo-ish would you characterize the handling of details, eg, captures never reached getting their failed match objects, etc. | 20:19 | ||
lumi | ajs: ping | ||
putter | I guess that's "are we in top down or bottom up implementation mode"? | 20:20 | |
TDD would tend to imply bottom up, unless there was a mix of approach... | 20:22 | ||
fglock | I think most TODO things are documented - it needs a prioritization | ||
svnbot6 | r13426 | fglock++ | v6 - eval() happens in the caller's lexical scope; :lang needs more work | ||
fglock | I tend to fix the things I need, first | ||
putter | re "it needs a prioritization" - since PCR and v6 should probably drive the priortization, perhaps you are the best person to do that? :) | 20:23 | |
ah, ok | |||
characters... | |||
fglock | v6 doesn't need much more | ||
TreyHarris | @seen Limbic_Region | ||
lambdabot | I saw Limbic_Region leaving #perl6 44m 32s ago, and . | ||
putter | is any graph/code/byte distinction stuff there? | 20:24 | |
fglock | nope | ||
putter wonders what lambdabot was going to say after the ", and" | |||
oct/hex escapes? | 20:25 | ||
fglock | no | ||
TreyHarris | @tell Limbic_Region Hangul is an odd mixture case; neither precisely alphabet nor syllabary. It has sub-characters called jamo which are alphabetic, but they are composed together into the Hangul characters as found in individual Unicode codepoints called seong, which are syllabic. So it depends on your POV. | ||
lambdabot | Consider it noted. | ||
putter | named chars.... hmm, am I missing anything? next question up would be character classes. | ||
putter shudders | 20:26 | ||
lumi | TreyHarris: It's an alphabet that gets packed, isn't it? | ||
20:26
awwaiid joined
|
|||
lumi | It just isn't written simple LTR/RTL, no? | 20:26 | |
fglock | putter: character classes are currently source filtered into p5 /[chars]/ | 20:27 | |
putter | oh, \r \n etc character escapes? | ||
re source filtered, ok, | |||
TreyHarris | lumi: essentially. because unlike, say, english phonology, Korean phonology is not as productive. there are thousands of possible syllables in English; there are only a few dozen in Korean. | ||
putter | so no.... oh, that reminds me, conjunctions? | 20:28 | |
fglock | \r \n are just that, \R is [^\r] | ||
TreyHarris | lumi: so, thinking of it in terms of huffman encoding, it is a win to pack since the total set of syllables is so small | ||
lumi | But it is an alphabet, and not an, er, abgad I think they called it, like we have in Hebrew | ||
fglock | conjunctions are easy to add - it's just that I never needed them | ||
putter | ah, they are one way to do... | 20:29 | |
character set set ops? | |||
<alphanum>-<num>+[3]-[A..C] | |||
ajs | lumi: pong | ||
fglock | yes, but that's something you may want to implement at a lower level | 20:30 | |
20:30
foo\ joined,
DHGE joined
|
|||
TreyHarris | lumi: abugida. depending on the definition used, Hangul either is, or is not, an abugida. the composition of jamo into seong is very similar to abugida, but because the set of syllabics is fixed, some would claim it is not in fact abugida. | 20:31 | |
lumi | ajs: Still have borkage? Want to have a look? | ||
putter | yes, as in that's one way to do it, and it's todo; or yes, it's not todo? | ||
fglock | yes, it is todo | ||
putter | ok :) | ||
ajs | lumi: yeah, I had no luck in figuring it out. The error is in Eval.hs | ||
fglock | mm - we should be looking at the TODO list :) | ||
ajs | It fails to find @*CHECK even though it's difined in Run.hs | ||
putter | :) | 20:32 | |
lumi | Lessee | ||
ajs | But only if I use -CPIR like: "./pugs -CPIR -e 0" | ||
putter | yeah, this became a todo/coverage conversation. can update the TODO file from it :) | ||
? and ! on rules <?foo> <!?foo> ? | 20:33 | ||
fglock | putter: that's partially covered - there are some corner cases | ||
putter | next q will be... any of the, shudder, <,> array or other non-string matching stuff? | 20:34 | |
re corners, ok | |||
lumi | ajs: Run.hs, line 137? | ||
fglock | no, I didn't grok that yet | ||
putter | so no problem. ;) | ||
ajs | checking | 20:35 | |
putter | oh, thought you said "no, I didn't get to that yet". but same reply for grok too. | ||
fglock | putter: it looks like an attribute grammar, but not sure | ||
lumi | I mean, is that where you meant it's put in? | ||
ajs | Yes, that's where it seems to be difined | ||
putter | all the greedy/nogreed star, plus, range stuff is working? | ||
lumi | ajs: It works in normal mode, so let's see what happens different in -CPIR | 20:36 | |
fglock | that's a long answer :) | ||
putter | lol | ||
lumi | (I have no idea where tha might be) | ||
20:36
dduncan joined
|
|||
ajs | 282 of src/Pugs/Eval.hs is what generates the error | 20:36 | |
fglock | there are some quantifiers in :ratchet mode that need to call non-ratchet - this is not implemented yet | 20:37 | |
dduncan | following yesterday, I haven't yet fixed the version problem, but I would like to see with whom else it occurs | ||
it seems that "touch util/version_h.pl" before make is the difference between pugs -v being updated or not | |||
fglock | putter: non-ratchet star and plus need to be optimized | ||
putter | oh, oh... what is a one line description of ratchet? then back to conversation... | 20:38 | |
dduncan | but in my reading of the Makefile.PL, I don't know enough about how it works to determine why this is | ||
fglock | putter: range is not implemented, mostly because v6 didn't exist at the time pcr was written :) | ||
dduncan | version_h is mentioned a half dozen plus different places | ||
putter | :) | ||
ajs | lumi: do you get the same error? | ||
dduncan | so my question is, for each of you, does pugs -v show the correct revision num for you? | 20:39 | |
I would particularly like to know this for svk users | |||
TreyHarris | fglock: looking at your last commit... is there any way to make eval_ok, eval_is, etc., run their strings in the caller's scope, rather than in eval_ok's? | 20:40 | |
people jump through all sort of hoops in the test suite to get around that | |||
putter | so, just what is ratchet? | 20:41 | |
fglock | TreyHarris: it would be easy to implement these if they were language primitives - but as library functions you need the hoops | ||
putter: it disables backtracking - mostly for optimization | 20:42 | ||
dduncan | eg, update now, then make, and see if it says r13426 or a lower number | ||
putter | so what happens with alternations? | ||
dduncan | thank you | 20:43 | |
in advance | |||
ajs | src/Pugs/Parser/Program.hs:148 is the culprit | ||
putter will have to head out shortly | 20:44 | ||
svnbot6 | r13427 | fglock++ | v6 - cleanup debug info | ||
fglock | putter: anchors.t now passes all tests | ||
putter | :) | ||
fglock++ | 20:45 | ||
TreyHarris | fglock: i suppose eval_* could also be reimplemented as macros | ||
lumi | ajs: Sorry, emacs killed my X.. for some reason | ||
ajs | Yikes | ||
I was saying, src/Pugs/Parser/Program.hs:148 is the culprit | 20:46 | ||
pasteling | "putter" at 66.30.119.55 pasted "some raw material for a MO description" (50 lines, 3.3K) at sial.org/pbot/19777 | ||
fglock | TreyHarris: yes, that could fix it | ||
ajs | I don't know why it can't find @*CHECK, but if I change that usage to @*DHECK, it changes the error ;) | ||
putter | @tell nothingmuch I didn't get very far (at all) in editing, but here is some raw fodder for a MO description/README. sial.org/pbot/19777 | 20:47 | |
lambdabot | Consider it noted. | ||
putter | fglock: alternation in ratchet? then I'm off. | 20:48 | |
fglock | putter: yes - that's an if-then-else, not really a backtrack | 20:49 | |
20:49
zgh joined,
DHGE left
|
|||
lumi | ajs: That bit is AST that the program goes in | 20:49 | |
putter tries to picture that... | |||
so no subrules or quantifications allowed in the branches of the alternation? | |||
TreyHarris | fglock: but perhaps macros are too high a bar on new implementations to require they pass before they can even use the test suite. | 20:50 | |
fglock | putter: it doesn't care to what comes after the alternation | ||
putter | hmm. i'm still puzzled. but a puzzle for another day. | ||
fglock: thank you! this has been enlightening and fun. :) | 20:51 | ||
good night all & | |||
fglock | putter: thank you! | ||
lumi | ajs: Did you try with any other backends? | 20:52 | |
ajs | lumi: no | ||
fglock | TreyHarris: actually, macros are no more complex than subs - they are just used at a different place | ||
TreyHarris: v6.pm doesn't have macros because they are not a priority; the lrep compiler had macros | 20:54 | ||
20:57
chris2 joined
|
|||
ajs | lumi other backends seem fine, but I'm using -C, which means it shouldn't even be trying to execute the code, should it? | 20:57 | |
TreyHarris | fglock: okie. i guess i'll switch from svn to svk so i can play with a local branch and see what happens | ||
fglock: thanks | 20:58 | ||
21:00
jferrero joined
|
|||
fglock | TreyHarris: np | 21:01 | |
svnbot6 | r13428 | fglock++ | Pugs-Compiler-Rule - added Match.keys() method | ||
21:02
hexmode joined
|
|||
fglock | does $/.keys include numbers (0,1...) ? | 21:02 | |
TreyHarris | must run for a bit & | ||
fglock | how about $/.values ? | 21:03 | |
21:04
ofer0 joined
|
|||
svnbot6 | r13429 | fglock++ | Pugs-Compiler-Rule - added $/.values() method | 21:05 | |
21:05
kanru joined
|
|||
lumi | ajs: Um. I'm kinda glazing over Pugs.CodeGen.PIR | 21:07 | |
fglock | is %$/.keys a syntax error? (t/rules/from_perl6_rules/array_cap.t line #32) | 21:08 | |
21:11
SubStack joined
|
|||
lumi | ajs: Oh hm. Pugs.hs:406 sets the env | 21:13 | |
for running | |||
But this never happens for codegen | |||
fglock | mm - <(code)> looks wrong too (in t/rules/from_perl6_rules/assert.t) | 21:14 | |
ajs | Interesting | ||
I'm tearing through the code, but my comprehension is for crap.... gotta learn me the Haskell | 21:15 | ||
lumi | I think. See doCompile, which is line 197 | ||
I imagine that's where it should happen? | 21:16 | ||
ajs | "doCompile backend = doParseWith $ \env _ -> do" you mean | ||
lumi | ajs: Yes, but no, I was wrong -- it passes the enving responsibility on, I guess | 21:17 | |
Ah! I have it :) | 21:18 | ||
ajs | Would something in the PIR backend just *remove* the existing env settings? | ||
lumi | 294 | ||
doParseWith f name prog = do env <- tabulaRasa name | |||
ajs | Yeah | ||
lumi | It ate a newline but, as you can see, it initializes to an empty env :) | ||
Should be: env <- prepareEnv name args | 21:19 | ||
ajs | Ah | ||
lumi | Er, if it has the args there, sec | ||
ajs | So, the same as runProgramWith | ||
lumi | Yeah but hm, I don't think it does have them | 21:20 | |
It should get them then, that's a bit more.. | 21:21 | ||
ajs | It seems unlikely that's the bug | ||
That code was last modified in version 7344 | 21:22 | ||
Though the next line, "f' $ parseProgram env name prog" was 12648 | |||
Hmmm... I suppose I could go back and see when it last worked | |||
lumi | I'm trying to fix it | 21:24 | |
Um. svk is broken | 21:26 | ||
ajs | "No happy found" | ||
mugwump_ | avast ye landlubbers! | 21:38 | |
svnbot6 | r13430 | fglock++ | v6.pm - added headers to allow rule definitions outside of grammars, | ||
r13430 | fglock++ | as required by t/rules/from_perl6_rules/capture.t | |||
lumi | Oh bah, I feel on a wild goose chase | ||
ajs: I was wrong and that's not the problem/difference at all | 21:41 | ||
21:42
xerox joined
|
|||
lumi | It might be a bit out of my league then | 21:42 | |
ajs | lumi: I'm seeing if I can track down when it broke so I can produce a diff that's the culprit | ||
Lots of rebuilding | |||
lumi | Okay, I'll keep the depth and you keep the breadth then | 21:43 | |
ajs | k | ||
lumi | Arr. | ||
ajs | gar! I can't compile old versions of pugs anymore ... | 21:50 | |
I'll try without parrot | |||
21:51
Limbic_Region joined
21:52
fglock left
|
|||
ajs | Works in r10000 | 21:57 | |
I've never done a binary search through svn revisions before. It's sort of interesting | 21:58 | ||
obra | ajs: search.cpan.org/~coke | 22:00 | |
lambdabot | Title: Will Coleda - search.cpan.org | ||
Limbic_Region | use.perl.org/~demerphq/journal/31040 # let's all hope demerphq finds round tutis | 22:01 | |
lambdabot | Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
Title: Journal of demerphq (2831) | |||
Limbic_Region | ?seen TreyHarris | 22:02 | |
lambdabot | TreyHarris is in #perl6. I last heard TreyHarris speak 59m 52s ago. | ||
22:10
markstos joined
22:11
zeriod left
22:13
cjeris left
|
|||
TreyHarris | i have a brain block. what's the incantation in Perl 5 to do $ref->isa('Foo') when you're not sure whether $ref is even blessed or not? "ref $obj && eval { $obj->isa('Foo') }" works, but I know I've seen a better idiom | 22:41 | |
22:43
Aankhen`` joined
|
|||
dakkar | TreyHarris: there is UNIVERSAL::isa, but I think I've seen written somewhere that it should not be used... | 22:44 | |
Limbic_Region | TreyHarris - I believe you want something from Scalar::Util | 22:45 | |
it should be able to tell if it is a blessed reference removing the need for the eval block | 22:46 | ||
yes, Scalar::Util has blessed | 22:47 | ||
TreyHarris | Limbic_Region: ah, that's exactly what i wanted. I even knew it was called blessed(), but I didn't know where it was and cpan search didn't turn it up easily (blessed is a very common word in perldocs) | ||
thanks! | |||
Limbic_Region | no worries - I thought you were trying to do something in a single step and was unaware of what that might be | 22:48 | |
though, in practices you almost never want isa and are more interested in can | |||
the exception being a case where you have a subclass of animal called dog and a subclass of animal called bear, both with methods called bite | 22:49 | ||
TreyHarris | in this case, i am isa, because i need to quietly make this an OO class without disturbing the current procedural users of it, so my methods need to be prepared to be called with $self or without (in which case they use a factory to get a value for $self). | 22:50 | |
Limbic_Region | it is probably best at that point not only to ask "can bite" but also isa dog to disambiguate | ||
TreyHarris | s/i am isa/i do need isa/ | ||
Limbic_Region | yuck - I never liked perl 5's ability to accomodate that | ||
22:51
mnemonic joined
|
|||
TreyHarris | oh? being able to change your API to accommodate good new stuff in backwards-compatible ways is one of the things I *like* about Perl :-) | 22:51 | |
22:51
mnemonic left
|
|||
Limbic_Region | no, you misunderstand | 22:52 | |
it isn't that it isn't possible | |||
it is that the ways to do it are cumbersome | |||
TreyHarris | it's the only way I'm able to whip preexisting code already in production, written by neophytes, into shape | ||
Limbic_Region | having useful prototypes and mutimethods would be a huge improvement | ||
TreyHarris | oh, you never liked its *lack of* ability to accomodate that easily. :-) gotcha | ||
Limbic_Region | well, however you slice it - I am looking forward to Perl 6 in this regard | 22:53 | |
dduncan | ?eval my @originals = (1,2,2,3,4,5,5); my @filtered = any(@originals) ~~ { $_ > 1 }; @filtered; | 23:00 | |
23:00
evalbot_r13423 is now known as evalbot_r13430
|
|||
evalbot_r13430 | [(Bool::False | Bool::True),] | 23:00 | |
dduncan | TreyHarris, what were you saying on p6l just now? | ||
TimToady | specced but unimplemented | ||
dduncan | okay, but are we keeping "grep", or is it going away in favor of the above? | 23:01 | |
Limbic_Region | dduncan - it is just an alternative way of writing it | 23:02 | |
one that is more Perl 6 ish | |||
dduncan | yes | ||
Limbic_Region | grep isn't going anywhere | ||
Limbic_Region says eyeballing TimToady | |||
dduncan | I thought "where" is better than "grep" also, so if we're keeping "grep", then I suggest "where" as an alias for it | ||
but I also wonder ... | 23:03 | ||
would any() cause duplicates to be dropped, or would the multiple 2 and 5 remain in the result? | |||
Limbic_Region | I personally dislike "where" only because of SQL | 23:04 | |
dduncan | and would the order be maintained ... it is a list rather than a set we are filtering, after all | ||
Limbic_Region | actually - I think that is wrong | ||
dduncan | Perl 6 already has a "where" for use in subset definitions and such ... do you dislike that too? | ||
Limbic_Region | I am no junction expert but | ||
I think s/any/all/ | |||
TimToady | ~. | 23:05 | |
Limbic_Region | order is not guaranteed with junctions | ||
especially if it is implemented using threads under the covers | |||
dduncan | thought so, in which case Trey's suggestion wouldn't replace grep | ||
in all situations | |||
TreyHarris | no... | 23:06 | |
order is guaranteed in this case | |||
dduncan | Limbic, just because a language like SQL uses the word "where", that doesn't mean it is inappropriate for other languages if taken at its face value of being a filter | ||
svnbot6 | r13431 | fglock++ | v6 - fixed eval() parameter handling | 23:07 | |
lumi | ajs: ping | ||
dduncan | <bar> = <foo> where <condition> | ||
Limbic_Region | dduncan - you could use when for that too | ||
TreyHarris | see S09:606 | ||
Limbic_Region | and in fact when has been suggested for that very purpose | ||
dduncan | fair enough | ||
but either way, a nice english/descriptive word is better than "grep" ... | 23:08 | ||
TreyHarris | "@result = any(@x) ~~ {...}; is equivalent to @result = grep {...}, @x;" | ||
Limbic_Region | dduncan - it Haskell it is spelt filter | ||
dduncan | and consistency is nice too ... would our current use of "where" be replaced with "when", then, such as for subset definitions? | ||
TreyHarris | Limbic_Region: any(@x) ~~ { ... } would be an assertion that each and every item in @x is true for the block, which isn't what grep does. | 23:09 | |
dduncan | fine | ||
23:09
weinig is now known as weinig|store
|
|||
dduncan | fine re 'filter' that is | 23:09 | |
Limbic_Region | TreyHarris - I am not familiar with what aspect of that forces any to match more than one | 23:10 | |
dduncan | the relational data model uses "restrict" to mean the same thing, but that its input and output is a set | ||
TreyHarris | Limbic_Region: what aspect of what? | ||
Limbic_Region | any(@x) ~~ {...} in my understanding should return 0 or 1 | 23:11 | |
dduncan | eg, <foo> = <bar> restricted to <condition> | ||
Limbic_Region | oh wait, that's one() | ||
right? | |||
Limbic_Region has a screaming 7 month old to deal with | |||
dduncan | I would expect anything containing any() or all() etc to produce unordered distinct values as output | ||
TreyHarris | Limbic_Region: the synopses are as the synopses say :-) your understanding is incorrect. look at S09, line 606, like I said :-) it's extremely explicit about this case. | 23:12 | |
biab | 23:13 | ||
lumi | @tell ajs Pugs.CodeGen.PIR:395 builds the env on the PIR side -- this env doesn't have @*CHECK | 23:16 | |
lambdabot | Consider it noted. | ||
Limbic_Region | I see it TreyHarris, but I still don't understnad why | ||
I freely admit I haven't kept up with the synopses to understand the changes to junctions | 23:17 | ||
but I thought that once any() satisfied the condition - it could abort | |||
lumi | No, that doesn't make sense :/ pugs wouldn't use the PIR env | 23:18 | |
Limbic_Region | ok, I am beginning to understand | 23:19 | |
nevermind me | |||
?eval my @foo = 1..5; my @bar = (1,3,5); my @what = any(@foo) ~~ any(@bar); ~@what | 23:22 | ||
23:22
evalbot_r13430 is now known as evalbot_r13431
|
|||
evalbot_r13431 | "any(VJunc any(VBool False),VJunc any(VBool False,VBool True))" | 23:22 | |
TimToady | 16:00 < TimToady> specced but unimplemented | 23:23 | |
Limbic_Region | TimToady - in my example, should @what contain 1,3,5 if implemented according to spec | ||
TimToady | can't talk much--in a meeting. | 23:24 | |
Limbic_Region | sorry | 23:25 | |
TimToady | Limbic_Region: yes, it should be 1,3,5 | 23:26 | |
dduncan | question: is "when" going to replace "where" in subset definitions? It seems to make more sense, logically. | ||
Limbic_Region | dduncan - when already exists | 23:27 | |
dduncan | looking ... | ||
Limbic_Region | it is part of given/when | ||
dduncan | oh, right | ||
Limbic_Region | i.e. the perl 6 equiv of case | ||
dduncan | but does that disqualify it for unambiguous use in other places? | 23:28 | |
like subset defs? | |||
or perhaps rename "where" to "matching" in subset defs? | 23:30 | ||
but whatever works best ... I just don't think that "grep" is the best word for what it is used for | 23:31 | ||
and forget "matching" | |||
maybe | |||
that may be too specific a case | |||
or not | 23:32 | ||
23:38
kanru joined
23:40
theorbtwo joined
23:48
weinig|store is now known as weinig|bbl
|