Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-02-25

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:04 audreyt committed
00:08 geoffb joined perl6
00:21 ingy audreyt!
00:21 audreyt ingy!
00:21 ingy I think I just found my first haskell toy program
00:22 audreyt oooh
00:22 ingy btw I just compiled 5500 lines of work templates into 10500 lines of javascript
00:22 nothingmuch hi ingy, i need to complain to you in a jiffy
00:22 nothingmuch        my multi sub collect_arguments ([]) {}
00:22 nothingmuch        my multi sub collect_arguments ([ $args, *@args ]) {
00:22 ingy as I look at the js output, I realize the need for an optimizer
00:22 nothingmuch my multi sub collect_arguments : nonfatal ([ $args, *@args ]) { }
00:22 ingy so maybe I'll write one in Haskell
00:23 nothingmuch ingy: Spork has a missing dep: Spork::Formatter::Kwid
00:23 ingy btw, i just got TaPL
00:23 nothingmuch well, actually it just dies in the test
00:23 nothingmuch because the module is not there
00:23 ingy nothingmuch: report it to rt
00:23 ingy I have a note to go through all the queues soon
00:24 nothingmuch ([]) {}
00:24 nothingmuch okay
00:48 justatheory joined perl6
00:49 bg_ joined perl6
00:52 uzair joined perl6
00:58 grayson joined perl6
00:58 bg_ left perl6
01:11 Cryptic_K joined perl6
01:19 TimToady_ joined perl6
01:28 TimToady1 joined perl6
01:30 geoffb joined perl6
01:48 audreyt joined perl6
01:48 lypanov wb
01:49 * audreyt curses the wireless network here
01:49 audreyt (not to say that nothingmuch didn't do a brilliant job, but I just lost 2.5hr of journaling. :/)
01:49 lypanov (ooucccchhh....)
01:58 Amnesiac joined perl6
02:03 svnbot6 r9179 | audreyt++ | * $<> is spelled as $() now, so we revise history.
02:06 svnbot6 r9180 | nothingmuch++ | Getopt::Process - Generic Getopt Engine Thingy Moose
02:11 scook0 joined perl6
03:02 alexe joined perl6
03:09 mako132_ joined perl6
03:22 robkinyon joined perl6
03:34 lypanov_ joined perl6
03:34 lypanov_ is now known as lypanov
03:36 mako132_ joined perl6
03:52 wilx joined perl6
04:18 LCamel_ joined perl6
04:22 Limbic_Region joined perl6
04:29 Cryptic_K joined perl6
04:36 alexe left perl6
04:56 TimToady joined perl6
05:11 TimToady joined perl6
06:14 xern joined perl6
06:15 beppu_ joined perl6
06:25 feng joined perl6
06:52 bd_ joined perl6
07:13 xinming joined perl6
07:21 Cryptic_K joined perl6
07:26 levin__ joined perl6
07:43 r0nny joined perl6
07:54 scook0 joined perl6
08:20 elmex joined perl6
08:26 KingDiamond joined perl6
08:27 szabgab joined perl6
08:27 KingDiamond hello, szabgab
08:27 szabgab rehi
08:27 nnunley 'make test' still takes on the order of 5.5 hours for me.  Is there anything that I need to do to ensure precompiling and the fast path stuff is working?\
08:30 nnunley This is with a 1.6 ghz PPC running OSX.  Pugs has nothing embedded.
08:31 nnunley Other than hs-plugins.
08:38 nothingmuch moose
08:38 nothingmuch hola szabgab
08:41 szabgab hey nm
08:42 szabgab do you already have plans when are you arriving in Netanya ?
08:42 feng123 joined perl6
08:43 TimToady joined perl6
08:44 calanya joined perl6
08:54 salty-horse joined perl6
08:54 KingDiamond salty-horse, hi
08:54 salty-horse hello, KingDiamond
08:55 KingDiamond salty-horse, realname=Premshree :)
08:55 KingDiamond salty-horse, I'm in Netanya now
08:55 salty-horse oh :) which cafe?
08:55 KingDiamond salty-horse, Solan Telecom
08:55 salty-horse shall we fork to #osdc.il or something?
08:56 KingDiamond salty-horse, that'd be better
08:58 nothingmuch TimToady: variable and function names resolve first of
08:58 nothingmuch all according to the lexical scope of the macro definition, and if
08:58 nothingmuch unrecognized in that scope, are assumed to be bound from the scope
08:58 nothingmuch of the macro call each time it is called
08:58 nothingmuch this means that we can't get strict 'vars' for quasiquuoting checks
08:59 xinming joined perl6
09:03 TimToady_ joined perl6
09:03 nothingmuch TimToady: why is COMPILING:: too easy?
09:05 iblechbot joined perl6
09:06 vel joined perl6
09:06 xinming Lwall landed... :-)
09:15 ghenry joined perl6
09:15 gaal joined perl6
09:15 TimToady_ nothingmuch: I give up, why?
09:16 nothingmuch well, because it says:
09:16 nothingmuch ... are assumed to be bound from the scope
09:16 nothingmuch of the macro call each time it is called
09:17 nothingmuch ?eval macro foo () { q:code { $x } }
09:17 evalbot_9180 undef
09:17 nothingmuch that compiles
09:17 nothingmuch ?eval macro foo () { q:code { $x } }; { my $x; foo() };
09:17 evalbot_9180 \undef
09:17 nothingmuch ?eval macro foo () { q:code { $x } }; { foo() };
09:17 evalbot_9180 Error: Undeclared variable: "$x"
09:17 nothingmuch this moves the compile time error to the wrong time
09:17 audreyt I think it's the correct time, btw.
09:18 nothingmuch okay
09:18 nothingmuch but that's just like, your opinion, man
09:18 nothingmuch why wee think it'
09:18 audreyt mm, I think you mean ma'am
09:18 nothingmuch s wrong:
09:18 nothingmuch no, because i was quoting a movie
09:19 lumi "man"'s gender neutral in this context, I think :P
09:19 audreyt I will not quarrel
09:19 audreyt sure it is :)
09:19 nothingmuch most inputs to a macro are *not* going to be implicit parameters glued to the thingy
09:19 nothingmuch e.g.
09:20 nothingmuch ?eval macro max ( $x, $y ) { q:code { { my ( $x_v, $y_v ) = ( {{{$x}}}, {{{$y}}} ); $x_v >= $x_y ?? $x_v :: $x_y } } }; max(5, 4);
09:20 audreyt ok. so you think it should've said $COMPILING::x
09:20 evalbot_9180 Error:  unexpected "{" expecting expression
09:20 audreyt and $x should be strictly lexical
09:20 nothingmuch yes
09:20 nothingmuch the fallback to lookup at COMPILING:: is bad
09:20 nothingmuch because it means q:code has no stricture
09:21 nothingmuch and for an uncommon behavior (steal a symbol from your caller) it's not good to have an easy to get wrong default behavior
09:21 nothingmuch that also removes useful error messages
09:21 nothingmuch ?eval macro max ( $x, $y ) { q:code { { my ( $x_v, $y_v ) = ( {{{$x}}}, {{{$y}}} ); $x_v >= $x_y ?? $x_v :: $x_z } } }; max(5, 4);
09:21 evalbot_9180 Error:  unexpected "{" expecting expression
09:21 nothingmuch anyway, in that macro, spot the typo
09:21 audreyt I don't have to; the user site will blow up
09:21 nothingmuch (why isn't it parsing, btw?)
09:21 nothingmuch right
09:21 nothingmuch but if the macro is being linked in?
09:21 nothingmuch this is an error in the macro
09:22 lumi That's six months from now
09:22 nothingmuch it's not the user's site
09:22 audreyt still the user site will bloe up
09:22 nothingmuch so why should the user suffer?
09:22 nothingmuch why don't I get it when I'm compiling the macro?
09:22 nothingmuch which is when I want it?
09:22 audreyt how is it any different from the use of $+foo?
09:22 nothingmuch this is like saying "Well, all strict-vars checks happen at runtime"
09:22 nothingmuch it isn't
09:22 nothingmuch except that $+foo is very very explicit about it
09:22 audreyt no, not runtime, "use" time
09:22 nothingmuch just like $COMPILING::
09:22 nothingmuch macro-run-time is use time
09:23 nothingmuch $COMPILING::$x is like $+x
09:23 nothingmuch it tells the reader this variable is not in this scope
09:23 nothingmuch i think COMPILING:: should have a shorthand
09:23 nothingmuch and that saying:
09:23 nothingmuch my
09:23 nothingmuch macro foo {
09:23 audreyt q:code(:COMPILING<$x $y>){ $x + $y }
09:23 nothingmuch    my $x ::= $COMPILING::x;
09:23 nothingmuch yeah
09:23 nothingmuch exactly
09:24 audreyt I'm fine with the predeclaration form.
09:24 nothingmuch but that unresolved symbols in the quasiquoted text are errors at the time of the parsing of the quasiquoted text
09:24 nothingmuch (the macros compile time)
09:24 nothingmuch (not the macro's runtime, which is user code's runtime)
09:24 audreyt unless you predeclare. sure.
09:24 nothingmuch ...unless you predeclare
09:24 nothingmuch yeah
09:24 lumi User code's compile time
09:24 audreyt which is user code's compile time, that is
09:25 nothingmuch yes
09:25 nothingmuch i was just trying to be very very explicit about detailing those =)
09:25 audreyt ok. so q:code accepts pseudopackage-named export lists
09:25 audreyt exactly like import/export list does
09:25 nothingmuch ofcourse
09:25 audreyt and introduce those names to the quasiquote body
09:26 audreyt just like import/export, if anything is not mention there, and is not supplied by your lexical scope
09:26 audreyt then it's a lookup failure.
09:26 audreyt (under default strictude)
09:26 audreyt sounds good?
09:26 nothingmuch yes
09:26 nothingmuch =)
09:26 audreyt good then. :)
09:27 nothingmuch and 'no strict' gives you a default fallback to COMPILING:: ?
09:27 nothingmuch TimToady_: any does this answer your question? ;-)
09:27 audreyt that'd work, but now we have explicit import lists, that might not be needed anyway
09:27 audreyt (in other word, I no longer care :))
09:28 nothingmuch please restate that last bit, i didn't grok
09:28 audreyt now that we can explicitly say q:code(:COMPILING)
09:28 audreyt which persumably means everything nomentioned gets fallbacked to COMPILING
09:28 nothingmuch aha
09:28 audreyt using "no strict" to mean the same thing sounds bad
09:29 nothingmuch yeah
09:30 audreyt nopaste a S06 patch then? :)
09:30 nothingmuch sure
09:31 nothingmuch same as yesterday?
09:31 audreyt sure
09:31 nothingmuch does the phrasing "q:code(:COMPILING)" imports the compiling scope into the quasiquoted scope?
09:31 audreyt the "compiling scope defined so far"
09:31 audreyt but yes.
09:31 nothingmuch ... ofcourse
09:31 nothingmuch =)
09:31 nothingmuch thank you
09:32 audreyt thank _you_ :)
09:32 audreyt this is nicer than either explicit qualification or implicit fallback
09:32 nothingmuch yes
09:33 audreyt which, come to think about is, is why we have the scope export/import mechanism in the first place ;)
09:33 TimToady_ fine by me, but I'm starting to wish that COMPILING was a hair shorter.
09:33 bsb joined perl6
09:33 audreyt $HYPER::x
09:33 audreyt $META::x
09:33 audreyt $SHIFT::x
09:34 nothingmuch what's the opposite of {{{ }}} ?
09:34 nothingmuch because '{{{ $COMPILING::x }}}' means '$x', i think
09:34 nothingmuch no
09:34 nothingmuch err
09:34 nothingmuch whatever
09:34 audreyt it means using the compiling early-bound x, which is almost always undef unless you are in the same compilation unti as your macro
09:34 szabgab left perl6
09:34 audreyt as a splice.
09:35 lumi Can you use {{{ }}} anywhere? I think it would mean "compile-time eval and splice here"
09:35 TimToady_ lumi: yes
09:36 TimToady_ though it occurs to me we didn't spec it.  Talked about it last night though.
09:36 * audreyt misses ^A^A^A ^D^D^D
09:36 audreyt (but sure, why not. :))
09:36 lumi Heh
09:36 nothingmuch anonymous macro syntax
09:37 TimToady_ basically we just assume a big q:code {...} around the main compilation unit.
09:38 bsb stick that up your Y-combinator
09:39 nothingmuch my $x; {{{ $COMPILING::$x }}} = 10; say $x;
09:39 audreyt it doesn't quote work hat way
09:39 TimToady_ bsb: are you cursing again? :)
09:40 audreyt because $COmPILING::x will hold a string or ast by that
09:40 audreyt but it does not
09:40 bsb I only do that when splatting a match
09:40 bsb *%$/
09:40 audreyt you can also spell it as
09:40 audreyt *%${}
09:40 audreyt I mean *$/{}
09:40 TimToady_ bsb++
09:40 lumi my $x; {{{ q:code:{ $COMPILING::x } }}} = 10; say $x;
09:40 audreyt lumi: that'd work, yes.
09:41 audreyt but it's easier just to say
09:41 audreyt BEGIN { $COMPILING::x = 10 }
09:41 audreyt or even
09:41 audreyt BEGIN { $x = 10 }
09:41 nothingmuch ah, yes
09:41 audreyt if you are in the same compilation unit.
09:41 TimToady_ no, I'm over in the other cabin.
09:41 svnbot6 r9181 | Darren_Duncan++ |  r2625@darren-duncans-power-mac-g4:  darrenduncan | 2006-02-23 16:48:45 -0800
09:41 svnbot6 r9181 | Darren_Duncan++ |  ext/Rosetta/ : small changes to resync with new 0.721.0 CPAN release
09:41 audreyt {{{ ... }}} is probably only good for splicing snippets of computed code.
09:42 nothingmuch yeah
09:42 TimToady_ still, gives a way of defanging some injection attacks on eval.
09:42 audreyt {{{ (1..10).map:{"use Foo$_;"} }}}
09:43 dduncan once again, I have no idea why that last commit was repeated
09:43 svnbot6 r9182 | Darren_Duncan++ |  r2671@darren-duncans-power-mac-g4:  darrenduncan | 2006-02-25 01:39:44 -0800
09:43 svnbot6 r9182 | Darren_Duncan++ |  ext/Rosetta/ : added new module Rosetta::Shell, an interactive command shell over Rosetta, to make casual use/try-outs/dev/testing easier
09:44 dduncan strange svk merge behaviour
09:44 dduncan the comment for r9181 is the same as one from 1-2 days ago
09:44 bsb svk mi --recover # has been invoked a number of times recently
09:44 bsb dduncan: I had the same problem
09:44 salty-horse left perl6
09:45 bsb It gets you a lot of karma though :)
09:45 dduncan my concern is if it is screwing up the repository
09:45 dduncan what do you get if the same delta is applied twice?
09:45 dduncan stuff like that
09:45 bsb In my case, none of the changes actually seemed to happen
09:46 audreyt dduncan: no, that can't happen :)
09:46 bsb We tried a few things but ended up --detaching the mirror and fixing it up
09:46 pasteling "nothingmuch" at 82.81.1.109 pasted "S06 patch for COMPILING:: non defaultness" (95 lines, 4.3K) at http://sial.org/pbot/16014
09:46 bsb "we" in the perl6 sense - I watched while audreyt did everything
09:47 nothingmuch dduncan: if that ever happens what you do is: "clkao: ping"
09:47 nothingmuch and then within a half-hour to one hour things are OK
09:47 nothingmuch but usually even audreyt: ping is enough
09:48 nothingmuch the only diff is that clkao is a masochist and wants people to complain
09:48 dduncan I'll take your own post as having accomplished that
09:48 nothingmuch (if they're complaining about a problem)
09:48 nothingmuch several times
09:48 dduncan I've complained about this problem at least 3 times now
09:49 nothingmuch this one time mst actually had to roll back catalyst svn because I was abusing branches
09:49 nothingmuch without knowing that i was abusing
09:49 nothingmuch (i thought it was a legitimate use)
09:49 audreyt nothingmuch: looks very sane.
09:49 nothingmuch audreyt: yummy goodness
09:49 nothingmuch or
09:49 nothingmuch whole grain goodness
09:49 nothingmuch okay
09:50 nothingmuch now to finish the S04 patch
09:50 nothingmuch then the darcs slides
09:50 nothingmuch then the perl slides
09:50 nothingmuch then learn DBIC
09:50 TimToady_ nothingmuch: I don't like use of COMPILING:: within the body
09:50 nothingmuch of the text?
09:50 nothingmuch you mean s/::$//;?
09:50 TimToady_ I think {{{...}}} should be the only "foreign" element.
09:50 nothingmuch ah
09:50 nothingmuch okay
09:51 audreyt yeah, maybe just use the import form
09:51 nothingmuch so in that case only the "importing" is legal
09:51 TimToady_ I want to be able to write a macro that can say "COMPILING" in the
09:51 nothingmuch yeah, i think that's good
09:51 TimToady_ user's space
09:51 audreyt also add a chunk about {{{}}} in the main body
09:51 bsb TimToady_: I tried to convince them...
09:51 nothingmuch what is "main body" ?
09:51 audreyt shower, bbiab
09:51 nothingmuch bsb: we agree
09:51 bsb They wanted strict
09:51 audreyt nothingmuch: anywhere within normal compilation
09:52 nothingmuch ah
09:52 nothingmuch macro BEGIN (&block) { my $result = block(); q:code { $result } }
09:52 nothingmuch hmm
09:53 bsb I thought declaring the bindings of the macro somehow might be a good compromise
09:53 audreyt amazingly, that even works.
09:54 nothingmuch bsb: that's exactly what's going to happen
09:54 nothingmuch think the "reccomended" way should be to import into the quasiquoted text
09:54 nothingmuch but that COMPILING:: is still useful when you are not quasiiquoting
09:54 nothingmuch right?
09:54 * bsb is still backlogging
09:55 TimToady_ right-o.
09:55 TimToady_ It's not ambiguous in the ordinary macro body.
09:55 nothingmuch so i think a reorder of the patch
09:55 nothingmuch as opposed to removing the COMPILING:: pseudo package
09:56 bsb It's a bit weird that our macros may have even more balanced braces than lisp
09:56 TimToady_ but maybe stress that COMPILING:: in the quasiquote doesn't mean the same as COMPILING:: outside of it.
09:56 nothingmuch hmm
09:56 nothingmuch bsb: =)
09:56 TimToady_ quasi-unquoting is weird, so it should look weird.
09:57 bsb It's hard to explaing/understand COMPILING:: as it is
09:57 bsb I don't like the word, the "scope currently being compiled" made good sense
09:57 bsb eventually
09:58 bsb TimToady_: yes, even more so if it's can be in the main program body
10:00 TimToady_ bsb: you mean about eval-proofing?
10:00 pasteling "dduncan" at 24.69.53.198 pasted "clkao; here's what happened at my end during faulty duplicate push by svk" (277 lines, 12K) at http://sial.org/pbot/16015
10:01 dduncan maybe that'll help clkao with debugging this persistent problem
10:01 bsb I wasn't thinking about that.  Only that {{{ }}} should be bulky and weird looking
10:02 audreyt TimToady_: the implicit param sigil can already be used of that
10:02 audreyt macro hey () { { "hello "~$^s }.body }
10:03 bsb I hope no one uses vim's manual folding
10:03 bsb :h fold-marker
10:03 audreyt that makes it essentially a twigil for COMPILING
10:03 * TimToady_ notes that audreyt once again takes her laptop into the shower...
10:03 audreyt (and it even works in pugs right now)
10:04 bsb that's nuts
10:05 audreyt maybe go as far as saying if a macro returns CODE, its body is used as the AST
10:05 TimToady_ that's more or less what we said originally in the Apo.
10:06 audreyt macro hey () { { "hello $^s" } }
10:06 bsb TPF grant for waterproof pugs development machine
10:06 audreyt is that making things too easy? ;)
10:06 nothingmuch okay, i'm not suure how to fix this stuff
10:06 TimToady_ It's not exactly transparent.
10:07 nothingmuch audreyt: could you please fudge the patch, or at least tell me the delta?
10:07 audreyt indeed, so maybe it's a bad idea after all.
10:07 TimToady_ But I'm sure people will be willing to cargo cult it.
10:07 audreyt the explicit .body thing at least means you are aware of what you're doing
10:07 audreyt nothingmuch: ok... wait for me to finish my shower so I can typ faster
10:08 TimToady_ Yes, it's essentially "undressing" the closure so that $^s binds outward to the "wrong" variable.
10:12 nothingmuch thank you
10:12 nothingmuch i like this body is a wrong variable?
10:13 anatoly joined perl6
10:13 xinming joined perl6
10:13 gaal audreyt: anatoly's analysis shows that there are no good pure candidates for factoring out in Parser
10:14 gaal because many functions need ruleExpression
10:14 anatoly gaal: that's your analysis, not my analysis, I just smoothed a corner or two :)
10:14 gaal only be sure to please call it "research" :)
10:15 gaal so if we can -boot that, maybe there is hope yet
10:17 integral iirc that's why we've got Parser.Program, because that stuff *could* be factorised out
10:17 gaal and Parser.Operator (audreyt++)
10:18 anatoly the most frequent callees in Parser.hs, by the way, are ruleExpression, retSyn and ruleBlock.
10:19 integral they're the main entry points into the perl grammar really
10:21 gaal anatoly: http://www.haskell.org/ghc/docs/latest/html/users​_guide/separate-compilation.html#mutual-recursion
10:22 integral iirc we used to use -boot's but at that point (6.2/3?) they were too buggy (lots of impossible stuff happening)
10:22 * theorbtwo wonders if he can have an idea with his tiny knowladge of what's going on...
10:22 theorbtwo Why don't macros take CALLER:: parameters, as in...
10:23 theorbtwo macro d($debuglevel=$CALLER::debuglevel) { say "$debuglevel" }
10:27 chris2 joined perl6
10:27 gaal_ joined perl6
10:29 drrho joined perl6
10:29 svnbot6 r9183 | bsb++ |  r9188@rex:  bsb | 2006-02-25 12:27:33 +0200
10:29 svnbot6 r9183 | bsb++ |  Cleaned up stale comments and s:g/CODE/q:code/
10:29 TimToady joined perl6
10:29 audreyt theorbtwo: sure, but only if then are declared env
10:30 gaal_ well, at worst we can prehaps pass those three suspect^Wpopular functions as arguments to the others
10:30 audreyt yup
10:31 theorbtwo Hm.  I never much liked that rule... how difficult would it be to simply make macros an exception to it?
10:31 gaal_ lumi: ruleExpression and the other two "portals" to p6 grammar
10:31 stennie joined perl6
10:31 theorbtwo Anyway, it seems that explicitly listing the implicit arguments to a macro at the top is to be considered a good thing.
10:32 anatoly joined perl6
10:34 gaal_ is now known as gaal
10:35 audreyt dconway++ # long-distance hackathoner patching up synopses
10:38 iblechbot_ joined perl6
10:44 svnbot6 r9184 | audreyt++ | * opaque_ast_macros.t: strictude-observing, implicit-param-powered,
10:44 svnbot6 r9184 | audreyt++ |   use-site variable bindings:
10:44 svnbot6 r9184 | audreyt++ |   macro hey () { { "hello $^s" }.body }
10:44 svnbot6 r9184 | audreyt++ |   my $s="world";
10:44 svnbot6 r9184 | audreyt++ |   is(hi(),"hello world","macros can bind in caller's lexical env");
10:44 svnbot6 r9184 | audreyt++ | * also parse for the q:code(:COMPILING){...} form.
10:44 ayrnieu joined perl6
10:46 levin___ joined perl6
10:57 pmurias joined perl6
11:07 pmurias I got a commiter bit yesterday, how do i activate it?
11:08 integral activate it?
11:08 gaal_ joined perl6
11:08 integral when you try to svn/svk commit, it'll prompt for your password.  If your username is different from your login name, just hit enter and it'll prompt for that
11:09 pmurias to I use by openfoundry password, or do I have to specifiy it elsewhere?
11:09 integral yes, your openfoundry password is used for the webinterface and for svn
11:10 gaal_ is now known as gaal
11:12 TimToady is now known as Timtoady
11:13 Timtoady is now known as TimToady
11:20 bsb macro blah () { q:code < some_sub() > }
11:21 bsb Do the scope lookup rules for variables apply to sub calls?
11:24 bsb a) some_sub from the macro decl scope b) some_sub from the macro use scope
11:25 TimToady hmm...
11:25 bsb use strict is less strict here, isn't it?
11:26 TimToady yes.
11:27 TimToady On the other hand it might be good hygiene to require :COMPILING<&some_sub>...
11:28 TimToady At least you don't have to repeat :COMPILING for additional subs...
11:29 bsb The arguments already mentioned for vars do still largely apply
11:29 TimToady And it would be consistent with the "no import by default" idea.
11:29 bsb yes
11:29 TimToady Agreed.
11:29 TimToady I'd say go ahead and crack the whip on those lazy macro writers.
11:30 bsb oooo, lazy macros....
11:30 bsb I feel dizzy
11:31 TimToady Finished off the bottle of wine, dijya?
11:35 GeJ joined perl6
11:37 pmurias integral:thanks, the problem was I used svn.perl.org instead of the real repo
11:37 svnbot6 r9185 | pmurias++ | Porting the control structure section from perlintro over (doesn't cover given and when yet...)
11:41 bsb Is there a parser based reason to disallow nesting {{{  ... {{{ ...  }}} ...   }}}?
11:42 bsb Or a reason based reason..
11:51 TimToady Maybe it's {{{ ... {{{{{{{{{ ... }}}}}}}}} }}}.  :-)
11:52 GeJ EREADERROR
11:52 GeJ morning folks
11:52 TimToady Seriously, the parser should handle nesteds easily if it just pretends the inside is in {...}.
11:52 bsb q:code\ \\\ \\\\\\\\\ \\\\\\\\\ \\\ \
11:52 bsb Then escaped that for perl -e
11:53 bsb then put it in an alias
11:53 TimToady And document it in nroff.
11:53 TimToady or TeX
11:53 bsb :)
11:56 calanya left perl6
11:56 calanya joined perl6
12:23 gaal audreyt: ping
12:33 audreyt gaal: realspace-pong
12:35 iblechbot joined perl6
12:37 bsb {{{ q:code < <<< "}}}" >>> > }}}
12:38 audreyt bsb: this is no diff than
12:38 audreyt "{ q<...> }"
12:58 lumi Is PIL2 ~~ PIL^N?
12:59 audreyt lumi: PILN is an attempt at a native runtime for PIL2
13:00 audreyt PIL2 is a set of object serialization of core objects in an compilation unit
13:05 rafl ingy: Any idea what could cause that? http://bugs.debian.org/cgi-b​in/bugreport.cgi?bug=353855
13:05 bsb Is this correct?
13:05 bsb macro sayx () { q:code { my $x = 2 }; say $x }; sayx();   # ok
13:05 bsb macro decl () { q:code { my $x = 2 } }; decl(); say $x;   # nok, should be:
13:05 bsb macro decl () { q:code { my $COMPILING::x = 2 } }; decl(); say $x; # ok
13:06 audreyt bsb: no, I think the first form is ok as well
13:06 svnbot6 r9186 | bsb++ |  r9192@rex:  bsb | 2006-02-25 13:03:48 +0200
13:06 svnbot6 r9186 | bsb++ |  Mention AST in bad macro return
13:06 svnbot6 r9187 | bsb++ |  r9195@rex:  bsb | 2006-02-25 13:07:39 +0200
13:06 svnbot6 r9187 | bsb++ |  s:g/CODE/q:code/ in comments
13:06 audreyt only free vairiables are subject to lookup rules
13:06 audreyt otoh, the sayx() is weird
13:07 audreyt I don't know what it means
13:09 rafl audreyt: May I privmsg you?
13:09 bsb sayx was just to see if the my $x introduces $x to the macro body
13:10 larsen joined perl6
13:11 audreyt rafl: always, but why? :)
13:11 audreyt bsb: it'd not, and it better not
13:11 audreyt otherwise all the scoping rules are broken
13:12 bsb I concur
13:13 audreyt I... concur your concur! :)
13:13 * audreyt should really start working on her slides instead of perlcrastinating
13:21 * azuroth cries
13:29 anatoly_ joined perl6
13:41 nothingm1ch joined perl6
13:42 svnbot6 r9188 | anatolyv++ | Extend func_refact to allow functions to ignore when computing
13:42 svnbot6 r9188 | anatolyv++ | connected components, and some better UI. Add --nodes to graphfuncs
13:42 svnbot6 r9188 | anatolyv++ | to just dump nodes and not connected components, this is what
13:42 svnbot6 r9188 | anatolyv++ | func_refact now needs to read with -n.
13:43 anatoly joined perl6
13:46 rantanplan_ joined perl6
14:11 TimToady joined perl6
14:26 elmex joined perl6
14:55 * Khisanth finally finds himself wanting junctions in JS
14:57 bsb ask ingy
14:59 audreyt the residential alpha rhinocamel
14:59 audreyt s/ial//
15:01 azuroth alpha rhinocamel?
15:01 audreyt aka, master javascript hacker
15:02 azuroth why rhino?
15:03 azuroth oh well, best not pry. good night!
15:04 audreyt http://www.openjsan.org/
15:04 audreyt goodnight!
15:04 Khisanth err s/finally/suddenly/
15:04 Khisanth strange mistake!
15:04 Khisanth azuroth: probably the cover of the o'reilly book
15:04 audreyt which comes from Mozilla Rhino iirc
15:05 audreyt ok, I think we are packing to leave the 'thon
15:05 audreyt or are supposed to
15:05 audreyt bbl...
15:37 SamB joined perl6
15:45 chris2 joined perl6
15:48 hcarty joined perl6
15:53 hcarty left perl6
15:53 justatheory joined perl6
16:02 justatheory joined perl6
16:16 amnesiac joined perl6
16:30 larsen joined perl6
16:50 salty-horse joined perl6
16:50 salty-horse are the hackathoneers on their way back already?
16:57 salty-horse left perl6
17:01 lexton joined perl6
17:08 Alias_ joined perl6
17:24 putter joined perl6
17:24 putter gaal: pong
17:24 justatheory joined perl6
17:42 mauke joined perl6
17:56 frobnitz joined perl6
18:03 justatheory joined perl6
18:08 bd_ joined perl6
18:15 justatheory joined perl6
18:17 elmex how is perl6 going to be compiled?
18:17 elmex Perl6 => PIR => PBC => Parrot ?
18:17 elmex or Perl6 => PIR => PASM => PBC => Parrot
18:17 elmex or Perl6 => PIR => AST => Parrot ??
18:18 justatheory joined perl6
18:19 mako132_ joined perl6
18:43 mako132_ joined perl6
18:54 vell joined perl6
19:02 wilx joined perl6
19:05 geoffb joined perl6
19:22 cognominal the doc patch about vivification uses Perl5 conventions in Perl6 examples  to access hash and arrays.
19:22 cognominal also I don't understand what the word destructive means in that context
19:24 beppu_ joined perl6
19:36 mtk00 joined perl6
19:39 spinclad elmex (if you come back):  PIR => PASM is redundant, PIR compiles (assembles) to PBC directly
19:39 spinclad and AST comes before the PIR stage.
19:41 spinclad and there will likely be one or more stages in compilation before PIR, so we may have
19:42 Alias_ Won't all these transformations get expensive?
19:42 spinclad  Perl6 => parse tree => PIL of some flavor => PIR => PBC => Parrot
19:44 spinclad Alias_: they have to happen anyway, whether they generate any external files or separate processes or not
19:44 Alias_ And so won't all these transformations get expensive anyway? :)
19:45 integral when there's disk caches, the small cost is amortized
19:46 spinclad so how could you (Perl6) run a program if you don't know what it means?
19:47 spinclad but yes, Perl6 is a complicate beast, and making sense of it has to cost.
19:49 spinclad but what I drew isn't much more than a vanilla C compiler has to do on the way to ./a.out
19:55 LeTo anyone here who can fix svnbot6 (<@Robrt> leo:  retrieving maxrev+1 fills my logs with garbage.)
19:59 LeTo i.e. $pugs/examples/network/svnbot.p6
20:03 LeTo is there some recent and fixed $pugs/examples/network/svnbot.p6 on feather?
20:03 LeTo and readable of course
20:08 LeTo there shoud be some ;)
20:08 LeTo t@feather:~$ locate svnbot.p6 | grep -v '\.svn' | wc -l
20:08 LeTo t@feather:~$ locate svnbot.p6 | grep -v '\.svn' | 87
20:15 weinig joined perl6
20:18 LeTo what does this mean:
20:18 LeTo lt@feather:~$ ./svnbot
20:18 LeTo pugs: Prelude.last: empty list
20:37 weinig joined perl6
21:06 Cryptic_K joined perl6
21:22 bd_ joined perl6
21:23 K_ joined perl6
21:26 levin__ joined perl6
21:32 bd_ joined perl6
21:35 weinig joined perl6
21:39 beppu_ joined perl6
21:40 lypanov is now known as lypie
21:40 lypanov joined perl6
21:40 lypanov de-sex
21:40 lypanov gah
21:40 r0nny_ joined perl6
21:49 chris2 hey lyp
21:52 r0nny_ is now known as r0nny
21:53 lypanov yoyo chris2
21:55 LeTo audreyt: I'm now runnning just pugs (6.2.10) for the svnbot - looks still the same
22:31 Ara4n joined perl6
22:49 wilx joined perl6
22:57 avar joined perl6
23:47 justatheory joined perl6

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

Perl 6 | Reference Documentation | Rakudo