pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas
Set by mncharity on 8 February 2009.
00:03 alester joined
pugs_svn r25469 | lwall++ | rm some fossils from quasi 00:04
00:06 Guest52437 left 00:07 Limbic_Region joined 00:12 nihiliad left 00:20 justatheory joined 00:33 SamB joined 00:34 TimToady left 00:35 M_o_C left, TimToady joined 00:38 justatheory_ left 00:41 fridim_ joined
pugs_svn r25470 | lwall++ | [STD] suppress name checking inside quasi:COMPILING 00:41
00:45 zostay left, zostay joined, alester left 00:47 fridim_ left, zostay left
TimToady irc should have a /clown directive to put a ☺ in front of your name instead of an @ 00:49
00:50 eternaleye joined 00:52 zostay joined 00:58 fridim_ joined 01:02 Tene joined 01:04 shinobi-cl joined 01:13 Tene_ left 01:16 eternaleye left 01:17 nihiliad joined 01:36 shinobi-cl left 01:39 samlh_ joined
pugs_svn r25471 | lwall++ | [STD] don't complain on CALLER or CONTEXT; don't complain on vars declared explicitly in import list 01:40
01:46 samlh left, fridim_ left 01:49 eternaleye joined
skids in SXX pod, what's the '*' in =item * -- the bullet? -- can't find that documented in S26. 01:49
in SXX pod, what's the '*' in =item * -- the bullet? -- can't find that documented in S26. 01:50
01:50 skids left, skids joined
skids is a gemini, can you tell? 01:50
01:53 dukeleto joined 01:57 alester joined
TimToady yes, it's a bullet 01:57
dukeleto perl6: say 42 01:58
p6eval elf 25471, pugs, rakudo f23eda: OUTPUT«42␤»
dukeleto yay
perl6: say log10(0), log(0)
p6eval pugs: OUTPUT«-Inf-Inf␤»
..elf 25471: OUTPUT«Undefined subroutine &GLOBAL::log10 called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
..rakudo f23eda: OUTPUT«-InfCan't take log of 0␤␤»
dukeleto TimToady: why does perl not return what ieee754 and libm think log(0) is, i.e. -Inf ? 01:59
i understand that it is somewhat like the "Illegal division by zero" exception, but i think -Inf is more useful because it is easier to catch and do something useful with it 02:00
currently rakduo gives log10(0) = -Inf, I guess it is not exported by default or something
TimToady I'm fine with -Inf for that 02:01
dukeleto TimToady: cool, I have the diff in my github
TimToady looks like pugs has it that way too
dukeleto TimToady: do I sent a pull request to rakudo?
TimToady: I made the tests that way already :)
Limbic_Region it is amazing how much of pugs still is correct given how long since it has been actively developed
TimToady I haven't tried installing either parrot of rakudo after the big move
Limbic_Region nor have I 02:02
02:02 aindilis` left
dukeleto TimToady: github.com/leto/rakudo/commit/e68af...04a288c8b2 02:02
02:02 aindilis joined
skids does the pod->html generator have a way to spit out unrendered <a name="">'s other than the line number ones? some of those sections are vast. 02:03
i.e. a pod directive 02:04
dukeleto TimToady: i just submitted that diff (called a pull request on github) to everyone else that has forked Rakudo on github
TimToady I try to stay out of politics :)
decommuting & 02:07
02:10 samlh_ left 02:11 DemoFreak left 02:15 alester left, samlh joined 02:17 dominiko left 02:19 eternaleye left
dukeleto perl6: say (42).log 02:20
p6eval pugs: OUTPUT«3.7376696182833684␤»
..elf 25471, rakudo f23eda: OUTPUT«3.73766961828337␤»
dukeleto perl6: say (42,100).log
p6eval pugs: OUTPUT«0.6931471805599453␤»
..rakudo f23eda: OUTPUT«0.693147180559945␤»
..elf 25471: OUTPUT«Useless use of a constant in void context at (eval 120) line 3.␤4.60517018598809␤»
dukeleto pugs and rakudo are taking the log of the length of the list, is this the desired behavior? 02:21
it seems that threading over the list would be much more useful
skids dukeleto: that would be ()>>.log but it's not yet implemented. 02:22
02:23 WootKit joined
dukeleto skids: interesting, where could I start ? 02:23
skids (but that doesn't guarantee order)
dukeleto what is ">>" called ?
skids I have no idea, to be honest.
Texas quote. It's actually just longhand for a french quote.
www.perlfoundation.org/perl6/index....ch_lfrench 02:24
02:26 WootKit left
dukeleto it's the "unary hyperoperator" in t/spec/S03-operators/hyper.t 02:26
i think I will call it the threading operator 02:27
02:27 eternaleye joined
dukeleto perl6: say (1,2,3) >> log 02:29
p6eval elf 25471: OUTPUT«Undefined subroutine &GLOBAL::log called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
..pugs: OUTPUT«*** ␤ Unexpected ">>"␤ expecting operator, ":" or ","␤ at /tmp/OlqIGFcFe9 line 1, column 13␤»
..rakudo f23eda: OUTPUT«Statement not terminated properly at line 1, near ">> log"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
dukeleto perl6: say (1,2,3) >>.log
p6eval rakudo f23eda: OUTPUT«Statement not terminated properly at line 1, near ">>.log"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«*** ␤ Unexpected ">>."␤ expecting operator, ":" or ","␤ at /tmp/FJFtqVYq1L line 1, column 13␤»
..elf 25471: OUTPUT«Use of uninitialized value in concatenation (.) or string at ./elf_h line 3849.␤Use of uninitialized value in concatenation (.) or string at ./elf_h line 3849.␤syntax error at (eval 122) line 3, near ",->log"␤ at ./elf_h line 4346␤»
dukeleto perl6: say (1,2,3)>>++ 02:30
p6eval rakudo f23eda: OUTPUT«Statement not terminated properly at line 1, near ">>++"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«<Error><Error><Error>␤»
..elf 25471: OUTPUT«Useless use of a constant in void context at (eval 119) line 3.␤Can't modify constant item in postincrement (++) at (eval 119) line 3, near ")++"␤Too many arguments for postincrement (++) at (eval 119) line 3, near ")++"␤ at ./elf_h line 4346␤»
skids dukeleto: You'll have better luck with the infix hyperoperators.
rakudo: (1,2,3) >>+>> 2 02:31
p6eval rakudo f23eda: RESULT«[3, 4, 5]»
dukeleto nice
skids rakudo: (1,2,3) >>+<< (2,3,4) 02:32
p6eval rakudo f23eda: RESULT«[3, 5, 7]»
dukeleto but I am looking for things to work on, so it seems like unary hyperoperators need some lovin'
skids My understanding is that is complicated by I think maybe parsing stuff. 02:33
Do you already know PIR or just want to work in perl6? 02:34
dukeleto skids: I am somewhat comfortable in PIR
skids: I did a bunch of stuff in asmutils (cross platform unix assembly), so PIR reminds me of a friendlier more feature-rich version of that 02:35
are there any decent beginner guides for PIR? I usually just read source, but sometimes one well-written example goes a long way 02:36
skids Hrm, well you can look at the RT bugs I guess. IIRC one thing I noticed not working was "div" but that may involve parsing too. 02:37
There's the parrot docs, and also some guide on using a syntax tree parser. 02:38
dukeleto yes, I have been reading the POD that comes with parrot, it helps a lot
skids www.parrotblog.org/2008/03/targetin...ot-vm.html 02:41
and johnathan's posts on rakudo.org blog can give you some inside baseball 02:42
dukeleto sweet 02:43
02:50 abra joined 02:52 aindilis` joined 03:03 hercynium joined 03:06 aindilis left 03:12 wknight8111 left 03:18 abra left 03:19 abra joined, abra left 03:23 shinobi-cl joined, shinobi-cl left 03:25 abra joined 03:27 abra left, abra joined
dukeleto I get :Null PMC access in isa() 03:35
current instr.: '!EXPORT' pc 17844 (src/builtins/guts.pir:39)
when I try to add namespacing to math.pir
what exactly does that mean?
03:41 abra left 03:42 Avada joined 03:43 abra joined, aindilis` left 03:54 justatheory left 04:01 abra left, abra joined 04:08 Avada left 04:09 justatheory joined
skids dukeleto: you mean what is NULL PMC generically? It's following a null pointer expecting a PMC I think. 04:20
04:22 Limbic_Region left
pugs_svn r25472 | lwall++ | [thorough.t] an enum may not be used as a listop 04:23
r25473 | lwall++ | [STD] hack in rudimentary support for enums
04:27 abra left, abra joined 04:28 abra left 04:37 hercynium left 04:58 samlh left 05:05 justatheory_ joined, justatheory left 05:14 meppl joined 05:17 samlh joined 05:30 SamB left 05:32 SamB joined 06:05 chrisdolan joined
chrisdolan What's the recommended Parrot for Rakudo today? 0.9.1? Head? 06:06
06:08 Entonian left 06:09 Entonian joined 06:11 meppl left 06:12 mberends joined
pugs_svn r25474 | lwall++ | [STD] parse anonymous enums correctly 06:16
06:27 justatheory_ left, justatheory joined 06:30 mberends left 06:31 masak joined 06:35 Entonian left 06:42 nihiliad left 06:56 meppl joined 07:10 Entonian joined 07:55 sparc_ joined 08:11 Entonian left
pugs_svn r25475 | lwall++ | [CORE] add &make 08:22
08:26 wayland left
masak interested question: what is time_t, and why must it die? :) 08:40
ah, I see now. Mark J. Reed gave a summary.
08:41 iblechbot joined
masak it would be interesting if someone would pick five or so popular CPAN modules known to handle time in some way, analyze all the ways time is treated in those modules, and propose a syntax/API for doing it the Perl 6 way. 08:45
a perfect topic for a blog post, if you ask me.
08:46 frew left
pugs_svn r25476 | masak++ | [u4x/TODO] added Instant/Duration 08:46
08:46 ejs joined 08:54 frioux joined 08:59 bacek joined 09:00 ZuLuuuuuu joined 09:03 frioux left, frioux joined 09:04 frioux left 09:06 justatheory left 09:07 frioux joined 09:09 zophy joined 09:14 ZuLuuuuuu left 09:16 barney joined 09:26 iblechbot_ joined 09:33 iblechbot left 09:38 iblechbot_ left 09:41 zophy left 09:43 iblechbot joined 09:44 zophy joined 09:46 zophy left 09:48 zophy joined 09:54 zophy left 09:58 zophy joined, dukeleto left 10:06 jan_ left
bacek perl6: undef <=> 42 10:11
perl6: say undef <=> 42
p6eval rakudo f23eda: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp_num', with signature 'PP->I'␤current instr.: 'infix:<=>' pc 15995 (src/builtins/cmp.pir:74)␤»
..elf 25476: OUTPUT«Parse error in: /tmp/Do1wfPPQOf␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: undef <=> 42␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤ STD_red/std.rb:210:in
..`...
..pugs: RESULT«-1»
rakudo f23eda: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp_num', with signature 'PP->I'␤current instr.: 'infix:<=>' pc 15995 (src/builtins/cmp.pir:74)␤»
..elf 25476: OUTPUT«Parse error in: /tmp/xwdiUNt6Ea␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say undef <=> 42␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_red/std.rb:210:...
..pugs: OUTPUT«-1␤»
bacek perl6: say 42 <=> undef
p6eval pugs: OUTPUT«1␤»
..elf 25476: OUTPUT«Use of uninitialized value $b in numeric comparison (<=>) at ./elf_h line 4246.␤1␤»
..rakudo f23eda: OUTPUT«Use of uninitialized value␤1␤»
10:20 zophy left 10:31 zophy joined 10:41 ejs left 11:04 baest left 11:12 pmurias joined 11:19 DemoFreak joined
pmurias perl6: my @foo;say @foo.shift; 11:32
p6eval rakudo f23eda: OUTPUT«Undefined value shifted from empty array␤␤»
..elf 25476, pugs: OUTPUT«␤»
pmurias rakudo: my @foo;say @foo.shift;say "hello\n"; 11:33
p6eval rakudo f23eda: OUTPUT«Undefined value shifted from empty array␤␤hello␤␤»
pugs_svn r25477 | pmurias++ | [mildew] t/array.t - added tests for shift 11:45
11:45 pmurias left
bacek good evening 11:49
11:49 sparc_ left
bacek perl6: my $bool = Bool::False; say ++$bool; say ++$bool; 11:56
p6eval rakudo f23eda: OUTPUT«1␤1␤»
..pugs: OUTPUT«1␤2␤»
..elf 25477: OUTPUT«No viable candidate for call to multimethod prefix__43_43($) at (eval 122) line 4␤ at ./elf_h line 4346␤»
12:01 masak left
pugs_svn r25478 | bacek++ | [t/spec] Add prefix:++ and prefix:-- tests for Bool. 12:02
12:02 bacek_ joined
bacek_ perl6: my $bool = Bool::False; say --$bool; say $bool == Bool::False; 12:03
p6eval pugs: OUTPUT«-1␤␤»
..rakudo f23eda: OUTPUT«0␤1␤»
..elf 25477: OUTPUT«No viable candidate for call to multimethod prefix__45_45($) at (eval 121) line 4␤ at ./elf_h line 4346␤»
mikehh I built rakudo but over half the coretests fail
most of the spectests skip or fail 12:04
12:04 bacek left, fridim_ joined
bacek_ mikehh: dont use parrot after r36866. It's broken... 12:06
mikehh parrot seemed to build ok - r36921 - smolder.plusthree.com/app/public_pr...ails/18224
bacek_ mikehh: but Rakudo on this version doesn't work. 12:07
mikehh ok - will go back to my earlier build
Any idea what has broken - and what needs to be fixed 12:10
bacek_ mikehh: something wrong with parrot's string. 12:22
perl6: say Bool ~~ Any; say Bool ~~ Object; class A {}; say A ~~ Any; say A ~~ Object; 12:23
p6eval pugs: OUTPUT«1␤1␤␤1␤»
..elf 25478: OUTPUT«␤␤␤␤»
..rakudo f23eda: OUTPUT«1␤1␤1␤1␤»
bacek_ interesting...
12:30 chrisdolan left 12:31 baest joined
jnthn bacek_: Rakudo hsa it right there. 12:38
bacek_ jnthn: it is. But I trying to understand what happening when I try to move Bool::succ/pred into Setting. 12:40
jnthn bacek_: Ah, that ain't going to work out too well.
Since they are also :vtable'd.
bacek_ jnthn: they are. But I've implemented succ/pred for Rakudo few month ago :) So I should be able to fix it. 12:41
jnthn: btw, there are few patches waiting to review :) Do you have spare 15-20 minutes? 12:43
jnthn Not right now, but maybe later...
jnthn has various $real_life chores to do ATM... 12:44
bacek_ jnthn: no worries. All of them in RT. 12:45
(not your $real_life chores I hope :) 12:46
12:46 bacek_ is now known as bacek
bacek dreaming about RT for $real_life. And git. 12:47
git reset --hard master@{2006-01-01} will be handful 12:48
std:my @list; @list.first():{ ($_ == 4) } 12:50
std: my @list; @list.first():{ ($_ == 4) }
p6eval std 25478: OUTPUT«ok 00:02 34m␤»
bacek std: my @list; @list.first(): { ($_ == 4) }
p6eval std 25478: OUTPUT«ok 00:02 34m␤»
12:56 jan_ joined 12:57 barney left 13:19 akulkis joined, akulkis left 13:43 pmurias joined
pmurias mildew: say "works" 13:43
p6eval mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.␤can't create lex/STD/statementlist_01.store: Permission denied at ../../src/perl6/Cursor.pm line 551␤»
pmurias moritz_: shouldn't "and made evalbot run as the user who also own the environment" change fixed all the permission problems? 13:46
13:46 alanhaggai_ joined
pmurias mildew: say "works" 13:48
p6eval mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.␤Loader.load: CORE.mildew.so: cannot open shared object file: No such file or directory␤»
pmurias mildew: say "works" 13:50
p6eval mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.␤works␤»
pugs_svn r25479 | pmurias++ | [STD] hide a use of undefined value warning in Cursor.pmc 13:54
pmurias mildew: say "works"
p6eval mildew: OUTPUT«Use of uninitialized value in numeric gt (>) at ../../src/perl6/Cursor.pm line 189.␤works␤»
14:00 Muixirt joined 14:02 WootKit joined 14:08 WootKit left
pugs_svn r25480 | masak++ | [u4x/TODO] added 'texas' and 'french' (quotes) 14:33
14:35 shinobi-cl joined 14:39 aindilis joined 14:56 meppuru joined 14:58 ZuLuuuuuu joined
pmurias mildew: say "works" 15:08
p6eval mildew: OUTPUT«works␤»
diakopter pmurias: cool 15:09
pmurias diakopter: hi
diakopter hi
15:09 meppl left
pmurias diakopter: how far did you get in try to get mildew to run on your box? 15:11
diakopter pmurias: it ran, sorta kinda 15:14
let me try to remember
oh yeah, a DLL exported name discrepancy
I gave up 15:15
(for then)
the exported function names had some prefix
in smop.dll (if I recall correctly)
pmurias: but anyway, I gave up for windows/strawberry, but I'd be glad to try it on my ubuntu/jaunty VM anytime 15:18
15:22 Whiteknight joined, alanhaggai_ left 15:24 aindilis left, shinobi-cl left
pmurias diakopter: getting it compile on a debian-like machine should be a matter of apt-get'ing a bunch of packages and installing a bunch of modules from CPAN 15:24
diakopter pmurias: what's the status of smop/mildew? is it current on TPF's perl6 wiki? 15:36
15:41 zophy left
pmurias diakopter: ruoso recently submitted a grant report on the TPF website 15:41
s/on/, it's avalible somewhere on
diakopter: re status smop development slowed down a bit lately but i plan to spend more time on it in the near future 15:45
15:51 shinobi-cl joined
diakopter pmurias: neat. I read the status report. 15:52
16:03 jeremiah joined 16:05 Tene_ joined 16:11 cspencer joined
cspencer hrmmmm....is anybody else having issues building the latest commit of rakudo on the latest commit of parrot? :) 16:12
16:14 sparc_ joined 16:16 Limbic_Region joined, Tene left 16:17 Sepheebear left
jnthn cspencer: I've heard that mentioned by someone else... 16:23
cspencer jnthn: i'm re-checking out parrot and rebuilding right now, i'll let you know how it goes 16:24
jnthn cspencer: I've got a slightly older Parrot...
Though head Rakudo.
cspencer it was segfaulting in some of the final compilation steps
jnthn I'm at Parrot 36866.
cspencer ok, if this doesn't work, i'll check out that version :) 16:25
jnthn Yeah, there is discussion now on #parrot about it... 16:26
Apparnetly some change in Parrot relating to strings broke it.
cspencer ok, i'll revert back to 36866 then :)
thanks!
actually, while i've got your attention, how much of p6 is intended to be implemented in the setting? 16:27
ie) is the end goal to get a good part of the builtins written in perl6?
jnthn Yes.
cspencer ok, great
jnthn I want for sure Array, List, Mapping and Hash to be entirely in Perl 6.
(That said, they will use Parrot's hash and array PMCs for actual storage.) 16:28
16:28 masak joined
cspencer i've got a couple large-ish patches somewhere implementing a bunch of things that were waiting around for the point at which we were bootstrapping 16:28
jnthn In fact, getting those ones done in Perl 6 is fairly high priority for me.
cspencer so i'll pull those out and polish them up
16:28 nihiliad joined
jnthn OK, great! 16:28
TimToady in theory we'd like to write all of it as a circular definition and then take a "circularity saw" to it for specific implementations for bootstrapping and efficiency
but different implementations could break the circularity in different places 16:29
jnthn Aye.
TimToady as long as semantics are preserved
cspencer alright, that sounds reasonable :)
TimToady which, of course, they never quite are :)
but the short of it is that there's no reason not to attempt to write any particular part of it 16:30
jnthn cspencer: We also - though we can't do it just yet - want to be implemenitng the operators in Perl 6 too. There may be a little embedded PIR within them, but it'll be inside a normal-looking method/sub definition. 16:31
16:31 jnthn sets mode: +o TimToady
cspencer i was going to ask about that, i'd noticed that it wasn't quite working yet 16:32
jnthn That means our op dispatch will then be using the Perl 6 dispatch algorithm. :-)
cspencer that's coming soon though, i take it? :)
jnthn And, since the Rakudo MMD dispatcher has a cache and the Parrot MMD dispatcher doesn't, we *may* even get a minor speed win.
Yes.
cspencer that sounds great
jnthn But it's the correct semantics that are the more interesting bit. :-) 16:33
cspencer i have to say it will be nice to not have to write a lot of confusing PIR methods anymore :)
jnthn It was fun moving a few over. The size of the codebase shrunk notably.
cspencer i imagine so
if i'm going to be sending in a patch for a method (say "grep") that's written in p6, should the patch also remove the previous definition? 16:34
though i suppose that might be needed for compilation of some bits in the first stage
jnthn Yes, that would be best.
Well, there *can* be issues like this.
cspencer but you'd prefer to add the p6, remove the PIR, and fix any issues that come up? 16:35
TimToady depends on which circularity saw you pick, but grep is unlikely to be in the bootstrap
jnthn Though the real issue is only if you take out something the compiler itself uses.
cspencer right, ok
jnthn Right. I would be rather surprised it grep was something that caused such an issue.
TimToady grep should be fairly trivial though, given it's just a ~~ over a list 16:36
jnthn TimToady: While you're around, do you see Callable as a parametric role? So "sub foo(Int $x) of Str { ... }" does Callable[Str]?
Where we define callable as something like role Callable[::T = Object] { ... } 16:37
TimToady It seems likely that we'd want to expose the return type to the optimizer at least
so could well be
but maybe the param is the whole sig including --> 16:38
jnthn Well, it means that things like sub bar(Int &x) { ... } work Just Right.
Ah, hmm.
TimToady but maybe it should also depend on how generic we want the types to match when we do type matching, dunno 16:39
I guess we need to see use cases to decide
jnthn Aye.
Having the return type in there feels at least consistent to me, but useful and consistent are different things. :-) 16:40
TimToady certainly return type is more like the typical array
jnthn Right.
TimToady but it seems like the shape of an array is like a sig
and that's part of the parameters, it would seem 16:41
jnthn Yeah, there's a parallel there...
TimToady for matching purposes, you'd almost like to know how to wildcard the params that were defaulted
jnthn Really though part of it depends on what we want to matter in multi-dispatch.
TimToady which also says you want to have wildcards on matching defaulted params 16:42
ZuLuuuuuu Hello is there a plan to start a book like Parrot's (/docs/book/), while release date of 1.0 is getting closer? 16:43
for Perl 6
TimToady you'd probably want to ask that on #parrot
oh, for p6, we're certainly thinking about books 16:44
jnthn I meant more like, if you have a Callable[::T] that is parameterized on the return type, then that plays rather differently under multiple dispatch than if we parameterize it on the whole signature.
TimToady but p6.0.0 happens some time after parrot 1.0
ZuLuuuuuu I'm very eager to get my hands on p6 but don't have time to go through synopsises etc :(
jnthn ZuLuuuuuu: There is already a Wiki book being written on Perl 6... 16:45
TimToady well, everyone here is so impatient that they're working on it :)
whether or not they have time...
masak ZuLuuuuuu: also, you'll find that people on this channel are very helpful and like to answer questions.
ZuLuuuuuu yeah I see, thanks
jnthn OH HAI masak
:-)
masak and we have bots who know Perl 6 here. :)
jnthn: HAI.
TimToady mind, some of like to answer snidely :) 16:46
masak rakudo: say "snide today?"
p6eval rakudo f23eda: OUTPUT«snide today?␤»
masak see? no politeness at all. :)
ZuLuuuuuu the wikibook is at wikibooks?
jnthn TimToady: Did you think at all about interaction between parameterized types and candidate ordering?
masak ZuLuuuuuu: en.wikibooks.org/wiki/Perl_6_Programming
ZuLuuuuuu I ouldn't find it
TimToady jnthn: of course not, I'm not that smart :) 16:47
ZuLuuuuuu masak: thanks
jnthn TimToady: Yeah right. :-P
masak ZuLuuuuuu: np.
TimToady I thought I'd just wait and read the book :P
jnthn TimToady: OK, maybe I'll propose some answers in still annoyingly non-existent S14...
Then you can hate^Wcritique them. ;-) 16:48
masak ZuLuuuuuu: be warned that the code examples in that wikibook contain more parentheses than is necessary. 16:49
jnthn will maybe get around to working a bit on S14 while he's in Odessa and mostly offline and undistracted...apart from by whatever distractions Odessa has to offer.
TimToady just thinking along the lines that $array ~~ Array[$ret,$shape] can wildcard match when $ref or $shape are defaulted
and maybe Callable works the same
ZuLuuuuuu masak: thanks, I will keep that in mind 16:50
jnthn TimToady: That could work...
masak I did some edits to remove them, but the edits haven't been approved, it seems.
TimToady so all code matches Callable, and less matches Callable[Int], and even less mathes Callable[Int,:()]
jnthn I like that, and it falls out very neatly. 16:51
TimToady or maybe we do something explicit with Callable[Int,*] when we want that
anyway, something to thunk about
jnthn I was thinking that it'd be like role Callable[::T = Ojbect, $sig = *] { } 16:52
The bigger problem is if this should work:
my @array = 1,2,3; sub foo(Int @x) { say "ok"; }; foo(@array);
Exception, or ok?
TimToady seems ripe for autocoercion of some sort, but how to define it? 16:53
jnthn That's what worries me. I don't know...
Thing is, for different types, we care about different thingies. 16:54
So types need a way of saying "you can also if the nominal type-check fails try me this way".
TimToady this reminds me a bit of the problem of letting a literal remain generic until we see what type it's used as
16:55 M_o_C joined
TimToady and certainly Perl has the notion of Any --> Int autocoercion built in philosophically 16:55
jnthn Aye, I agree that it *should* work, it's just deciding on the mechanism. 16:56
TimToady but there needs to be some distribution of that notion over composite types, and that depends on the container
jnthn Right.
So AFAICS the container needs a way of saying how that distribution happens.
And we should make it a mechanism that people can use when writing their own parametric types, rather than it being some magic for Hash and Array, IMO. 16:57
TimToady much like a sig could specify how much latitude there is in matching a parameter that it can handle
certainly
16:57 justatheory joined
jnthn will let it all circulate in this brain for a while... 17:01
s/this/his/
TimToady Array[Any as Int] or some such, but specified in the sig
so you get it automatically when you say Array[Int]
maybe a property attached to Int 17:02
17:02 dukeleto joined
jnthn Hmm... 17:02
TimToady but I like your idea of noticing it at the point you'd fail the type check otherwise
jnthn I don't like there being a *coercion* unless you ask for it. 17:03
TimToady but maybe that's the wrong way to think of it
17:03 shinobi-cl left
TimToady @a = "1","2","3"? 17:03
lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
jnthn In the case I mentioned, the issue isn't that we need a co-ercion. It's just that the array being passed in is not labeled as being an Array[Int] 17:04
TimToady: To me that's a different case.
I'd expect my $x = "a"; sub foo(Int $x) { } to fail
Though my $x = "a"; sub foo($x as Int) { } to coerce.
skids re-mentions %h<k1 k2>.delete since folks are now around to tell him to shut up 17:05
TimToady that can't work
not without making .delete a macro
that's why we spell it %h<k1 k2>:delete now
skids How would that be made to dwim? Some sort of evanescent type that acts like a normal hash value but can remember its source hash and key? 17:06
TimToady that's another approach, but we decided to just make it a modifier on the subscripting operation
likewise :exists
skids Oh Ok a parse-side "fix" :-)
TimToady is potentially less overhead as well 17:07
and <k1 k2> is a slice, if you were asking
or even if you weren't...
so it would delete both keys 17:08
skids Yeah that was the intent.
17:10 |MoC| joined, M_o_C left 17:13 cspencer left 17:18 tejat joined 17:20 justatheory left
tejat evalbot: perl6: say "Howdy"; 17:22
masak tejat: howdy.
just 'perl6: ' is enough.
(and necessary, if you want to talk to the evalbots)
tejat aha. thanks, I'll try again at a later time 17:23
masak rakudo: say 'this works too' 17:24
p6eval rakudo f23eda: OUTPUT«this works too␤»
17:24 sri_kraih joined
diakopter (anthropomorphization of p6eval responders)++ 17:25
17:25 sri_kraih left, sri_kraih joined
masak anthropomorphization of bots is our only hope. 17:25
17:27 sri_kraih left, sri_kraih joined
TimToady someone should write a boticelli 17:27
jnthn So we support anthropomorphizationalism?
17:27 sri_kraih left
masak well, I'm certainly an antidisanthropomorphizationism! 17:27
s/ism/ist/, dang :) 17:28
TimToady the secret is out, you're actually a bot
tejat misanthropomorphist
masak TimToady: I am. but so is everyone.
TimToady I wonder how sort and hypers will suppress "use of undef" exceptions... 17:30
masak aye, that's a tricky one.
17:30 tejat left
masak as is the case where for loop values don't add up. 17:30
rakudo: for 1..10 -> $a, $b, $c { say $c } 17:31
p6eval rakudo f23eda: OUTPUT«3␤6␤9␤StopIteration␤current instr.: '_block14' pc 125 (EVAL_19:56)␤»
masak the current behavior feels a bit... harsh. 17:32
17:33 Avada joined 17:34 alester joined
TimToady well, that one we could conceivably handle with -> $a, $b?, $c? {...} 17:39
masak rakudo: for 1..10 -> $a, $b?, $c? { say $c } 17:40
17:40 sri_kraih joined
p6eval rakudo f23eda: OUTPUT«3␤6␤9␤StopIteration␤current instr.: '_block14' pc 125 (EVAL_19:56)␤» 17:40
17:40 alester left
masak submits rakudobug 17:40
17:44 sri_kraih left 17:48 sri_kraih joined 17:50 zophy joined 17:52 ejs joined 17:57 eternaleye left 17:58 ZuLuuuuuu left
masak perl.org is down. :( 17:58
jnthn use.perl.org also
Guess it's the same servers. 17:59
masak and RT just bounced my bug mail, although rt.perl.org is up...
17:59 Avada left
jnthn widespread fail 17:59
Limbic_Region yeah, apparently the domain registrars suspended perl.org with no explanation
at least that's what I am hearing over on #perl
masak those silly registrars! 18:00
jnthn Gah, I need regex foo { }; &foo.perl to work in Rakudo. :-|
Limbic_Region [12:56] <drforr> ask_> Looks like DirectI/resellerclub (the domain registrar) decided to suspend perl.org! I've no idea why. They're not a communicative bunch. Also, nice touch doing it on a Saturday.
jnthn is actually writing some Perl 6 finally... 18:01
masak jnthn: it's quite a nice language.
jnthn I figured it was about time I ate the dog food I contribute to making. ;-)
masak that reminds me, I should try getting November to work locally... 18:02
18:05 IllvilJa left 18:14 PZt left 18:17 dukeleto left 18:18 dukeleto joined, Tene joined
skids curses the amount of time it takes firefox "find text" to figure out a string is not in a synopsis. And the fact it re-searches on every keystroke when deleting. 18:22
18:22 IllvilJa joined 18:23 Psyche^ joined, eternaleye joined
dukeleto what is the deal with src/gen_setting.pir ? 18:26
masak skids: most of us here do local searches of the pod files in the Pugs repository. 18:27
and when buubot's here, we can query it.
dukeleto my latest github master branch dies when building perl6 because that file is included but not there. Everything works fine if I comment it out
masak buu: speaking of which, where's buubot?
dukeleto it came in on 325cc2e2 (jnthn
skids Yeah well there's no accounting for taste :-)
masak skids: just saying there's different ways. :) 18:28
jnthn dukeleto: make realclean and re-configure if you did not already - there were makefile changes to generate it.
dukeleto jnthn: thanks!
jnthn It's what should hold the PIR result of compiling the things in src/setting/ 18:29
skids masak: yeah but firfox is a damn UI and darned if I don;t expect to be interfaced when I use it :-)
masak apparently you were.
18:30 Tene_ left 18:32 Limbic_Region left
jnthn mwaha...Perl 6 rocks. 18:34
TimToady I think of "interface" as a kind of barrier with holes in it, in general
it does?
masak jnthn: 哈哈
18:34 Psyche^ left, Psyche^ joined
jnthn is working on his first Perl 6 module 18:35
masak jnthn: wot's it do?
TimToady darn, now I'll have to figger out how importing is supposed to work...
jnthn masak: Not much yet ;-)
18:35 Psyche^ is now known as Psyche
jnthn masak: But the aim is to make grammars generative. :-) 18:35
TimToady o_O 18:36
masak that sounds vaguely pleasant.
jnthn multi method walk_regex(PGE::Exp::Concat $node) {
return [~] $node.map({ self!walk_regex($^child) });
}
The awesome. :-)
masak indeed!
jnthn++
the number of times I've wanted to walk the regex...
jnthn masak: I don't know if this is actually gonna work yet... :-) 18:37
masak jnthn: I know, I've written Perl 6 modules. :P
jnthn Though it gets past the parser, which means it recognizes PGE::Exp::Concat as a type...
Which may be a bad thing, but hey... :-)
masak :) 18:38
jnthn Hopefully in the future I work out an implementation-independent way...but that'll only happen if there's an implementation-independent AST for regexes.
Otherwise subtypes and an abstraction layer will do it...
...no, aliasing...not subtypes...they make the dispatch expensive... 18:39
masak I'm scared by the thought of there not being an implementation-independent AST for regexes.
that sounds like a bad thing to make implementation-dependent. :/
dukeleto perl6: say (1+i).polar 18:40
p6eval rakudo f23eda: OUTPUT«Could not find non-existent sub i␤current instr.: '_block14' pc 59 (EVAL_16:40)␤»
..pugs: OUTPUT«*** No such subroutine: "&i"␤ at /tmp/fzLr4LcLed line 1, column 6-9␤»
..elf 25480: OUTPUT«Undefined subroutine &GLOBAL::i called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
jnthn masak: It's a desriable thing, I agree.
18:40 Patterner left
TimToady well, viv can spit out regex AST 18:40
jnthn Hey, the implementations agree.
dukeleto perl6: say (1+2*i).polar
p6eval rakudo f23eda: OUTPUT«Could not find non-existent sub i␤current instr.: '_block14' pc 65 (EVAL_16:42)␤»
..pugs: OUTPUT«*** No such subroutine: "&i"␤ at /tmp/vz4EmB2o9X line 1, column 6-11␤»
..elf 25480: OUTPUT«Permission denied at ./elf_h line 315.␤»
jnthn TimToady: Do you expect we'll reach some common AST between implementations at some point? 18:41
TimToady std: say (1+2*i).polar
p6eval std 25480: OUTPUT«ok 00:02 33m␤»
TimToady I expect that STD will take over the world eventually :)
jnthn
.oO( Beats STDs taking over the world... )
18:42
dukeleto TimToady: polar() should always return an angle between 0 <= theta < 2*pi, correct ?
masak soon, STD will be endemic!
dukeleto currently it is using -pi < theta < pi
TimToady pandemic, we hope
masak hm, polar isn't in S29 :( 18:43
TimToady I'm not enough of a math wonk to have an opinion on that
masak dukeleto: please file a bug.
18:44 Psyche is now known as Patterner
TimToady most of that stuff has moved to S32 18:44
masak oh, right. 18:45
dukeleto masak: I have a patch to src/classes/Complex.pir that I will send to github in a sec
masak dukeleto: nice.
but it might help to make it a ticket as well.
...I think.
dukeleto masak: do you have a url? 18:46
masak mailto:rakudobug@perl.org
TimToady dukeleto: it is currently specced to -π ..^ π 18:47
so it's not a bug until the spec changes 18:48
dukeleto TimToady: ok. so some functions return angles between (-pi,pi) and some (0,2*pi) ? 18:49
18:49 [particle] joined
masak dukeleto: which ones currently do the latter? 18:50
18:51 sparc_ left
dukeleto masak: i seem to remember some, but I don't have a concrete example right now. I will look 18:52
masak dukeleto: suddenly this sounds like a matter for p6l.
TimToady it has certainly been discussed there before 18:53
18:54 shinobi-cl joined
masak oh, it has? and was the conclusion to let some ranges be (-pi,pi) and some (0,2*pi)? 18:55
that sounds doubleplusungood.
jnthn -> dinner 18:58
jeremiah mmm dinner
TimToady the point made in the thread was that it becomes easy to find the quadrant if you know the sign of both the real and the imaginary parts 19:00
masak there's something to be said for that, I guess. 19:03
TimToady and presumably easily normalized the other way with %2*pi
er
%(2*pi) 19:04
19:05 [particle]1 left
TimToady 'course, -pi would give you the quadrant in the other case, so it's not a biggie either way, as far as I'm concerned 19:05
but it seems like something p6l would like to haggle over^W^Wvote on 19:06
masak I'm just asking myself if there's an overwhelming reason to avoid consistency in this case.
TimToady (again) :)
19:07 eternaleye left
TimToady well, we could always say the funcitons can return whatever they like, and you have to do your own % (2*pi) :) 19:07
dukeleto it can generate incorrect answers if developers do not constantly check the returned branch 19:08
TimToady I bet everyone would hate that
dukeleto TimToady: yes
TimToady the alternative would be to have multiple versions of the function, or a parameter
masak still, it seems to me the default ought to be the same range everywhere. 19:09
TimToady clobber the namespace, or clobber the performance :)
dukeleto masak: +1
TimToady there's something to be said for a foolish consistency
masak indeed.
TimToady anyhoo, I don't profess to speak for the mathematicians 19:10
masak neither do I, actually.
dukeleto TimToady: I don't think performance will be clobbered if all underlying functions are changed to return in the same interval, than no interval checking needs to be done
masak I should review that thread.
TimToady but somehow I doubt the mathematicians could find a single spokesperson they'd agree on :)
dukeleto indeed 19:11
TimToady the number of opinions on the subject you'll get on p6l will approximate 2*pi, I believe, because there are about pi mathematicians there, and about pi non-mathematicians who will have an opinion anyway. 19:12
dukeleto TimToady: but how many submit patches? 19:13
masak well, we like patches, but we like to conform to the spec as well. :) 19:15
dukeleto which spec defines the trig functions? 19:17
masak S32/Numeric, it seems.
dukeleto masask: thanks! 19:18
masak np.
well, time to go home.
masak waves
19:18 masak left 19:33 sri_kraih left 19:56 Sepheebear joined
pugs_svn r25481 | lwall++ | [Cursor] suppress warnings on malformed utf8 20:47
20:54 estrabd left
bacek good morning 21:00
perl6: say ~ [\==] (1,2,2,1) 21:01
p6eval rakudo f23eda: OUTPUT«say requires an argument at line 1, near " ~ [\\==] ("␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..elf 25481: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
..pugs: OUTPUT«␤»
21:02 jan_ left 21:04 jan_ joined
bacek perl6: say ~([\==] (1,2,2,1)) 21:04
p6eval elf 25481: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
..rakudo f23eda: OUTPUT«say requires an argument at line 1, near " ~([\\==] ("␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
..pugs: OUTPUT«␤»
jnthn rakudo: ~([\==] (1,2,2,1)) 21:05
p6eval rakudo f23eda: OUTPUT«Syntax error at line 1, near "~([\\==] (1"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
jnthn Hmm.
bacek jnthn: my patch isn't applied yet :) 21:06
21:06 zophy left, zophy joined
jnthn bacek: Aye, I'm leaving that one for pmichaud to review. :-) 21:07
bacek jnthn: :)
21:07 |MoC| left 21:08 zophy left
bacek Looks like I've made mistake in triangle version of chained metaops. 21:08
21:08 zophy joined
bacek TimToady: Last result for [\==] (1,2,2,1) is (False, False, True, False), isn't it? 21:09
jnthn: But you can review my other patches :) 21:10
21:10 zophy left 21:11 zophy joined 21:12 zophy left 21:17 zophy joined 21:18 zophy left, zophy joined 21:19 zophy left 21:20 zophy joined 21:21 zophy left, zophy joined 21:24 fridim_ left, fridim_ joined 21:29 kst joined 21:31 jan_ left
pugs_svn r25482 | rhr++ | [CORE] paste error for make 21:38
bacek perl6: sub formalize($text, :case($case), :justify($justify)) {...}; say "hi" 21:43
p6eval pugs: OUTPUT«*** ␤ Unexpected "case"␤ expecting space or ")"␤ at /tmp/Ejqow2uVrv line 1, column 23␤»
..elf 25482: OUTPUT«Parse error in: /tmp/OAHiZMHWqM␤panic at line 1 column 56 (pos 56): Missing right brace␤WHERE: ($case), :justify($justify)) {...}; say "hi"␤WHERE: /\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:255:in `_block_rest'␤
..STD_red/std.rb:242...
..rakudo f23eda: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near ":case($cas"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
bacek std: sub formalize($text, :case($case), :justify($justify)) {...}; say "hi"
p6eval std 25482: OUTPUT«ok 00:04 34m␤» 21:44
21:47 Whiteknight left, araujo left
TimToady bacek: first one should be True 21:48
bacek TimToady: ah, ok. 21:49
TimToady: 'is (~ [\<] 1, 3, 2, 4), "1 1 0 0", "[\\<] works (2)";' looks incorrect for me 21:52
True, True, False, True?
21:54 jan__ joined, zophy left
TimToady I can argue it both ways 21:56
21:56 burmas joined 21:57 zophy joined
TimToady the fundamental question is whether [\op] treats comparisons as short circuit or as independent tests that are only anded at the end 21:58
and beyond that, which interpretation is more useful for any purpose at all :) 21:59
21:59 dukeleto left
pugs_svn r25483 | bacek++ | [t/spec] Fix reduce metaops tests. TimToady++ for clarification. 22:00
bacek TimToady: I suppose that "[op] $a,$b,$c," is shortcut for "[&&] (undef op $a), ($a op $b), ($b op $c)". 22:01
TimToady or * op $a 22:02
bacek whatever :)
TimToady by that interpretation, the anding should latch off as soon as it's false 22:03
22:03 gravity joined
TimToady that's probably what people will expect 22:03
bacek yes, but for triangle version it should evaluate full list
TimToady the list could be infiinte 22:04
bacek then it will produce infinite triangle
22:04 viklund joined
viklund @seen masak 22:04
lambdabot I saw masak leaving #perl6 2h 46m 4s ago, and .
bacek [\<] 1..*
TimToady the question is whether it will always be of the form 1,1,1...0,0,0,0,0....
I'm thinking of various "find first" algorithms 22:05
bacek TimToady: for triangle version?
TimToady if we go with the 110000000 interpretation, then what I said earlier about [\!=] is wrong 22:10
bacek for ([\<] @list) -> $a{ if ($a[*-1] ff $a[*-1]) { return $a } }
TimToady because it should use the identity value for &&, not 1=
*!= 22:11
22:11 zophy left
bacek I preferably dislike 110000 approach. 22:11
22:11 zophy joined
bacek It's automatically prohibit multithreaded evaluation. 22:12
TimToady chained comparisons are specced to short-circuit
1 > 2 > die("this is never reached"); 22:13
bacek ([\op] @list)[10][*-1]
22:14 Muixirt left
TimToady only for [\,] 22:14
bacek I don't understand. What do you mean?
TimToady you can't subscript a scalar with [*-1] 22:15
only [\,] returns list or list
*of
bacek pugs: say ([\==] 1,1,2,2).perl 22:16
p6eval pugs: OUTPUT«Bool::False␤»
bacek oh.
[\==] should not produce list of list???
TimToady it should produce a list of Bool
pugs: say [\+] 1..10 22:17
p6eval pugs: OUTPUT«13610152128364555␤»
TimToady pugs: say ([\+] 1..12)[10] 22:18
p6eval pugs: OUTPUT«66␤»
TimToady pugs: say ([\+] 1..12)[10][*-1]
p6eval pugs: OUTPUT«66␤»
TimToady pugs: say ([\+] 1..12)[10][*-1][*-1]
p6eval pugs: OUTPUT«66␤»
TimToady pugs: say ([\+] 1..12)[10][*-1][*-1][0]
p6eval pugs: OUTPUT«66␤»
TimToady pugs: say ([\+] 1..12)[10][*-1][*-1][0][0]
p6eval pugs: OUTPUT«66␤»
bacek TimToady vs pugs :) 22:19
22:19 burmas left
TimToady on the other hand, [op] 1,2,die doesn't short circuit 22:21
in the sense of suppressing the die 22:22
in only short circuits in the sense that it in [==] 1,2,3 it doesn't have to test 2==3 22:23
22:23 pmurias left, awwaiid left
TimToady I think that still argues that [\==] 1,2,3 should return 1,0,0,0 22:24
bacek how that?
TimToady and [\!=] 1,2,3 should probably return 1,1,1,1
22:25 aindilis joined
bacek if I understand you right, than [\==] 1,2,3 should return 1,0,0 22:25
and [\!=] 1,2,3 returns 1,1,1
TimToady yes, i can't count
bacek (Bool::True and Bool::False for 1 and 0 of cause) 22:26
TimToady *nod*
bacek :)
TimToady we need to be careful to return Bool when we mean that so we can multidispatch on it right
bacek indeed 22:27
TimToady that is, +$bool returns 0 and 1, while ?$num returns False and True
bacek I'm going to revert my last commit in t/spec... 22:28
Let's stick with 11000.
TimToady sorry 'bout that, my fault
bacek no worries :)
TimToady I'd better go mangle the semantics of my Honda instead before it rains... 22:30
pugs_svn r25484 | bacek++ | [t/spec] Revert previous commit for reduce metaops.
bacek TimToady: I did it with my Honda couple of days ago :)
TimToady funny thing is there are two completely unrelated things wrong with it that require door panels to be removed 22:31
unfortunately, different panels...
power windows controller on one side, mirror on the other... 22:32
bacek oh.
TimToady car hacking &
jnthn Sometimes I wonder if having sufficiently bad eyesight to be unable to drive - and thus not owning a car - is a kind of blessing... 22:33
(Does mean I need to live in places with decent public transport, mind...)
bacek jnthn: I have very bad eyesight. But it doesn't count... Public transport in Sydney suck all the time :( 22:34
jnthn Ugh. :-( 22:37
I got *so* fed up of the UK railway network.
bacek rakudo: say undef // 1; 22:44
p6eval rakudo f23eda: OUTPUT«1␤»
bacek rakudo: say 42 // 1;
p6eval rakudo f23eda: OUTPUT«42␤»
bacek rakudo: say undef orelse 1; 22:45
jnthn rakudo: sub x { say "awww, we fail it" }; my $x = 42 // x;
p6eval rakudo f23eda: OUTPUT«Use of uninitialized value␤␤Could not find non-existent sub infix:orelse␤current instr.: '_block14' pc 82 (EVAL_15:42)␤»
rakudo f23eda: RESULT«42»
jnthn rakudo: sub x { say "awww, we fail it" }; my $x = 42; $x //= x;
p6eval rakudo f23eda: OUTPUT«awww, we fail it␤»
jnthn fail
bacek summon masak? 22:46
rakudo: say 1 => 2 22:48
p6eval rakudo f23eda: OUTPUT«1 2␤»
22:48 M_o_C joined
bacek rakudo: say 1 => 2 => 3 22:49
p6eval rakudo f23eda: OUTPUT«1 2 3␤»
bacek rakudo: say (1 => 2 => 3).perl
p6eval rakudo f23eda: OUTPUT«1 => 2 => 3␤»
bacek is => right associative? 23:00
rakudo: say (1 => (2 => 3)).perl
p6eval rakudo f23eda: OUTPUT«1 => 2 => 3␤»
bacek rakudo: say ((1 => 2) => 3).perl
p6eval rakudo f23eda: OUTPUT«1 => 2 => 3␤»
bacek yak...
pugs: say (1 => 2 => 3).perl 23:01
p6eval pugs: OUTPUT«\(1, \(2, 3))␤»
bacek pugs: say ((1 => 2) => 3).perl
p6eval pugs: OUTPUT«\(\(1, 2), 3)␤»
23:02 ejs left 23:04 jferrero joined 23:05 viklund left 23:24 dukeleto joined 23:25 zophy left 23:45 DemoFreak left 23:52 Ariens_Hyperion joined 23:53 fridim_ left, fridim_ joined