Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-09-18

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

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

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

Perl 6 | Reference Documentation | Rakudo