»ö« 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:03 drbean left 00:07 Patterner left 00:08 Psyche^ joined, Psyche^ is now known as Patterner 00:09 drbean joined 00:31 fsergot left 00:32 sftp left, sftp joined 00:38 mj41 left 00:40 drbean left 00:41 alvis joined 00:47 drbean joined
[Coke] perl6: say NaN ~~ NaN 00:47
p6eval rakudo a8c513: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«1␤»
..niecza v13-20-g4d836ba: OUTPUT«Bool::False␤»
colomon I reckon that's a niecza bug, but I didn't try to sort it out today. :) 00:48
[Coke] I'll open a ticket. 00:49
colomon and sense all the other tests were testing against 'NaN' 00:50
...
*since
sigh
00:53 fridim_ left 01:00 PacoAir_ joined 01:01 PacoAir left, PacoAir_ is now known as PacoAir
[Coke] sorear: ping 01:01
dalek ast: f6f95b3 | coke++ | S32-num/roots.t:
niecza fudge
01:03
colomon oh, drat! 01:04
I made the chance and never pushed it. 01:05
ok(@l[0] ~~ 'NaN', 'roots(NaN,1) returns NaN');
that way it matches the other tests
[Coke] Feel free to straighten it out. 01:07
(but please update #97 if you do.)
sorear [Coke]: pong 01:10
01:12 Trashlord joined
[Coke] sorear: t/spec/S12-attributes/instance.t has some passing TODOs, but one regression. Wanted to ping you before fudging it. 01:14
sorear which one is the regression? 01:15
dalek ast: 961581e | (Solomon Foster)++ | S32-num/roots.t:
Changed test to match others and then removed the Niecza fudging.
01:16
[Coke] Failed test: 115
TODO passed: 111-112
not ok 115 - Type enforced (hash, push) 01:17
sorear ah
go ahead and refudge
Hash.push didn't exist up to today, so it automatically failed 01:18
[Coke] danke. 01:20
01:20 benabik left, benabik joined 01:22 daemon left 01:28 wolfman2000 joined 01:29 daemon joined
dalek ast: 0e33d81 | coke++ | S12-attributes/instance.t:
niecza fudge
01:34
01:35 MayDaniel left 01:39 alc joined 01:40 thou_ left 01:42 thou left 01:55 drbean left 02:01 drbean joined 02:05 PacoAir left 02:09 PacoAir joined 02:10 cooper joined 02:11 icwiener joined 02:13 drbean left 02:15 thou joined
kshannon Gah! S08 is so old and wrong it's confusing :( 02:19
02:19 drbean joined 02:20 odoacre joined
dalek ast: f26848e | (Solomon Foster)++ | S02-types/type.t:
Fudge for niecza.
02:23
02:24 Trashlord left
dalek ecza: d43d35a | (Solomon Foster)++ | t/spectest.data:
Turn on S02-types/type.t.
02:24
colomon perl6: split("", "forty-two").join(',') 02:32
p6eval pugs b927740, rakudo a8c513, niecza v13-20-g4d836ba: ( no output )
colomon perl6: say split("", "forty-two").join(',')
p6eval pugs b927740, rakudo a8c513: OUTPUT«f,o,r,t,y,-,t,w,o␤»
..niecza v13-20-g4d836ba: OUTPUT«,f,o,r,t,y,-,t,w,o,␤»
colomon sorear: ping?
02:33 PacoAir left
colomon sorear: never mind. I see it's a special case that needs to be added 02:38
02:43 PacoAir joined, PacoAir left 02:59 icwiener_ joined 03:01 dayangkun joined 03:02 Guest79645 left 03:03 icwiener left
colomon perl6: say split('this $a is $a a $a test', '$a').perl 03:03
p6eval niecza v13-20-g4d836ba: OUTPUT«["$a"].list␤»
..rakudo a8c513: OUTPUT«("\$a",).list␤»
..pugs b927740: OUTPUT«("\$a",)␤»
colomon ? 03:04
perl6: say 'this $a is $a a $a test'.split('$a').perl
p6eval rakudo a8c513: OUTPUT«("this ", " is ", " a ", " test").list␤»
..niecza v13-20-g4d836ba: OUTPUT«["this ", " is ", " a ", " test"].list␤»
..pugs b927740: OUTPUT«("this ", " is ", " a ", " test")␤»
03:04 Lilpid joined, kensanata left
colomon perl6: say 'this . is . a . test'.split('.').perl 03:05
p6eval rakudo a8c513: OUTPUT«("this ", " is ", " a ", " test").list␤»
..niecza v13-20-g4d836ba: OUTPUT«["this ", " is ", " a ", " test"].list␤»
..pugs b927740: OUTPUT«("this ", " is ", " a ", " test")␤»
sorear colomon: last time we talked about split "" here the consensus was that niecza was right and people who want the Perl5 behavior should use comb instead 03:28
colomon really?
spectests certainly have not been updated to reflect that.
hmmm... but the spec seems to favor you 03:29
sorear irclog.perlgeek.de/perl6/2011-12-25#i_4879648 03:30
colomon okay, I've undone my changes 03:33
and I'm pondering fixing the spectest
03:37 Psyche^ joined
colomon but I'm pondering going to bed even more. 03:38
colomon could not get Father Ted to play on netflix. :(
'night
03:40 Patterner left, Psyche^ is now known as Patterner 04:00 tokuhirom joined 04:29 thou left 04:30 achromic left 04:32 achromic joined 04:38 drbean left
flussence ha! APL's "eval" operator *isn't* in unicode :D 04:40
(unfortunately, now I've learned more APL than I'd like to) 04:41
(if anyone's wondering, I was trying to transcribe an image for someone and failed) 04:42
04:45 drbean joined
abercrombie Is there gonna be a rakudo star in this month (Dec)? 04:49
04:52 lutok left 04:53 dayangkun left
geekosaur execute isn't U+234E? 05:03
sorear abercrombie: I've heard rumors of a Dec star, but tbh it's looking doubtful given the date 05:07
if it hasn't already happened
05:07 bluescreen10 left 05:13 icwiener_ left 05:14 thou joined, unobe joined 05:16 unobe left
kshannon geekosaur, flussence: yes U+234E is definitely APL execute 05:16
geekosaur (it has been a looong time since I did anything with apl...) 05:17
05:17 unobe joined 05:22 icwiener joined
thou b: say 'hello, everyone' 05:22
p6eval b 1b7dd1: OUTPUT«hello, everyone␤»
05:26 molaf joined
sorear hello, thou 05:26
05:26 kshannon left 05:27 kshannon joined 05:28 thou_ joined
sorear hello, thou_ 05:30
thou hi, sorear! 05:31
kshannon .u ⍎
phenny U+234E APL FUNCTIONAL SYMBOL DOWN TACK JOT (⍎)
kshannon my IRC environment is now setup properly for unicods :) 05:32
05:33 Chillance left
flussence kshannon++ # I missed that one, doesn't help that my character map mixes and matches a dozen different fonts in that unicode block :) 05:34
thou hi, anyone here happen to know if perl6 highlighting for github is in the works by anyone? 05:37
flussence that'd be up to github I guess, since it's proprietary 05:38
thou i don't know much about it, looks like github is using pygments for highlighting
right; just seems that it's a popular platform in the p6 community, would be nice to have, i might be able to whip something up 05:39
sorear perl 6 is not really syntax-highlightable 05:44
because the lexing process is so tightly integrated with the parser ...
vim is basially incapable of figuring out where regexes and strings end 05:45
not like Perl 5 where the multi-pass design makes it possible to find the end of a regex without fully parsing it
there's a syntax highlighter in the STD repo, but you're never going to get the github folks to touch it because 1. it's SLOW 2. it's not based on a lexer 05:46
thou i was thinking of doing as well as vim. but maybe that's not helpful.
sorear tbh I think perl.vim works better on P6 than perl6.vim 05:47
talk to Alias if you want to know just how screwed we are on tool support 05:48
thou hrm
maybe i'd rather stay ignorant :-)
i saw some mention of Padre giving up 05:49
05:49 Patterner left
thou or that's how i interpreted the comment 05:49
sorear Padre is one of Alias' projects
05:52 unobe left 05:56 kaare_ joined 06:01 drbean left 06:08 drbean joined
dalek ast: 681af07 | moritz++ | S32-num/roots.t:
remove version control conflict marker
06:15
06:16 Psyche^ joined, Psyche^ is now known as Patterner 06:17 icwiener left
dalek ast: c980908 | moritz++ | S (2 files):
rakudo unfudges, kshannon++
06:19
ecza: 4420544 | moritz++ | t/spectest.data:
run S32-hash/push.t

it now passes, thanks to Hash.perl sorting the keys. sorear++
06:24
06:25 Patterner left
dalek kudo/nom: 8a147ae | (Kris Shannon)++ | lib/Test.pm:
More Test.pm cleanups
06:25
kudo/nom: 39aa07e | (Kris Shannon)++ | lib/Test.pm:
fix diag() with newlines
sorear o/ moritz 06:39
perl6: class A {}; class B is A {}; class C is B {}; multi foo(A $, A $) { "AA" }; multi foo(A $, B $) { "AB" }; multi foo(A $, C $) { "AC" }; multi foo(B $, A $) { "BA" }; multi foo (C $, A $) { "CA" }; say foo(C,B) 06:53
p6eval rakudo a8c513, niecza v13-20-g4d836ba: OUTPUT«CA␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "A"␤ expecting "|", ":", "*", parameter name or ")"␤ at /tmp/dmSEFGGeF1 line 1, column 57␤»
sorear perl6: class A {}; class B is A {}; class C is B {}; multi foo(A $, A $) { "AA" }; multi foo(A $, B $) { "AB" }; multi foo(A $, C $) { "AC" }; multi foo(B $, A $) { "BA" }; multi foo (C $, A $) { "CA" }; say foo(C,C) 06:54
p6eval rakudo a8c513: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(A, C)␤:(C, A)␤␤ in block <anon> at /tmp/jJheYAEg7K:1␤ in <anon> at /tmp/jJheYAEg7K:1␤»
..niecza v13-20-g4d836ba: OUTPUT«Unhandled exception: Ambiguous dispatch for &foo␤ at <unknown> line 0 (&foo @ 0) ␤ at /tmp/zUFozUuzKi line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2615 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2616 (module-CORE …
..pugs b927740: OUTPUT«*** ␤ Unexpected "A"␤ expecting "|", ":", "*", parameter name or ")"␤ at /tmp/CdaQFgvua0 line 1, column 57␤»
kshannon perl6: proto sub foo(Bool $); multi sub foo(True) { say "Yes" }; multi sub foo(False) { say "No" }; foo(True); foo(False); 06:56
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "Bool"␤ expecting "|", ":", "*", parameter name or ")"␤ at /tmp/ThYqFvOS6n line 1, column 15␤»
..niecza v13-20-g4d836ba: OUTPUT«===SORRY!===␤␤Malformed block at /tmp/ZgWB6YOxZP line 1:␤------> proto sub foo(Bool $)⏏; multi sub foo(True) { say "Yes" }; mul␤␤Parse failed␤␤»
..rakudo a8c513: OUTPUT«===SORRY!===␤Missing block at line 1, near "; multi su"␤»
kshannon perl6: proto sub foo(Bool $) { * }; multi sub foo(True) { say "Yes" }; multi sub foo(False) { say "No" }; foo(True); foo(False);
p6eval rakudo a8c513: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Bool)␤:(Bool)␤␤ in block <anon> at /tmp/FCIYFcguM7:1␤ in <anon> at /tmp/FCIYFcguM7:1␤» 06:57
..pugs b927740: OUTPUT«*** ␤ Unexpected "Bool"␤ expecting "|", ":", "*", parameter name or ")"␤ at /tmp/NokRluAQ8G line 1, column 15␤»
..niecza v13-20-g4d836ba: OUTPUT«Unhandled exception: Unable to resolve method ast in class Any␤ at /home/p6eval/niecza/src/NieczaActions.pm6 line 2122 (NieczaActions.parameter @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 2931 (P6.parameter @ 234) ␤ at /home/p6eval/niecza/src/STD.pm6…
06:57 Psyche^ joined, Psyche^ is now known as Patterner
moritz I'd kinda expected that to work in rakudo 06:57
kshannon The problem is that it's smart matching... 06:58
Or at least that's part of it.
I was expecting rakudo to give "Yes\nYes\n"; 06:59
moritz hrm
kshannon I don't think that should be the answer though...
moritz one could spec eqv or === comparison for the where-block 07:02
kshannon as long as you left the special case for an actual block 07:04
moritz erm, I meant for *constructing* the where-block from the literal 07:05
sure, you can't eqv-compare an invocable block, you have to invoke it
kshannon perl6: proto sub foo(Bool $) { * }; multi sub foo(Bool where ?*) { say "Yes" }; multi sub foo(Bool where !*) { say "No" }; foo(True); foo(False);
p6eval rakudo 39aa07: OUTPUT«===SORRY!===␤Cannot do non-typename cases of type_constraint yet at line 1, near ") { say \"Y"␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "Bool"␤ expecting "|", ":", "*", parameter name or ")"␤ at /tmp/4WNMRReQx4 line 1, column 15␤»
..niecza v13-20-g4d836ba: OUTPUT«===SORRY!===␤␤Multiple prefix constraints not yet supported at /tmp/7Ol0zrIkIJ line 1:␤------> ol $) { * }; multi sub foo(Bool where ?*⏏) { say "Yes" }; multi sub foo(Bool wher␤␤Unhandled exception: Unable to resolve me…
moritz rakudo: multi sub foo(Bool $ where ?*) { 'y' }; multi sub foo(Bool $ where !*) { 'n' }; say foo(True), foo(False) 07:06
p6eval rakudo 39aa07: OUTPUT«yn␤»
kshannon Ah! That explains it.
07:06 HarryS left
moritz you need the variable name there (or $) 07:07
07:07 sudokode left 07:10 sudokode joined, HarryS joined
moritz lambda-the-ultimate.org/node/3680 07:12
07:28 packetknife left 07:38 lutok joined 07:39 drbean left 07:42 proller joined 07:44 drbean joined
kshannon moritz: I agree with your comment about the .index vs regex, but you put it on (and closed) the wrong pull request 07:47
moritz kshannon: oh, sorry about that
kshannon: I'm about to test and merge the second one too 07:49
kshannon: when you're on the topic of containers, there's something else that needs attention
(if you're looking for other topics to hack on, that is) 07:50
nom: say (gather { take [1, 2]; take [4, 5] }).perl
p6eval nom 39aa07: OUTPUT«(1, 2, 4, 5).list␤»
moritz &take over-eagerly flattens
and src/core/control.pm has a comment that it should be using nqp::p6recont_ro, but that leads to a test regression where a test loops infinitely 07:52
that needs some attention and debugging
kshannon I've already taken a quick look at that one (but I got lost in a maze of twisty passages) 07:54
07:55 sivoais left
kshannon I'll give it another go in a bit. 07:55
07:55 sivoais joined 08:07 packetknife joined
dalek kudo/nom: 2b6f86b | (Kris Shannon)++ | src/binder/container.c:
Only decontainerize concrete containers.

It doesn't make much sense to try and decontainerize a container class object as it's not really a container yet.
The Proxy class object in particular is very hard to interrogate (e.g. for --target=past dumping)
08:08
moritz kshannon: ok, both pull requests are closed now, and I've moved the comment to the right one. Thank you very much! 08:09
08:09 packetknife left
sorear You can move comments/ 08:13
moritz sorear: you can edit comments 08:14
which is good enough
guest_ I am wondering for software engineers and programmers what their favorite IDE for developing their applications is? Mine is eclipse you can do everything in it from asm to perl , python , java , c/c++ ...etc 08:18
and also curious what IDE you guys/girls use at work for developing 08:19
sorear every IDE I've tried has been more harm than help.
I don't use one.
guest_ what about at work
nothing like visual studios , code:blocks , eclipse ,...? 08:20
dalek ecza: ed7ed59 | sorear++ | test3.pl:
Test for a currently broken MMD case
08:23
ecza: 8f6bb3b | sorear++ | / (4 files):
Switch type-based multis to use the new dispatcher
kshannon guest_: vim is my IDE 08:31
guest_ ok , curious what you use on the job for development? Also I am assuming your many programming language of choose to code in is perl? Yes /no? 08:44
thou nom: my Stringy $s; say ($s ?? "Loves me some" !! "No"), " stringies."; 08:47
p6eval nom 2b6f86: OUTPUT«get_bool() not implemented in class 'Stringy'␤ in block <anon> at /tmp/46D4_LdQQ6:1␤ in <anon> at /tmp/46D4_LdQQ6:1␤»
thou perl6: my Stringy $s; say ($s ?? "Loves me some" !! "No"), " stringies.";
p6eval pugs b927740: OUTPUT«No stringies.␤»
..rakudo 2b6f86: OUTPUT«get_bool() not implemented in class 'Stringy'␤ in block <anon> at /tmp/8qeCm2KDGw:1␤ in <anon> at /tmp/8qeCm2KDGw:1␤»
..niecza v13-20-g4d836ba: OUTPUT«===SORRY!===␤␤In my declaration, typename 'Stringy' must be predeclared (or marked as declarative with :: prefix) at /tmp/rzDGXj9Ams line 1:␤------> my Stringy⏏ $s; say ($s ?? "Loves me some" !! "No")␤␤Malformed my at /…
thou b: my Stringy $s; say ($s ?? "Loves me some" !! "No"), " stringies."; 08:48
p6eval b 1b7dd1: OUTPUT«No stringies.␤»
sorear thou: why are you expecting a type object to ever evalutate to True? 08:52
kshannon nom: my Stringy $s = '...'; say ($s ?? "Loves me some" !! "No"), " stringies."; 08:53
p6eval nom 2b6f86: OUTPUT«Loves me some stringies.␤»
08:55 thou_ left
thou sorear, i'm not 08:56
but i don't want it to bail out with "get_bool() not implemented"
i ran into this trying to get WWW::App to work, running the sample from the README 08:57
github.com/supernovus/perl6-www-ap...EADME#L116
dalek ecza: 700121d | sorear++ | lib/ (3 files):
Cache candidate ordering information between multisub calls
09:01
thou it calls method get (Stringy :$default, Bool :$multiple, *@keys) {...}, which returns $default, which if undefined returns Stringy(), which should eval to False in a boolean context i think
09:06 drbean left
moritz guest_: (g)vim is both my editor and IDE 09:07
09:11 drbean joined
dalek ecza: c6854ec | sorear++ | / (2 files):
Implement multi foo(A, B) syntax
09:14
kshannon moritz: Another pull request :) 09:15
I got fed up with MMD dispatch errors listing candidates which all looked the same, so I spent some time elaborating Parameter.perl
09:16 kaare_ left, kaare__ joined 09:19 kaare__ left, kaare__ joined 09:20 kaare__ is now known as kaare_ 09:23 kaare_ left, kaare_ joined 09:28 drbean left 09:35 drbean joined 09:41 kaare__ joined, kaare_ left 09:44 sayu joined, cedric joined
cedric hello #perl6! 09:45
sorear hello cedric!
cedric o/ sorear
std: my $¥ = 2 09:47
p6eval std dc62e1d: OUTPUT«===SORRY!===␤Confused at /tmp/libNFFmSLh line 1:␤------> my $⏏¥ = 2␤ expecting any of:␤ POST␤ bracketed infix␤ constraint␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ shape definition␤
..statement modifier loop␤ t…
cedric std: my $£ = 2
p6eval std dc62e1d: OUTPUT«===SORRY!===␤Confused at /tmp/xiZptUzvvP line 1:␤------> my $⏏£ = 2␤ expecting any of:␤ POST␤ bracketed infix␤ constraint␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ shape definition␤
..statement modifier loop␤ t…
sorear Category: Sc
09:48 alc left
cedric not allowed as variable name? 09:48
sorear nope, only \w characters
09:48 sayu left
sorear not symbols 09:48
09:48 replore_ joined
cedric ¢ isn't in Sc? 09:48
09:49 sayu joined
sorear $¢ is a syntactic special case, like $/ 09:49
cedric sorear: thanks, it makes sens to me now. 09:50
*sense
sorear "cents" would have been better :D
cedric :D
09:51 kaare__ is now known as kaare_
sorear TimToady has speculated in the past about allowing arbitrary variable names with a sufficiently unambiguous definition 09:52
note, for instance, that you can do this
niecza: sub term:<$¥> { 2 }; say $¥
p6eval niecza v13-25-g700121d: OUTPUT«2␤»
09:52 proller left
sorear but that's not really a _variable_ 09:52
dalek ecza: 0d05837 | sorear++ | / (3 files):
Add parsing support for :_ :U :D :T
09:54
09:56 proller joined
cedric is dreaming of a Xamarin-like company for Niecza/Perl6… 09:57
dalek ecza: 6fdfdad | sorear++ | / (2 files):
Implement :D :U :T :_ (fixes #82)
10:04
10:07 thou left
dalek ecza: f9968eb | sorear++ | lib/CORE.setting:
Account for NaN in Numeric.ACCEPTS (fixes #97)
10:07
sorear -> sleep 10:10
10:16 cedric left 10:20 replore_ left
moritz evalbot rebuild niecza 10:30
p6eval OK (started asynchronously)
10:32 mj41 joined
moritz I've published my blog post, and submitted to news.ycombinator.com/item?id=3410637 and www.reddit.com/r/programming/commen...ospection/ -- upvotes welcome :-) 10:32
10:34 odoacre left, replore_ joined 10:56 proller left 10:58 tokuhirom left
masak morning, #perl6 10:58
10:58 tokuhirom joined
kshannon moritz: With simply changing the p6decont to p6recont_ro all the spectests are passing (with some TODO's passing) until the integration ones. 10:59
gist.github.com/1543671
That has some of the failing tests from t/spec/integration/99problems-01-to-10 11:00
pick1 and group1 are versions which work under the patched rakudo (pick1 also works under an unpatched rakudo)
pick2 and group2 are the originals 11:01
Can you take a look and see if you think the tests are correct, or if they're doing it wrong. 11:02
o/ masak
moritz b: gist.github.com/1543671 11:03
p6eval b 1b7dd1: OUTPUT«[["a", "a", "a", "a"], ["b"], ["c", "c"], ["a", "a"], ["d"], ["e", "e", "e", "e"]]␤[["a", "a", "a", "a"], ["b"], ["c", "c"], ["a", "a"], ["d"], ["e", "e", "e", "e"]]␤(["a", "a", "a", "a"], ["b"], ["c", "c"], ["a", "a"], ["d"], ["e", "e", "e", "e"])␤(["a", "a", "a", "a"]…
11:03 tokuhirom left
moritz kshannon: I can take a look, but I'll need quite some time to dig into it I fear 11:03
it could very well be that the tests rely on old raudo or pugs bugs 11:04
kshannon I'm just getting confused about eagerness/laziness.
moritz in most cases it shouldn't matter at all, because the test comparison consumes all the lists in the end 11:05
kshannon That is essentially the only difference I made to them.
moritz pack2 contains @list = ();, pack1 doesn't 11:06
kshannon pack1 has the my @list inside the while block instead.
moritz ah right
that's much saner 11:07
kshannon and group1 just has a .eager on the internal gather, otherwise that code is never executed.
(On my patched rakudo that is) 11:08
which is why it loops forever
moritz that makes sense 11:09
I guess that conforms to the spec
so feel free to push the modifications to roast 11:10
I also want to change the tests a bit, because they use string comparsion for nested lists, which doesn't make sense
dalek ast: e469777 | moritz++ | integration/99problems-01-to-10.t:
compare sensitive to array nesting level
11:16
moritz kshannon: so yes, your changes to the tests are correct 11:18
kshannon i.e. the old tests were wrong? 11:22
moritz yes 11:23
11:28 whiteknight joined, whiteknight is now known as Guest1122 11:32 Trashlord joined
kshannon perl6: my @list = 1, 2, 3; my @anon := [@list]; @list = (); say @anon.perl; 11:37
p6eval niecza v13-29-gf9968eb: OUTPUT«[1, 2, 3].list␤»
..pugs b927740: OUTPUT«[[1, 2, 3],]␤»
..rakudo 2b6f86: OUTPUT«Array.new()␤»
kshannon perl6: my @list = 1, 2, 3; my @anon := [@list]; @anon.eager; @list = (); say @anon.perl;
p6eval niecza v13-29-gf9968eb: OUTPUT«[1, 2, 3].list␤»
..pugs b927740: OUTPUT«[[1, 2, 3],]␤»
..rakudo 2b6f86: OUTPUT«Array.new(1, 2, 3)␤»
kshannon b: my @list = 1, 2, 3; my @anon := [@list]; @list = (); say @anon.perl; 11:38
p6eval b 1b7dd1: OUTPUT«[1, 2, 3]␤»
kshannon b: my @list = 1, 2, 3; my @anon := [@list]; @anon.eager; @list = (); say @anon.perl;
p6eval b 1b7dd1: OUTPUT«[1, 2, 3]␤»
kshannon The only reference I can find in the specs to circumfix:<[ ]> is S03:4484 which pretty clearly says the result is Array not list. 11:43
So I think niecza is wrong here. 11:44
moritz only if .list actually returns a List :-)
kshannon good point. 11:46
perl6: my @list = 1, 2, 3; my @anon := [@list]; @list = (); say @anon.WHAT;
p6eval pugs b927740: OUTPUT«Array::Const␤»
..rakudo 2b6f86, niecza v13-29-gf9968eb: OUTPUT«Array()␤»
kshannon b: my @list = 1, 2, 3; my @anon := [@list]; @list = (); say @anon.WHAT;
p6eval b 1b7dd1: OUTPUT«Array()␤»
kshannon perl6: my @list = 1, 2, 3; my @anon := [@list]; @anon[1]; @list = (); say @anon.perl; 11:52
p6eval niecza v13-29-gf9968eb: OUTPUT«[1, 2, 3].list␤»
..pugs b927740: OUTPUT«[[1, 2, 3],]␤»
..rakudo 2b6f86: OUTPUT«elements() not implemented in class 'Mu'␤ in method REIFY at src/gen/CORE.setting:4833␤ in method REIFY at src/gen/CORE.setting:5036␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.se…
kshannon Say What??? 11:53
tadzik rakudo: say .?WHAT 11:55
p6eval rakudo 2b6f86: OUTPUT«===SORRY!===␤Cannot use .? on a non-identifier method call at line 1, near ""␤»
tadzik meh
eiro hello 11:58
is there some kind of "exhaust" command in perl6 ?
my $line = $f.get; 11:59
moritz what would that do?
11:59 fsergot joined
eiro my @lines = exhausts $f.get 11:59
fsergot hi o/
eiro something like this
kkk
moritz eiro: my @lines = $f.liens;
eiro oops sory
moritz erm, lines
eiro moritz, sure but what i would like to have is a generic function to achieve this 12:00
(as it is a current pb to exhaust an iterator in an array
moritz eiro: I'm of two minds. My first opinion is "nice, and easy to do", and the second is "it would be much more perlish to expose the iterator as a lazy list int he first place" 12:01
sub exhaust($iter) { while $iter.get -> $x { $x } } # or so 12:02
eiro perhaps using the | operator ? 12:03
@lines = |$f.get ?
time to eat. cya
masak hi fsergot 12:05
moritz (), { $iter.get } ...^ !*.defined 12:08
geekosaur doesn't recall exactly, there was a unary = operator for that originally that got de-specced?
colomon geekosaur: yes 12:09
moritz it was never specced to the generality that eiro++ wants, and it was never specced in a way that could have actually worked 12:10
12:12 sayu left 12:16 fridim_ joined, bluescreen10 joined
masak in a way, it's comforting to see the discussion having moved on from "Perl 6 doesn't exist" to "Perl 6 isn't ready yet": news.ycombinator.com/item?id=3410637 12:17
eiro re 12:18
moritz, what the hell is that ? :)
...^ ?
12:19 kaare_ left, kaare__ joined
masak eiro: seems to be a way to iterate $iter using the sequence operator. 12:19
eiro infinite use of the iterator while the result isn't defined ( !*.defined )
:)
masak no, until the result isn't defined.
eiro (), is a part of the expression ?
masak for loops use "while" semantics, sequence ops use "until" semantics.
eiro masak, yep! my fault ? 12:20
masak eiro: yes, that's just initializing the sequence with nothing.
eiro :)
ok :)
masak eiro: need to syntactically fill that spot somehow.
12:23 cognominal_ joined 12:25 fridim_ left
eiro just played with the moritz answer: perl6 don't need an exhaust command :) 12:25
is this lazy ? 12:26
12:26 cognominal___ left
masak aye. 12:26
eiro \o/
masak, so why do i waste time with perlude ???? 12:27
masak eiro: you tell me :P
eiro (i guess you don't know why ... i'm just a prick!)
12:27 MayDaniel joined
masak in all seriousness, though, I think perlude looks interesting. 12:27
it's cool to see how far Perl 5 can be taken. 12:28
eiro well ... it is cool when you're stuck to perl5 ... but frankly: i would like to use perl6
that's a point 12:29
dalek ast: 252783d | (Solomon Foster)++ | S32-scalar/defined.t:
Fudge for niecza.
12:30 nanobyte joined
masak eiro: luckily, there are several very talented people in here who work every day to bring you more of Perl 6. 12:30
I'm more in awe of them than I can adequately express.
eiro masak, i know that ... i really would like to push perl6 in my new job 12:31
pastebin.com/AdcjUHnz
i still don't understand the new map syntax 12:32
colomon you need braces around the .say
lines('/etc/passwd')[0..4].map: { .say } 12:33
eiro oh! parentheses
colomon though I prefer lines('/etc/passwd')[0..4].map({ .say })
tadzik or nothing at all: $a.map: *.say :)
eiro no .. doesn't work neither :(
tadzik, !!! 12:34
12:34 cognominal_ left
tadzik doesn't it? 12:34
also, define "doesn't work"
eiro argh! also failed
moritz you need to use lines(open('/etc/passwd')) or so 12:35
12:35 cognominal joined
moritz lines() just returns the lines of a string by default 12:35
nom: say "a\nb\nc\n".lines.perl
p6eval nom 2b6f86: OUTPUT«("a", "b", "c").list␤»
eiro moritz, no: see my lines implementation: it opens the file 12:36
.say for lines('/etc/passwd')[0..4]; 12:38
(lines('/etc/passwd')[0..4]).map: *.say;
(lines('/etc/passwd')[0..4]).map: ({.say});
(lines('/etc/passwd')[0..4]).map: {.say};
only the first line works
(last rakudo star release) 12:39
nom: open('/etc/passwd').lines.map: *.say 12:40
p6eval nom 2b6f86: OUTPUT«open is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:2␤ in sub open at src/SAFE.setting:5␤ in block <anon> at /tmp/0bC_1JL2dA:1␤ in <anon> at /tmp/0bC_1JL2dA:1␤»
eiro nom: .say for lines('/etc/passwd')[0..4];
(lines('/etc/passwd')[0..4]).map: *.say;
(lines('/etc/passwd')[0..4]).map: ({.say});
p6eval nom 2b6f86: OUTPUT«/etc/passwd␤»
eiro nom: thanks anyway
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&anyway' called (line 1)␤Undefined routine '&thanks' called (line 1)␤»
colomon eiro -- that likely means it's your lines implementation that's the problem, not map
eiro colomon, how to reach this conclusion ? 12:41
colomon, it's not mine: moritz's fault ;)
12:42 flussence joined
eiro colomon, btw: i don't know how to fix things now 12:42
colomon try say lines('/etc/passwd')[0..4].perl
eiro it's a list! 12:43
("root:x:0:0:root:/root:/bin/bash", "bin:x:1:1:bin:/bin:/bin/false", .... 12:44
colomon okay, I take it back -- it is map which is the problem!
particularly, the problem is that map is lazy
eager lines('/etc/passwd')[0..4].map({ .say }); # this works 12:45
eiro this is sooo tricky! 12:46
colomon for lines('/etc/passwd')[0..4] { .say } # should work fine 12:47
Timbus are you.. using map for its side effect???
colomon Timbus: yes, that's why laziness was an issue
eiro Timbus, not at all
Timbus im calling the functional police 12:48
eiro just: the for loop is so '60
Timbus they arrive in reverse, sometimes before and sometimes after i call them
eiro \o/ 12:49
Timbus depending on implementation
eiro Timbus++
12:50 tokuhirom joined
masak I think .map should be eager in that situation, due to being in sink context. 12:52
but Rakudo doesn't always do that right yet.
eiro ok ... bug ? 12:53
colomon woah, perl 6 in 2011 #1 on hacker news!
masak Timbus is right, but only on a shallow syntactical level. &map and for are synonymous in Perl 6.
colomon but not yet in rakudo 12:54
Timbus i think you should always only call map for its return tho, regardless. 12:55
colomon and I for one agree pretty strongly with Timbus's instinct: use map when you're being functional, use for when you're being imperative.
the language may not require it, but it will make your code clearer 12:56
Timbus if yuo want crazy side effecty stuff in your sinks, why not have a .for method
masak Timbus: I agree about map and lack of side effects. it's mostly a pragmatics thing. 13:00
Timbus yey, im right 13:07
also it is new years here, right now
i can tell from the explosions
so, happy new year i guess?
13:07 rindolf joined
rindolf Hi all. 13:07
colomon happy new year! 13:08
rindolf barzilay.org/misc/scribble-reader.pdf - I've mentioned this link before and it seems very complicated and idiosyncratic.
Timbus new years and im on irc :L
rindolf colomon: happy new year.
Timbus thanks colomon :>
dalek ecza: 824084a | (Solomon Foster)++ | t/spectest.data:
Turn on S32-scalar/defined.t.
13:14
masak Timbus: wait, where are you? .jp? 13:15
Timbus au 13:16
learned my perl from damien conway :3
rindolf Timbus: it's "Damian" - not "Damien" 13:18
Timbus: Damien is his evil twin.
Timbus yeah i knew that after i typed it
rindolf Timbus: ah. 13:19
masak oh wow, a TheDamian disciple! o.O 13:21
Timbus ha. yeah i got hooked on perl at monash university, even though it was just an elective class. 13:22
easiest high distinction i ever managed. left the exam over an hour early. not because im any good at the whole education thing, perl was just that good :3 13:23
kshannon rindolf: I think it's very well thought out and a great idea... 13:24
as long as you accept the implied belief that SEXPR's are the one true way.
rindolf kshannon: you do? 13:25
kshannon: Eli claims that it's not SEXPR-specific.
kshannon: anyway, I've started reading the syntax description by example, and didn't make a lot of progress, and I'm already close to giving up. 13:26
He claims it's "simple" at the introduction.
Maybe it's Simple like SOAP.
13:27 Trashlord left
rindolf The indentation handling stuff there is weird. 13:27
dalek ast: c63cd09 | (Solomon Foster)++ | S02-literals/misc-interpolation.t:
Fudge for niecza.
13:28
ecza: 9625e2f | (Solomon Foster)++ | t/spectest.data:
Turn on S02-literals/misc-interpolation.t.
13:43 Trashlord joined 13:44 muthu joined
masak I like the discussion in the reddit thread. 13:48
but this is a comment I don't know how to answer: news.ycombinator.com/item?id=3410852
13:49 muthu left
masak the kind of stability the commenter wants is perhaps Perl 6 implementation's weakest point, or at least Rakudo's. 13:49
maybe it's simply that the time hasn't been ripe for making any demands on feature stability. there's been too much flux to root out first. 13:50
the worst part (for me) in the master->ng and b->nom transitions have been the silent, unnanounced regressions that are almost inevitable when making a wholesale switch of that kind. 13:51
maybe the time for those is now coming to an end... but it's hard to tell.
13:52 PacoAir joined
moritz unnanounced? 13:52
masak hm, that should be "alpha->ng", I guess.
moritz yes, we've learned from that 13:53
masak moritz: well, the bigger transitions have been announced, of course. but no-one said "don't use <->, because we're not implementing it in ng"
I know this isn't done with malice; but it does make it harder to keep the app space stable, just like the commenter writes. 13:54
I remember mberends reacting in Oslo 2009 to the fact that the policy for handling regressions was to fudge them with TODO markers. 13:55
that's not a TODO, that's a regression! 13:56
but I realize that taking regressions super-seriously is an attitude that has to be phased in, as Perl 6 and its implementations reach maturity. 13:58
alpha: my @a = 1..3; for @a <-> $e { $e++ }; say @a.perl
p6eval alpha : OUTPUT«[2, 3, 4]␤»
masak b: my @a = 1..3; for @a <-> $e { $e++ }; say @a.perl 13:59
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Missing block at line 22, near "; say @a.p"␤»
masak nom: my @a = 1..3; for @a <-> $e { $e++ }; say @a.perl
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Missing block at line 1, near "; say @a.p"␤»
13:59 cedric joined
cedric Bonne année #perl6! 13:59
masak pugs: my @a = 1..3; for @a <-> $e { $e++ }; say @a.perl
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected ">"␤ at /tmp/y9lV7ykWkf line 1, column 24␤»
masak niecza: my @a = 1..3; for @a <-> $e { $e++ }; say @a.perl
p6eval niecza v13-29-gf9968eb: OUTPUT«[2, 3, 4].list␤»
masak cedric: bonne année!
cedric I see something really strange in Parrot: the function utf8_iter_skip() is called *many* times with the *same* parameters 14:01
I added this trace to this function: fprintf(stderr, "0x%016lx %u\n", djb2((unsigned char *)str->strstart), (unsigned)i->charpos); 14:02
where djb2() is a hash function for C strings
then: perl6 S03-operators/basic-types.t 2>utf8_iter_skip.log
"wc -l utf8_iter_skip.log" reports 87535 whereas "sort -u utf8_iter_skip.log | wc -l" reports 7524 only 14:03
that means Rakudo/Parrot iters several times over the same C string… I'm wrong? 14:04
masak probably not. question is, why are you surprised? :) 14:05
aww, reddit commenter deleted his comment :/ 14:07
s/reddit/HN/
14:10 rindolf left
cedric masak: I'm surprised because of the factor (10x) moreover this function is the top contributor regarding CPU time consumption. 14:11
masak oh!
I missed the 10x part. :/
cedric++ # finding this 14:12
cedric is comparing utf8_iter_skip()'s backtraces 14:20
kshannon Is there any low level dump I can do in a running rakudo program to show the internals of a list without affecting it's current reification (i.e. no eagerness applied anywhere) 14:27
14:27 hundskatt left
kshannon rindolf: It could be applied to a non-SEXPR language, but most of the cleverness becomes a little useless... 14:30
14:30 cedric left
kshannon There are some good design principles he mentions that are worthwhile emulating. The balanced start/stop markers and allowing generic markers so that the normal ones become just literal text, but we've already got that here :) 14:32
tadzik kshannon: I think __DUMP doesn't reify and all
kshannon Method '__DUMP' not found for invocant of class 'Array' 14:34
How do I call it?
14:35 cooper left
kshannon I'm trying to track down the bug that causes this: 14:36
my @list = 1, 2, 3; my @anon := [@list]; @anon[1]; @list = (); say @anon.perl;
nom: my @list = 1, 2, 3; my @anon := [@list]; @anon[1]; @list = (); say @anon.perl;
p6eval nom 2b6f86: OUTPUT«elements() not implemented in class 'Mu'␤ in method REIFY at src/gen/CORE.setting:4833␤ in method REIFY at src/gen/CORE.setting:5036␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.setti…
masak huh. 14:44
tadzik oh, it's just DUMP 14:50
nom: my @a = 1..5; say @a.DUMP
p6eval nom 2b6f86: OUTPUT«Array<2521208963817262333>(:items(Mu), :nextiter(ListIter<2521208963804634618>(:reified(▶Mu), :rest(RPA<2521208963804634604>(Array<2521208963804627698>(:items(RPA<2521208963804692200>(▶1, ▶2, ▶3, ▶4, ▶5)), :nextiter(▶Mu)))), :list(Array<2521208963817262333>))))␤»…
14:52 sayu joined
kshannon I was pretty close to reimplementing that with a bit of Q:PIR... 14:58
My output syntax was even pretty close :) 14:59
15:02 RobiX joined 15:04 replore_ left 15:06 rindolf joined 15:11 replore joined 15:12 RobiX left 15:16 replore left, hundskatt joined 15:28 thou joined 15:32 replore joined 15:37 replore left 15:42 mj41 left
eiro ba 15:43
back
masak, for and map aren't the same thing for me: for is a way to break chainability 15:44
(or i have something to learn about perl6 for
masak eiro: for is *literally* syntactic sugar for &map in Perl 6.
eiro masak, for isn't a syntaxic suggar, it's a syntaxic conceptual error :) 15:45
masak things like 'next', 'redo' and 'last' work in &map just as they do in a for loop.
eiro but i understand what you mean
masak eiro: I'm not talking about how things are according to philosophical mumbo-jumbo; I'm talking about how they are according to the spec.
eiro i get that 15:46
masak by which I mean, you may opine that it's a syntactic conceptual error all you want; it *is* syntactic sugar, in the sense that the former is mechanically replaced by the latter behind the scenes. 15:51
colomon (in theory) 15:52
masak sure, conceptually.
cheating is allowed as long as it's never discovered. :)
colomon no, I meant in current practice. ;) 15:53
masak Rakudo does such a transformation, AFAIK. 15:54
colomon nom: sub forever { gather loop { take 1 }; }; for forever -> $a { say $a } 15:56
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
colomon nom: sub forever { gather loop { take 1; }; }; for forever -> $a { say $a }
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
colomon nom: sub forever() { gather { loop { take 1; }; }; }; for forever -> $a { say $a }
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
colomon nom: sub forever() { gather { loop { take 1; }; }; }; for forever -> $a { say $a; }
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
colomon :\
masak colomon: need '()' after 'forever' 15:58
colomon nom: sub forever() { gather { loop { take 1; }; }; }; for forever() -> $a { say $a; }
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
colomon nom: sub forever() { gather { loop { take 1; }; }; }; for forever() -> $a { say $a; };
p6eval nom 2b6f86: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
colomon dang it, it works fine locally
masak you have a strange character in 'say'
colomon nom: sub forever() { gather { loop { take 1; }; }; }; for forever() -> $a { say $a; };
there we go
masak success.
p6eval nom 2b6f86: OUTPUT«(timeout)»
colomon nom: sub forever() { gather { loop { take 1; }; }; }; forever().map( -> $a { say $a; })[^10]; 15:59
p6eval nom 2b6f86: OUTPUT«1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
masak nom: .say for gather loop { take 1 }
p6eval nom 2b6f86: OUTPUT«(timeout)»
colomon I guess that's not absolute proof that the implementations are different internally (modulo eagerness) but it seems suggestive 16:00
masak shorter way of writing it :)
16:05 Mowah left 16:07 mdxi joined
fsergot How can I check when the end of the program is? e.g. i want to do something at the end of the program but write this at the start. 16:07
tadzik END {}? 16:10
nom: END { say 'end' }; say "not end"
16:10 Mowah joined
p6eval nom 2b6f86: OUTPUT«not end␤end␤» 16:10
masak END++ 16:11
fsergot: now tell us what problem it is you're trying to solve :)
tadzik hmm
colomon niecza: END { say 'end' }; say "not end"
tadzik that could serve as a poor man's DESTROY, maybe
p6eval niecza v13-29-gf9968eb: OUTPUT«not end␤»
colomon doh!
fsergot masak, this is what i want! thanks masak++
tadzik++ 16:12
colomon++
thanks :)
tadzik class A { method new { END { say "freeing resources"; }; self.bless(*); } }; A.new; A.new; A.new; say "wololo";
nom: class A { method new { END { say "freeing resources"; }; self.bless(*); } }; A.new; A.new; A.new; say "wololo";
p6eval nom 2b6f86: OUTPUT«wololo␤freeing resources␤»
fsergot theres no problem, i'm just playing p6 :)
tadzik meh
masak fsergot: so you just became curious if thereäs a mechanism to defer code execution to the end? :) 16:13
fsergot yes
masak fsergot: you belong here :) 16:16
fsergot thanks :)
colomon perl6: sub foo(:$x) { say $x; }; foo(:x) 16:21
p6eval rakudo 2b6f86, niecza v13-29-gf9968eb: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«1␤»
16:29 thou left 16:30 mj41 joined
colomon moritz: ping? 16:36
16:41 nanobyte left
tadzik a challenge appears: www.reddit.com/r/programming/commen...?context=3 16:44
16:46 Trashlord left
masak I *think* this is a faithful translation: 16:50
nom: sub sieve(@xs) { my $x = pop @xs.list; sieve grep { $_ %% $x }, @xs }; .say for sieve 2..*
p6eval nom 2b6f86: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are:␤:(Mu $v, Mu %_)␤␤ in method Real at src/gen/CORE.setting:656␤ in sub infix:<%%> at src/gen/CORE.setting:2192␤ in block <anon> at /tmp/TqSoTCAC2v:1␤ in method ACCEPTS at src/gen/COR…
masak nom: sub sieve(@xs) { my $x = pop @xs; sieve grep { $_ %% $x }, @xs }; .say for sieve 2..*
p6eval nom 2b6f86: OUTPUT«Method 'pop' not found for invocant of class 'Range'␤ in sub pop at src/gen/CORE.setting:4901␤ in sub sieve at /tmp/rh_Z1h6mwT:1␤ in block <anon> at /tmp/rh_Z1h6mwT:1␤ in <anon> at /tmp/rh_Z1h6mwT:1␤»
masak nom: sub sieve(@xs) { my $x = pop @xs; sieve grep { $_ %% $x }, @xs }; .say for sieve [2..*]
p6eval nom 2b6f86: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are:␤:(Mu $v, Mu %_)␤␤ in method Real at src/gen/CORE.setting:656␤ in sub infix:<%%> at src/gen/CORE.setting:2192␤ in block <anon> at /tmp/L8W86nB_AJ:1␤ in method ACCEPTS at src/gen/COR…
masak niecza: sub sieve(@xs) { my $x = pop @xs; sieve grep { $_ %% $x }, @xs }; .say for sieve 2..*
p6eval niecza v13-29-gf9968eb: OUTPUT«Unhandled exception: Unable to resolve method pop in class Range␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/a4Xmcmugiz line 0 (sieve @ 0) ␤ at /tmp/a4Xmcmugiz line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2615 (ANON @ 2) ␤ …
masak can't pop a Range. too bad. :) 16:51
niecza: sub sieve(@xs) { my $x = pop @xs; sieve grep { $_ %% $x }, @xs }; .say for sieve (2..100).list
p6eval niecza v13-29-gf9968eb: OUTPUT«(timeout)»
masak oh, I forgot...
colomon should fiddle:x("a"):y("b")() be a legal function call?
masak niecza: sub sieve(@xs) { my $x = pop @xs; $x, sieve grep { $_ %% $x }, @xs }; .say for sieve (2..100).list
p6eval niecza v13-29-gf9968eb: OUTPUT«(timeout)» 16:52
masak hrm :)
colomon is doing a complete overhaul on S03-operators/adverbial-modifiers.t
masak niecza: sub sieve(@x [$x, *@xs]) { $x, sieve grep { $_ %% $x }, @xs }; .say for sieve (2..100).list 16:53
p6eval niecza v13-29-gf9968eb: OUTPUT«===SORRY!===␤␤Action method post_constraint not yet implemented at /tmp/neBOxW9RMH line 1:␤------> sub sieve(@x [$x, *@xs]⏏) { $x, sieve grep { $_ %% $x }, @xs }; ␤␤Unhandled exception: Unable to resolve method sorry in…
masak nom: sub sieve(@x [$x, *@xs]) { $x, sieve grep { $_ %% $x }, @xs }; .say for sieve (2..100).list
p6eval nom 2b6f86: OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1 in sub-signature of parameter @x␤ in sub sieve at /tmp/W_sJEbJ_B0:1␤ in sub sieve at /tmp/W_sJEbJ_B0:1␤ in sub sieve at /tmp/W_sJEbJ_B0:1␤ in sub sieve at /tmp/W_sJEbJ_B0:1␤ in sub sieve at /t…
masak gives up 16:54
colomon niecza: sub fiddle(:$x,:$y){$x~$y}; fiddle:x("a"):y("b")(); 16:55
p6eval niecza v13-29-gf9968eb: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fiddle:x("a"):y("b")' used at line 1␤␤Potential difficulties:␤ &fiddle is declared but not used at /tmp/VUmLps23jm line 1:␤------> sub fiddle⏏(:$x,:$y){$x~$y}; fiddle:x("a"):y("b")()…
colomon std: sub fiddle(:$x,:$y){$x~$y}; fiddle:x("a"):y("b")();
p6eval std dc62e1d: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'fiddle:x("a"):y("b")' used at line 1␤Check failed␤FAILED 00:01 125m␤»
colomon okay, I'm taking that as a no 16:56
16:57 replore joined, replore left
kshannon nom: multi sub sieve(@x []) { () }; multi sub sieve(@x [$x, *@xs]) { $x, sieve grep { $_ %% $x }, @xs }; .say for sieve (2..600).list 16:58
p6eval nom 2b6f86: OUTPUT«2␤4␤8␤16␤32␤64␤128␤256␤512␤»
kshannon Was that supposed to be the sieve of eratosthenes 16:59
nom: multi sub sieve(@x []) { () }; multi sub sieve(@x [$x, *@xs]) { $x, sieve grep { $_ !%% $x }, @xs }; .say for sieve (2..600).list 17:00
p6eval nom 2b6f86: OUTPUT«2␤3␤5␤7␤11␤13␤17␤19␤23␤29␤31␤37␤41␤43␤47␤53␤59␤61␤67␤71␤73␤79␤83␤89␤97␤101␤103␤107␤109␤113␤127␤131␤137␤139␤149␤151␤157␤163␤167␤173␤179␤181␤191␤193␤197␤199␤211␤223␤227␤229␤233␤239␤241␤251␤257␤263␤269␤271␤277␤281␤283␤293␤307␤311␤313␤317␤331␤337␤347␤349␤353␤359␤367􏿽xE2􏿽x90
kshannon There you go...
masak kshannon++
tadzik goo.gl/H8LHT 17:01
masak nom: multi sub sieve(@x []) { () }; multi sub sieve(@x [$x, *@xs]) { $x, sieve grep { $_ !%% $x }, @xs }; .say for sieve (2..*).list
p6eval nom 2b6f86: ( no output )
masak aww :) 17:02
tadzik replied on reddit, kshannon++ 17:03
masak nom: multi sieve([]) {}; multi sieve(@x [$x, *@xs]) { $x, sieve @xs.grep: { $_ % $x } }; .say for sieve (2..600).list
p6eval nom 2b6f86: OUTPUT«2␤3␤5␤7␤11␤13␤17␤19␤23␤29␤31␤37␤41␤43␤47␤53␤59␤61␤67␤71␤73␤79␤83␤89␤97␤101␤103␤107␤109␤113␤127␤131␤137␤139␤149␤151␤157␤163␤167␤173␤179␤181␤191␤193␤197␤199␤211␤223␤227␤229␤233␤239␤241␤251␤257␤263␤269␤271␤277␤281␤283␤293␤307␤311␤313␤317␤331␤337␤347␤349␤353␤359␤367􏿽xE2􏿽x90
masak nom: multi sieve([]) {}; multi sieve(@x [$x, *@xs]) { $x, sieve @xs.grep: * % $x }; .say for sieve (2..600).list
p6eval nom 2b6f86: OUTPUT«2␤3␤5␤7␤11␤13␤17␤19␤23␤29␤31␤37␤41␤43␤47␤53␤59␤61␤67␤71␤73␤79␤83␤89␤97␤101␤103␤107␤109␤113␤127␤131␤137␤139␤149␤151␤157␤163␤167␤173␤179␤181␤191␤193␤197␤199␤211␤223␤227␤229␤233␤239␤241␤251␤257␤263␤269␤271␤277␤281␤283␤293␤307␤311␤313␤317␤331␤337␤347␤349␤353␤359␤367􏿽xE2􏿽x90
masak nice combination of a number of Perl 6 features there. :) 17:04
17:04 PacoAir left
masak looking forward to it working on 2..* -- that seems to be the only thing Haskell has over Rakudo at this point :) 17:04
kshannon Ummm, how about a lot less crashes :) 17:05
masak kshannon: be gald you weren't around three years ago :>
kshannon *lol*
tadzik :D
kshannon I was, but I didn't stick around... 17:06
17:06 PacoAir joined
masak tadzik: you *will* get comments on that magical number 600 unles syou pre-empt them yourself... 17:07
s/unles syou/unless you/
tadzik let the interest appear :) 17:08
kshannon Is there any design docs on how the rakudo List/ListIter/MapIter internals are *SUPPOSED* to work.
tadzik on the sad part, they probably won't run the code anyway
kshannon git blame mainly points the finger at pmichaud 17:09
17:09 tokuhirom left 17:10 tokuhirom joined 17:14 tokuhirom left
masak kshannon: pmichaud meant to update S07 before he suddenly got very little online time... 17:15
17:16 am0c joined 17:19 replore joined, replore left 17:22 Trashlord joined
colomon std: sub fiddle(:$x,:$y){$x~$y}; fiddle :x("a")(:y("b")); 17:30
p6eval std dc62e1d: OUTPUT«ok 00:01 125m␤»
colomon niecza: sub fiddle(:$x,:$y){$x~$y}; fiddle :x("a")(:y("b")); 17:31
p6eval niecza v13-29-gf9968eb: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Pair␤ at /tmp/iGn1eOMX1z line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2615 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2616 (module-CORE @ 6…
sorear good * #perl6 17:34
colomon o/
tadzik o/
17:36 awoodland joined
masak o/ 17:36
17:40 SHODAN joined
fsergot o/ 17:40
17:40 replore joined, replore left
TimToady moritz: your second spec paragraph overstates the case; see S06:1012 17:43
phenny TimToady: 30 Dec 09:22Z <frettled> tell TimToady The presentation paper for the exploit against PHP, Java etc. provides the information necessary for performing a successful test against a hash implementation :) (And a merry time-of-year to you) events.ccc.de/congress/2011/Fahrpla...tforms.pdf
17:44 JimmyZ joined
fsergot tadzik how it goes with Bailador? :) 17:45
17:48 drbean left
kshannon re S07: Iterators and Laziness - "The programmer must not rely on circular side effects ..." 17:51
That's fine, but rakudo shouldn't die if you fiddle in the middle as it were.
masak nod 17:52
17:52 snearch joined 17:53 drbean joined
kshannon nom: my @list = 1, 2, 3; my @anon := [@list]; say @anon[1]; @list = (); say @anon.perl 17:53
p6eval nom 2b6f86: OUTPUT«2␤elements() not implemented in class 'Mu'␤ in method REIFY at src/gen/CORE.setting:4833␤ in method REIFY at src/gen/CORE.setting:5036␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.set…
ruoso kinda lost in how to understand why my sudoku solver keeps segfaulting... gist.github.com/1538015 (now with the initial sudoku game inlined, no input required)... 17:54
kshannon I've traced that down to the @anon !nextiter still pointing to the @list which has been cleared, but holding onto the '3' as the rest... 17:55
I think something else needs doing during Array.STORE
ruoso: It's a memory leak in Rakudo. 17:56
I can run it for a long time if I add lots of swap...
I just didn't have the patience to run it long enough to get an answer :) 17:57
masak ruoso: a good guess is that it's the array-indexing on junctions that's causing the segfault. try rewriting it without those.
kshannon As far as I can tell, the leak isn't is your perl code.
I don't get segfaults, just 'Killed' due to out of memory. 17:58
ruoso trying to run without calling the "cleanup-impossible-values" part 17:59
hmm... maximum recursion depth exceeded
kshannon I can even watch the 'free -m' and 'top' and see it chew it all up until there's none left...
ruoso lunch & 18:00
18:01 GlitchMr joined, replore joined, replore left 18:06 drbean left 18:12 drbean joined
TimToady moritz: also, splitting the ** quantiifer into ** and %/%% might be worth a mention 18:15
masak +1 18:17
18:22 replore joined 18:23 replore left
TimToady new functions/operators: val, gcm, lcd, categorize 18:25
val is perhaps the most important of those
masak we should have &permutations and &combinations in CORE, too -- just so we don't have to reinvent them each time in RC solutions :P 18:29
alternatively, a "closure" operator (in the sense of "transitive closure")
I suppose building such an operator would be easier if we had object hashes... 18:30
sorear Should END ever be called in module compilation mode?
masak sorear: no...? 18:31
sorear: it doesn't in Perl 5.
sorear: and S04 says "at run time, ALAP"
sorear masak: I mean like if there's a BEGIN exit 0 in a module, do the modules' ENDs get called? 18:32
I guess END should only be called if compilation finishes successfully?
so that there is a "run time"
masak tests with Perl 5
$ perl -E 'BEGIN { exit 0 } END { say "OH HAI" }' 18:33
prints nothing.
18:35 JimmyZ left
sorear other way around :D 18:35
in that example, the END is never even parsed.
masak $ perl -E 'END { say "OH HAI" } BEGIN { exit 0 }'
OH HAI
sorear notes that BEGIN { say "hi" }; syntax error elicits a hi
masak guess there's your answer, then.
sorear things are fundamentally different in niecza because niecza supports caching of precompiled modules 18:36
18:36 thou joined
sorear so the CHECK and INIT times can, in principle, be separated by a lot 18:36
I'm setting it up now so that ENDs are called whenever the context they exist in is unloaded or exits 18:37
which I think best fits the spirit of "as late as possible"
kshannon rouso: pastebin.com/MkM1c0MM\ 18:38
It ran to completion but it needed a little over 15Gb of Virtual memory 18:39
18:40 cognominal left
dalek ecza: f166585 | sorear++ | lib/Kernel.cs:
Implement END running

END blocks are run whenever the container is unloaded, or at process exit. This means you may see END blocks running during module precompilation; I call this a feature (suppose you're using temp files in BEGIN-time code).
18:41
18:43 pothos_ joined, Lothar left, PZt left 18:44 replore joined, replore left, cxreg left, fhelmberger left, ashleydev left, kthakore left, Exodist left, mattp_ left 18:45 sivoais left, pothos left, TimToady left, athomason left, pothos_ is now known as pothos, am0c left, sorear left, Exodist joined, TimToady joined 18:46 mattp_ joined, cxreg joined, Mowah left, sorear joined, kthakore joined, ashleydev joined, Lothar joined, proller joined, sivoais joined, athomason joined 18:47 fhelmberger joined, Mowah joined 18:48 am0c joined 18:50 drbean left 18:51 cognominal joined 18:54 fsergot left 18:57 drbean joined 18:59 mj41 left, awoodland left 19:00 am0c left, awoodland joined
kshannon perl6: proto sub foo(Bool $) { * }; multi sub foo(True) { say "Yes" }; multi sub foo(False) { say "No" }; foo(True); foo(False); 19:01
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "Bool"␤ expecting "|", ":", "*", parameter name or ")"␤ at /tmp/8K4QncKUec line 1, column 15␤»
..rakudo 2b6f86: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Bool)␤:(Bool)␤␤ in block <anon> at /tmp/f64aT3txWh:1␤ in <anon> at /tmp/f64aT3txWh:1␤»
..niecza v13-29-gf9968eb: OUTPUT«===SORRY!===␤␤Lexical True is not a package at /tmp/bd48KTwb3_ line 1:␤------> ub foo(Bool $) { * }; multi sub foo(True⏏) { say "Yes" }; multi sub foo(False) { ␤␤Lexical False is not a package at /tmp/bd48KTwb3_ line 1:…
19:03 alvis left
kshannon TimToady: Does it make sense to you that the True in 'multi sub foo(True) { ... }' should really mean 'Bool where { $_ === True }' rather than 'Bool where True' 19:03
19:04 Khisanth left 19:05 replore joined
TimToady well, True is an enum, which functions both as a constant and as a subset type with one value, so it comes out to the same thing really 19:07
19:08 Lothar left, ingy left, ingy joined, kcwu left, kcwu joined
TimToady note that True is defined, so should not be matching as a type object 19:09
19:09 replore left
TimToady oh, wait, I see what's going on there 19:10
smartmatching treats Boolean values specially 19:11
where True always succeeds, and where False always fails
kshannon exactly 19:12
TimToady nom: say True === True 19:13
p6eval nom 2b6f86: OUTPUT«Bool::True␤»
TimToady nom: my Bool $x = True; say $x === True
p6eval nom 2b6f86: OUTPUT«Bool::True␤»
masak nom: sub foo(True) { say "OH HAI" }; foo(False)
p6eval nom 2b6f86: OUTPUT«Nominal type check failed for parameter ''; expected Bool but got Bool instead␤ in sub foo at /tmp/8CGkpZfxJg:1␤ in block <anon> at /tmp/8CGkpZfxJg:1␤ in <anon> at /tmp/8CGkpZfxJg:1␤»
masak o.O
masak submits rakudobug
kshannon Although I'm wondering for the more general case as well. Where the literal value is not smart matched against but compared either === or eqv. 19:14
TimToady well, for a subset type with multiple values, === won't work
kshannon But that's still a type. 19:15
Or is there some more hand wavy stuff I haven't internalized which says there's no real difference between types and values... 19:16
TimToady well, they're definitely different to :D/:U
kshannon Hmmm, alright I can accept that. 19:17
TimToady in fact, subset types are how we express "Just" types in p6
perl6: subset JustInt of Int where Any:D; my $JustInt $x = Int; 19:19
p6eval rakudo 2b6f86: OUTPUT«===SORRY!===␤Confused at line 1, near "my $JustIn"␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "$x"␤ expecting "?", "!", trait, "=", infix assignment or operator␤ at /tmp/kCQ4T2GWhj line 1, column 48␤»
..niecza v13-32-gf166585: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/34ZtLw2lUF line 1:␤------> JustInt of Int where Any:D; my $JustInt ⏏$x = Int;␤␤Parse failed␤␤»
19:19 Khisanth joined, proller left
TimToady perl6: subset JustInt of Int where Any:D; my JustInt $x = Int; 19:19
p6eval pugs b927740: ( no output )
..rakudo 2b6f86: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Any:D' called (line 1)␤»
..niecza v13-32-gf166585: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/q85oQrwYlC line 1:␤------> JustInt of Int where Any:D; my JustInt ⏏$x = Int;␤␤»
TimToady heh, widespread disbelief :) 19:20
kshannon hehe
TimToady perl6: say Any:D.WHAT 19:21
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&D"␤ at /tmp/bhDHqoba8q line 1, column 9 - line 2, column 1␤»
..rakudo 2b6f86: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Any:D' called (line 1)␤»
..niecza v13-32-gf166585: OUTPUT«Any()␤»
masak niecza: sub foo(True) { say "OH HAI" }; foo(False)
p6eval niecza v13-32-gf166585: OUTPUT«===SORRY!===␤␤Lexical True is not a package at /tmp/dLBxrbd0HD line 1:␤------> sub foo(True⏏) { say "OH HAI" }; foo(False)␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die…
masak niecza: sub foo(1) { say "OH HAI" }; foo(1)
p6eval niecza v13-32-gf166585: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 806 (warn @ 2) ␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 170 (Mu.Str @ 9) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/src/nie…
kshannon Is a subset type still possibly :T 19:22
or is :T gone already... :) 19:23
TimToady may not be necessary if we continue to move Failure out of Any
19:23 rindolf left
TimToady Failure seems to be turning into a conceptual type that is allowed to violate return types 19:24
that is, although it is not a bottom type, it can function as one for returning values that aren't valid 19:25
19:25 awoodland left
TimToady it is likely that Inf and NaN may turn into conceptual types as well, in order to emulate those concepts for representations that do not support them directly, as Num does under IEEE 19:26
19:26 replore joined, replore left
dalek ast: 868ae08 | (Solomon Foster)++ | S03-operators/adverbial-modifiers.t:
Complete overhaul -- make tests one liners, regroup somewhat, and eliminate tests which are illegal according to std.
19:27
ecza: a211fbc | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/adverbial-modifiers.t.
19:32
colomon niecza: END { say 'end' }; say "not end"
p6eval niecza v13-32-gf166585: OUTPUT«not end␤end␤»
colomon sorear++
kshannon phenny: tell rouso that I made a small change to the sudoku cleanup-impossible-values ( gist.github.com/1544907 ) but it still needed 15GB to run to completion even if it completed in about half the output lines. 19:35
phenny kshannon: I'll pass that on when rouso is around.
19:35 thou_ joined, Moukeddar joined 19:36 Lothar joined 19:38 awoodland joined
ruoso finally... I've catch the segfault on the debug 19:47
19:48 replore joined
ruoso gist.github.com/1545127 19:48
19:48 replore left
kshannon I wonder what's different between your setup and mine. 19:49
colomon sorear: t/spec/S06-multi/type-based.t .. Unhandled exception: Unable to resolve method ast in class Any # internal p6 grammar actions error? no .ast in the .t file... 19:50
ruoso kshannon: I'm not sure your change makes any difference
because it simply will run one extra time if there is a solve, but in the second solve there won't be anything new 19:52
kshannon Without it it sometimes chooses to put two of the same number in a row or column or grid 19:53
19:53 packetknife joined
kshannon I don't think it will ever get to a solution with that, but I did see it going down a long (i.e. about 5 levels and about 40 chooses) blind alley. 19:55
19:55 fsergot joined
ruoso hmm... I guess you're right... solving something down the path may solve something in the beggining of the array... 19:57
sorear colomon: yes, internal error. (Look at the stack trace) 19:58
dalek ast: 6c5c1dd | (Solomon Foster)++ | S03-operators/autoincrement.t:
Fudge for niecza.
20:00
ecza: 44e2a2a | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/autoincrement.t.
20:01
20:02 cognominal left, cognominal joined
kshannon phenny: tell kshannon he spelt ruoso's nick wrong... 20:03
phenny You can tell yourself that.
ruoso heh... 20:04
kshannon: but... did the solver ended in your setup? 20:06
kshannon I'm tempted to change my nick just so phenny can deliver the mis-addreesed message. Where I live physically might be a pigsty, but I like my virtual spaces clean...
yes. both with and wihtout my patch - as long as I provided a little over 15Gb of virtual memory for it to use. 20:08
20:09 replore joined, replore left
kshannon Before I added the extra swap space it would run until all virtual memory was used up and then be killed by the OS. 20:11
20:11 kshannon is now known as rouso
rouso hello phenny 20:11
phenny Hey rouso!
rouso: 07 May 19:24Z <BrowserUk> tell rouso please no with the cooroutines! They are cooperative. One uncooperative collaborator and everything hangs. The do not scale; cannot make use of multiple cores; require endless tuning for every small change. The are a dead technology--if you experienced Windows3 you know what I mean.
rouso: 07 May 19:29Z <BrowserUk> tell rouso Same thing for green threads. Don't expect implementations to write their own in-process schedulers and do anything like a good job in the first 5 tries. With at least 6-18 months between iterations. They also do not scale across multiple cores/processors. (I can buy a 48 cores system from AMD for $16,000 today). 64 cores next year. Beyond? 20:12
rouso: 07 May 19:31Z <BrowserUk> tell rouso Same thing for green threads. Don't expect implementations to write their own in-process schedulers and do anything like a good job in the first 5 tries. With at least 6-18 months between iterations. They also do not scale across multiple cores/processors. (I can buy a 48 cores system from AMD for $16,000 today). 64 cores next year. Beyond?
rouso: 19:35Z <kshannon> tell rouso that I made a small change to the sudoku cleanup-impossible-values ( gist.github.com/1544907 ) but it still needed 15GB to run to completion even if it completed in about half the output lines.
20:12 rouso is now known as kshannon
kshannon I see I'm not the only one who's misspelt it... 20:12
sorear o/ 20:13
kshannon \o
masak hello phenny 20:15
phenny Hey masak!
masak \o/
colomon nom: 'theXbigXbang'.split(/X/, -1)
p6eval nom 2b6f86: ( no output ) 20:16
colomon nom: 'theXbigXbang'.split(/X/, -1).perl.sat
p6eval nom 2b6f86: OUTPUT«Method 'sat' not found for invocant of class 'Str'␤ in block <anon> at /tmp/91Ay09UWmj:1␤ in <anon> at /tmp/91Ay09UWmj:1␤»
ruoso hah... may 07?
colomon nom: 'theXbigXbang'.split(/X/, -1).perl.say
p6eval nom 2b6f86: OUTPUT«().list␤»
colomon niecza: 'theXbigXbang'.split(/X/, -1).perl.say 20:18
p6eval niecza v13-32-gf166585: OUTPUT«["theXbigXbang"].list␤»
colomon ah, right
20:23 guest_ left
sorear ruoso: May 7th... of which year? 20:25
obviously written before the 48 core MacBooks were released 20:26
20:30 replore joined, replore left 20:35 bluescreen10 left 20:36 Moukeddar left 20:43 drbean left 20:46 GlitchMr is now known as PolakMr 20:48 bluescreen10 joined 20:49 drbean joined 20:51 replore joined 20:52 replore left 20:56 cooper joined, cooper left, cooper joined
masak .oO( but 47 cores go unused because I mostly use it to check my mail ) 21:02
21:05 drbean left 21:11 drbean joined 21:13 replore joined, replore left 21:19 thou left 21:20 mikemol left 21:22 Lilpid left
colomon woah, lots of fails in the niecza spectest! 21:25
21:26 snearch left
sorear wah? 21:28
21:28 PZt joined
sorear what'd I just break? 21:28
probably sig parsing
colomon: what's a failing file? 21:29
21:30 Trashlord left
colomon pick.t 21:30
Unhandled exception: No candidates for dispatch to pick; candidates are: 21:31
with no list following
sorear ick
colomon looks like that's happening on the first .pick
I notice it's a multi method.
sorear right. 21:33
21:34 replore joined, replore left
sorear I think I see the problem. 21:36
I wish git wouldn't change the modtime on every single file across a pull 21:38
it really confuses vim
dalek ecza: 412ed92 | sorear++ | lib/Kernel.cs:
Ignore optional parameters when computing min arity in new-MMD, colomon++
21:39
sorear 5.pick works now
21:43 moritz left, moritz joined 21:44 mikemol joined 21:46 fsergot left 21:52 REPLeffect left 21:54 fsergot joined 21:55 fsergot left, replore joined 21:56 replore left 22:05 drbean left 22:08 x3nU joined
colomon sorear++ 22:11
22:12 drbean joined 22:13 PolakMr is now known as GlitchMr 22:17 PacoAir left 22:22 mj41 joined 22:45 bluescreen10 left 22:46 GlitchMr left 22:52 Trashlord joined
masak I feel like my living room is the eye of a storm of tons of pyrotechnics. 22:54
22:55 sayu left
flussence free rave lighting! 22:56
masak glad I didn't go to bed and try to sleep ;) 22:57
22:57 drbean left
masak I think Samoa moved one day ahead just to get all these fireworks over with and move on with their lives. 22:58
oh well,
happy new year, people o/
flussence every end of year manages to completely ruin my sleep cycle. I've been doing 4pm-7am days for a week and I'll have to fix it soon :( 22:59
masak here's to a prosperous 2012 for Perl 6!
masak raises glass
kshannon *clink*
flussence o/
masak man, you weren't kidding about that rave lighting. 23:00
23:02 drbean joined 23:03 Chillance joined
Woodi happy and aver better year for all :) 23:03
masak \o/ 23:05
wanna see who finds the year's first rakudobug? :D
sorear o/ masak 23:06
masak \o
sorear is still on new year's eave :D
23:06 x3nU left
sorear if it gets too bright I'll board up my windows or something. 23:06
masak .oO( "I ain't been droppin' no eaves!" )
23:07 x3nU joined
masak sorear: I was a bit surprised that Niecza doesn't do ':(5)' -> ':(Int where { $_ ~~ 5 })' yet. 23:07
'course, it's just sugar, possible to live without... 23:09
23:13 bkolera joined
kshannon nom: sub fireworks($len) { eval '"' ~ (32 xx 32, 10017..10059).roll($len).map({ .fmt("\\x[%x]") }).join ~ '"'; }; say fireworks(70); 23:16
p6eval nom 2b6f86: OUTPUT« ❉✵✾✿✽ ✶ ✸✷ ❋❋ ✴ ✭✢ ✾ ❆✾ ✥ ✥✸ ❈ ✫✶✩✿❊ ✪ ✢❁✴✼❆ ✳❄✸✼✣ ❇❇ ❅✺ ✹✮❄❇❆␤»
kshannon Of course, it really needs some color... 23:17
sorear masak: niecza doesn't do :() or "where" either :p
kshannon nom: sub fireworks($len) { (32 xx 32, 10017..10059).roll($len).map(&chr).join }; say fireworks(70); 23:20
p6eval nom 2b6f86: OUTPUT«✱ ❃✬ ✤✬ ✫ ✮❅ ✤✷❅ ✵✩❄ ❀ ✵✵ ❆ ❆ ❇✷✪✦ ✿ ✿ ✱✨✼✹ ❃❊✻ ✤ ✼✴ ✺ ␤»
masak kshannon: pretty :) 23:23
nom: say (.chr for (32 xx 32, 10017..10059).roll(70)).join 23:25
p6eval nom 2b6f86: OUTPUT«✸✭✯✺ ❁ ✼✰ ❅ ✴ ✹✰✯❊❈✮ ✾ ✧ ❋ ✣ ✱✢ ❆ ✼ ✼ ✡✭❉❆ ✲✴❇✫ ✯ ✧❄❃✣ ✱ ␤»
colomon happy new years!
masak \o/ 23:26
colomon sorear: your last patch fixed .pick, but S02-names/pseudo.t is still failing. 23:28
colomon is packing up some whistles and nom and heading down to the new year's concert / potluck.
sorear colomon: will investigate 23:29
ahahahaha 23:30
it's the :D patch ... $CORE::_ is being interpreted as a modified $CORE:
masak ;)
23:32 integral joined 23:33 drbean left
dalek ecza: 6406010 | sorear++ | src/niecza:
$CORE::_ is not an :_-modified name
23:34
masak 'night, #perl6 23:38
23:39 drbean joined 23:42 replore joined, x3nU left 23:43 x3nU joined 23:47 replore left, Mowah left
Timbus nom: print 3.chr ~ (1..14).pick ~ .chr for (32 xx 32, 10017..10059).roll(70) 23:48
p6eval nom 2b6f86: OUTPUT«14❈9 3 11❃3✻4✵4❊11 11 14 6❀3 11✳10✲13 9 8 10❅11 5 10✦4✹12✻12 8 13 8❃11✹2 4✾6✽2✸8 9✷10❃10 5✪5✺12❉10 7✭10❂12✮12 12❇2✳10 14 3 8✿8✽1✿7✭9 3 8✩7✽11❆1✢9 4 10✶2❃14❄5 3✦2✫12 13 5✥»…
Timbus hoho 23:49
first try
slightly prettier 23:50
nom: print 3.chr ~ (2..13).pick ~ .chr for (32 xx 32, 10017..10059).roll(70)
p6eval nom 2b6f86: OUTPUT«6 4 4❂8 13❋2 11 4✴12 12✯3 3❇8❅4 11✶6❃11✶5 2 3 2✻12 10❁8 7✩11✮9✿11✻9❊11❃5 9 8 8 2 6❇5❈6 11 13✶11❂13✨7✫11 8 12❊13 4✽12❄7✲10✽2✬6❅3 5❃8 13 8 7 8✶6 6✯13❄11 6❊6✪4 2❊9 11 »…
Timbus NOW FOR THE SOUND EFFECTS *looks up the 'bell character' ascii code* 23:51