pugscode.org/ | Brave souls needed to fix 'make Install'! Non-brave souls should avoid it for now
Set by moritz on 1 June 2007.
Limbic_Region salutations all 01:45
TimToady howdy! 01:56
agentzh morning, TimToady :)
TimToady the only problem with morning is that it comes at such an inconvenient time of the day... 01:57
except when it's an inconvenient place in the world...
agentzh gets confused by TimToady's inconvenience. 01:59
Caelum does vim have a syntax file for perl6?
TimToady gets inconvenienced by agentzh's confusion :)
Caelum: yes 02:00
agentzh Caelum: i believe there is one in the pugs repos :)
TimToady see util/perl6.vim
Caelum ahh cool :)
what extension should perl6 files end with? 02:01
agentzh .pl is confusing but...
fglock++ chooses .p6 though.
people, i'm translating the Synopses to Chinese. where should i put the translated version in the pugs tree? 02:03
docs/zh-cn/syn/?
docs/Perl6/Spec/zh-cn? 02:04
Limbic_Region oh, my smoke time after the pad refactor became stabalized is as fast or faster as before - circa 1/2 hour 02:06
apparently it slowed down considerably right after the refactor
agentzh recent auto-smoke on feather ususally take s
200+ min
Limbic_Region doesn't know if that is considered faster, slower, or normal 02:08
agentzh much much slower
or maybe that's because the auto-smoke now has a nice number of 10 or even 15 :) 02:09
Limbic_Region dunno, I am smoking again now
agentzh anyway, it completes without problem everyday.
i was thinking a realclean might be necessary for the pad refactoring stuff, but it seems everything just works without doing that manually on feather. :) 02:11
agentzh has been suffering from DNS problems lately :( 02:12
TimToady: are you also running some kind of autosmoking on your linux and windows machines? 02:15
i can see your smoke reports almost everyday (as well as the feather autosmokes', of course :))
svnbot6 r16608 | lwall++ | [STD.pm] feeble attempt to make QLang role's bootstrap virtualizable
r16608 | lwall++ | [STD.pm] missing <?ws> in declarator pseudoassignment
Caelum how do you set @*INC for using pugs from the source tree? 02:16
agentzh -I ?
agentzh is not really here. 02:17
TimToady no, I just run smokes when I can't think of anything better to do, which is usually... :) 02:18
agentzh lol
Caelum agentzh: err, -I what?
agentzh pugs -Iblib6/lib blah.pl 02:19
Caelum or do I really have to do a make install
agentzh no, please don't
Caelum hehe
agentzh make install destroyed my ubuntu's perl :(
agentzh but maybe it has been fixed. 02:20
Caelum segmentation fault woo hoo
not that I've heard
agentzh in case you have the tuits to "confirm"
agentzh is reading simpy's docs. 02:21
dduncan perl files should always end in .pm/.pl/.t/whatever, the same as perl 5
using .p6 et al was ruled out a long time ago as being good
rather, you put use p6-alpha in the file itself rather than use 5 02:22
agentzh
thoughtpolice woot. logging is now implemented in my little server. :) 02:23
dduncan toow
agentzh dduncan: *nod*
thoughtpolice 'twas somewhat annoying to code. but i got to have fun with stateT :)
dduncan so no ++ for anyone that does .p6
TimToady Caelum: do you have a commit bit?
Caelum TimToady: nope 02:24
TimToady if you msg me your email, I will attempt to send one
Caelum that means I'll actually have to start working on something :) 02:25
TimToady thinking about working on something is also considered working on something around here. :) 02:27
Limbic_Region TimToady is far to kind
TimToady and feather is far too slow...
Limbic_Region audreyt sends you the commitbit first and suggests contributing later (hence guilting you into contributing)
TimToady darn, my firefox crashed, have to start over... 02:28
Limbic_Region idly wonders if the plugin(s) to restore tabs after accidental closure and what not work when firefox itself crashes 02:29
Caelum kind of 02:30
araujo TimToady, don't worry, it happens to more people :-)
TimToady Caelum: while I'm waiting for commitbit again, what would you like for a project nick? Caelum? 02:31
thoughtpolice links ftw!
Caelum TimToady: yes please :) 02:32
Limbic_Region I am sure I have asked this before but do rules have natural ways of handling precedence and associativity or does one have to resort to wizardry like manual stratification and left-recursion elimination? 02:33
agentzh could someone paste the IP address of svn.openfoundry.org and svn.pugscode.org for me? my DNS server is naughty :(
Teratogen is ( . )( . ) valid Perl 6? 02:34
TimToady only in a regex
Teratogen bummer
TimToady ...almost there... 02:35
...almost there... 02:36
araujo Teratogen, we have it on Haskell though
it is the famous ... boob operator
:-)
TimToady commitbit sent, finally! 02:40
Caelum: it is customary to add your name to AUTHORS as your first commit to make sure everything is in working order 02:41
PerlJam Limbic_Region: Rules use the same mechanisms as subroutines for associativity, precedence, fixity, etc. 02:49
AFAIK anyway
Since regex are just special forms of subroutines.
See dev.perl.org/perl6/doc/design/syn/S...ine_traits 02:50
lambdabot Title: Synopsis 6: Subroutines - perl6:, tinyurl.com/pfpph
Caelum agentzh: 140.109.17.109 and 193.200.132.135 02:51
agentzh Caelum: thanks! 02:52
Aankhen`` * Limbic_Region idly wonders if the plugin(s) to restore tabs after accidental closure and what not work when firefox itself crashes # yes, they do, in case you're still wondering. :-) 02:56
The builtin session restore featur
Er.
The builtin session restore feature, on the other hand, doesn't work too well in case of crashes.
Or at least that was my experience. 02:57
Okay, I think it's time to run a smoke. 02:59
Aankhen`` fiddles with the VM's settings to give it more memory and CPU. 03:00
Caelum TimToady: got it, thank you!
Aankhen`` What the...? My VM is suddenly refusing to start X. 03:02
Teratogen pwned! 03:04
Aankhen`` :'-(
Aankhen`` is trying to install VMWare Tools.
Apparently the X server couldn't find the "vmouse" module or something liket hat.
That, even.
Caelum reads docs/ 03:15
Aankhen`` Yay, that fixed it. 03:25
Limbic_Region PerlJam I am not sure I understand how your comment applies to my question 03:29
I am likely being a dolt
wait - I see how that would apply to precedence - is tighter/looser/equiv 03:31
still looking to see how one would change associativity 03:32
Limbic_Region and there it is 03:32
is assoc
thanks PerlJam
Caelum what does the : in $fh: "Hi!"; do? 03:33
err, say $fh: "Hi!";
Aankhen`` Okay, smoke's on its way, and I'm off. 03:39
Caelum so blah($foo: "bar") is the same as $foo.blah("bar") ? 03:45
TimToady yes 03:46
or blah $foo: "bar"
the : rescues the indirect object syntax from ambiguity
?eval say $*OUT: "Hi!" 03:47
Caelum cool! :)
TimToady hmm, wonder if evalbot is still down...
?eval say $*OUT: "Hi!" 03:50
?eval 42 03:51
offby1 "Forty-Two"! 03:52
offby1 steps in
TimToady have restarted evalbot, appears to be reconfiguring pugs and rebuilding 04:05
gonna be a while--this is feather... 04:06
Caelum what's the difference between $a = (1,2); and $a = [1,2]; ? 04:09
TimToady none, effective, since a list in scalar context promotes to array 04:10
*effectively 04:11
Caelum cool
the Capture.pod says you have to do $x = \@a; $$x.push("foo"); but $x.push("foo") works fine as well 04:19
TimToady well, use on the left of . is scalar, so I'm not surprised that the extra $ is redundant 04:22
s/use/context/
TimToady there we go 04:23
?eval 42
evalbot_r16608 42
TimToady ?eval say $*OUT: "Hi!"
evalbot_r16608 OUTPUT[Hi!␤] Bool::True
TimToady mind, it's logging everything to my terminal, so I don't know what it'll do when I log off feather...shoulda redirected to a file, I guess... 04:25
offby1 or use screen!
one o' my all-time favorite tools.
Aankhen`` 30m 52s for a smoke this time. 04:26
TimToady probably find out the slowness of feather is caused by some ancient screen treasuring up a terabyte or so of output...
Aankhen`` I think it was a few minutes more last time, which would have been about two days ago.
svnbot6 r16609 | lwall++ | [t/junction/misc_junctions.t] parsefail 04:35
Caelum ?eval $x = (1,2,3); $x.push(4); $x 04:37
evalbot_r16608 [1, 2, 3, 4]
Caelum hmm, according to Capture.pod that's supposed to fail
PerlJam why? 04:38
Caelum it says: $x.push(0); # FAIL: cannot find method: List.push
PerlJam Perhaps Capture.pod needs updating
TimToady ?eval $x := (1,2,3); $x.push(4); $x 04:51
evalbot_r16608 Error: Bind to undeclared variable: $x
TimToady ?eval my $x := (1,2,3); $x.push(4); $x 04:52
evalbot_r16608 Error: Can't modify constant item: VUndef
TimToady ?eval my $x := \(1,2,3); $x.push(4); $x
evalbot_r16608 Error: Can't modify constant item: VUndef
TimToady ?eval my $x = \(1,2,3); $x.push(4); $x
evalbot_r16608 Error: Can't modify constant item: VUndef
gaal hee, it's a loophoole in the somewhat kludgy non-strict that you need to declare 'my' vars for bind in evalbot :) 06:34
lambdabot gaal: You have 1 new message. '/msg lambdabot @messages' to read it.
gaal "circularity problem in worm oroborous" 06:35
whee the MaybeT solution was precisely what I was hoping for 06:37
I wonder if there's a crazy monad in which bind is wired to its own mplus, so you can just write these actions one after another 06:39
(not that it would be suvh a good idea to golf that way in this case) 06:40
ahmadz_ hi 07:22
is pugs safe mode broken?
PUGS_SAFEMODE=1 pugs -e 'print 42' 07:23
pugs: user error (**** **** Can't modify constant item: VUndef at prelude line 802, col 9-46 ) 07:24
without PUGS_SAFEMODE it works
?eval print 42
evalbot_r16609 OUTPUT[42] Bool::True 07:24
gaal !
ahmadz_: worksforme with a pugs from last night 07:25
ahmadz_ what's ur pugs svn version? 07:26
Aankhen`` WFM too with a Pugs from a few hours ago.
r16608 here.
gaal and prelude:802 is a comment...
Aankhen`` Heh.
ahmadz_ strange 16609 here...
Aankhen`` Did you svn up in the middle of the build or something like that, by any chance? 07:27
gaal 16598, here.
ahmadz_ try it from another working directory... like ~
somehow it needs a file in pugs directory
gaal ah, that means you have a bad compiled prelude in your @*INC 07:28
do locate Prelude.pm.yml
and nuke the bad one
ahmadz_ will do... and re-make right?
gaal you once did make install, didn't you?
ahmadz_ nop... 07:29
never
gaal oh, hey, right: reproduced here.
this is interesting. let me strace a bit and find
ESCdd this means that the source-inlined prelude is bad. fixing
ahmadz_ cool, ty 07:30
runpugs termserv.pl does a sanity check on pugs before starting... 07:31
that's why i need safe mode
gaal for now, copy over Prelude.pm.yml to where it can see it 07:36
gaal hope to have a fix for you soon 07:36
ahmadz_ cool... im clean building it just in case. 07:37
andara hi ahmadz_ 08:20
@tell ahmadz_ /home/andara/pugs-dev/ always has the latest snapshot that works with PUGS_SAFEMODE=1. Run as /home/andara/pugs-dev/pugs -I/home/andara/pugs-dev/blib6/lib 08:26
lambdabot Consider it noted.
gaal okay. the dying is not caused by bad Prelude.pm->Prelude.hs mangling, but rather by writing to %*INC at the end of the prelude load. 08:33
the easy fix is to declare %*INC safe, but I don't want to do that. 08:34
I don't understand yet why a preludePC does not trigger this problem.
apparently its merging of envs circumvents undeclared symbols
(I don't want to declare %*INC safe because this: 08:35
?eval %*INC
evalbot_r16609 \undef
gaal should not leak information about the server.)
I suppose another makeshift would to to modify the INC assignment to be conditional on INC's being defined 08:36
that's kinda icky though
svnbot6 r16610 | gaal++ | * factor out a function for fresh envDebug maps 08:41
gaal hm bad choice to put that in P.A.I 08:47
riffraff hi 10:23
moritz hi riffraff ;)
ahmadz hi moritz, riffraff ;-) 10:25
moritz helo ahmadz ;) 10:26
riffraff jut out of curiosity: is there a chance that ghc6.7 will use gcc4 as the backend? 10:36
gaal usually ghc doesn't compile via c at all 10:43
riffraff I thought it used the gcc cpu-specific backends (I think they are called frontends in gcc, but anyway "the thing that spit out binary") 10:46
moritz ghc6 debian package depends on gcc 10:47
gaal you can compile -fvia-c, but normally you don't
moritz ok
gaal (afaik)
riffraff I see 10:48
gaal it goes through C--, usually. but better ask on #haskell
riffraff ah, the joy of compiling pugs again from zero on an old cpu 10:54
ah, some makefile guru wants an hint? Makefile.PL should check for the network-any dependency (libghc6-network-dev package on ubuntu). I would add it but I have no clue on how to do that 10:57
gaal riffraff: please see the treatment for mtl and abstract away 11:04
gaal white you're at it, the deiban names are the same, so please change the note accordingly 11:05
riffraff ok I will try :/ 11:06
gaal riffraff++ 11:07
riffraff mh 11:10
riffraff It seem that the presence of mtl is checked by comèpiling with -package mtl. Should I add an identical compilation-or-fail step or just merge the two (-packaget mtl -package network || you need both )? 11:12
I believe the latter is better
less descriptive maybe but since you do need both libraries it is the same
gaal together is faster, but that doesn't matter much because it's makefile generation time, not build time 11:15
sequential is more descriptive errors. 11:16
riffraff ok
gaal it may not be totally unreasonable to dunk compilation-detection completely and look at the output of "ghc-pkg list", not sure 11:17
bbl...& 11:19
riffraff err.. someone could tell me whats wrong with the indentation in "main = let x = defaultProtocol ()" ? 11:48
gaal where's the next line? 11:53
riffraff doh 11:56
nevermind solved :)
thanks
riffraff oh damn I lost my svn password.. 12:07
moritz rho: re network-any - debian/control takes care of these if you build a .deb 12:17
s/rho/riffraff/
sorry ;)
gaal moritz: um this is at pugs build time, for people who aren't using a deb 12:18
moritz gaal: I know, but checking for depencies depends on the system, doesn't it? 12:21
gaal one sure way is to use ghc, because if that fails, pugs will fail to build :) 12:22
svnbot6 r16611 | gabriele++ | Makefile.PL: Added check for ghc's network package 12:45
riffraff please do check that I have not broken anything, I did try the various permutation of mtl/network/nothing but just to be sure.. 12:52
gaal riffraff: the mtl stuff looks good, but you seem to have expanded the tabs in the makeflie 12:56
which would break it :(
rindolf Hi gaal 13:01
gaal: are you going to bike today? 13:02
riffraff oh damn, I had expandtab set yes 13:04
svnbot6 r16612 | gabriele++ | Makefile.PL: put tabs in place again which I removed in previous rev, sorry 13:11
riffraff thanks gaal for spotting that 13:14
svnbot6 r16613 | gaal++ | * add a closing brace dropped in riffraff++'s recent commit 13:18
gaal rindolf: i might 13:19
riffraff: np
rindolf gaal: I'd like to go to.
gaal so go
rindolf gaal: lots of babes now in the Park.
gaal: would you like to meet in Park Hayarkon? 13:20
gaal no, and frankly I find that remark offensive in context.
ahmadz_ hi 13:31
lambdabot ahmadz_: You have 1 new message. '/msg lambdabot @messages' to read it.
gaal oh, hi ahmadz_. re: your report, not fixed yet, but you have the workaround, yes? 13:37
ahmadz_ yeah but since we have mod_perl, things are a bit messy 13:38
i tried to smoke test a freebsd vm right now and it simply waited in /t/xx-uncategorized/io_finalize_part2.t. Turned out to be low disk space 13:39
gaal ahmadz_: note that if you *don't* have a ymlized prelude, you're taking a huge hit in startup time 13:43
re the other thing, interesting bug :)
gaal wonders how mod_perl is interplaying with pugs' prelude to make things messy 13:44
ahmadz_ gaal: i was doing mod_perl2 but turned out andara was doing mod_perl... 13:45
gaal you can always set PERL6LIB... 13:46
ahmadz_ cool... will do but after i sleep a bit ;-) 13:47
gaal have fun 13:48
gaal clkao++ # svk ignore 14:11
svnbot6 r16614 | gaal++ | * add ignore props on generated files
riff\feedingPige err, I asked this before but: someone knows how to add a class/role in prelude so that it is visible as builtin? 14:15
nick riffraff
gaal riffraff: what does that entail? 14:16
riffraff basically writing Foo at the REPL and not getting an error 14:17
see for example the role Iter is defined in Prelude but not available at the repl or in a script
gaal hmm, ack 14:18
until it's fixed, use ::Iter
bbl.. 14:19
riffraff oh I don't really need iter, I was just thinking of adding dummy definitions for Positional, Associative and othyer builtin roles 14:20
gaal ::Whichever :)
re-&
rindolf gaal: I didn't have enough cold water, so I ended up taking a walk. :-( 15:06
I wish I had some liquid nitrogen.
Or a supercomputer.
I could put a bottle of water on it, and it will freeze.
Supercomputers use Liquid Nitrogen. 15:07
svnbot6 r16615 | moritz++ | problem97.t: whitespace/stylistic fixes 16:21
TimToady ?eval sub postfix:<®> ($x is ref) { $x }; my $Java® = 42; say $Java®; 17:09
evalbot_r16615 Error: Can't modify constant item: VRef <Scalar:0xb6798f80> 17:09
TimToady ?eval sub postfix:<®> ($x is ref) is rw { $x }; my $Java® = 42; say $Java®;
evalbot_r16615 Error: Can't modify constant item: VRef <Scalar:0xb6796aec>
TimToady ?eval sub postfix:<®> ($x is ref) is rw { $x }; my $Java = 42; say $Java®; 17:10
evalbot_r16615 OUTPUT[42␤] Bool::True
TimToady well, at least it works as rvalue...
arguably, <ident> should just slurp up the ® :) 17:11
spinclad really? looks like you declare it an operator there... 17:13
spinclad my ($Java®) = 42: ? 17:14
moritz TimToady: in S29:1189 the empty "=item pos" is that a "to be specced" method? or just an artefact? 17:14
spinclad (OTOH if ® is alphabetic...) 17:15
TimToady the above would have behaved differently if so
spinclad true 17:16
TimToady pos is in a prespecced state
?eval "a" ~~ /<alpha>/
evalbot_r16615 *** Cannot parse regex: <alpha>␤*** Error: ␤Match.new(␤ ok => Bool::False, ␤ from => 0, ␤ to => 0, ␤ str => "", ␤ sub_pos => (), ␤ sub_named => {}␤) 17:17
TimToady oh yeah, evalbot doesn't do character classes...
moritz so a regex match should set .pos on a string? 17:18
TimToady heh, Ⓡ is considered alpha, but not ® 17:19
yes, unless we decide that attaching .pos to a string is a violation of some principle or other
moritz alright 17:20
TimToady but it'd be nice to be able to continue one regex in a different regex like P5 can
possibly .pos would have to be both per string and per thread 17:21
moritz sounds... somehow scary ;)
spinclad per handle... open a string for parsing, returns handle
TimToady or generalize it into a marking facility, and pos is just one convention name for a mark 17:22
*conventional 17:23
the mark sigil could be ※ :) 17:24
spinclad that's ... the transistor glyph?
moritz what about '#'? have fun parsing sigils and comments ;) 17:25
spinclad the SQUID
TimToady "REFERENCE MARK"
spinclad good one then 17:26
TimToady hmm, if we rename @@ context to ** context, we could also use ⁑ 17:27
but then we lose our multidim Whatever, sigh
moritz that's a bit weird anyway ;) 17:28
or perhaps I just didn't understand it ...
TimToady maybe we could just lose the : after @@: as long as we have a space, basically say that a sigil with a space after it is a contextualizer listop 17:29
for @@ 1..3 X 'a'..'z' {...}
still pretty ugly... 17:30
TimToady but fits existing listop syntax better, and is slightly less ugly 17:32
TimToady hmm, but we can't easily do the same with turning a type into a listop 17:36
currently Type: args expects a term after, and bare Type expects operator. :/ 17:37
listops are allowed to take 0 args though... 17:38
so $class = Foo; could still conceivably work as a typecast with no arguments 17:39
TimToady hmm, STD doesn't allow func; as a valid listop syntax; that'a a bug... 17:43
rindolf Hi all. 17:57
moritz: what's up?
TimToady: what's up?
TimToady: got nothing better to do on a Sat than chat with people who got nothing better to do on a Saturday? 17:58
Juerd has better things to do but prefers IRC :) 18:04
svnbot6 r16616 | lwall++ | [STD] listops didn't parse non-ary calls like "print;" 18:07
r16616 | lwall++ | [STD] dropped : on typecasts; argless Type listop degenerates to protoobject
r16616 | lwall++ | [STD] likewise for sigils; chunky context is now "for @@ 1..3 X 1..2 {...}"
TimToady prefers to do better things AND chat on IRC
well, up to a point. depends on how much better...
Jmax hm, why do you work on pugs, TimToady ? wouldn't your time be better spent on say, parrot? or is there no real "official" perl6 interpreter? 18:25
rindolf TimToady: I'm trying to beef up the he.wikipedia.org entry about UNIX. 18:26
TimToady: translating the en.wikipedia.org UNIX entry to Hebrew will be mental suicide.
moritz Jmax: to specifiy a language, you have to use it, unless you want to fall in the theory trap ;)
Jmax so pugs is considered a "trial" p6 interpreter? 18:27
rindolf moritz: what's up?
Jmax: Parrot is a virtual machine.
Jmax a "use it now -- but not forever"?
rindolf Jmax: it's intended for many languages.
Jmax i know, i meant the p6 port of parrot
rindolf Jmax: pugs can generate parrot code.
moritz rindolf: not much... relaxing from having learned all day
rindolf Jmax: it can also generate JavaScript. 18:28
Incredibly bloated and non-semantic JavaScript
moritz: what did you learn?
moritz rindolf: s/can/could/
rindolf: Material Physics for my exam on monday :(
rindolf moritz: Physics... 18:29
Jmax I see
rindolf I'm trying to collect some Perl testimonials.
moritz rindolf: what citerions do they have to meet?
rindolf I can go over the Perl success stories on Perl.com. 18:30
moritz: well, there should be a short sentence or two summarising them.
moritz: and then possibly a link to a more verbose description.
moritz: preferably by companies, universities, etc.
moritz: government agencies.
Although I suppose individuals will also be good. 18:31
moritz: it's for perl-begin.org/
lambdabot Title: Perl Beginners' Site
moritz rindolf: I could just give you the usual "I use perl for dynamic sites, and it works great" ;-) 18:33
rindolf moritz: that's kind-of lame. 18:33
moritz rindolf: I know ;) 18:34
rindolf moritz: if you can phrase a more substantial testimonial, and we'll sync a good testimonial, that would be nice. 18:36
I mean a good summary.
moritz rindolf: If I do I'll let you know ;)
svnbot6 r16617 | andara++ | [runpugs] -Better newline handling 18:49
japhb rindolf: Note that some of the big Perl projects (Mason, for instance) have their own testimonial sets, and those companies may be willing to do a plain Perl version, or say "We love Mason *because* of Perl" or something like that 18:52
rindolf japhb: are you japhy? 18:54
Jmax rindolf: there are a few good ones linked to on the catalyst dev wiki 18:56
rindolf Jmax: or on the Catlayst front page. 18:57
Jmax: thanks.
japhb: thanks.
japhb: lots of emails to send...
japhb rindolf: Nope, I'm not japhy. I used to be geoffb on this channel, but I was nick colliding with someone else on freenode, so I had to change my nick 19:05
rindolf japhb: oh.
japhb: it's kind of confusing.
japhb It's a pun. :-)
rindolf japhb: I'm going to bathe. TTYL. 19:06
nothingmuch 2/w 27 19:09
moritz what's wrong with specbot6 ? 19:42
rindolf Back. 19:45
japhb: where are you from?
TimToady moritz: bitrot of some sort, or maybe just audreyrot... :) 19:56
I haven't worried about it too much, on the assumption that most folks here also follow p6l. 19:57
but my karma suffers as a result. :)
moritz TimToady++ # worrying about karma ;) 19:58
or should I say lwall++ ? *g*
TimToady was gonna install Fedora 7 this morning, but got sidetracked into revising slicing...
forgot to eat too... 19:59
anyway, here's the checkin log: 20:00
Dropped : from all listop contextualizers, whether sigil and typename.
The @@ contextualizer is now also named "slice".
Consistent with that, we have regularized slice nomenclature:
* A "slice" now always refers to the whole multidimensional subscript, or the list of lists corresponding to that.
* We now try to avoid calling the individual sublists "slices".
* The parameter to a subscript is *@@slice, not *@@slices.
* The term "multislice" is now deemed redundant.
so now basically we can write either 20:01
for 1..3 X 1..2 -> $a, $b {...} 20:02
or
for @@ 1..3 X 1..2 -> [$a, $b] {...}
and foo $ bar almost looks like Haskell... 20:04
being equivalent to foo $(bar)
moritz ;-)
mj41 Synopses changes perl6.cz/w/index.php?title=Speci%C3...entchanges More readable then diffs, IMHO. 20:05
lambdabot Title: Poslední změny - perl6.cz, tinyurl.com/2xbg6v
moritz haskell poisons your mind ;)
mj41 S03, there is not hash equivalent for $ 1,2 X 3,4 # [\(1,3),\(1,4),\(2,3),\(2,4)] ? 20:07
TimToady no, because it would just create a bunch of duplicate keys 20:10
you can't have both 1=>3 and 1=>4 in the same hash 20:11
mj41 yes, i understood, thanks ... and result is runtime error or what? 20:16
TimToady you'd just end up with a hash containing 1=>4 and 2=>4 20:17
maybe we'll end up with a set context though. %% perhaps
mj41 :-)
moritz what about user definable contexts? 20:18
TimToady they're just listops
gaal I misread the bl as "forgot to eat too... / anyway, here's the chicken log" 20:25
moritz ;-) 20:26
gaal and lest I foget to sleep, moose. 20:27
moritz sleep+moose = sloose?
gaal: good night ;)
gaal
.oO(slooswalking)
svnbot6 r16618 | Darren_Duncan++ | ext/QDRDBMS/ : updated QDRDBMS.pm and Copying.pod so they state better rationale concerning licensing 21:05
svnbot6 r16619 | moritz++ | reorganized smartlinks in t/operator/binding/scalars.t 21:28
dduncan ?eval my $foo = [1,2,3]; print @($foo); 21:30
evalbot_r16617 OUTPUT[123] Bool::True 21:30
dduncan ?eval my $foo = [1,2,3]; print @{$foo};
evalbot_r16617 Error: ␤Unexpected "{$"␤expecting "@" or "::"
Aankhen`` wonders if he'll ever understand @@. 21:51
gaal the hiyyyya operator
Aankhen`` @.@
lambdabot Not enough arguments to @.
moritz slaps lambdabot ;)
Aankhen`` Heh.
gaal can't sleep, and is looking for the misplaced circularity saw 21:52
would sure be nice to pull out a Pugs.AST.Env
Juerd @@ is just two snails in pursuit. 21:53
They're not that fast, you see.
Aankhen`` Heh.
Juerd It may take a while.
moritz Aankhen``: I understand @@ just as non-flattening list context
Khisanth lazy operators and slow variables, perl6 sounds a bit sluggish 21:54
Aankhen`` moritz: Hmm. I see. I think I had missed the whole @() flattening automatically thing. 21:56
?eval @([1, 2], [3, 4])
evalbot_r16618 [[1, 2], [3, 4]] 21:56
Aankhen`` (Or so I infer.)
Is Pugs correct there?
moritz I don't know 21:57
Aankhen`` The only way I'm going to understand @@ is if @ does flatten by default. 8-|
s/ by default//
moritz but I know that 1, 2 Z 3, 4 should be (1, 3, 2, 4)
and in @@ context it should actually be ([1,3],[2,4])
Aankhen`` Well, I was in the middle of reading r14413, so I'll see if that helps before whining any more.
japhb TimToady++ # The huffmanized syntax you're looking for is just the degenerate case of something more general 21:58
moritz Aankhen``: I think explicitly using []'s prevents flattening
Juerd Aankhen``: @ does flatten in list context.
Aankhen`` Ah.
moritz ?eval my @a=<a b>; my @c=1,@a
Juerd Aankhen``: That's the main difference between the array @foo and the array $foo
Aankhen``: @foo flattens in list context, $foo does not. 21:59
Aankhen`` Right.
evalbot_r16618 [1, "a", "b"]
Aankhen`` @ doesn't recursively flatten, does it?
gaal "Inside must be a list of pairs, otherwise you must use C<hash()>" -- r14414 -- so { %h } doesn't flatten? 22:00
Juerd %h flattens to a list of pairs 22:01
iirc
Or must it syntactically be a list of pairs? 22:02
'cause that'd suck.
gaal that's my question
Aankhen`` Wouldn't *you* like to know?
Man, I still can't get over how long it took me to understand multidimensional arrays vs. AoAs. 22:03
Aankhen`` shakes his head.
lumi gaal: What are you circularity sawing? 22:05
gaal I'm trying to pull data Env out of Pugs.AST.Internals 22:06
like miraculously Eval is out
but Eval wants Env and Env needs Eval, so.
bbiab 22:09
lumi What is envEval used for? 22:13
lumi Maybe it can be split into a seperate ReaderT 22:16
dduncan question ... is it normal for Perl 6 code to contain literals that start with \ ? 23:14
eg, my $x = \"foo";
rather than = "foo"
PerlJam only if you're constructing a Capture.
dduncan I'm wondering why Pugs' .perl() prints out a leading backslash
PerlJam (though I don't think pugs understands Captures yet)
dduncan ?eval my $foo = 3; say $foo; 23:15
I mean
?eval my $foo = 3; say $foo.perl();
evalbot_r16619 OUTPUT[3␤] Bool::True 23:15
OUTPUT[\3␤] Bool::True
dduncan so why the backslash, I'm wondering
svnbot6 r16620 | Darren_Duncan++ | ext/QDRDBMS/ : tweaked a bit of contextualizing code in AST.pm 23:29