Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-10-10

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:10 kulp_ joined #perl6
00:27 alester joined #perl6
00:31 speckbot r14592 | pmichaud++ | typo fix in S02
00:33 pmichaud TimToady++     I _like_ the new adverb approach.
00:35 alanhaggai joined #Perl6
00:51 pmichaud std:  my $foo;   ::($foo)::handler()
00:51 p6eval std 22560: OUTPUT[parsed␤]
00:55 hercynium joined #perl6
00:55 alester joined #perl6
00:58 eternaleye joined #perl6
01:05 alanhaggai_ joined #Perl6
01:15 BinGOs_ joined #perl6
01:41 TimToady pmichaud: well, it does make life simpler for us  :)
02:04 meppl good night
02:26 Lorn joined #perl6
03:05 justatheory joined #perl6
03:32 Bzek joined #perl6
03:39 pmichaud TimToady: so, what happened to "Perl Philosophy is simply to torment the implementors on behalf of the user"?  ;-)
03:41 alanhaggai_ joined #Perl6
03:42 pmichaud although, I'm sure Perl will come up with even better torments.
03:48 z80ASM joined #perl6
04:07 TimToady well, we *do* have to implement the changes, it's just simpler over the long term
04:09 rakudo_svn r31845 | pmichaud++ | [rakudo]:  remove perl.t test for now until it can be re-fudged.
04:13 pmichaud I'm eager to see the STD.pm changes for it :-)
04:16 alester joined #perl6
04:18 alanhaggai_ joined #Perl6
04:33 TimToady just about done, actually
04:33 Alias_ joined #perl6
04:35 TimToady assuming it works...
04:37 TimToady which, of course, it doesn't
04:37 TimToady but the general plan is to move adverb recognition into the infixish alternation so we don't pay for it as an extra check
04:38 TimToady it returns it to EXPR as an infix labelled fake, and if EXPR notices a fake infix (after reducing), it shoves it into the appropriate node
04:38 TimToady then tries again for an infix
04:42 rakudo_svn r31846 | pmichaud++ | [rakudo]:  Adjust $?NS handling.
04:45 sri_work joined #perl6
04:46 TimToady think I got it, but running the test suite
04:52 sail0r joined #perl6
04:54 sail0r left #perl6
05:04 Ontolog joined #perl6
05:07 Psyche^ joined #perl6
05:10 sail0r joined #perl6
05:10 sail0r left #perl6
06:05 Psyche^ joined #perl6
06:19 azawawi joined #perl6
06:34 pbuetow joined #perl6
06:34 rakudo_svn r31855 | pmichaud++ | [rakudo]:  Bring namespace parsing into closer alignment with STD.pm.
06:35 rakudo_svn r31855 | pmichaud++ | This also adds the 'parse_name' method to Perl6::Compiler, and allows
06:35 rakudo_svn r31855 | pmichaud++ | us to eliminate some inline PIR from actions.pm.
06:38 moritz_ pmichaud: please don't blindly trust p6eval's std: target - it sometimes reports false positives :(
06:40 pmurias joined #perl6
06:43 pmurias is the new adverb form considered better or is it choosen due to "ease" of implementation
06:44 moritz_ pmurias: I think it's related to our discussion on built-in test operators which work as adverbs
06:44 pmichaud moritz_: it's just a first approximation for me
06:44 moritz_ http://irclog.perlgeek.de/perl6/2008-10-09#i_613602 an onwards
06:44 lambdabot Title: IRC log for #perl6, 2008-10-09
06:44 pmichaud if std.pm comes back with "false" then I can stop looking for a bit
06:45 pmichaud pmurias: ease of implementation wasn't really the consideration, I don't think
06:45 pmichaud it does help with implementation a bit, but that's not what led us to it.
06:49 masak joined #perl6
06:49 pugs_svn r22561 | lwall++ | [STD] move adverb parsing into infixish and EXPR with loose_unary prec
06:52 TimToady it's really more about sanity than ease of implementation
06:52 masak sanity++
06:53 masak TimToady: "Note also that existence and deletion are now simply adverbs on subscript operators." what were they before?
06:53 TimToady %hash.:delete<key>
06:53 masak ah, right.
06:53 masak aye, the current one is arguably better
06:54 TimToady but I think it's very valuable to keep the subscript looking the same for rvalues and delete/exist
06:54 masak aye
06:54 TimToady it also keeps those words free for use by users
06:55 masak Perl 6: fewer reserverd words than you think
06:55 moritz_ sub if { say "I'm crazy" }
06:56 masak if if { if }
06:57 moritz_ you're evil, I love you ;)
06:57 masak :)
06:57 masak rakudo: sub if { 1 }; if if { say "whoa" }
06:58 p6eval rakudo 31855: RESULT[1]
06:58 masak that's not right.
06:58 moritz_ rakudo: sub if { 1 }; if if() { say "whoa"; }
06:58 p6eval rakudo 31855: OUTPUT[whoa␤]
06:58 masak whoa.
06:58 moritz_ now *that's* wright
06:58 masak what's the difference?
06:58 moritz_ if -> if()
06:58 masak semantically, smartass
06:58 TimToady pugs: sub if { 1 }; if if { say "whoa" }
06:58 p6eval pugs: OUTPUT[*** ␤    Unexpected "if"␤    expecting "=" or conditional expression␤    postfix op␤    at /tmp/88WOMSkORo line 1, column 18␤]
06:59 moritz_ masak: I don't know if 'if if' is allowed, but if() forced the second to be interpreted as a sub call
06:59 moritz_ which is why you can't say qw(a b c); any more
06:59 masak my questions is "why does it matter?", I guess
07:00 masak why wouldn't 'if' be treated as a sub call here?
07:00 masak (the second one)
07:00 moritz_ std: if if { 1 }
07:00 p6eval std 22561: OUTPUT[parse failure␤]
07:01 moritz_ std: sub if { 1 }; if if { 1 }
07:01 p6eval std 22561: OUTPUT[parsed␤]
07:01 masak it parses, but what does it mean? :)
07:01 pmurias TimToady: is it worth converting mildew from a rule_name() style recursive traversal to a VAST::emit_m0ld one?
07:02 TimToady currently STD parses it as if() if { say "whoa" }, which is probably not right
07:02 TimToady pmurias: no kloo
07:03 TimToady VAST is still mutating rather rapidly
07:03 masak ah. didn't even see that possibility. that's what you get for defining if() :)
07:04 TimToady it ought to prefer the statement_control there, not sure why it didn't
07:04 BinGOs joined #perl6
07:06 * moritz_ sense the need for another test, but has to depart soon to his doom (aka diploma exams)
07:06 moritz_ s/to/for/
07:06 TimToady well, have the appropriate amount of fun
07:07 moritz_ thanks ;)
07:18 masak moritz_: good luck on the exams!
07:19 masak after that, you'll learn more about the Spin Hall effect and then tell me ;)
07:31 kanru joined #perl6
07:32 viklund joined #perl6
07:34 moritz_ masak: that's only after the second exam ;/
07:34 masak I realize that. good luck with all of 'em.
07:35 iblechbot joined #perl6
07:35 moritz_ now I have to wait 20 minutes, good opportunity to go mad ;)
07:36 masak you're in good company for that ;)
07:37 masak (we're developing Perl 6, at least that takes a certain strain of non-mainstream-ness)
07:51 meppl joined #perl6
07:53 cosimo joined #perl6
07:53 masak the link under the heading "caller" in S29 is broken.
07:53 masak http://perlcabal.org/syn/S29.html
07:53 lambdabot Title: S29
07:53 masak what's generating that page?
07:56 TimToady well, source is from pugs/docs/Perl6/Spec/Functions.pod
07:56 TimToady don't know what's doing the formatting to html
07:56 masak nothing wrong with the source
07:56 masak but the formatter seems to believe in a no-longer-extant CPAN package
07:57 pugs_svn r22562 | lwall++ | [gimme5,STD] switch exists and delete to new form
08:00 kanru joined #perl6
08:02 masak hm, who likely knows which formatter is generating the S?? documents in perlcabal.org/syn/ ?
08:02 elmex joined #perl6
08:05 [particle]1 joined #perl6
08:54 jferrero joined #perl6
09:05 moritz_ masak: tools/smartlinks.pl
09:06 masak moritz_: dz
09:07 schmalbe joined #perl6
09:12 masak moritz_: are you sure? it's not a smartlink I'm talking about, but an L<> link to an external resource.
09:14 moritz_ masak: smartlinks.pl turns the *pod files into the *.html that are displayed on perlcabal.org/syn/
09:14 masak oki
09:14 masak good.
09:14 moritz_ it has a variety of options
09:14 * masak will peruse it more when he has time
09:14 masak I don't see any quick way to fix the link
09:15 drbean joined #perl6
09:21 pmurias TimToady: what are zygs?
09:23 masak Take off every 'ZYG'!!
09:24 * pmurias is even more confused
09:26 masak pmurias: sorry, that was an obscure cultural reference. please ignore ad lib.
09:34 [particle] joined #perl6
09:37 tomyan joined #perl6
09:48 [particle]1 joined #perl6
10:00 justatheory joined #perl6
10:01 smtms joined #perl6
10:02 bjakb joined #perl6
10:13 cls_bsd joined #perl6
10:16 zamolxes joined #perl6
10:28 riffraff joined #perl6
10:28 riffraff hi
10:29 masak riffraff: y0
10:38 donaldh joined #perl6
10:39 ihrd joined #perl6
10:42 dzema joined #perl6
10:46 masak rakudo: say "welcome, ihrd and dzma :)"
10:46 p6eval rakudo 31857: OUTPUT[welcome, ihrd and dzma :)␤]
10:46 masak oops. s/dzma/dzema/
10:51 araujo joined #perl6
10:53 masak perl6: {"OH HAI".$^action}.(&say)
10:53 p6eval elf 22562: OUTPUT[Parse error in: /tmp/Jlbr4xmnQE␤panic at line 1 column 19 (pos 19): Statement not terminated properly␤WHERE: {"OH HAI".$^action}.(&say)␤WHERE:                   /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:355:in `eat_terminator'␤  STD_red/std.rb:269:in `block
10:53 p6eval ..i...
10:53 p6eval ..pugs: OUTPUT[*** Cannot bind to non-existing variable: "$action"␤    at /tmp/9ex56TGViX line 1, column 1 - line 2, column 1␤]
10:53 p6eval ..rakudo 31857: OUTPUT[OH HAI␤]
10:53 tomyan joined #perl6
10:54 masak should the above really work, or is it a coincidence in Rakudo that it does?
11:03 pmurias perl6: {"OH HAI".$^action}.(sub($arg) {say ">>>$arg<<<"})
11:03 p6eval elf 22562: OUTPUT[Parse error in: /tmp/goNpxUy10u␤panic at line 1 column 19 (pos 19): Statement not terminated properly␤WHERE: {"OH HAI".$^action}.(sub($arg) {say ">>>$arg<<<"}␤WHERE:                   /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:355:in `eat_terminator'␤
11:03 p6eval ..STD_red...
11:03 p6eval ..pugs: OUTPUT[*** Cannot bind to non-existing variable: "$action"␤    at /tmp/Ni2Ohkwuc7 line 1, column 1 - line 2, column 1␤]
11:03 p6eval ..rakudo 31857: OUTPUT[>>>OH HAI<<<␤]
11:04 rff joined #perl6
11:08 [particle] joined #perl6
11:21 kst joined #perl6
11:32 alanhaggai joined #Perl6
11:33 moritz_ masak: I think it should work
11:38 pmurias joined #perl6
11:46 ashizawa joined #perl6
11:48 kst joined #perl6
12:10 MMnet05 joined #perl6
12:12 kst joined #perl6
12:18 BinGOs joined #perl6
12:38 kst joined #perl6
12:49 z80ASM joined #perl6
13:01 kst joined #perl6
13:06 Lorn joined #perl6
13:18 ihrd joined #perl6
13:29 jhorwitz joined #perl6
13:46 pmurias TimToady: what would be usefull in AST is some way to retrive the orginal Match object for a given node or at least the .from and .to information to set the line information for error messages
13:47 ruoso joined #perl6
13:49 TJCRI joined #perl6
13:52 pmurias ruoso: hi
13:53 ruoso hi pmurias
13:57 kst joined #perl6
14:13 pmurias ruoso: are you blocking on anything?
14:14 alester joined #perl6
14:19 ruoso pmurias, not really.. I'm just getting all my ideas straight on how to implement multi sub dispatch
14:19 pugs_svn r22563 | pmurias++ | [mildew] switch from a simple recursive traversal to viv and VAST and traversing with emit_m0ld
14:27 pmurias ruoso: i think we will need signature comparison, to choose the most specific variant
14:28 ruoso pmurias, yeah... I've been trying to figure out an easy way to do that...
14:29 pmurias it's hard to compare closures... so i suppose we need a Signature with some structure
14:29 ruoso or some more specific API
14:30 Pzt3 joined #perl6
14:30 ruoso maybe $signature[0] gets the type of the first parameter...
14:30 ruoso and $signature{foo} gets the type of the name parameter 'foo'
14:31 ruoso (doing it in terms of API instead of structure is more polymorphic... that's important, since Signature is not a native type)
14:32 pmurias the API sounds sensible
14:34 ruoso too bad for the AdhocSignature... :(
14:36 pmurias we need to handle slurpy named and positionals too
14:37 pmurias and sub foo(
14:37 pmurias |$capture) {...}
14:38 jan_ joined #perl6
14:40 ruoso sub foo(|$capture) is already implemented
14:40 ruoso by a lowlevel one
14:40 ruoso bindcapture
14:40 ruoso which is actually :(|$_)
14:41 ruoso pmurias, hmmm... slurpy named and positionals looks like trouble...
14:42 ruoso how to check the type of a slurpy without causing the eager evaluation?
14:42 moritz_ ruoso: lazily, if possible.
14:42 moritz_ ruoso: as long as you have no tie-breakers in slurpy params that shouldn't be a problem
14:43 ruoso so we need to make very clear that (Array of Int *@a) causes eager evaluation
14:44 moritz_ for most dispatches it should be enough to evaluate the first item of @a
14:45 moritz_ but perhaps you have to attach type checks to @a
14:45 moritz_ that are run when @a's generator produces more items
14:51 pmurias ruoso: it think it would be ok if we didn't support (typed) slurpies in the S1P::Signature
14:52 ruoso typed slurpies maybe... but we do need slurpies
15:04 Exodist joined #perl6
15:11 apeiron_ joined #perl6
15:30 zamolxes joined #perl6
15:33 TimToady pmurias: I tend to use "zygotes" for "kids" because it sorts later in the yaml output :)
15:34 TimToady and yes, there needs to be match info in the ast, but I was leaving it out for the moment so that I didn't have to read through *both* trees intermingled
15:34 TimToady maybe we could have options on ast generation
15:34 [particle] yes please!
15:35 moritz_ if so, maybe I finally manage to write a syntax hilighter based on it ;)
15:35 TimToady gah, users!!!
15:36 moritz_ heh ;)
15:37 moritz_ TimToady: think of it as a "visual aid to evaluate correctness of the AST"
15:39 TimToady but users are even pickier than a Haskell compiler, and less consistent!
15:40 moritz_ but users don't complain at compile time ;)
15:41 * PerlJam was wondering what zygs where in viv's output
15:41 pmurias moritz_: that's a bad thing
15:41 ofer joined #perl6
15:42 [particle] users don't complain at runtime, either--only after it doesn't run
15:43 TimToady yes, they tend to harbor unthrown exceptions
15:43 TimToady which is probably the solution to binding lazy lists to typed slurpies
15:44 TimToady the type is a promise to turn type mismatches into unthrown exceptions
15:44 TimToady it's not a promise to catch all mismatches at bind time
15:44 ofer Heya Larry!
15:44 TimToady howdy doody
15:47 pmurias TimToady: what is --p6 supposed to output? identical p6 or clearer p6 or properly indented p6?
15:47 [particle] hrmm
15:48 moritz_ or uglier p6? ;-)
15:50 ihrd left #perl6
15:51 TimToady the idea was to spit out identical to make sure I hadn't lost an info
15:51 TimToady which means I need to attach whitespace info as well somehow, if only by ref to the _ array
15:51 TimToady *any info
15:59 pmurias and --p5 is supposed to spit out perl 5 "good enough" to run STD?
16:03 TimToady initially it's supposed to do everything gimme5 does
16:03 TimToady only correctly
16:04 pugs_svn r22564 | lwall++ | [viv] add --pos option
16:06 TimToady I figured there wasn't much point in working on --p5 before --p6 works, since the ast will keep mutating till that happens
16:07 TimToady and making --p6 work involves not forgetting anything, which is a self-imposed requirement these days
16:07 TimToady (after having to make p5 not forget via MAD)
16:07 TimToady I'd rather not forget up front rather than having to unforget later
16:14 moritz_ TimToady: is there a good reason for using a hand-rolled command liine parser instead of GetOpt::Long?
16:22 [particle] i believe he knows how to use the hand-rolled code without reading any pod :)
16:25 TimToady I enjoy rolling my own. :)
16:26 PerlJam TimToady: admit it.  you're obsessive compulsive about certain things (command lines being one)
16:26 PerlJam :-)
16:27 ruoso TimToady, re "the type is a promise to turn type mismatches into unthrown exceptions".... PLEASE!!! :)
16:31 [particle] yes, i like that too, ruoso
16:31 [particle] very much, in fact
16:31 pugs_svn r22565 | lwall++ | [viv] add whitespace-before info under --pos
16:32 ruoso [particle], The People against Eager Evaluation ;)
16:32 alanhaggai joined #Perl6
16:34 TimToady PerlJam: certainly, I have a productive blend of OCD and AS, with occasional fits of a
16:34 TimToady ADHD and OD
16:35 [particle] the drug companies want you for clinical trials of a new pill
16:35 TimToady but sometimes SWMBO is also involved
16:37 pugs_svn r22566 | putter++ | [on_sbcl] README: Add TODO section.
16:37 pugs_svn r22566 | putter++ | [elf_h] Sync test results with current t/.
16:37 TimToady but yeah, you can't really make it in my business without OCD
16:38 TimToady the only way I ever let it go is by going and obsessing about something else for a while
16:41 * ruoso later &
16:43 pugs_svn r22567 | lwall++ | [viv] --match to attach match objects
16:44 TimToady okay, I've probably obsessed about that enough for now...
16:46 meppl joined #perl6
16:47 pugs_svn r22568 | pmurias++ | changed require to do to avoid having to add an 1; to viv
16:53 pugs_svn r22569 | lwall++ | [viv] change MAIN to take @ARGV args as arguments
16:53 TimToady pmurias: see above
16:54 schmalbe joined #perl6
17:05 pmurias TimToady: you mean 22569?
17:07 arguile left #perl6
17:08 TimToady yes, in case you want to call into MAIN
17:08 pmurias i don't invoke MAIN
17:08 TimToady but maybe you need the args processor separate
17:09 TimToady well, feel free to whack on viv's API
17:09 pmurias i just need an extra --m0ld
17:09 TimToady or split out some of it into a viv.pm
17:10 pmurias i propably should do it as "do 'viv'" is a bit hackish...
17:14 pmurias TimToady: does --match meet the no info is lost criteria?
17:14 pmurias &
17:15 Pzt3 joined #perl6
17:47 Lorn__ joined #perl6
17:48 TimToady pmurias: yes, presuming the match tree itself has not lost any info.  but there's a lot of duplicate data
17:48 TimToady I don't think we have a ref back to the rule that matched yet either.  It's a bit tricky since subs aren't real objects in Perl 5...
17:50 TimToady but _reduced at least tells you the reduction tag for each rule
17:56 rdice joined #perl6
18:12 sri_work_ joined #perl6
18:15 hercynium joined #perl6
18:23 rakudo_svn r31862 | tene++ | Merge hllmagic branch into trunk.
18:23 rakudo_svn r31862 | tene++ | Mostly looks okay.
18:23 rakudo_svn r31862 | tene++ | If anyone runs into problems fixing the last few issues with their languages, address issues to Tene or pmichaud.
19:03 [particle]1 joined #perl6
19:06 TreyHarris joined #perl6
19:10 Lorn joined #perl6
19:12 lambdabot joined #perl6
19:29 sirhc joined #perl6
19:31 pugs_svn r22570 | moritz++ | [t/TASKS] remove some outdated tasks
19:57 [particle] joined #perl6
20:22 [particle]1 joined #perl6
20:43 pugs_svn r22571 | lwall++ | [t] excise exists and delete functions
20:45 pugs_svn r22572 | lwall++ | [STD] add missing TEMP block
20:49 araujo joined #perl6
21:26 rakudo_svn r31868 | moritz++ | [rakudo] remove S29-hash/delete.t from spectest_regression. Its syntax has
21:26 rakudo_svn r31868 | moritz++ | changed, and is not yet supported. I'll open a TODO ticket.
21:33 Limbic_Region joined #perl6
21:48 Lorn_ joined #perl6
21:48 zamolxes joined #perl6
22:02 Juerd I have to shutdown feather0
22:02 Juerd Which means that feather1..3 will be paused
22:03 Juerd When using an ssh session, don't press any keys and it will probably survive the outage
22:10 Juerd (Oh, by the way, it's back up)
22:23 wknight8111 joined #perl6
22:36 Pzt3 joined #perl6
22:53 justatheory joined #perl6
23:46 rdice joined #perl6
23:54 eternaleye joined #perl6
23:57 alanhaggai joined #Perl6

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

Perl 6 | Reference Documentation | Rakudo