»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 armitage81 left 00:03 whooguy left
lue feels he should remove Exceptions from the depgraph generator. 1) They're obviously needed everywhere in src/core 2) The complete depgraph of src/core he just generated is a monster with exceptions. 00:05
00:08 armitage81 joined 00:09 armitage81 left
masak indeed, it might be more informative to generate the thing without exceptions. 00:15
in a sense, they're orthogonal to the rest of the type system.
'night, #perl6
sorear knight masak 00:17
00:28 whiteknight joined
sorear o/ whiteknight 00:29
00:51 ifim left
whiteknight hello sorear 00:58
01:06 cognominal joined 01:07 imarcusthis left 01:09 imarcusthis joined 01:25 whooguy joined 01:27 imarcusthis left 01:38 wamba left 01:51 daniel-s__ joined 01:53 pmurias left 01:55 daniel-s_ left 02:20 Targen_ left 02:22 FROGGS_ joined 02:26 xilo_ joined, FROGGS left 02:30 cognominal left 02:33 xilo_ left 02:43 sivoais left 02:49 sivoais joined 02:54 whooguy left 03:04 fgomez left 03:06 rurban_ joined
flussence is there a FAQ for how LTM/TTIAR works, anywhere? www.reddit.com/r/programming/commen...?context=3 03:07
03:08 jaldhar joined 03:09 noggle_ joined 03:12 noggle left
xenoterracide bleh 03:18
03:19 ircmouser joined
xenoterracide anyone tried using Dist::Zilla for Perl6? 03:21
03:22 whiteknight left 03:27 fgomez joined
xenoterracide privatepaste.com/f68cda11fe I could swear this worked whenever I was here last 03:29
privatepaste.com/e178c9e2b8 errors 03:31
03:35 ircmouser left 03:37 orafu left 03:38 orafu joined, tokuhiro_ left, tokuhiro_ joined
skids xenoterracide: well, it should not work AFAICT. You can't override a multi signature like you can an only; it just adds another candidate, which is ambiguous with a single positional parameter. 03:40
xenoterracide oh how frustrating 03:49
I give up on full interface support
skids You can use the signature to accomplish it.
xenoterracide how do you figure
skids depending on how deep you need to go, either put a type restriction of ::?CLASS on the invocant, or use a where clause. 03:50
xenoterracide all I really want is to require certain signatures be provided by an implementation 03:51
03:53 ircmouser joined
skids Oh. Not quite sure of that... I think protos are just dispatchers? 03:53
sorear I still don't like the idea of an interface role trying to dictate such implementation details 03:54
I'm sure you can do it with a metaclass override
skids I suppose maybe there might be a use case in ORBA/ABI type stuff. 03:57
sorear maybe, but it's an awkward fit 03:58
04:00 tokuhiro_ left, Gryllida joined, tokuhiro_ joined, tokuhiro_ left 04:01 tokuhiro_ joined
xenoterracide sorear: I don't see it as dictating implementation details, just required interface... must provide 1 method that takes a string (or perhaps I should have said Stringy?) and another that takes an IO Handle 04:05
sorear xenoterracide: what if I provide a single method that takes either? 04:06
xenoterracide hmmm.... 04:07
sorear also, roles are allowed to provide default implementations; there ought to be a default implementation of the IO version in terms of the Buf version
Digesting a Str is not a well-defined operation since Perl 6 does not spec an encoding 04:08
xenoterracide idk, though I don't like the idea of doing if ( Str ) { ... } elsif ( IO ) { ... } all the time
that's the whole point of multi methods to me, is not doing that
sorear xenoterracide: multi dispatch in niecza is pretty slow and I'm the wrong kind of lazy, so I tend to write if chains instead of optimizing MMD
xenoterracide sorear: ah, sorry 04:09
sorear digesting a Str should start by encoding the string using UTF-EBCDIC 04:10
xenoterracide I'm using rakudo for now, though it's probably slow there too
sorear or UTF-7 with odd parity 04:11
xenoterracide UTF-7? why's that?
I'll be honest, Digest just looked like something interesting to work on so I kind of have no idea what I'm doing 04:12
sorear xenoterracide: snarkiness aside, the signatures should be (Buf) and (IO)
xenoterracide it is a good excuse to learn too much about unicode
sorear a deliberate feature of Perl 6 is that it almost never does implicit coercion between Buf and Str 04:13
because a large category of bugs in Perl 5 come about when you lose track of whether a given string contains octets or characters
skids xenoterracid: the strategy I used in Sum:: was not to even try to get different algs to all look alike, and write roles you can mix into the algs as appropriate to the underlying alg, to present the API you want for your application. 04:14
the individual alg modules expect arguments optimal to what they are underneath, and doc what they expect in the manpage. 04:15
04:18 rurban_ left
xenoterracide skids: is Sum PP ? 04:18
skids PP?
xenoterracide Pure Perl
skids In fact yes, but not in principle. 04:19
I do have some working Zavolaj code for libmhash, but have not comitted it yet.
(Some of the algs are not usable yet due to speed/memory concerns -- Sum assumes laziness that isn't quite there yet so lists tend not to pipeline like it thinks they should.) 04:20
xenoterracide skids: I was thinking of just using NativeCode and building on glibc/openssl for now 04:22
however the things that I'm trying to do is make it so that the client code can look the same (or close to) regardless of algorithm 04:23
maybe you have to pass some things to the initial constructor
but after that most of these things seem to do the same things
but I'm not an expert in this area 04:24
skids Eventually I plan to offer prefab classes with the appropraite marshalling roles mixed in that behave consistently across the algs.
xenoterracide skids: why did you call it Sum::? 04:25
04:26 rurban_ joined
skids Because it covers digests, checksums, and eventually things like rolling hashes. 04:26
xenoterracide is not at all the thing that comes to mind when I think Sum:: 04:27
skids So Sum left more vernacular room.
it's fairly common to refer to digests/hashes as "sum"s. i.e. sha*sum cmdline names. 04:29
xenoterracide yeah I just think math though when I think sum Hash:: would be appropriate if perl didn't use it to mean Dictionary
just curious 04:30
skids I avoided Hash very purposefully just because of that :-)
xenoterracide I figured
for all of the less than satisfactory interfaces in perl 5, I've never had any complaints about Digest, and so I figured getting that with at least a NativeCode implementation of SHA based on OpenSSL is worthy. 04:32
Digest is mostly an interface not an implementation though 04:33
skids I think there will be plenty of P5 coders coming in wanting a feel-alike, yes. 04:34
xenoterracide I mean if there's really a better idea I'd love to understand it
sorear: why can't you ask strings what encoding they are? and why isn't the default UTF-8 04:35
04:36 Psyche^ joined
sorear xenoterracide: a string doesn't have an encoding, it's just a list of integers 0-0x10FFF 04:36
10FFFF rather 04:37
04:38 araujo left 04:40 Patterner left, Psyche^ is now known as Patterner
skids So have you managed to tame Zavolaj in your impl yet? I could paste you what I had to do. It is not fast to get the data over to the C api within Zavolaj's current limitations. 04:40
xenoterracide me, no, I've not even begun to experiment 04:41
well with zavolaj, I've mostly been experimenting with Perl6 04:42
04:42 bluescreen100 joined
xenoterracide also why is it called Zavolaj, when it's 'use NativeCall;' 04:43
sorear: so will that make Unicode hard or easy in p6? 04:44
04:45 bluescreen10 left
skids jnthn++ gets to name anything he writes as he sees fit :-) 04:45
sorear skids: was that to me? 04:46
xenoterracide: easy
skids no. explaining "Zavolaj"
xenoterracide skids: is what you had to do in your Sum Repo? I don't really expect anything to be /fast/ at this point
sorear skids: 20:40 < skids> So have you managed to tame Zavolaj in your impl yet? I could paste you what I had to do. It is not fast to get the data over to the C api within Zavolaj's current limitations. 04:47
skids no, I'll try to remember how to github branch, and push some semi-working files up.
sorear skids: is "your impl" = niecza?
skids Oh, no I was asking about Digest::
xenoterracide yeah I haven't really implemented anything yet
skids In niecza most everything I want to write blocks on Failure
xenoterracide I was mostly trying to find a way to make algorithms conform to an interface 04:48
and then I burned out
and played video games
a lot
and there will probably be more of that 04:49
skids has been resisting the borderlands2 temptation all night.
xenoterracide skids: I have to play borderlands 1 first
I have years of back gaming to catch up on 04:50
starting with Mass Effect
04:50 PacoAir left
rurban_ rakudo and nap pass their test suites with parrot/threads. Just samples which use threads do not work yet, because of nqplexpad with proxies lexicals. 04:55
skids xenoterracide: I pushed some code to branch "NativeCall" in perl6sum. Have no idea as to whether I left it in any kind of working state. 05:00
xenoterracide skids: alright, I'll check it out 05:01
skids It's in lib/Sum/Zavolaj.pm6 and lib/Sum/MHash.pm6 The Adler.pm6 file uses it as a test case.
It is very ugly :-)
05:12 REPLeffect left 05:13 REPLeffect joined 05:14 telex left 05:17 Chillance left 05:20 raiph joined
skids rurban_++ I know it's a while off but I'm actually eagerly looking forward to spending evenings lost in rakudo threading mysteries. 05:21
rurban_ see the nqp/gh67-threads branch 05:22
05:27 rurban left, rurban_ is now known as rurban, fgomez left
felher good morning, #perl6 05:33
05:35 jaldhar left, jaldhar joined 05:40 telex joined 05:46 fgomez joined 05:50 rurban left 05:56 raiph left 06:07 araujo joined 06:18 ircmouser left 07:10 SamuraiJack joined 07:25 skids left 07:28 daniel-s__ left 07:29 daniel-s__ joined 07:30 SamuraiJack_ joined 07:34 SamuraiJack left 07:39 SamuraiJack__ joined 07:42 SamuraiJack_ left 07:44 SamuraiJack joined 07:47 SamuraiJack__ left 07:50 wamba joined 07:56 Bzek joined 08:01 replore_ joined 08:02 GlitchMr joined 08:03 popl left
FROGGS_ good morning 08:13
08:14 FROGGS_ is now known as FROGGS 08:16 Kharec joined 08:27 kaare__ joined 08:29 ircmouser joined
sorear o/ FROGGS 08:43
08:43 tokuhiro_ left
FROGGS hi 08:43
08:43 tokuhiro_ joined
moritz \o 08:44
08:52 ircmouser left 08:53 ircmouser joined 09:03 cognominal joined 09:13 noggle_ is now known as noggle 09:25 erkan left 09:33 replore_ left 09:36 gootle joined, imarcusthis joined 09:37 imarcusthis- joined 09:41 imarcusthis left 09:45 bapa left, chee left, ServerSage left, Tene left, bonsaikitten left, s1n left, sorear left, crazedpsyc left, ggoebel left, tadzik left, quietfanatic left, szbalint left, smash left, Hor|zon left 09:47 am0c left 09:48 bapa joined, chee joined, ServerSage joined, Tene joined, bonsaikitten joined, s1n joined, sorear joined, crazedpsyc joined, ggoebel joined, tadzik joined, Hor|zon joined, quietfanatic joined, szbalint joined, smash joined, bapa left, RandalSchwartz left 09:49 bapa joined 09:57 ircmouser left 10:08 ircmouser joined 10:12 zby_home_ joined 10:19 cedrvint joined
cedrvint hello #perl6 10:19
sorear: does Niecza support :bytes in regexp? 10:21
sorear no 10:22
cedrvint any roadmap about that?
moritz doesn't think :bytes makes much sense
sorear cedrvint: it will probably be removed from the spec
moritz consider / ^ [:bytes . ] \w /
cedrvint moritz: how could I parse binary format then? 10:23
sorear since perl 6 is encoding agnostic, it doesn't make much sense to mix :bytes and :!bytes
moritz what if the first character in $_ is a multi-byte character?
sorear rx:bytes // makes some sense though
moritz then \w would have to try to match the left-over continuation bytes, but that doesn't make any sense at character level
sorear but that's not :bytes *in* regexp :D
presumably rx:bytes regexps would be unmixable with non-bytes regexps 10:24
moritz cedrvint: you could decode as latin-1, and then match against the Str
sorear and a 'use re :bytes' pragma could be used to force :bytes mode, e.g. in a grammar for binary data
sorear ponders how viable this is 10:25
cedrvint sorear: it sounds great to me :) 10:26
sorear I wish I could find a source of motivation proportionate to the ideas 10:40
cedrvint sorear: Hachoir in Perl 6 ? bitbucket.org/haypo/hachoir/wiki/Home 10:44
and reverse engineering tools in Perl 6 10:45
sorear sleep& 10:51
10:52 cognominal left 11:00 cognominal joined 11:02 FROGGS_ joined 11:05 Su-Shee_ joined 11:08 Su-Shee_ left 11:09 Su-Shee left
masak g'day, #perl6 11:15
11:16 cognominal left
FROGGS_ hi masak 11:19
masak yay, I got Parsec working locally! \o/ 11:21
time to write a Parsec parser... :D
FROGGS needs to google Parsec 11:22
masak it's a Haskell parser combinator library.
FROGGS and I guess that sounds like fun? 11:24
masak excellent Saturday recreation, yes. 11:25
11:32 FROGGS_ left
masak rn: sub infix:<o o o o>($a, $b, $c, $d, $e) { say "$a took $b down to $c to $d a full $e" }; "I" o "dog" o "the vet" o "conduct" o "examination"; 11:33
p6eval rakudo 0bfba1: OUTPUT«===SORRY!===␤Confused␤at /tmp/NMW9_PZyA7:1␤»
..niecza v22-44-g0247fe5: OUTPUT«===SORRY!===␤␤Unable to parse infix:sym<o o o o> at /tmp/g4x6DAKzrc line 1:␤------> }; "I" o "dog" o "the vet" o "conduct" ⏏o "examination";␤Couldn't find final 'o o o'; gave up at /tmp/g4x6DAKzrc line 1 (EOF):␤------>…
FROGGS my goal for today is to get my fileserver up and running, but that's my goal weeks now :/
masak awww
11:33 replore_ joined 11:37 MayDaniel joined
masak who wants Tuesday in github.com/perl6/mu/blob/master/mi...2/schedule ? 11:38
after we fill slot 4, we're good until December 12th.
11:39 am0c joined 11:41 MayDaniel_ joined 11:42 MayDaniel left
FROGGS I would if I could 11:50
moritz why can't you?
GlitchMr Perhaps if I would have ideas 11:51
moritz there are lots of ideas in the topic-brainstormin file
masak write about something Perl 6-related that you would like to tell the world about.
FROGGS because I dont know what to write and when thinking of stuff that is interesting I believe I'm not good enough for it
moritz just try it, and let us preview the post. Maybe it's good enough after all. 11:52
and if you want help, just ask
remeber, hybris is a virtue :-)
GlitchMr Perhaps I could try making something about panda package manager
FROGGS ;o) 11:53
GlitchMr It wasn't described before, was it?
FROGGS well, I'll think about it
moritz GlitchMr: no, just mentioned briefly, I think
11:54 spider-mario joined
FROGGS packaging is important since we just have a bunch of modules 11:54
would be cool if more ppl start porting their stuff to Perl 6 11:55
GlitchMr I'll try making post about panda package manager and I will show it on this channel today, ok? 11:58
moritz GlitchMr: that would be great, yes 12:00
masak ++GlitchMr 12:01
GlitchMr I also would like somebody to proofread it, as I'm not native English speaker, but that after it will be done ;-)
masak oh, no problem. I volunteer to proof it. 12:04
12:05 cedrvint left
GlitchMr Thanks 12:05
12:16 dayangkun joined 12:17 replore_ left, erkan joined 12:27 replore joined
moritz ++masak 12:33
12:33 cedrvint joined
cedrvint moritz: I agree with you, 12:33
\w doesn't make sense with :bytes 12:34
maybe :bytes would forbid such subrules (encoding related) ? 12:35
because latin-1 encoding seems to be an error-prone workaround 12:36
Woodi hallo # 12:43
std: while( my $a = now ) { say $a; }
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Word 'while' interpreted as 'while()' function call; please use whitespace instead of parens at /tmp/DYMX5B7zxe line 1:␤------> while⏏( my $a = now ) { say $a; }␤Unexpected block in infix position (two terms in a row…
Woodi ehmm, adding () realy need to be syntax error ? 12:44
moritz Woodi: no, it's only a warning 12:48
Woodi: the syntax error is that you use two terms in a row
because while() is a call to a subroutine
so the block after it is misplaced
GlitchMr std: while(42); # this is fine 12:49
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'while' used at line 1␤Check failed␤FAILED 00:00 41m␤»
GlitchMr std: sub while {}; while(42); # this is fine
moritz std: sub while($) { }; while(42);
p6eval std a8bc48f: OUTPUT«ok 00:00 42m␤»
std a8bc48f: OUTPUT«ok 00:00 44m␤»
GlitchMr std: sub while {}; while(42) {}; # this is not
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/23eFOFO1qo line 1:␤------> sub while {}; while(42) ⏏{}; # this is not␤ expecting infix or meta-infix␤Parse f… 12:50
Woodi but execution of script halts with: ===SORRY!=== Confused at t/some.t:1 so works like error 12:52
masak Rakudo doesn't do warnings yet. 12:57
moritz at least not compile-time warnings 13:03
13:14 kaare__ left
masak right. I was unclear. 13:18
13:22 replore left
masak "I find the best attitude is to treat programming like demon summoning: the 13:23
target is at least as smart as you, must obey the letter of your commands,
and hates you. Code accordingly."
it's from www.trout.me.uk/quotes.txt
which appears to be full of great quotes.
moritz likes it
masak I could easily plug this into fortune and my .bashrc 13:25
masak does it
13:27 cedrvint left
masak heh, I also implemented fortune. :) 13:28
nom -e 'my $quotes = slurp("quotes.txt"); say $quotes.split(/\n\%\n/).roll'
13:28 tokuhiro_ left
masak hm, nom -e 'say slurp("quotes.txt").split(/\n\%\n/).roll' is slightly shorter. 13:29
13:29 tokuhiro_ joined
masak yay, it works! :) 13:31
13:32 fgomez left 13:37 lasse joined
masak * sri remembers autrijus crying for help on irc after he locked himself in a room at Leopold Toetsch's house :) 13:38
...wow.
13:39 Su-Shee joined 13:40 replore joined
masak traces of ancient history. Leo was doing Parrot and au was doing Perl 6, apparently from within a locked room ;) 13:40
GlitchMr Asked to remove 4 spaces, but the shortest indent is 0 spaces in block at config:18 13:41
Is it compile time warning?
masak looks like something out of the .indent() method. 13:43
r: say "foo".indent(-4)
p6eval rakudo 0bfba1: OUTPUT«Asked to remove 4 spaces, but the shortest indent is 0 spaces in block at /tmp/LpGuZ3AqSd:1␤␤foo␤»
GlitchMr masak: gist.github.com/4182308
This is the code I'm getting this
Any idea why? 13:44
masak yeah, 'cus of line 15.
arguably that shouldn't warn, though. 13:45
13:45 whiteknight joined
masak (because empty lines should stay empty after indent/outdent) 13:45
I don't believe the spec mentions that, but I believe that's a sensible rule.
moritz it is
masak anyone disagree?
GlitchMr Just wondering, can the exception for empty lines be done?
masak I'll happily patch the spec. 13:46
GlitchMr: yes, I think that makes a whole lot of sense.
I'm just wondering if there's a target market for "indent even empty lines", meaning we should have a named parameter too. I'm provisionally leaning towards "no". 13:47
GlitchMr++ # discovering this
this is *exactly* why API design is hard.
GlitchMr Also, I've tried removing that empty line, but it still doesn't work. It seems to outdent after interpolating $ini variable.
masak someone comes and uses your function in a perfectly sensible way, and it turns out there's a case you hadn't thought of.
GlitchMr That contains new line character.
It's probably Rakudo bug, but still 13:48
masak $ini variable looks good to me.
please try to golf your warning.
GlitchMr ok
masak I'll patch the spec in the meantime.
r: say " 1\n\n 2".indent(*) 13:49
p6eval rakudo 0bfba1: OUTPUT« 1␤␤ 2␤»
masak r: say " 1\n\n 2".indent(-4)
p6eval rakudo 0bfba1: OUTPUT«Asked to remove 4 spaces, but the shortest indent is 0 spaces in block at /tmp/c_rDhiU448:1␤␤1␤␤2␤»
masak yeah, this should definitely ignore empty lines.
GlitchMr Sure
print qq:to 'END'
{"TE\nST\n"}
END
masak there's precedent. vim ignores empty lines.
GlitchMr "TE\nST\n" is expanded before parsing heredoc 13:50
Causing warnings
moritz masak: vim outdents blindly as many times as you tell it to
masak GlitchMr: that's... interesting.
and arguably not a bug.
masak thinks real hard
GlitchMr But sometimes I would like to interpolate multiline variables in heredoc. 13:51
masak I see a case being made for "no, the interpolation should be made after the outdenting".
it could even be a strong case.
because anything else is wildly surprising and counterintuitive.
GlitchMr Besides, isn't heredoc compile time construct
Or at least, it should be 13:52
masak yeah.
that's probably the rationale: outdenting should be compile-time, and interpolation runtime.
13:54 telex left
GlitchMr That problem also exists in Ruby 13:55
13:56 telex joined 13:57 not_gerd joined
not_gerd hello, #perl6 13:57
masak not_gerd! \o/
not_gerd FROGGS: File::Spec is broken on my Rakudo 2012.10-126-g0961b71 13:58
not_gerd tries to use Inline::C
13:59 am0c left
FROGGS not_gerd: damn it, can you give me the output? 13:59
Inline::C won't work, there is a bug in rakudo 14:00
not_gerd FROGGS: gist.github.com/4182415 14:01
hmm... so I'll have to look at NativeCall 14:02
14:03 am0c joined
moritz r: say min(1, 2, 4) 14:05
p6eval rakudo 0bfba1: OUTPUT«1␤»
FROGGS not_gerd: I'll have a look later today, I guess I can at least fix File::Spec, maybe Inline::C works too, I think its just that its impossible to use Inline::C and NativeCall together right now 14:06
14:09 daxim left
moritz I think I have a fix for Str.indent 14:13
masak oh, I forgot to push my spec commit. 14:21
masak does so
dalek ecs: 749445a | masak++ | S32-setting-library/Str.pod:
[S32/Str] make .indent not care about empty lines
14:22
masak nice article about a seemingly nice book about BASIC and labyrinths. www.slate.com/articles/technology/b...iewed.html
here's a Perl 6 program that does the same: 14:24
perl6 -e 'sub MAIN($width, $height) { for ^$height { say <\\ />.roll($width).join } }' 10 10
14:25 rurban joined
masak though this is much nicer, and perhaps closer in intent to the original: say ("\x2571", "\x2572").roll($width).join 14:26
14:26 am0c left
masak actually, let's just go with perl6 -e 'loop { print ("\x2571", "\x2572").roll }' 14:27
masak starts it and stares, transfixed 14:28
felher this is kind of hypnotic ... 14:30
masak :)
masak supplies 'loop { print <9585 9586>>>.chr.roll }' to the HN thread
felher HN ? 14:32
masak Hacker News.
actually, shoulda done 'loop { print <9585 9586>.roll.chr }' :)
news.ycombinator.com/item?id=4856207
felher ah, nice :) 14:33
masak 'loop { print <╱ ╲>.roll }' works too, at least if your terminal is set up right ;) 14:34
14:35 spider-mario left
felher Seems like it is :) 14:35
14:35 spider-mario joined 14:37 pmurias joined
pmurias hi 14:43
felher o/ 14:44
moritz seems I can't push to github
ssh_exchange_identification: Connection closed by remote host
masak :( 14:45
dalek kudo/nom: 8444e8d | moritz++ | src/core/Str.pm:
[Str.indent] ignore empty lines for outdenting
14:46
masak should also ignore empty lines for indenting... :) 14:53
basically, empty lines should just pass through .indent unchanged.
moritz r: say "a\n\nb".indent(2).perl 14:54
p6eval rakudo 0bfba1: OUTPUT«" a\n \n b"␤»
15:01 spider-mario left 15:07 spider-mario joined
pmurias moritz: your ast dumper for nqp can handle all ast nodes? 15:08
15:09 PacoAir joined 15:11 bowtie joined, wamba left 15:13 replore left 15:14 replore_ joined 15:17 Wtr joined 15:19 Pleiades` left 15:24 Pleiades` joined
dalek : 2180627 | gerdr++ | misc/perl6advent-2012/schedule:
[p6advent] claim day 4

Intends to show that Rakudo is 'fast enough' for Project Euler
15:25
not_gerd the article is mostly written, will probably finish later today 15:26
15:30 wamba joined
masak not_gerd++ 15:30
masak should start writing on his article for tomorrow 15:31
15:35 am0c joined 15:36 Pleiades` left 15:40 Pleiades` joined 15:46 am0c left, am0c joined 15:51 Kharec left 15:54 dayangkun left
felher moritz++ # first post :) 16:04
16:07 birdwindupbird joined 16:11 shachaf left, ingy left, ingy joined, shachaf joined, gugod left 16:12 gugod joined 16:14 replore_ left
moritz pmurias: yes, but it doesn't output all information from all node types 16:15
not_gerd: please /msg me your email address so that I can invite you to the wordpress site
dalek kudo/nom: 3ffbec7 | moritz++ | src/core/Str.pm:
do not indent empty lines
16:17
16:17 hash_table joined
masak moritz++ 16:23
16:26 SamuraiJack left 16:27 fgomez joined 16:29 whiteknight left, kaare__ joined 16:32 SamuraiJack joined
not_gerd if anyone wants to take a short trip into the future, that's how my advent post will look like: gist.github.com/73e4f265c2c0b500b568 16:33
moritz not_gerd: since you talk about performance at the start of the post, it might make sense to include rough run times 16:34
not_gerd should all be <1s, but that's worth mentioning, yes 16:35
masak not_gerd: '(with exclusive end)' sounds a bit confusing. maybe '(excluding the right endpoint)'. 16:36
and I agree about benchmarks.
not_gerd: might be worth mentioning under problem 3 that infix:<div>, as opposed to infix:</>, preserves the original type of the number, and so rounds the integers down. 16:37
16:38 sizz joined, SamuraiJack left
not_gerd ok, <1s was a bit optimistic - the slowest one took ~5s 16:38
masak "Problem 009" -- should that be "Problem 9" to be consistent with the other numbering?
not_gerd masak: yes, thanks 16:39
masak under Problem 47, I would really like to see the C code ;) 16:40
finished reading. that is a nice post. 16:41
not_gerd++
not_gerd masak: the C code needs some cleanup - that's the main thing still missing
I'll probably add the Perl6 code as well that takes $forever 16:42
masak :)
moritz but yes, overall a nice post. not_gerd++
16:45 SamuraiJack joined
not_gerd is building an up-to-date Parrot/NQP/Rakudo 16:45
16:46 hash_table left 16:50 replore_ joined
dalek ast: 912d361 | moritz++ | S32-str/indent.t:
Str.indent tests with empty lines
16:52
not_gerd needs to log out
feel free to leave more comments on the gist
bye, #perl6 16:53
16:53 not_gerd left
moritz \o 16:53
16:53 SamuraiJack left
GlitchMr I'm doing a spellchecking on my perl6advent article 16:54
But I've found a spelling error.
'Succesfully installed Config::INI'
It should be "Successfully".
But that's error in Panda 16:55
FROGGS well, fork & fix & push ;o) 16:57
dalek nda: 21ce4bf | moritz++ | lib/Panda.pm:
fix spelling error. GlitchMr++
GlitchMr I was too late :-P 16:58
FROGGS hehe
17:05 replore_ left 17:12 fgomez left 17:14 fgomez joined
GlitchMr %*CUSTOM_LIB<perl> is checked before %*CUSTOM_LIB<site>? Why? 17:15
This makes it impossible to update core modules
17:17 am0c left 17:19 noggle left
dalek kudo/nom: da6569f | moritz++ | src/core/Str.pm:
fix "".indent(*)
17:20
17:21 replore joined 17:24 birdwindupbird left
dalek : ce4e17c | (Konrad Borowski)++ | misc/perl6advent-2012/schedule:
Claim day 12
17:25
ast: ec94b1d | moritz++ | S32-str/indent.t:
re-add rakudo skip that I accidentally removed
17:28
GlitchMr Cannot call 'indent'; none of these signatures match: 17:31
:(Str : Int $steps, Mu *%_)
:(Str : $steps, Mu *%_)
17:31 Wtr left
GlitchMr Huh? 17:31
Shouldn't the third signature match indent?
Even when used with Str
moritz there's a constraint which Signature.perl ignores 17:33
GlitchMr masak: gist.github.com/4183370
rurban I hate wordpress formatting. I tried my best at reiniurban.wordpress.com/ but still annoying. Don't they support markdown? 17:36
GlitchMr No
They don't support MarkDown
I just have used Markdown in my article to have some human-readable language to work with. 17:37
(and because I use Markdown on my blog)
moritz rurban: the best you can do is to produce HTML, and then remove newlines from the HTML 17:40
GlitchMr I don't know why Perl6advent uses Wordpress.com, but it's probably too late to change that. 17:41
moritz GlitchMr: it's not perfect, but it works and is pretty reliable
and it survived links from the frontpages from slashdot, reddit and hackernews
GlitchMr Right 17:42
btw, moritz, what do you think about gist.github.com/4183370 17:43
moritz GlitchMr: needs some language polishing, but otherwise quite nice 17:44
GlitchMr: maybe worth mentioning that panda can install into user's home directories 17:45
GlitchMr I know
moritz even perl 5's toolchain hasn't supported this for long
GlitchMr I'm still working on it
Also, I think I've mentioned that 17:46
But it isn't really noticeable, so I don't know
"Panda installs modules globally when you have write access to installation directory, locally otherwise, so you can use panda even when Perl 6 is installed globally without installing modules like local::lib you had to install in Perl 5."
moritz something like that, but add a bit of punctuation 17:47
English is well suited for short sentences.
GlitchMr I will try ;-)
I'm really bad at English.
17:47 whooguy joined
masak GlitchMr++ # nice! 17:48
tadzik++ # panda looks so nice, too
GlitchMr moritz: gist.github.com/4183370
I have put a dot.
masak GlitchMr: should I send corrections here, or over privmsg? 17:49
GlitchMr I don't care, really
masak privmsgs 17:50
17:52 whooguy left 17:54 noggle joined 17:58 replore left
masak so, who wants slot #13? :) 18:10
(only five slots left! grab them while they still last!) 18:11
GlitchMr wow, only 5 slots left
masak though slot 24 should probably be something special...
like a TimToady post or something.
18:11 whooguy joined
masak hi, whooguy 18:12
GlitchMr Previous year we had multi subs.
For 24th day
18:12 replore joined
GlitchMr Actually, I think that "Idiomatic Perl 6" was more interesting. 18:13
18:14 whooguy left
masak r: my $squarer3 = { my $x = shift @_; $x * $x }; say $squarer3(11) 18:15
p6eval rakudo da6569: OUTPUT«121␤»
masak nice.
18:19 cognominal joined 18:24 popl joined 18:28 RandalSchwartz joined, RandalSchwartz left, RandalSchwartz joined 18:30 rurban left 18:38 rindolf joined 18:39 whooguy joined 18:54 am0c joined 19:00 am0c left 19:01 am0c joined 19:03 replore left 19:04 whooguy left, raiph joined 19:08 cognominal left 19:15 cognominal joined 19:19 Su-Shee left, Su-Shee joined 19:24 whooguy joined 19:32 Rotwang joined 19:37 rurban joined 19:41 am0c left, am0c joined 19:54 cedrvint joined
cedrvint GlitchMr: are you sure Signature.ACCEPT was included in the latest R*? 19:55
19:55 kaare__ left
sorear good * #perl6 19:58
GlitchMr It isn't? 20:00
20:00 whooguy left
cedrvint I'm not sure. 20:00
cedrvint makes some tests 20:01
dalek nch-scripts: 45e025b | GlitchMr++ | dice.pl:
Fix #1 by conditional roll subroutine.
20:02
cedrvint star: :() ~~ :()
p6eval star 2012.10: ( no output )
cedrvint rn: :() ~~ :() 20:03
p6eval rakudo da6569: ( no output )
..niecza v22-44-g0247fe5: OUTPUT«===SORRY!===␤␤Action method fakesignature not yet implemented at /tmp/BhfDGR2GkK line 1:␤------> :(⏏) ~~ :()␤␤Action method sigterm not yet implemented at /tmp/BhfDGR2GkK line 1:␤------> :()⏏ ~~ :()␤␤…
GlitchMr This is star 2012.10
Newest version is 2012.11
Also, finally closed that pull request that was in this repository for... two years!
20:04 bluescreen100 left
cedrvint GlitchMr: how I can test Signature.ACCEPTS (my test looks wrong)? 20:04
dalek : f370bcf | (Konrad Borowski)++ | misc/perl6advent-2012/topic-brainstorming:
Claim Panda
20:05
GlitchMr signature-signature.t
In roast
Looks like you're right 20:06
Fixing
cedrvint r: say :(Str) ~~ :(Str)
p6eval rakudo da6569: OUTPUT«True␤»
cedrvint r: say :() ~~ :()
p6eval rakudo da6569: OUTPUT«True␤»
cedrvint star: say :() ~~ :()
p6eval star 2012.10: OUTPUT«False␤»
cedrvint OK, "say" was missing from the test 20:07
masak folks -- December 2 advent post draft is now written.
GlitchMr star: say :(Str) ~~ :(Int)
p6eval star 2012.10: OUTPUT«False␤»
GlitchMr r: say :(Str) ~~ :(Int)
p6eval rakudo da6569: OUTPUT«False␤»
masak it can be perused over at perl6advent for those with editor privileges.
feel free to review and supply feedback.
I've set -- successfully, I hope -- auto-publishing to one minute past midnight on the 2nd. 20:08
GlitchMr Can I get editor privileges too? 20:09
dalek ast: 84c7682 | GlitchMr++ | S03-smartmatch/signature-signature.t:
Revert "Remove useless block.".

I wasn't aware it was used for documentation generation.
This reverts commit 5249f858db28764a9ee6f989782bf6a6cd319089.
flussence rpn: say ?&undefined-sub 20:10
p6eval niecza v22-44-g0247fe5: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'undefined-sub' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤…
..rakudo da6569: OUTPUT«False␤»
..pugs: OUTPUT«␤*** No such subroutine: "&undefined-sub"␤ at /tmp/a5c4Uy3CLL line 1, column 1 - line 2, column 1␤»
flussence is rakudo right there?
GlitchMr flussence: It's known 20:11
cedrvint masak: in a way, callbacks are anonymous functions in C ;)
GlitchMr flussence: rakudo.org/2012/11/28/rakudo-star-2...-released/ - check deprecations
flussence ok, better question, how do I sanely work around things that are NYI in half of the active implementations? 20:12
cedrvint masak: sometimes you can even create the code on the fly (JIT compilers, typically)
flussence (or how do I implement workarounds that test for a sub not existing?)
cedrvint advocates for C, just for fun ;) 20:13
flussence (i.e. I need a &fork, and all I've got is a screwdriver) 20:14
masak cedrvint: troo. and clang and gcc even give you closure semantics.
20:14 raiph left
flussence oh wait, this might work 20:15
rpn: say ?(try { fork })
p6eval rakudo da6569: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&fork' called (line 1)␤»
..niecza v22-44-g0247fe5: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fork' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
..pugs: OUTPUT«␤»
flussence rpn: say ?(try { &fork })
p6eval pugs: OUTPUT«1␤»
..niecza v22-44-g0247fe5: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fork' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /hom…
..rakudo da6569: OUTPUT«False␤»
dalek ecs: ea745ba | root++ | S10-packages.pod:
Caution that prefix<::> in declarative scenarios is different
ecs: ea4ee96 | bri++ | S (6 files):
Merge branch 'update'
ecs: 9bef5dc | skids++ | S (10 files):
Merge remote-tracking branch 'perl6'
ecs: 8e6b864 | skids++ | S06-routines.pod:
Do not use positional params as named in code example
ecs: b6a63bf | skids++ | S12-objects.pod:
When talking about native types, use lowercase enum in example.
ecs: fc0e3bd | (Konrad Borowski)++ | S (3 files):
Merge pull request #10 from skids/master

Clarify when prefix<::> can be used as in-place predeclarator
20:17 am0c left 20:18 am0c joined
cedrvint masak: great post! 20:19
masak \o/
flussence rpn: say ?(try eval '&fork')
p6eval rakudo da6569, niecza v22-44-g0247fe5: OUTPUT«False␤»
..pugs: OUTPUT«␤»
20:20 rurban left
cedrvint masak: one minor comment before I leave: your "surprise" would be more impressive (to me) if it is open later by a caller (foo -> bar -> make_surprise, unwind up to foo -> surprise !). I don't known how to do that actually. 20:21
20:22 cedrvint left
dalek ast: 20eeb9d | amire80++ | S32-io/IO-Socket-INET.pl:
Remove a temporary flag file

Put the file name into a variable, because it's used several times.
Added unlink after every check for file's existence. As far as I understand, at that point the file is not needed any more.
20:25
20:31 rurban joined
masak cedrvint: hm. 20:43
r: sub foo { my $surprise = bar(); $surprise() }; sub bar { return make_surprise("Finn") }; sub make_surprise($name) { return { say "Surprise, $name!" } }; foo 20:46
p6eval rakudo da6569: OUTPUT«Surprise, Finn!␤»
masak I'm not sure I see the difference in impressiveness :)
maybe I'm missing the point of what you're saying.
20:54 cedrvint joined
cedrvint masak: my point was: unlike in C, unwinding the call stack doesn't clobber variables 20:58
20:58 rurban left, GlitchMr left
cedrvint masak: but that's not really important here, I guess 20:58
r: sub foo { my $surprise = bar(); $surprise() }; sub bar { my $string = 'test'; return make_surprise($string) }; sub make_surprise($name) { return { say "Surprise, $name!" } }; foo 21:00
p6eval rakudo da6569: OUTPUT«Surprise, test!␤»
cedrvint masak: $string is still "alive"
huf that's what closures do, no? 21:02
cedrvint (well, this test works in C because "test" is stored in a RO data segment)
masak I can almost see what you're getting at. 21:04
cedrvint huf: in C, bar's stackframe won't survive on C<return>, thus everything allocated in its stack could be overwritten
masak and I can also sort of see why C doesn't allow closures by default.
cedrvint masak: but I don't want to introduce noise in your post.
huf well yes, c doesnt have closures
masak because it would necessitate an automatic memory management policy above what C already provides. 21:05
cedrvint huf: only nested functions ;)
huf only as a nonstandard extension, no?
cedrvint masak: yes
huf: you're right: its a GCC extension
huf yes, and that of course doesnt do much magic
since the outer function is still running, its stack is still there
cedrvint exactly 21:06
huf i'm just saying, this difference can be summed up as "blocks are also closures"
if i read that bit of code right
cedrvint I agree
huf how do blocks know when to self-call? 21:07
cedrvint what's self-call ? 21:08
huf well i assume a block on its own will just run
21:08 rurban joined
huf but return BLOCK seems to return a callable 21:09
pmurias yes
cedrvint huf: like C<for "OK" { .say }> ? 21:10
huf pmurias: so how does it decide who calls that callable? 21:11
cedrvint "for", "if", ... I guess
huf if a block is in void context, it runs itself?
pmurias yes 21:14
cedrvint std: my $truthiness = { "Colbert".say }; if Tree $truthiness; 21:15
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Missing block (apparently gobbled by undeclared routine?) at /tmp/EoFt2iA0f_ line 1:␤------> = { "Colbert".say }; if Tree $truthiness⏏;␤ expecting any of:␤ desigilname␤ twigil␤Undeclared name:␤ 'Tree' used at line
..…
pmurias huf: S03:190 21:16
cedrvint std: my $truthiness = { "Colbert".say }; if True $truthiness;
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Missing block at /tmp/TZ7IRnHW1A line 1:␤------> truthiness = { "Colbert".say }; if True ⏏$truthiness;␤ expecting any of:␤ infix or meta-infix␤ infixed function␤Parse failed␤FAILED 00:00 44m␤»
pmurias huf: it's a syntactic destinction 21:17
masak huf: an earlier advent post summarized it as "it runs if not used as an rvalue". which I guess is tantamount to "it runs if in void context".
cedrvint doesn't have the truthiness :-/ 21:19
masak cedrvint: 'if' requires braces. 21:20
it's not enough for the braces to be around a block stored in a variable. 21:21
they have to be there syntactically.
'if True $truthiness' is two terms in a row. so is 'if True { ... }', of course, but it gets a special exemption, because 'if' is a syntactic form. 21:22
21:22 fgomez left
pmurias rakudo: my $foo=sub foo {{say "hi"}}; 21:22
p6eval rakudo da6569: ( no output )
pmurias rakudo: my $foo=sub foo {{say "hi"}};$foo();
p6eval rakudo da6569: OUTPUT«hi␤»
21:23 Targen joined
cedrvint ah, OK 21:25
21:27 armitage81 joined 21:28 armitage81 left, armitage81 joined
masak though it's an intriguing idea to make something like 'if True $truthiness' work. feels like it should in a language like Smalltalk or Io. :) 21:29
21:29 am0c left 21:30 am0c joined
cedrvint sometimes I want to write: C<my $foo = given $bar { when Real { 1 } when Str { 2 } }> but it seems I have to write: 21:32
r: my $bar = 'test'; my $foo0 = { given $bar { when Real { 1 } when Str { 2 } } }; my $foo = $foo0(); 21:33
p6eval rakudo da6569: ( no output )
cedrvint r: my $bar = 'test'; my $foo0 = { given $bar { when Real { 1 } when Str { 2 } } }; $foo0().say;
p6eval rakudo da6569: OUTPUT«2␤»
cedrvint that is, it requires one more indirection 21:34
am i right?
masak or use 'do'. 21:35
r: my $bar = 'test'; my $foo0 = do given $bar { when Real { 1 }; when Str { 2 } }; say $foo0
p6eval rakudo da6569: OUTPUT«2␤»
cedrvint masak++
masak also, I'm surprised Rakudo doesn't complain about the lack of semicolon between your 'when's. 21:36
that's quite possibly a bug.
std: given 1 { when Real { 1 } when Str { 2 } }
cedrvint std: my $bar = 'test'; my $foo0 = { given $bar { when Real { 1 } when Str { 2 } } }
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/C8ZKP99tRu line 1:␤------> given 1 { when Real { 1 }⏏ when Str { 2 } }␤ expecting horizontal whitespace␤Parse failed␤FAILED 00:00 42m␤»…
std a8bc48f: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/bA7tZmd2b0 line 1:␤------> y $foo0 = { given $bar { when Real { 1 }⏏ when Str { 2 } } }␤ expecting horizontal whitespace␤Parse failed␤FAI…
masak submits rakudobug
cedrvint don't! :)
it would break my code ;) 21:37
masak ;)
sorry, I simply have to.
cedrvint n: my $bar = 'test'; my $foo0 = { given $bar { when Real { 1 } when Str { 2 } } }; $foo0().say; 21:39
p6eval niecza v22-44-g0247fe5: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/ybbRlLlHp7 line 1:␤------> y $foo0 = { given $bar { when Real { 1 }⏏ when Str { 2 } } }; $foo0().say;␤␤Parse failed␤␤»… 21:40
21:40 Rotwang left
cedrvint has to fix advent #3, then. 21:43
moritz it's likely fine when you have a newline after the }
21:44 fgomez joined
cedrvint that explains why advent #3 works with Niecza 21:44
(before "fix")
dalek p: 7ce401e | rurban++ | 3rdparty/dyncall/ (3 files):
fix darwin with macports libtool

the gnu/macports libtool does not understand -static. Force to use darwin special /usr/bin/libtool
21:52
p: 4a3fb26 | rurban++ | src/pmc/ (5 files):
Mark UNUSED pmc parameters as such

Fixes -Wunused-parameter warnings
masak oh yes, newline works just as fine as semicolon. 21:54
forgot to say that.
dalek p/gh67-threads: 0cc73af | rurban++ | src/pmc/nqplexpad.pmc:
[GH #67] Use rurban/gh870-pmc_class nqp_group.h information

pmc2c from rurban/gh870-pmc_class exports the dynpmc types, which we use to check for NQPLexInfo in NQPLexPad, to discriminate for Proxy. Proxy info is read-only.
This does not work yet
21:56
p/gh67-threads: 25ddb12 | rurban++ | src/pmc/nqplexpad.pmc:
[parrot #870] rename pmc_class_ to dynpmc_class_
p/gh67-threads: b7d9acd | rurban++ | / (2 files):
add t/nqp/67-threads.t, fix .gitignore for /nqp
cedrvint std: if True { say '1' } if True { say '2' } 21:58
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/xdH_ezHQrr line 1:␤------> if True { say '1' }⏏ if True { say '2' }␤ expecting any of:␤ horizontal whitespace␤ statement_control␤Parse fa…
cedrvint r: if True { say '1' } if True { say '2' }
p6eval rakudo da6569: OUTPUT«1␤2␤»
cedrvint same problem here 21:59
moritz r: if 1 { } 2
p6eval rakudo da6569: OUTPUT«===SORRY!===␤Confused␤at /tmp/weRSw8oYDG:1␤»
moritz r: if 1 { } if 1 { }
p6eval rakudo da6569: ( no output )
moritz r: { } if 1 { } 22:00
p6eval rakudo da6569: OUTPUT«===SORRY!===␤Confused␤at /tmp/GC2CpTgOO8:1␤»
FROGGS weird
cedrvint does it mean the semicolon isn't useful in that case ? (no possible ambiguity) 22:02
FROGGS r: if False { say '1' } if True { say '2' }
p6eval rakudo da6569: OUTPUT«2␤»
cedrvint and it could be removed from STD ?
moritz no, it's simply a bug in rakudo's parser
the rule is simple: you need a semicolon between two statements, unless the first ends with }\n 22:03
and rakudo sometimes allows } without \n, and that's a bug
cedrvint it makes sense
r: if True { say '1' }if True { say '2' } 22:04
p6eval rakudo da6569: OUTPUT«1␤2␤»
cedrvint (without space between '}' and 'if')
22:11 cognominal left 22:12 robins joined 22:16 armitage81 left
masak I like the semicolon-or-newline rule a lot. I think it's one of the sanest design decisions of Perl 6. 22:19
FROGGS and it fits larry's name 22:23
22:37 MayDaniel_ left 22:44 lichtkind joined, cedrvint left
lichtkind im here to dicuss possible perl 6 advent calendar topic 22:45
22:45 FROGGS left
lichtkind because i did the re talk i suggest i take a re feature 22:45
22:46 lasse left
masak 're'? 22:46
lichtkind yes i mean rx
as in rx// or use re ....; 22:47
masak feel free. 22:48
22:49 bowtie left
sorear hello lichtkind 22:57
22:59 SmokeMachine joined
lichtkind hej sorear 22:59
23:01 am0c left
lue hello o/ 23:29
23:29 spider-mario left
lue [backlogging] is that why lines such as " when 1 { \n <snip> \n } when 2 { \n" broke in my code? 23:30
r: given 1 {␤when 1 {␤say "1";␤} when 2 {␤ say "not 1";␤}␤} 23:31
23:31 lichtkind left
p6eval rakudo da6569: OUTPUT«1␤» 23:31
lue r: given 1 {␤when 1 {␤say "1";␤} default {␤ say "not 1";␤}␤}
p6eval rakudo da6569: OUTPUT«===SORRY!===␤Unable to parse expression in block; couldn't find final '}' at line 3, near "when 1 {\ns"␤»
lue That's a bug, isn't it? 23:32
r: given 1 {␤when 1 {␤say "1";␤}␤ default {␤ say "not 1";␤}␤} 23:33
p6eval rakudo da6569: OUTPUT«1␤»
23:33 SmokeMachine left 23:38 SmokeMachine joined 23:42 SmokeMachine left 23:45 SmokeMachine joined, SmokeMachine left 23:47 Chillance joined 23:51 erkan left 23:53 erkan joined 23:58 _jaldhar joined, jaldhar left