»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by masak on 28 November 2015.
Zoffix services. gives channel operator status to ChanServ 00:00
<Zoffix> ¯\_(ツ)_/¯
-_-
jdv79 is that like broseph?
timotimo i think so
so ... do we have "bruhgrammers" now? 00:01
00:01 lsm-desktop joined
zengargoyle roommates back in like '90 used bra with great frequency. 00:02
timotimo wow, i did not know it was already used early-ish like that
AlexDaniel wishes that all this stuff about bras was associated with DBIish
zengargoyle maybe 'brah', not that it was ever spelled... 00:03
00:03 ChanServ sets mode: +o Zoffix
timotimo DBIBro? 00:03
yeah, not everyone in the 90s could spell or write, right?
jdv79 nite 00:04
timotimo gnite jdv79!
00:04 Ch0c0late left, ChanServ sets mode: -o Zoffix
Zoffix huh? 00:06
diakopter sorry, I was just being silly
Zoffix takes away ChanServ's crack pipe
:)
Hotkeys quick question 00:09
is the difference between ++$x and $x++ that the postfix modifies the variable itself while the prefix doesn't 00:10
I could probably just test that but
flussence m: my $x = 1; say $x++; my $y = 1; say ++$y
camelia rakudo-moar f0a96d: OUTPUT«1␤2␤»
Zoffix Hotkeys, ++$x modifies and gives value; $x++ gives value and modifies
diakopter the difference is which value is returned by the expression; the variable is modified in both cases 00:11
Hotkeys oh okay
diakopter prefix means pre-increment, so increment before returning the value, logically
Hotkeys so one returns the original value and one returns the incremented value
Zoffix yup
Hotkeys alrighty
AlexDaniel m: my $x = 2; say +-$x;
camelia rakudo-moar f0a96d: OUTPUT«-2␤»
AlexDaniel m: my $x = 2; say -+$x;
camelia rakudo-moar f0a96d: OUTPUT«-2␤» 00:12
AlexDaniel m: my $x = 2; say -++$x;
camelia rakudo-moar f0a96d: OUTPUT«-3␤»
Zoffix AlexDaniel, show off! :)
AlexDaniel m: my $x = 2; say --++$x;
camelia rakudo-moar f0a96d: OUTPUT«Cannot call prefix:<-->(Int); none of these signatures match:␤ (Mu:D $a is rw)␤ (Mu:U $a is rw)␤ (Int:D $a is rw)␤ (int $a is rw)␤ (Bool $a is rw)␤ (Num:D $a is rw)␤ (Num:U $a is rw)␤ (num $a is rw)␤ in block <uni…»
AlexDaniel ah
Hotkeys m: my $x = 2; say ±$x;
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/axKWgSNfB3:1␤------> 3my $x = 2; say7⏏5 ±$x;␤Bogus postfix␤at /tmp/axKWgSNfB3:1␤------> 3my $x = 2; say 7⏏5±$x;␤ expecting any of:␤ infix␤ i…»
Hotkeys aw
AlexDaniel m: my $x = 2; say -$x--;
camelia rakudo-moar f0a96d: OUTPUT«-2␤»
lizmat commute from now busy lounge with post-Madonna visitors to quiet room&
AlexDaniel m: my $x = 2; say +$x++;
camelia rakudo-moar f0a96d: OUTPUT«2␤»
00:12 lizmat left
AlexDaniel Hotkeys: I've seen some code snippets here for ± to create a range 00:13
Hotkeys seems like it'd be simple to do myself
AlexDaniel Hotkeys: yeah, that's what it was 00:14
just a tiny bit of code :)
ooo
00:14 empT left
AlexDaniel now that's fun 00:14
m: my $x = 2; say $x+++--$x 00:15
camelia rakudo-moar f0a96d: OUTPUT«4␤»
Hotkeys beautiful
00:15 empT joined
AlexDaniel m: my $x = 2; say $x++-++$x # can do this 00:17
camelia rakudo-moar f0a96d: OUTPUT«-2␤»
AlexDaniel m: my $x = 2; say $x+++++$x # but can't do this, such a pity!
camelia rakudo-moar f0a96d: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match:␤ (Mu:D $a is rw)␤ (Mu:U $a is rw)␤ (Int:D $a is rw)␤ (int $a is rw)␤ (Bool:U $a is rw)␤ (Bool:D $a is rw)␤ (Num:D $a is rw)␤ (Num:U $a is rw)␤ (num …»
timotimo yeah, longest-token-matching; an earlier ++ wins over the possibility to have + ++ there ... or something like that
00:17 Skarsnik left
AlexDaniel timotimo: yeah 00:17
m: * 00:18
camelia ( no output )
00:18 empT left
AlexDaniel m: say * 00:18
camelia rakudo-moar f0a96d: OUTPUT«*␤»
00:19 lizmat joined
Hotkeys m: sub prefix:<±>(Int:D $n) { -$n...$n }; say ±2; 00:19
camelia rakudo-moar f0a96d: OUTPUT«(-2 -1 0 1 2)␤»
diakopter m: say my $x = EVAL BEGIN '++($x)'; say $x 00:20
camelia rakudo-moar f0a96d: OUTPUT«1␤1␤»
diakopter mahaha
AlexDaniel Hotkeys: I love it
Hotkeys is there a way to do decreasing ranges without resorting to a sequence
timotimo yeah
AlexDaniel Hotkeys: - 5?
timotimo m: my $r = 1..10; say $r - 5
camelia rakudo-moar f0a96d: OUTPUT«-4..5␤»
Hotkeys m: say (-3..3).list; say(3..-3).list 00:21
camelia rakudo-moar f0a96d: OUTPUT«(-3 -2 -1 0 1 2 3)␤3..-3␤»
timotimo m: my $r = 1..10; say $r - 5; say $r * 10
camelia rakudo-moar f0a96d: OUTPUT«-4..5␤10..100␤»
AlexDaniel m: sub prefix:<±>(Int:D $n) { -$n...$n }; say ±2 - 5
camelia rakudo-moar f0a96d: OUTPUT«0␤»
leont travis-ci.org/Leont/tap-harness6/b...28819#L921 :-(
AlexDaniel m: sub prefix:<±>(Int:D $n) { -$n...$n }; say (±2 - 5)
camelia rakudo-moar f0a96d: OUTPUT«0␤»
AlexDaniel m: sub prefix:<±>(Int:D $n) { -$n..$n }; say (±2 - 5)
camelia rakudo-moar f0a96d: OUTPUT«-7..-3␤»
AlexDaniel m: sub prefix:<±>(Int:D $n) { -$n..$n }; say ±2 - 5
camelia rakudo-moar f0a96d: OUTPUT«-7..-3␤»
timotimo leont: ;_;
Hotkeys but I mean like 00:22
9..1
m: say 2 ~~ 9..1;
camelia rakudo-moar f0a96d: OUTPUT«False␤»
Hotkeys m: say 2 ~~ 1..9;
camelia rakudo-moar f0a96d: OUTPUT«True␤»
AlexDaniel ah reversed ranges?
Hotkeys yeah
AlexDaniel no such thing that I know of
m: sub prefix:<±>(Int:D $n) { -$n..$n }; say ±2 * -5 00:23
camelia rakudo-moar f0a96d: OUTPUT«10..-10␤»
timotimo yeah, ranges are always low-to-high
AlexDaniel wtf is that?
timotimo if the number on the right is lower than the number on the left, it's an empty range instead
Hotkeys why is that?
AlexDaniel m: say 10..-10 00:24
camelia rakudo-moar f0a96d: OUTPUT«10..-10␤»
timotimo that's just how they are built, designed and meant to function
Hotkeys I guess they still encompass the same range of values
AlexDaniel hm but you can still create it though
timotimo yeah
it won't throw an exception or anything
Hotkeys it gets represented, but it is just empty
timotimo m: say @(10..-10)
camelia rakudo-moar f0a96d: OUTPUT«()␤»
timotimo um ... urgh.
was that just slow? 00:25
ah
Hotkeys hm?
timotimo i thought it was going off and iterating from 10, 11, 12, ... until it hits -10
Hotkeys I didn't see anything strange
timotimo it just took much longer than i expected 00:26
Hotkeys both were within the same second for me
:p
Zoffix Same.
timotimo 012146 was my command, 012154 was my urgh, 012215 was camelias response ... at least to my machine
Zoffix You were just lagging
m: say @(10..-10)
camelia rakudo-moar f0a96d: OUTPUT«()␤»
timotimo most probably
yeah, i had tested it locally, too, where it was instant also 00:27
AlexDaniel m: ++++++++++++---------*
camelia ( no output )
Hotkeys m: sub prefix:<±>(Int:D $n) { $n.=abs; -$n..$n }; say ±(-2); 00:28
camelia rakudo-moar f0a96d: OUTPUT«Cannot modify an immutable Int␤ in sub prefix:<±> at /tmp/yOyZ8XnPIY:1␤ in block <unit> at /tmp/yOyZ8XnPIY:1␤␤»
Hotkeys oops
AlexDaniel is copy
Zoffix m: sub prefix:<±>(Int:D $n is copy) { $n.=abs; -$n..$n }; say ±(-2);
camelia rakudo-moar f0a96d: OUTPUT«-2..2␤»
Zoffix m: sub prefix:<±>(Int:D $n is copy) { $n.=abs; -$n..$n }; say ±(Inf);
camelia rakudo-moar f0a96d: OUTPUT«Type check failed in binding $n; expected Int but got Num␤ in sub prefix:<±> at /tmp/H1EGH1pF73:1␤ in block <unit> at /tmp/H1EGH1pF73:1␤␤»
Hotkeys ty
Zoffix :( 00:29
Hotkeys oh
Zoffix m: sub prefix:<±>(Num:D $n is copy) { $n.=abs; -$n..$n }; say ±(Inf);
camelia rakudo-moar f0a96d: OUTPUT«-Inf..Inf␤»
Hotkeys rip
Zoffix :O
00:29 n0tjack joined
Hotkeys probably smarter to use num anyway 00:29
Zoffix m: sub prefix:<±>(Num:D $n is copy) { $n.=abs; -$n..$n }; say ±(NaN);
camelia rakudo-moar f0a96d: OUTPUT«NaN..NaN␤»
Zoffix Perl 6 is smarter than me :(
Hotkeys Also I'll never get tired of the smilies
for definedness checking
AlexDaniel Hotkeys: me too… 00:30
Hotkeys :D and :U
timotimo :_ isn't such a smiley-like smiley :(
Hotkeys it's just a broken smiley
the eyes have unhinged from the mouth (or vice versa) 00:31
Zoffix m: sub prefix:<±>(Num:D $n is copy) { $n.=abs; (-$n..$n) xx 10, 'batman' }; say ±(NaN);
camelia rakudo-moar f0a96d: OUTPUT«((NaN..NaN NaN..NaN NaN..NaN NaN..NaN NaN..NaN NaN..NaN NaN..NaN NaN..NaN NaN..NaN NaN..NaN) batman)␤»
AlexDaniel the happiest perl6 program in the world! 00:32
m: :D
camelia ( no output )
Hotkeys lol
AlexDaniel m: :U
camelia ( no output )
Hotkeys m: say 2 ~~ 1...3
camelia rakudo-moar f0a96d: OUTPUT«(False True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True…»
Hotkeys heh
sequences
AlexDaniel Hotkeys: I don't really get this one 00:33
Hotkeys me either
Zoffix m: say 1...3
camelia rakudo-moar f0a96d: OUTPUT«(1 2 3)␤»
Zoffix :S
Hotkeys m: say 2 ~~ 1..3
camelia rakudo-moar f0a96d: OUTPUT«True␤»
AlexDaniel m: say 2 ~~ (1, 2, 3)
Hotkeys makes much more sense
camelia rakudo-moar f0a96d: OUTPUT«False␤»
00:33 lichtkind left, n0tjack left
Zoffix m: say eager 1...3 00:34
camelia rakudo-moar f0a96d: OUTPUT«(1 2 3)␤»
Hotkeys m: say 2 ~~ any(1, 2, 3)
camelia rakudo-moar f0a96d: OUTPUT«True␤»
Hotkeys AlexDaniel:
m: say 2 ~~ any(1...3)
camelia rakudo-moar f0a96d: OUTPUT«True␤»
Hotkeys works I guess
still not as pretty as the range one
AlexDaniel but why does it go True True True True True… ? 00:35
dalek kudo-star-daily: 44a6126 | coke++ | log/ (2 files):
today (automated commit)
AlexDaniel what's so infinite about it?
timotimo 2 ~~ 1 ... 3 is actually "True ... 3"
er, i mean
False ... 3
m: say False ... 3 00:36
camelia rakudo-moar f0a96d: OUTPUT«(False True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True…»
AlexDaniel aaaaaah
riiiiiight
Hotkeys m: say 2 ~~ (1...3);
camelia rakudo-moar f0a96d: OUTPUT«False␤»
timotimo m: say 1...3
camelia rakudo-moar f0a96d: OUTPUT«(1 2 3)␤»
AlexDaniel ok I got it… wow
timotimo i think matching against a list will want the LHS to be list-structured, too
00:36 leont left
Hotkeys m: say 2, ~~ (1...3); 00:37
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/z6zjjlnOJK␤Expected a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use a space like ~ ~)␤at /tmp/z6zjjlnOJK:1␤------> 3say 2, ~~7⏏5 (1...3);␤»
Hotkeys I'm smrt
m: say (2) ~~ (1...3);
camelia rakudo-moar f0a96d: OUTPUT«False␤»
timotimo trailing comma really only works in some circumstances, like an argument list
m: say (2,) ~~ (1...3)
camelia rakudo-moar f0a96d: OUTPUT«False␤»
timotimo m: say (1,2,3) ~~ (1...3)
camelia rakudo-moar f0a96d: OUTPUT«False␤»
timotimo m: say (1,2,3) ~~ (1, 2, 3)
camelia rakudo-moar f0a96d: OUTPUT«True␤»
timotimo interesting 00:38
Hotkeys m: say 2,;
camelia rakudo-moar f0a96d: OUTPUT«2␤»
Hotkeys woo
I'm an expert 00:41
timotimo can you draw seven perpendicular lines? 00:43
[Coke] adds woolfy to the credits. 00:44
Hotkeys yes
with both green and transparent ink
timotimo love that sketch!
Hotkeys yeah
timotimo are you interested in seeing a video of a cat snuggling up to a bearded man's face? 00:45
Hotkeys Can you draw seven perpendicular red lines, some with green ink, some with transparent ink, and one in the form of a kitten?
definitely a possible thing
for an expert like me 00:46
timotimo yup. experts can do things like that
Hotkeys I don't really do videos while in lecture
timotimo oh, OK
Hotkeys I prefer to waste my time in text chats
lizmat [Coke]: woolfy will appreciate that :-)
timotimo well, that video is perfectly fine when muted
Hotkeys not paying attention etc.
lizmat m: say CurrentThreadScheduler.new.cue( { 42 }, :catch( { say "caught"; default { say "default" } }) ) # works fine
camelia rakudo-moar f0a96d: OUTPUT«(<anon|645373056>)␤»
Hotkeys but at least irc chat looks kind of like I'm doing productive things
beard cat videos don't 00:47
timotimo oh, i see
lizmat m: say CurrentThreadScheduler.new.cue( { die }, :catch( { say "caught"; default { say "default" } }) ) # not so good
camelia rakudo-moar f0a96d: OUTPUT«caught␤default␤Nil␤»
Hotkeys I also avoid facebook etc.
Zoffix :o
timotimo avoiding facebook's a good idea in any case :)
Hotkeys perl 6 doc site really breaks the illusion
Zoffix but Facebook is where all the fun's at!
Hotkeys with the big butterfly drawing
Zoffix i've just seen lizmat's picture there!
timotimo Hotkeys: install a userscript that hides 'er :) 00:48
Hotkeys is such a thing even possible?
Zoffix yes
Hotkeys my facebook picture has been a flag for over a year now
Zoffix Hotkeys, what browser? For Firefox there's greasemonkey. For Chrome.. I forget the name, but if you google "greasemonkey for chrome" I'm sure you get it :)
Hotkeys (I am a flag to)
I have tampermonkey 00:49
which is the equiv for chrome
Zoffix Ah, yeah that is it
lizmat (I'm not on facebook)
Hotkeys I was just joking
AlexDaniel m: sub ___{}; *^___^* # more smileys!
camelia ( no output )
Hotkeys this new perl 6 intro is nice as well (perl6intro.com)
timotimo yup, it is 00:50
Zoffix lizmat, you are in this pic, which is the header of the Facebook Perl 6 group :) scontent-yyz1-1.xx.fbcdn.net/hphot...5064_o.jpg
(and you are tagged in that pic)
lizmat yeah, I guess so :-)
Zoffix :)
lizmat
.oO( and nobody says anything about the life-size Camelia in the background :-)
00:51
diakopter m: say my $x = EVAL BEGIN '++($x=33)'; say END BEGIN END BEGIN END BEGIN $x
camelia rakudo-moar f0a96d: OUTPUT«34␤Nil␤»
Zoffix :o
AlexDaniel m: | :[] 00:52
camelia ( no output )
AlexDaniel m: | :()
camelia ( no output )
Hotkeys are you still trying to make face programs 00:53
AlexDaniel shh
Hotkeys diakopter: what did you just do
diakopter Hotkeys: working around this
m: say my $x = $x 00:54
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Zps4XK3Bos␤Cannot use variable $x in declaration to initialize itself␤at /tmp/Zps4XK3Bos:1␤------> 3say my $x = $7⏏5x␤ expecting any of:␤ term␤»
Hotkeys ah
AlexDaniel what a wonderful error message
Hotkeys why work around it
seems like a reasonable thing
AlexDaniel mm 00:55
m: my $x = 5; sub foo { my $x = $x }; foo
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/odrl_6WZ0W␤Cannot use variable $x in declaration to initialize itself␤at /tmp/odrl_6WZ0W:1␤------> 3my $x = 5; sub foo { my $x = $7⏏5x }; foo␤ expecting any of:␤ term␤»
diakopter m: say my ($x, $y) = (EVAL BEGIN '$y=6'),(EVAL BEGIN '$x=4');
camelia rakudo-moar f0a96d: OUTPUT«(6 4)␤»
AlexDaniel m: my $x = 5; sub foo { my $x = OUTER::$x }; foo 00:56
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IBP_0juoBC␤Malformed lookup of ::$x; please use ::('$x'), ::{'$x'}, or ::<$x>␤at /tmp/IBP_0juoBC:1␤------> 3my $x = 5; sub foo { my $x = OUTER7⏏5::$x }; foo␤»
AlexDaniel m: my $x = 5; sub foo { my $x = ::$x }; foo
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FD66ne1Jq2␤Malformed lookup of ::$x; please use ::('$x'), ::{'$x'}, or ::<$x>␤at /tmp/FD66ne1Jq2:1␤------> 3my $x = 5; sub foo { my $x =7⏏5 ::$x }; foo␤ expecting any of:␤ term␤»
AlexDaniel m: my $x = 5; sub foo { my $x = ::<$x> }; foo
camelia ( no output )
AlexDaniel m: my $x = 5; sub foo { my $x = ::<$x>; say $x }; foo 00:57
camelia rakudo-moar f0a96d: OUTPUT«(Any)␤»
AlexDaniel nah
Zoffix Curses! I wanted to use Text::Markov for my advent article and its got an @*INC bug in tests :P
Zoffix sends a PR
AlexDaniel m: my $x = 5; sub foo { my $x = OUTER::<$x>; say $x }; foo
camelia rakudo-moar f0a96d: OUTPUT«5␤»
AlexDaniel alright!
Hotkeys there's a markov chain module? neato 00:58
Zoffix Yeah :)
timotimo autovivification makes that super awesome, IMO 01:00
%h{$word1}{$word2}{$word3}++
lizmat m: sub a($a) { $a(); CATCH { default { say "default" } }; 42 }; say a( -> { die } ) # shorter version 01:02
camelia rakudo-moar f0a96d: OUTPUT«default␤Nil␤»
lizmat I sorta expect this to say 42
Zoffix .tell nine not sure how feasible it is, but it would be nicer if the precomp stuff happened in the OS's temp dir instead of .precomp. Currently, if I run prove in some dist's repo, I have to either list lib/.precomp in .gitignore or be careful not to make it part of my commit :) which is kinda annoying :)
yoleaux Zoffix: I'll pass your message to nine.
lizmat am I wrong ?
flussence Zoffix: nice timing, I just sent in a PR for exactly that 01:03
lizmat flussence Zoffix : I think we want precomped modules to be more permanent than living in a temp dir 01:04
flussence mine just does it for ::FileSystem ones, which a `git clean -dfx` in a module dir blows away anyway
geekosaur possibly just tests should use a tmpdir for precomp? 01:05
timotimo i don't know why i stayed up so late. i should go to bed 01:06
01:07 empT joined 01:09 quester left
lizmat just submitted #126789 01:09
timotimo: know the feeling
01:11 cdg left
lizmat m: my %h; %h<foo><bar><baz> := my $foobarbaz; dd %h; $foobarbaz = 42; dd %h 01:11
camelia rakudo-moar f0a96d: OUTPUT«Hash $var = ${:foo(${:bar(${:baz(Any)})})}␤Hash $var = ${:foo(${:bar(${:baz(Any)})})}␤»
01:12 empT left
timotimo gnite! :) 01:12
lizmat hmmm.....
01:12 yeahnoob joined
lizmat good night, timotimo! 01:12
m: my %h; my $a := %h<foo><bar><baz>; dd %h; $fa = 42; dd %h
camelia rakudo-moar f0a96d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_JM_35Y3y1␤Variable '$fa' is not declared␤at /tmp/_JM_35Y3y1:1␤------> 3 %h; my $a := %h<foo><bar><baz>; dd %h; 7⏏5$fa = 42; dd %h␤»
lizmat m: my %h; my $a := %h<foo><bar><baz>; dd %h; $a = 42; dd %h
camelia rakudo-moar f0a96d: OUTPUT«Hash $var = ${}␤Hash $var = ${:foo(${:bar(${:baz(42)})})}␤»
lizmat
.oO( the magic of .WHENCE )
01:13
Hotkeys .WHENCE? 01:14
Zoffix bbkr_, sent you a PR: github.com/bbkr/text_markov/pull/3 01:17
AlexDaniel *⃰
01:18 snarkyboojum joined
lizmat $!whence is a Scalar attribute that may hold code to do initialization 01:19
Hotkeys I wish we still used whence, hence, thence, whither, hither, thither 01:20
but it would sound ridiculous and pompous to use them today
:(
except poetically
(and hence in its other definition as therefore) 01:21
01:21 Actualeyes joined 01:22 kid51 left 01:23 Zoffix left, kid51 joined
Goonthen :( 01:27
01:27 hudo joined 01:28 csd_ joined
Hotkeys :_ 01:29
01:30 n0tjack joined
Hotkeys .u ␤ 01:34
yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
Hotkeys neat
Goonthen python
01:35 n0tjack left
Hotkeys perl 01:35
lizmat good night, #perl6! 01:36
Goonthen ^_^
01:36 TimToady left
Goonthen Can't understand the codes I wrote one month ago :( 01:37
Too hard to maintain
Hotkeys lol
Did you include comments? :p 01:38
Goonthen yes, but very few.
I guess that's the main reason
01:38 TimToady1 joined
lizmat .tell jnthn in t/spec/S17-supply/syntax.t, add =finish at line 227, to reliably cause a SIGABRT after test 16 01:40
yoleaux lizmat: I'll pass your message to jnthn.
lizmat .tell jnthn looks like there's still some voodoo going on wrt to supply blocks, at least on OS X
yoleaux lizmat: I'll pass your message to jnthn.
lizmat really sleep&
Hotkeys Goonthen: sometimes I write spaghetti code when I don't think I'll ever need to look at it again (For personal utilities) 01:41
and then i need to look at it again and hate myself 01:42
Goonthen AAny idea how to avoid this ? More comments ? 01:43
AlexDaniel Goonthen: just start liking it!
.oO( oh look! This is so complicated! I must have been so smart! )
01:44
Goonthen <lol
AlexDaniel Goonthen: just try to keep it simple 01:45
especially the flow 01:46
01:54 zengargoyle left 01:59 empT joined 02:03 empT left, rurban left 02:08 muraiki joined 02:09 dayangkun joined 02:11 zengargoyle joined 02:12 molaf joined 02:18 dayangkun left 02:21 hudo left 02:22 Goonthen left 02:25 csd_ left
dj_goku hi 02:27
yoleaux 2 Dec 2015 07:39Z <timotimo> dj_goku: panda ships with JSON::Fast so that it can use it before it is able to install stuff from the ecosystem by itself; i asked tadzik to wait with updating pandas copy because SEQ was just about to get deprecated and that would have broken panda
2 Dec 2015 07:39Z <timotimo> dj_goku: when all people can be assumed to have a new-enough rakudo, i'll tell tadzik to update JSON::Fast again so that the speed increase can be felt far and wide
02:29 muraiki left
dj_goku .tell timotimo is there a reason against using say git submodule vs copy/pasting code into the panda repo? 02:30
yoleaux dj_goku: I'll pass your message to timotimo.
02:31 n0tjack joined, molaf_ joined 02:34 molaf left 02:35 n0tjack left, dayangkun joined
[Coke] submodule lets you easily update. 02:39
DRY.
02:41 kaare_ joined 02:43 zacts joined 02:48 BenGoldberg joined 02:52 kid51 left 02:55 kaare_ left 02:56 zacts left 02:59 zacts joined
dj_goku [Coke]: :D that is the idea! 03:01
03:03 lustlife joined 03:04 sno left 03:08 Zoffix joined 03:09 noganex_ joined 03:12 noganex left
diakopter hunh, PHP 7.0.0 released this week; they skipped version 6 ... for reasons that might not be surprising.. www.phpclasses.org/blog/post/242-PH...-Date.html 03:14
TEttinger haha 03:16
Those that were in favor of PHP 7 claimed that PHP 6 was the name of a PHP branch that was killed in 2010. That was a very ambitious development that aimed to bring Unicode support as standard to all PHP text handling.
oh no... so ambitious...
no language with a 6 in it could possibly support unicode...
llfourn or be have 6.0 release in 2015...
reinforcing the belief of PHP fans they have made the right choice to invest on a language that is leading its market 03:17
there are too many things wrong in this sentence 03:18
03:20 Actualeyes left
diakopter well, PHP is in fact growing the 3rd fastest of the language repositories (behind JS and Go), according to modulecounts.com 03:23
.NET, Python, and Ruby round out the 2nd tier 03:24
03:24 iguanodon joined
diakopter er, and Java 03:24
.NET, Python, Java, and Ruby round out the 2nd tier
Clojure, Perl, Rust, Haskell, Lua, Perl 6, and some others comprise the 3rd tier of growth rates 03:26
03:28 molaf_ left
retupmoca .tell nine github.com/rakudo/rakudo/pull/612 fixes my PERL6LIB issues 03:28
yoleaux retupmoca: I'll pass your message to nine.
03:30 iguanodon left 03:31 n0tjack joined 03:34 snarkyboojum left 03:35 n0tjack left 03:39 molaf joined
dalek kudo/nom: 2729631 | TimToady++ | src/ (2 files):
refactor same(space,case,mark)

The :ss, :ii, and :mm now all work together, and the latter two go with word-by-word mapping whenever :sigspace is in effect.
03:39
ast: 91c26aa | TimToady++ | S (4 files):
tests for same(space,case,mark) semantics
03:40
llfourn diakopter: amazing that npm has over 200,000 modules o.o 03:41
diakopter yah 03:42
ShimmerFairy TimToady: do they have the same behavior for when the destination string is longer than the pattern? I remember that one of them (samecase?) just repeated the last pattern across the remaining string, while the others simply stopped.
yoleaux 2 Dec 2015 22:12Z <[Coke]> ShimmerFairy: did the credits conversion, you're off the hook.
diakopter llfourn: even more amazing they have nearly 300 uploads per day 03:43
and still climbing, apparently 03:44
llfourn diakopter: and apparently 131 million downloads www.npmjs.com/
I guess it's all the new stuff that has js libs being written for them
I know that my friends vaccume clearner thing runs node 03:45
diakopter 131 million downloads in the last day
that's a lot
llfourn it's as masak++ said, JS has won
03:45 km3 joined
diakopter if you put modulecounts.com on "All time" view, you can rest knowing that, even as of 2010, Perl was ahead in quantity 03:46
Mouq TimToady++
yoleaux 1 Dec 2015 09:35Z <ShimmerFairy> Mouq: now that I can use perl6, I'm also seeing the same strange parse fail in SUPERNOVA's test.p6 that wasn't there pre-CURI. Weird, I'll have to look into it when I have time.
MadcapJake Zoffix: I don't know how easy it would be but you might try using github.com/atom/highlights with my syntax-highlighter to generate the html. 03:47
llfourn mm it's interesting that perl was so far ahead in the idea of easily packaging and distributing modules
diakopter (but in 2010, the others were already growing far, far faster)
llfourn well I guess it's quality not quantity in the end -- I don't really want to browse 200,000 modules to find the one I need lol 03:49
Mouq Were there any serious precedents to CPAN?
TimToady1 ShimmerFairy: case and mark repeat the last word, space just uses the existing spaces 03:52
03:52 empT joined 03:53 yqt left
diakopter Mouq: I don't think so 03:53
03:54 TimToady1 is now known as TimToady, TimToady left, TimToady joined
ShimmerFairy m: say "foo bar baz".samespace("a b"); say "foobar".samemark("äöü"); say "foobar".samecase("BaZ"); # TimToady: this is what I meant. samecase carries the last pattern (uppercase) through, but mark and space don't do that 03:56
camelia rakudo-moar 272963: OUTPUT«foo bar baz␤f̈ööbar␤FoOBAR␤»
TimToady the methods are primitives, I'm talking about the s/// form 03:59
ShimmerFairy (to be a bit more concrete, consistency with the other two functions would suggest "FoObar" instead of "FoOBAR")
ah, ok then :)
TimToady those methods are applied word by word when sigspace is in effect, and the last pattern word repeats
otherwise they call the methods directly, so would be what you observe 04:00
it makes more sense to extend the last letter of case than the last letter of mark
though an argument could be made for extending some marks
and perhaps that would be a better default 04:01
ShimmerFairy I agree extending the mark doesn't make much sense, my concern is just that via the primitive methods, .samecase does something different that the other two .same* methods. I personally can't think offhand of a case where I'd want FoOBAR
TimToady however, consider Foobar as tclc 04:02
you do want the rest of the word lc
ShimmerFairy
.oO(If we had Cats you could just do $str.samecase("A" x *) )
TimToady as it happens, you can define your own filter now and feed it to .word-by-word
ShimmerFairy ah, true. I suppose I just don't use the .same* methods often enough anyway, it was just a seeming inconsistency I spotted some time back :) 04:03
TimToady it's an inconsistency that almost been well considered :)
MadcapJake any idea when perl6-debug-m will work again? 04:06
TimToady there are really two very different use cases for marks, one of which is for natural language orthography, where you rarely get the same mark on multiple characters, vs novelty marks like circles and underbars that do want to work on multiple adjacent characters 04:07
my thinking was perhaps unduly influenced by the former usage, but perhaps a mark repeat policy can support the latter without having a large impact on the former 04:08
ShimmerFairy TimToady: about samemark doing the same thing, it'd only make sense for things like keycap marks, e.g. $sequence.samemark("\x20E3") , and not so much for languages. Since I don't know if there's a decent method of finding the "repeatable" ones, I'm not sure if the default is worth changing.
TimToady so maybe I'll make it consistent with cases
ShimmerFairy m: say "foobar".samecase("BAZ ")
camelia rakudo-moar 272963: OUTPUT«FOObar␤»
ShimmerFairy ^ there's a way to get the "don't repeat" behavior, at least :)
TimToady hmm, I thought that one would repeat 04:09
diakopter llfourn: after a bit of analysis, the 50-day moving average for CPAN's growth rate has been in the single digits since modulecounts started recording (2010)
TimToady oh, wait, that's the primitive again...
diakopter (and declining since then, gradually from high single digits to low single digits today) 04:10
04:11 molaf left
TimToady m: $_ = "BAZ "; ss:ii/\w+ /foobar/; .say 04:11
camelia rakudo-moar 272963: OUTPUT«FOOBAR␤»
TimToady that one extends
m: $_ = "oöö"; ss:ii/\w+ /foobar/; .say 04:12
camelia rakudo-moar 272963: OUTPUT«foobar␤»
TimToady m: $_ = "oöö"; ss:mm/\w+ /foobar/; .say
camelia rakudo-moar 272963: OUTPUT«fööbar␤»
TimToady that one doesn't, but arguably should
m: $_ = "o⃨"; ss:mm/\w+ /foobar/; .say 04:14
camelia rakudo-moar 272963: OUTPUT«f⃨oobar␤»
04:14 empT_ joined 04:17 empT left 04:23 vendethiel joined
dalek kudo/nom: 807e2ef | retupmoca++ | src/core/Process.pm:
Fix forward-slash vs back-slash confusion in Win32

In windows C:\a\b and C:/a/b refer to the same location, but @INC.unique thinks they are different, so we canonicalize all paths to C:\a\b on windows.
Fixes the issue in gist.github.com/retupmoca/01d09301ac7fc3fd2013
04:27
kudo/nom: 323accf | retupmoca++ | src/core/Process.pm:
Also canonicalize paths is %*CUSTOM_LIB
kudo/nom: f59ce1d | (Matthew Wilson)++ | src/core/Process.pm:
Merge pull request #612 from retupmoca/perl6lib-slashes

Fix forward-slash vs back-slash confusion in Win32
04:32 n0tjack joined 04:34 mohij joined 04:35 bpmedley left 04:36 n0tjack left 04:38 patrickz left, zengargoyle left 04:42 empT joined 04:43 empT_ left 04:46 skids left, vendethiel left 04:49 Actualeyes joined
TimToady m: say "o⃨" ~~ m:m/o/ 04:51
camelia rakudo-moar f59ce1: OUTPUT«False␤»
TimToady I have found a bug! 04:52
m: say "ö" ~~ m:m/o/
camelia rakudo-moar f59ce1: OUTPUT«「ö」␤»
TimToady m: say "o⃝" ~~ m:m/o/ 04:53
camelia rakudo-moar f59ce1: OUTPUT«False␤»
TimToady m: say "o⃝" ~~ m:m/\w/
camelia rakudo-moar f59ce1: OUTPUT«「o⃝」␤»
dalek kudo/nom: fc4bf6f | TimToady++ | src/core/Str.pm:
extend last mark to be like last case

I decided that repeating novelty combiners will likely be the more common use of the construct than trying to tweak words from natural languages.
04:56
ast: f9d5b9d | TimToady++ | S05-modifier/samemark.t:
tweak for samemark extension semantics

  (also shows a bug in :ignoremark matching)
04:58
TimToady m: say "o⃝" ~~ m:m:i/o/ 05:08
camelia rakudo-moar f59ce1: OUTPUT«chr codepoint cannot be negative␤ in block <unit> at /tmp/1T8Oc0sTEs:1␤␤»
TimToady cool!
j: say "o⃝" ~~ m:m:i/o/ 05:12
camelia rakudo-jvm e3c591: OUTPUT«Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.␤»
TimToady j: say "o⃝" ~~ m:m/o/
camelia rakudo-jvm e3c591: OUTPUT«===SORRY!===␤java.lang.RuntimeException: ordbaseat NYI␤»
TimToady m: nqp::ordbaseat("o⃝", 0).say 05:13
camelia rakudo-moar fc4bf6: OUTPUT«-2␤»
TimToady hah!
m: nqp::ordbaseat("oö", 0).say 05:14
camelia rakudo-moar fc4bf6: OUTPUT«111␤»
TimToady m: nqp::ordbaseat("ö", 0).say
camelia rakudo-moar fc4bf6: OUTPUT«111␤»
05:20 yeahnoob_ joined 05:22 csd_ joined 05:23 yeahnoob left 05:27 csd_ left 05:31 AlexDaniel left 05:33 n0tjack joined 05:36 Ben_Goldberg joined 05:37 n0tjack left 05:38 yeahnoob_ left, zengargoyle joined, BenGoldberg_ joined, BenGoldberg_ left 05:39 ribasushi left, raiph left, BenGoldberg left, yeahnoob joined 05:41 Ben_Goldberg left
TimToady m: $_ = "o⃨"; say Ss:mm/\w+ /foobar/; 05:45
camelia rakudo-moar fc4bf6: OUTPUT«f⃨o⃨o⃨b⃨a⃨r⃨␤»
TimToady ShimmerFairy: ^^ 05:46
ShimmerFairy cool :)
TimToady m: $_ = "o⃨"; say Ss:mm/o+ /foobar/;
camelia rakudo-moar fc4bf6: OUTPUT«o⃨␤»
TimToady that's the bug diakopter++ and I are hunting on two ends of the same sofa... 05:47
(the nqp::ordbaseat bug)
05:49 yeahnoob left 05:50 yeahnoob joined, ribasushi joined
dalek p: 8e5026c | TimToady++ | tools/build/MOAR_REVISION:
bump MoarVM to get ordbaseat patch
06:02
kudo/nom: d6f783b | TimToady++ | tools/build/NQP_REVISION:
bump NQP to get ordbaseat fix
06:03
06:05 empT left
TimToady m: $_ = "o⃨"; say Ss:mm/o+ /foobar/; 06:12
camelia rakudo-moar d6f783: OUTPUT«f⃨o⃨o⃨b⃨a⃨r⃨␤»
TimToady \o/
dalek ast: 7a89eb5 | TimToady++ | S05-modifier/samemark.t:
faulty test is faulty, :m ain't :mm
06:14
06:17 dj_goku left 06:18 dj_goku joined, dj_goku left, dj_goku joined 06:29 empT joined 06:30 telex left 06:32 telex joined 06:33 Actualeyes left 06:34 n0tjack joined 06:38 n0tjack left 06:49 domidumont joined 06:57 domidumont left 07:07 darutoko joined 07:13 zengargoyle left 07:14 domidumont joined 07:15 bjz joined
stmuk_ the SHA hash filenames are going to make debugging harder IMO 07:16
yoleaux 2 Dec 2015 19:32Z <ZoffixW> stmuk_: sent you a PR: github.com/stmuk/p6-Text-VimColour/pull/11
[Tux] test 50000 22.732 22.621 07:17
test-t 50000 20.550 20.439
csv-parser 50000 26.298 26.187
07:19 _nadim left
TimToady jnthn: haven't thought much more about Rxx, but need to fix export of precedence traits, and that's no so far off from where we'd hang thunkme bits 07:21
07:22 Actualeyes joined 07:26 bjz left 07:35 n0tjack joined 07:39 esh joined, n0tjack left, rurban joined
nine stmuk_: there is most probably a way to get better information for debugging despite using shas for the file names. 07:42
yoleaux 01:02Z <Zoffix> nine: not sure how feasible it is, but it would be nicer if the precomp stuff happened in the OS's temp dir instead of .precomp. Currently, if I run prove in some dist's repo, I have to either list lib/.precomp in .gitignore or be careful not to make it part of my commit :) which is kinda annoying :)
03:28Z <retupmoca> nine: github.com/rakudo/rakudo/pull/612 fixes my PERL6LIB issues
nine .tell retupmoca excellent! 07:43
yoleaux nine: I'll pass your message to retupmoca.
07:45 baest left, baest joined 07:49 _mg_ joined, csd_ joined, sno joined 07:53 bjz joined, csd_ left
moritz \o 07:54
m: sub a($a) { $a(); CATCH { default { say "default" } }; say 42 }; say a( -> { die } ) 08:00
camelia rakudo-moar d6f783: OUTPUT«default␤Nil␤»
nine .tell Zoffix probably too late but for future reference: I syntax highlight my presentation slides by opening the file in vim which is running in KDE's konsole. Then I use konsole's "Save output as" to save it to an HTML file. That I copy&paste into LibreOffice. 08:04
yoleaux nine: I'll pass your message to Zoffix.
08:09 domidumont left 08:11 abraxxa joined
moritz nine: sounds like Text::VimColor would be easier to automate 08:15
s/to automate/for automation/ 08:16
nine moritz: of course :) 08:20
08:20 dayangkun left 08:21 dayangkun joined 08:22 ely-se_ joined 08:24 RabidGravy joined 08:27 Actualeyes left
mrf_ morning 08:31
08:34 roguelazer left, skarn left 08:35 _nadim joined, n0tjack joined 08:36 roguelazer joined, skarn joined 08:40 n0tjack left 08:48 dakkar joined 08:50 lustlife left, lustlife joined
RabidGravy morning 08:51
08:54 xfix joined 08:57 empT left 09:21 zakharyas joined
jnthn TimToady: OK, I leave it with you then :) 09:27
yoleaux 01:40Z <lizmat> jnthn: in t/spec/S17-supply/syntax.t, add =finish at line 227, to reliably cause a SIGABRT after test 16
01:40Z <lizmat> jnthn: looks like there's still some voodoo going on wrt to supply blocks, at least on OS X
09:28 leont joined
RabidGravy while we're on the subject of suppliy blocks, is it deliberate that e.g. "supply { react { whenever Supply.interval(1) { emit("something") } } }" doesn't work? 09:32
leont Meh, debugger being broken right now doesn't help in figuring out the module loading issue I'm experiencing 09:34
moritz leont: there's a RAKUDO_MODULE_DEBUG env variable that you can set to a true value; maybe that'll help? 09:35
leont gdb tells me the hang is in the readline implementation as used by MVM_run_file, that doesn't make sense to me 09:36
09:36 n0tjack joined 09:37 aigan joined
leont jnthn: the Proc::Async based part of my code now dies with «Unhandled exception in code scheduled on thread 6 Can only perform big integer operations on concrete objects" 09:40
even --ll-exception doesn't give any more information than that 09:41
09:41 n0tjack left
jnthn RabidGravy: What would you expect that to do? The emit will bind to the react. 09:43
Which doesn't support emitting 09:44
Why do you need the react in there anyway? :)
RabidGravy yeah, that's what I saw
jnthn If you want to emit "something" every second you just supply { whenever Supply.interval(1) { emit "something" } }
jnthn should WTFM :)
RabidGravy I ended up doing something familiar 09:45
er similar
(I actually didn't realise you could do a whenever there :) 09:46
jnthn Search for whenever in src/core/Supply.pm for more exampls 09:47
09:48 rindolf joined
leont Not sure if my issue is CURLI related to IO related. I used to think the former, but gdb is confusing me :-s 09:48
Another issue, this code just broke: 09:49
$package.HOW.add_method: $package, $method, method () { return self.and($rule); };
Anyone got a clue what changed? 09:50
I'm getting a «Cannot invoke this object» error 09:51
RabidGravy I actually did "Supply.on-demand( -> $p { Supply.interval(1).tap({ $p.emit(DateTime.now); }); })" because of not realising the whenever could be like that
09:52 donaldh joined
jnthn eww 09:52
09:52 zakharyas left
jnthn Supply.interval(1).map({ DateTime.now }) 09:52
llfourn m: class Foo {}; Foo.^add_method('bar',anon method { 'win'.say }); Foo.bar; 09:53
camelia rakudo-moar d6f783: OUTPUT«win␤»
llfourn leont: seems to work?
09:53 yeahnoob left
moritz you should .^compose after adding a method 09:54
jnthn You ...yes :)
leont Ah, I see
llfourn oh ok thanks :)
moritz otherwise the method caches are not updated
leont compose on what exactly? 09:55
llfourn won't it cache after the fallback?
jnthn No 09:56
It'll just invalidate and then slow-path all the lookups
leont Adding $package.^compose makes it segfault :-o
llfourn oh that's bad lol :)
m: class Foo {}; Foo.^add_method('bar',anon method { 'win'.say }); Foo.^compose; Foo.bar;
camelia rakudo-moar d6f783: OUTPUT«win␤»
jnthn Also, (a) use augment, and (b) do it at BEGIN time (or (c) add "no precompilation" :)) 09:57
moritz leont: ... it shouldn't :-)
jnthn SEGB is...urgh
RabidGravy jnthn, but I don't want it to start until the resulting supply is tapped
jnthn RabidGravy: It won't.
leont I'm adding more than one method, in case that's relevant
And I'm doing it in a BEGIN block
jnthn RabidGravy: Supply.interval is already an on-demand supply
moritz leont: you only have to compose at the end, and before you start calling methods
09:57 empT joined
jnthn RabidGravy: Mapping it stil leaves you with an on demand supply 09:57
llfourn jnthn: good to know thanks.
RabidGravy surely the map is a "tap"
jnthn No 09:58
Just like .map on a list isn't eager
The only things that are a tap are .tap and .act (and whenever)
.map just chains another step onto the supply pipeline
You can build the pipeline with a load of operations 09:59
Nothing starts untill you .tap
And you get a fresh pipeline per tapping
teaching, bbl :)
llfourn is there a way to add a role with augment?
jnthn augment class Foo does Bar { }
really & :)
llfourn ah nice
RabidGravy gotcha, simplifies stuff immensely. Have a totally false memory of what the code did 10:00
10:01 leont left, zakharyas joined
mrf_ jnthn: nine: dont worry about github.com/rakudo/rakudo/pull/609. Its clearly nonsense. Annoyingly I can't replicate the issue that this seemed to fix now so ... 10:01
10:02 leont joined, empT left 10:03 n0xff left 10:05 leont_ joined
leont_ internet-connection-- 10:05
dalek ast: fab0120 | lizmat++ | S32-str/samemark.t:
Fix samemark test

In light of the comment TimToady made in commit message fc4bf6f9d43cf3a82 :
I decided that repeating novelty combiners will likely be the more common use of the construct than trying to tweak words from natural languages.
And the fact the test was written *before* that, I assumed the combiner was to be repeated, rather than ignored for subsequent characters.
10:06
10:06 leont left
leont_ Interesting. I got the hang now without loading a second module, but when running under gdb…
paste.scsys.co.uk/502339 10:08
10:08 woolfy joined 10:09 salva left
leont_ It's epolling when I think it should only read the file. Not that I can tell what it's epoll()ing on for real. 10:09
10:12 woolfy left, bjz left
leont_ I remember something about synchronous IO changing recently, I'm guessing it to be in that corner 10:14
10:14 salva joined
leont_ Interesting. «$?CLASS.^compose» doesn't segfault, while «$package.^compose» does 10:18
10:18 s_kilk joined
leont_ With $package = $?CLASS being just a few lines above 10:18
10:18 espadrine joined
leont_ But even without the segfault, the compose doesn't fix the exception that I'm seeing 10:19
moritz leont_: try $package := $?CLASS
leont_: otherwise you're re-composing class Scalar, maybe 10:20
leont_ All giving that same error 10:21
Getting rid of the BEGIN block seems to do the trick
Still, it should work, and not give segfaults 10:24
To me, when dynamically generating half of my class a begin block is a sensible place. No idea how it interacts with precompilation though, would guess the issue to be there. 10:25
10:27 bjz joined
dalek ast: ed16d38 | lizmat++ | S17-supply/ (3 files):
Make sure we die for the right reason
10:27
10:29 s_kilk left
dalek ast: a56f0f4 | lizmat++ | S17-supply/interval.t:
Give some more time to fail to prevent flapping
10:32
10:33 brrrt joined
donaldh psch: did you have a fix for nqp::mkdir on jvm ? 10:33
donaldh is not sure what timezones psch hangs out in
10:37 n0tjack joined 10:39 empT joined 10:42 n0tjack left 10:43 empT left 10:44 leont_ left 10:47 dayangkun left
dalek ast: a04df5f | lizmat++ | S17-supply/watch-path.t:
We can no longer .done a Supply

We can only .done a Supplier. But the Supplier is hidden in IO::Notification.watch-path. So I can only hope that closing the final tap on the Supply given by IO::Notification.watch-path *will* actually
  .done the Supplier.
This unbreaks this test-file on OS X. Other OS's are currently *not* being tested: tests for other platforms welcome!
10:51
lizmat m: say END 42 # feels to me this should fail, AKA the default value of an END block before it is run, should be a Failure 10:53
camelia rakudo-moar d6f783: OUTPUT«Nil␤»
donaldh lizmat++ 10:54
donaldh was going to start looking at that
10:57 empT joined 11:02 empT left, aindilis left 11:03 km3 left, aindilis joined
grondilu tries to bootstrap panda 11:13
dalek kudo/nom: 09a3e3d | lizmat++ | src/core/Supply.pm:
Supply.on-demand/from-list must have a Supply:U
11:15
11:19 snarkyboojum joined
grondilu oh it worked this time. Good job guys. 11:20
RabidGravy so is it safe to rakudobrew my laptop now, so I can start testing everything? 11:21
grondilu oh bootstrap worked, but exectution still fails:
===SORRY!===
Could not find Shell::Command:ver<True>:auth<True>:api<True> in:
11:22 nadim joined, _nadim left 11:25 pecastro_ joined
mrf_ grondilu: I was having that same issue yesterday on a fresh panda install. 11:28
arnsholt nine: I've got a patch that's almost, but not quite working. Could you have a look at it if I push it to a branch?
grondilu copies Shell::Command, File::Find and JSON::Fast manually in the lib directory and retries running panda 11:29
11:29 abraxxa left 11:30 _mg_ left
brrrt go is really the anti-perl6: www.thedotpost.com/2015/11/rob-pike...omplicated 11:30
in an interesting way, i think
or maybe the anti-C# 11:31
11:32 pecastro_ left 11:34 abraxxa joined, RabidGravy left
lizmat afk until late afternoon& 11:36
donaldh ugh, rakudo not building on jvm: Error while constructing error object:Could not locate compile-time value for symbol X::Undeclared::Symbols 11:37
11:38 n0tjack joined
llfourn brrrt: watching now. Interesting so far. Thanks. 11:41
11:41 Skarsnik joined 11:43 n0tjack left
brrrt yw :-) 11:43
Juerd Where is S32? 11:45
Oh, it's a draft. Found it just after asking. 11:46
Still wondering in which repo it is though :)
llfourn brrrt: so far I feel where I disagree with him is that features make code more complicated. For example the traits and MOP features of p6 made code more simple IMO. 11:48
maybe he means syntactical features
daxim I strain to read perl6advent.wordpress.com/ and it's the fault of the rule .site { width: 744px; }
llfourn but being against map seems a bit odd. How is map more complicated or even slower than for at a low level.
11:50 pyrimidi_ joined
brrrt map implies a dynamic function call, unless you compile-time transform it 11:50
which is slower than a for loop
llfourn mmm yes you are right normally map is like that 11:51
brrrt the thing with go is, i think, that i've seen utterly lousy programmers produce utterly lousy code, *and it was still readable and workable*
11:52 pyrimidine left
llfourn I never used go so I don't know. Everyone who does seems to like it. I'm glad p6 stole some of its concurrecny dieas. 11:52
11:52 xfix left
llfourn ideas* 11:53
brrrt i could still work with code written by people, with whom i would have vicious code style discussions otherwise
because they think very differently from me, and in a language like perl6, that works out to very different code
timotimo donaldh: does it show you what symbols were undeclared? it should try to stringify the list for you
yoleaux 02:30Z <dj_goku> timotimo: is there a reason against using say git submodule vs copy/pasting code into the panda repo?
brrrt in go, it works out to mostly-the-same
timotimo wow, brrt is extra-r today 11:54
llfourn i see.
brrrt yes, i overslept timotimo :-)
so that explains, i guess
can i go on record and state that illumos-on-qemu is a total and huge pain, and no fun at all 11:55
moritz brrrt: you have been officially heard :-) 11:59
12:01 nige1 joined 12:02 _mg_ joined
donaldh timotimo: Error while compiling, type X::Undeclared::Symbols 12:02
type_suggestion: (unstringifiable object)
post_types: (unstringifiable object)
unk_routines: (unstringifiable object)
unk_types: (unstringifiable object)
routine_suggestion: (unstringifiable object)
12:03 bpmedley joined
nige1 currently preparing a Perl 6 talk for a general techie audience - and need a little help with this Rosetta Code example: rosettacode.org/wiki/Inverted_index#Perl_6 12:04
I'm unsure about the relationship of the cross-product meta operator in line 3 12:05
to populating "%norm" - any ideas?
moritz m: say ('file' X=> <one two three words>).perl 12:06
camelia rakudo-moar 09a3e3: OUTPUT«(:file("one"), :file("two"), :file("three"), :file("words")).Seq␤»
brrrt thanks moritz :-)
moritz nige1: that's bascially what it does
nige1 hmm - ok - maybe I need to update my version of Rakudo 12:07
timotimo donaldh: oh god damn :(
donaldh yup
moritz nige1: it's a cross-product with a one-element list, so it's equivalent to ($file xx *) Z=> @list
donaldh currently digging into the NQP_VERBOSE_EXCEPTIONS stack trace
nige1 thanks Moritz 12:08
moritz++
:-)
moritz nige1: you're welcome 12:10
Juerd π is implemented in rakudo, but not in S32. Which one is off? 12:12
(S32 only describes pi, not π) 12:13
moritz Juerd: I think S32 should be updated 12:14
12:15 kaare_ joined
Juerd I agree and will add tau while I'm at it 12:15
Oh, and I don't understand how 'pi' is available in the language, if it's declared as "my constant pi" in Num 12:16
12:17 ely-se_ left
timotimo the core setting is semantically an outer scope to your program 12:18
that's how things that are declared "my" show up in user code
12:19 empT joined, xfix joined
arnsholt The short answer is "dark and inscrutable magics" 12:19
timotimo haha, it's not that terrible :) 12:20
arnsholt The longer answer is that the setting is compiled in a special way such that there's basically what amounts to a hole at the end
Then, when you compile normal code, your code is plonked into the hole at the end of the setting, and the whole aggregated shebang is what is *actually* run
Thus making the setting an outer lexical scope of user code, as timotimo++ explained 12:21
timotimo yeah, we have a thing called {YOU_ARE_HERE}
12:23 empT left
llfourn is there a way to turn precompilation off? 12:28
timotimo mount your filesystem read-only
llfourn timotimo: thanks 12:29
12:29 zakharyas left
timotimo sorry ;) 12:30
haven't dug into the code at all yet
donaldh timotimo: ah, Uni getting used in Str.pm on JVM.
TimToady's commits from last night 12:33
Woodi arnsholt: can it be reused for fast interpreter startup ? :) something like (historical) sticky-bit or proces cloning ? 12:34
timotimo donaldh: good catch; could be made to work with #?rakudo.jvm or whatever the syntax is 12:35
donaldh is not sure how rakudo jvm works without Uni. 12:36
12:36 pmurias joined
donaldh *worked 12:36
timotimo well, it doesn't yet have the NFG stuff at all, which is what Uni came with IIRC 12:37
of course the JVM has NFD NFC NKFC and NKFD algorithm implemented *somewhere* ... right?
donaldh yep, just surprised that everything else existed without ever referencing Uni.
timotimo ah, right
donaldh JVM just uses java.lang.String 12:38
doesn't have nqp::*codes 12:39
12:39 n0tjack joined
arnsholt Woodi: I have no idea. Maybe? 12:42
Juerd timotimo: Wow, core being a lexical outer scope is a weird concept :)
timotimo Juerd: yeah, it's kind of like the "hollow earth" thing :)
donaldh Juerd: also known as prelude in other languages.
arnsholt The implementation is a bit odd, but it's pretty natural when you think about it 12:43
Juerd At the same time, not so weird at all. I've been using eval "my \$foo = ...; sub { ... }" in Perl 5 all the time... :)
12:43 n0tjack left
pmurias A prelude in other languages works almost the same way 12:44
brrrt i would assume that we just chain-point the compiled frame up to the setting? that would seem to be my natural guess...
12:44 _mg_ left
brrrt on the other hand, i'm not sure when the setting environment is then loaded into the compiler 12:44
timotimo Woodi: for startup time improvements we already implement "lazy deserialization", which is definitely a step in the right direction. 12:47
Woodi timotimo: but everything is loaded from disk every time ?
nige1 hmm - I've updated to latest rakudo and entry is no worky -> rosettacode.org/wiki/Inverted_index#Perl_6
timotimo if i remember correctly, the .moarvm file is mmapped 12:48
so multiple instances of moar will share it. i think.
nige1 getting a "trailing item in Hash.push" error
s/error/warning/
Woodi timotimo: no one blogged it ! ;) 12:49
timotimo hehe.
12:51 lucasb joined 12:52 snarkyboojum left, grc joined 12:53 grc left
llfourn so I'm trying to debug some precomp problems with some code. I put BEGIN { note 'loading Foo' }; as the first line in many files. I'm seeing "loading Foo" more than once. 12:56
that's a bug right?
rakudo should only try and compile each file once 12:57
it doesn't seem to do an infinite loop load but I eventually see something like: Constraint type check failed for parameter '$precomp-id'
or some other obtuse error 12:58
12:59 empT joined
timotimo will be AFK (well, probably just away from devices i could develop with) for ~3 hours 13:00
Juerd Heh, so I thought "might as well add tau while I'm there", when updating S32 to include the unicode constant for pi... 13:02
But with spec, spectests, and implementation in different repositories... the simple change winds up being 3 pull requests. Kind of funny :) 13:03
13:03 empT left
Zoffix .botsnack 13:08
yoleaux :D
08:04Z <nine> Zoffix: probably too late but for future reference: I syntax highlight my presentation slides by opening the file in vim which is running in KDE's konsole. Then I use konsole's "Save output as" to save it to an HTML file. That I copy&paste into LibreOffice.
synbot6 om nom nom
MadcapJake Zoffix: I forgot to use .tell but there's also this: github.com/atom/highlights which would work with the grammar json from language-perl6fe 13:09
Zoffix Thanks, I'll play around with it later. 13:10
lucasb Juerd: I don't understand much maths. Is tau equals 2*pi?
MadcapJake lucasb: yeah
Zoffix There's a tau module in the ecosystem\
MadcapJake lucasb: it's a much easier constant to work with because so often you have to use 2*pi anyways
ilmari www.youtube.com/watch?v=jG7vhMMXagQ
lucasb ok, thanks :) 13:11
Zoffix Tau is heresy! :) Who doesn't like pie? :P
moritz pi vs. tau, the ultimate bikeshedding war
Zoffix hehe
MadcapJake lol
brrrt .tell nine why not pygmentize or Text::VimColour?
yoleaux brrrt: I'll pass your message to nine.
MadcapJake does pygments have perl6 support? 13:12
brrrt hmm, no, i don't think it does 13:13
nadim Hi given ((a 1) (b 2)) , I want to "dereference" the outer parenthesis only. .flat gives me a 1 b 2 but I want (a 1) (b 2). how do I do that and wgere is the documenatt
documentation so I learn instead for fooling around
Zoffix MadcapJake, brrrt it does, but it's not that good
13:14 ely-se joined
Zoffix nadim, where did you get ((a 1) (b 2)) from? 13:14
MadcapJake yeah it's not listed, I've written a Pygments lexer before, I'll see if I can get my language-perl6fe converted over (there regex engine is a bit different though)
Zoffix m: say |((a 1), (b 2))
camelia rakudo-moar 09a3e3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tZgCjFxLgk␤Undeclared routines:␤ a used at line 1␤ b used at line 1␤␤»
nadim Zoffix: map
Zoffix m: say |(('a', 1), ('b', 2))
camelia rakudo-moar 09a3e3: OUTPUT«(a 1)(b 2)␤»
Zoffix nadim, mapping what?
nadim ok, I tought | and flat where synnyms
Zoffix m: say flat (('a', 1), ('b', 2)) 13:15
camelia rakudo-moar 09a3e3: OUTPUT«(a 1 b 2)␤»
nadim a list and returning 2 elements
Zoffix Oh, guess not.
I think | is called a "slip"
Juerd moritz: tau/pi isn't bikeshedding if you provide both: timtowtdi!
nadim OK, thanks, I'll slip a bit then
13:17 n0tjack joined
MadcapJake nadim: | is flatten inside of a signature (argument list) but outside of that it's a slip (which is kinda like flatten) doc.perl6.org/type/Slip 13:19
Zoffix Does anyone know what time the advent calendar runs on? If I schedule for 00:00, what timezone is it? 13:21
MadcapJake Zoffix: heh, I couldn't figure that out either, I put 0:00 for mine though.
13:22 n0tjack left, YP-QMUL-W left
brrrt MadcapJake: i and many others would be much obliged :-) 13:22
gfldex Zoffix: in the post list it says: in 11 hours scheduled 13:23
moritz Zoffix: I think it's UTC or GMT+1
MadcapJake brrrt: ok I'll give it a go then! :
Zoffix Thanks\ 13:24
brrrt thanks :-) 13:25
13:25 Actualeyes joined 13:26 YP-QMUL-W joined, n0tjack joined 13:27 pwd_ joined
MadcapJake Ugh I've committed a grammar sin in my advent post: s/it's/its/ 13:28
13:28 _mg_ joined
Zoffix sends MadcapJake to grammar-hell 13:29
MadcapJake noooooo!
brrrt brings MadcapJake back to grammar-purgatory 13:31
Skarsnik English grammar is a hell already
MadcapJake lol
brrrt as long as you confess your sins, you will be redeemed
MadcapJake I confess and I have done my penance I swear! 13:32
Zoffix James, while John had had "had," had had "had had"; "had had" had had a better effect on the teacher.
en.wikipedia.org/wiki/James_while_...he_teacher
xfix "This Seq has already been iterated, and its values consumed"
What does that even mean? I'm trying to do scanl basing on zip sum. 13:33
Zoffix shakes head at the ginormous Wikipedia ad that says they'll never run ads
xfix And the simple example works: [\Z+] [(1, 2), (3, 4), (3, 2), (5, 4)]
However, [\Z+] '^v^v^v^v^v'.comb.map:{{'>' => (0, 1), '<' => (0, -1), '^' => (1, 0), 'v' => (-1, 0)}{$_}} doesn't.
brrrt it's not an ad if it's begging Zoffix
moritz MadcapJake: you can still change the post
Zoffix heh
xfix (I'm trying to do adventofcode.com/day/3, by the way)
brrrt :-P
Zoffix That ad is larger than my arm!
MadcapJake moritz: I did :) 13:34
Zoffix: I closed that ad a few days ago and it no longer displays for me.
Zoffix I closed it a few days ago and it still displays for me 13:35
You probably never restarted your browser :P
13:35 vytas left
MadcapJake weird, no i do! 13:35
i open my browser every morning, but it saves my session, so maybe it keeps the cookie or something 13:36
13:36 zakharyas joined
xfix perl6: say [\Z+] '^v^v^v^v^v'.comb.map:{{'>' => (0, 1), '<' => (0, -1), '^' => (1, 0), 'v' => (-1, 0)}{$_}} 13:37
Skarsnik xfix, I don't get this, there is no time limit? it's infinite? x)
camelia rakudo-moar 09a3e3: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by addding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-jvm e3c591: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/tmpfile:1␤␤»
xfix Hm, I get a hint about .cache...
Zoffix Hm. Weird. Yesterday I had a different editor when I was writing my article. It wasn't a narrow landing strip and I could switch to raw HTML without having to scroll up
mrf_ Skarsnik: If you sign up you get a specific input. 13:38
Skarsnik Oh make sense, thx
Zoffix Ah, firgured it out. You need to go to "wp admin"
mrf_ Skarsnik: or santa gets drunk on milk and cookies at some random point 13:39
13:40 vytas joined, n0tjack left 13:41 n0tjack joined
Zoffix "Saw 1 occurrence of deprecated code. Method chars-supply (from IO::Socket::Async) seen at: spy-bot.pl6, line 9 Please use Supply instead." 13:42
huh?
moritz Zoffix: iirc you now pass the :bin or :binary or whatever to .new() 13:43
Zoffix I don't have new: gist.github.com/zoffixznet/b2a09bc9e3a33c91a865
moritz ah right
.Supply() instead of .chars-supply 13:44
and .Supply(:bin) instead of .bytes-supply
Zoffix ah, k. moritz++
Juerd How do you alias a method? &connect := &new isn't allowed... 13:49
moritz Juerd: I'm not sure we have something pretty for it, but you can always use the MOP 13:52
Juerd If it's not pretty, I'll do without the alias for now...
moritz Juerd: ::?CLASS.^add_method('alias-name', ::?CLASS.^find_method('old-name'))
brrrt that's pretty much as evil, as it should be 13:53
gfldex m: class A {method m(){}}; my $m1 := A.^methods[0]
camelia ( no output )
Zoffix /j #evil 13:57
Zoffix blushes
13:57 zakharyas left
Zoffix To give context: I'm writing a spy-themed bot... 13:57
:)
13:58 Ven joined
Woodi Zoffix: yes, Wikipedia is amazing. by now every goverment should sponsor it... 13:59
13:59 empT joined
Ven o/, #perl6. 13:59
Zoffix \o
Woodi hallo Ven :)
nadim What's the status of local variables? and is it possible to localize a hash entry? 14:00
Skarsnik moritz, should I merge my PR for DBIish or should I wait for all the curli stuff get fixed so DBIish build again? x)
DrForr o/' They call it Spy Hard / You're watching Spy Hard / It's the theme to Spy Haaaaaaaaaard o/'
moritz Skarsnik: please wait 'til it's fixed
jnthn m: my %h = foo => 42; { temp %h<foo> = 69; say %h<foo> }; say %h<foo> 14:02
camelia rakudo-moar 09a3e3: OUTPUT«69␤42␤»
jnthn nadim: ^^
14:02 cdg joined
Zoffix Why isn't this matching? 14:02
m: my $channel = '#perl6-recon'; say so ':Zoffix!~Zoffix@unaffiliated/zoffix PRIVMSG #perl6-recon :Test' ~~ /^':' <-[:]>+ 'PRIVSMG ' $channel ' :' (.+)/
camelia rakudo-moar 09a3e3: OUTPUT«False␤»
moritz m: my $channel = '#perl6-recon'; say so ':Zoffix!~Zoffix@unaffiliated/zoffix PRIVMSG #perl6-recon :Test' ~~ /^':' <-[:]>+ 'PRIVSMG '/ 14:04
camelia rakudo-moar 09a3e3: OUTPUT«False␤»
moritz m: my $channel = '#perl6-recon'; say so ':Zoffix!~Zoffix@unaffiliated/zoffix PRIVMSG #perl6-recon :Test' ~~ /^':' <-[:]>+ 'PRIVSMG'/
camelia rakudo-moar 09a3e3: OUTPUT«False␤»
moritz m: my $channel = '#perl6-recon'; say so ':Zoffix!~Zoffix@unaffiliated/zoffix PRIVMSG #perl6-recon :Test' ~~ /^':' <-[:]>+ /
camelia rakudo-moar 09a3e3: OUTPUT«True␤»
Juerd The whole new/BUILD thing is incredibly frustrating. I don't understand what goes where, I keep running into errors that I can't explain and can only fix by trial and error, and it really feels that Perl 6 here makes the easy things very hard, and sometimes even impossible.
14:04 ir2ivps4__ left
Skarsnik ' PRIVMSG' maybe? 14:04
jnthn Becuse you typo'd PRIVMSG and PRIVSMG in the regex
Zoffix I don't get it
-_-
jnthn++
And that's why I don't work at a nuclear reactor :P 14:05
Juerd I have thus far not succesfully been able to write any custom constructor or even something that properly initializes my objects.
jnthn Juerd: You only write a new if you want to change the interface for construction to be something other than taking named params
You write a submethod BUILD to initialize attributes
nadim jnthn: great, thank you. Are you still hanging around in Lund?
14:05 empT left
jnthn nadim: No, I live in Prague nowadays 14:06
Juerd I had a submethod BUILD, and I wanted to add a call to .connect in there, so I did. Result: everything broke
Skarsnik Zoffix, why not simply split on blank for the first 2?
nadim Lucky you, you are not missing on the great weather ;)
Juerd So, okay, I'll write my own 'new' method and see what happens... I get error messages about passing 1 parameter when more were expected. No idea where this 1 parameter is, because everything passes 2 or 3.
jnthn Well, I'm up in Skellefteaa teaching this week, so I'm moslty missing out on the great sun ;)
The invocant counts as a parameter. 14:07
Juerd So I hard-code the values, for now, and move on. Now, it turns out that my custom 'new' can't bless, because $!foo no longer works in BUILD's signature
Zoffix Skarsnik, first 2 what?
jnthn Huh?
moritz wouldn't even know how to pronounce Skellefteaa, much less how to get there :-)
Juerd jnthn: I'm passing 2 or 3, depending on whether you count the invocant. But it's complaining I'm passing only 1 thing. I have no code at that point that passes 1 thing.
I'm not specifically crying for help, I'm hoping that there will be a simpler way of doing the easy things. 14:08
Skarsnik Zoffix, If i remember right IRC stuff is separated with blank until you get the command
jnthn I don't tend to find it problematic, I guess it's just getting the right mental model of how construction works
Juerd jnthn: I find having my defaults in 3 different places highly problematic. 14:09
jnthn thought there was a doc that explained it fairly well somewhere
Juerd Some defaults are in "has", some are in "BUILD"'s signature, and some I have to put in BUILD's body.
jnthn Then...put them all in one place? :)
Juerd The only place where they can all be, is in BUILD, but not in its signature
jnthn What keeps you from putting them in the signature? 14:10
Skarsnik build override the one in has if I remember correctly, there was a ticked about it? (or has it been fixed?)
jnthn Skarsnik: If you touch the thing in BUILD then yeah, you initlaized it, so the one in has will be ignored
Juerd jnthn: Some are private.
Mostly I don't really understand why you can put defaults in 'has', but not if you use the same thing in BUILD 14:11
14:11 YP-QMUL-W left
jnthn m: class C { has $!a; submethod BUILD(:$!a) { }; method m { say $!a } }; C.new(a => 42).m 14:11
camelia rakudo-moar 09a3e3: OUTPUT«42␤»
jnthn m: class C { has $!a = 3; submethod BUILD(:$!a) { }; method m { say $!a } }; C.new(a => 42).m
camelia rakudo-moar 09a3e3: OUTPUT«42␤»
jnthn m: class C { has $!a = 3; submethod BUILD(:$!a) { }; method m { say $!a } }; C.new().m
camelia rakudo-moar 09a3e3: OUTPUT«(Any)␤»
jnthn Like that? 14:12
m: class C { has $!a; submethod BUILD(:$!a = 3) { }; method m { say $!a } }; C.new().m
camelia rakudo-moar 09a3e3: OUTPUT«3␤»
jnthn m: class C { has $!a; submethod BUILD(:$!a = 3) { }; method m { say $!a } }; C.new(a => 42).m
camelia rakudo-moar 09a3e3: OUTPUT«42␤»
jnthn Can just move the default to the BUILD sig, though.
Juerd Yes, like that
14:13 Ven left
Juerd That the ' = 3' is just ignored without warning makes it seem like a somewhat useless feature. 14:13
jnthn How is it ignored?
It was used
Juerd Same for objects... has $!buf = Buf.new doesn't really work
15:11 < jnthn> m: class C { has $!a = 3; submethod BUILD(:$!a) { }; method m { say $!a } }; C.new().m
15:11 < camelia> rakudo-moar 09a3e3: OUTPUT«(Any)␤»
jnthn Yes, I said, you need to put it in the signature in that case.
Juerd Yes, so the one in 'has' is ignored. 14:14
Putting it in the signature feels like a work-around, because now you have your defaults in 2 places
jnthn Why?
Juerd And that becomes 3 if you also have objects that you want to instantiate
jnthn If you put it in the signature, why would you also put it on the attribute too?
Juerd Defaults for attributes that aren't in BUILD => has
Defaults for attributes that are in BUILD => BUILD's signature 14:15
Defaults for attributes that are objects => BUILD's body
jnthn doesn't get the last one at all...you can instantiate objects in a signature defualt or a has initializer
Juerd It's not about "if you have it at B, why also at A?", but about wanting everything at either A, B, or C, but not spread over different places of the code
I'll try .new in 'has' again, but when I used it previously, it was just ignored and I was left with a type object. 14:16
That works now 14:17
Might have been a temporary bug, or some other mistake
jnthn I guess the other option we have is to introduce a discontinuity in the signature binder that doesn't bind the automatic default value to an attribute
14:17 raiph joined
jnthn So :$!a would never assign to $!a if nothing is passed, which would be differnet to :$a which gets Any 14:17
That'd fix it, though maybe be differently surprisng. 14:18
Juerd If a default was already specified, I'd expect that to be carried over to other places, so after "has $!foo = 3;" I'd expect "submethod BUILD ($!foo)" to have an implicit "= 3" there, or at least warn me that the other one's now no longer useful.
Having them in two places bothers me, but it's not really a big problem. What is, is that the other default is overwritten and it takes time to debug that. 14:19
jnthn Well, it's a lang design question by this point, so...for TimToady :)
Juerd As for connecting to the socket in the constructor, I can't get that working. 14:20
So I'll keep the .new, then .connect for now.
Wanted to combine them because there's no good reason to have a non-connected object for something that represents a connection :)
14:23 bpmedley left
Juerd TimToady: Can BUILD get either implicit defaults on instance attributes that are in the signature, or if not, a warning that has-defaults will be ignored/overwritten? See discussion ^ 14:23
14:24 sno left
jnthn teaching again & 14:25
Juerd Have fun :)
14:28 ir2ivps4 joined 14:30 ely-se left, brrrt left
Juerd jnthn: Ah, found why the 'has' default wasn't useful for objects: they're created after my BUILD is run, so not available in BUILD yet. 14:31
sergot is there any fast solution to get only odd/even-indexed elements in an array?
14:32 abraxxa left
sergot I mean, like, every second element of an array 14:32
14:33 zengargoyle joined
Juerd sergot: @foo[0, 2 ... *] and @foo[1, 3 ... *] 14:33
llfourn m: my @a = ^10; say @a[0,2 ... *] 14:34
camelia rakudo-moar 09a3e3: OUTPUT«(0 2 4 6 8)␤»
14:34 skids joined
sergot ooh, why I didn't think about this, thanks a lot Juerd++ ! 14:34
llfourn++
Juerd Or, if you don't care about the order, hash(@foo).keys and hash(@foo).values ;) 14:35
14:35 iH2O joined
donaldh PR unbusts build on JVM github.com/rakudo/rakudo/pull/615 14:35
14:37 n0tjack left, xpen joined, RabidGravy joined
Juerd jnthn: I just realised that having something that comes completely after object construction, so even after BUILD, would elegantly solve all problems I've been having, because by that time, all the attributes are available anyway. 14:40
jnthn: It wouldn't need any signature
MadcapJake is there a monochrome or svg version of camelia? 14:41
lucasb
.oO( fifty shades of camelia )
Juerd en.wikipedia.org/wiki/File:Camelia.svg was the first hit in duckduckgo 14:42
With Inkscape you could easily turn that into a monochrome version
MadcapJake yeah, thanks Juerd++
iH2O butterflies probably can see UV light like birds so make sure to include this tint even if you cant see it 14:43
Juerd My printer is out of UV toner
MadcapJake lol, can monitors even do uv light?! :P
Juerd Not by design :P 14:44
But they may leak some UV :)
iH2O test your printout with a wood lamp 365nm
on amazon.com 14:45
MadcapJake what we really need is to make glow-in-the-dark camelia stickers! That'd one-up every other programmer laptop sticker by a wide margin!
mspo those laptop stickers are more expensive to produce than you think
Juerd OOoh 14:46
I think for free, so yea.
mspo at least the last time I looked for european sticker printing
iH2O butterfly wing colors probably include UV thats what i mean
for must butterflies
you want to print something realistic
MadcapJake lol, i'm pretty sure camelia isn't really going for "realistic" :P but still uv stickers would be sweet B) 14:47
14:47 bpmedley joined
iH2O that will radiate "fluorescent colors" where there is UV 14:47
MadcapJake mspo: www.stickermule.com/products/die-cut-stickers
llfourn m: my \x = 5; my @a = ^30; say @a[(^*).grep(not *%x)]; # get all the indexes that are multiples of x including 0 14:48
camelia rakudo-moar 09a3e3: OUTPUT«(0 5 10 15 20 25)␤»
llfourn sergot: pretty cool ^^ 14:49
though I suppose 0 ... would work as well
retupmoca .botsnack 14:50
yoleaux 07:43Z <nine> retupmoca: excellent!
:D
synbot6 om nom nom
14:52 n0tjack joined
nadim is possible to type a single hash value? or does one have to create a derived hash class that does that? 14:53
sergot llfourn: nice! :)
ilmari nadim: what do you mean by "type a single hash value"? 14:54
llfourn sergot: it would make way more sense to use ... but if you every element except those that are multiples of 5 you can remove the not :)
ilmari you can assign to a hash from a list: my %hash = (key => 'value', otherkey => 'something');
llfourn if you want*
14:54 raiph left
nadim %h<specific_key> can only contain a specific type of value 14:54
sergot llfourn++ : :)) thanks
ilmari oh, sorry, wrong chan
Juerd MadcapJake: juerd.nl/tmp/Camelia_mono.svg 14:55
ilmari nadim: are arbittrary other keys allowed?
nadim that's what I'd like 14:56
MadcapJake Juerd: thanks! was just about to bunker down and read some inkscape guides xD
14:57 MadcapJake left
nadim something like %h = (Str title => 'gone with the wind', Int year => 1956); then changing the title would only allow strings as input. 14:57
|Tux| m: my Bool $x = True; my IO $fh = open "test.xxx", $x ?? :r !! :w;
camelia rakudo-moar 09a3e3: OUTPUT«open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in sub open at src/RESTRICTED.setting:9␤ in block <unit> at /tmp/YLjafs2sxc:1␤␤»
14:57 MadcapJake joined
|Tux| Too many positionals passed; expected 1 argument but got 2 14:57
14:58 crux left, iH2O left 15:00 ely-se joined, crux joined
arnsholt |Tux|: That probably passes a Pair as a positional argument 15:01
dalek p: 16ab6ee | donaldh++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Handle null objects in nqp::istrue on JVM.
arnsholt I think what you want is open $path, :r(?$x), :w(!$x)
|Tux| my IO $fh = $pass
?? open "test.csv", :w
!! open "test.csv", :r;
also fails :(
both are butt-ugly 15:02
arnsholt What's the error for the second one?
|Tux| Failed to open file
15:03 empT joined
arnsholt Well, that sounds like a problem of the file not being there, or some such 15:03
15:03 cygx joined
cygx |Tux|: you're looking for open "test.xxx", |($x ?? :r !! :w); 15:03
|Tux| yes I am :) cygx++ 15:04
RabidGravy cygx, been loving the argument pipe thing over the last few days 15:06
15:07 empT left
dalek rl6-roast-data: 920e967 | coke++ | / (9 files):
today (automated commit)
15:08
15:09 raiph joined
mrf_ has the syntax for class FOO {also does X;} changed recently 15:11
TimToady not that I know of 15:12
but X is an existing class, if you meant that literally 15:13
15:13 n0tjack left
mrf_ will need to find a better example class :) 15:13
Ok. (X was just an example)
TimToady or example role, in this casse :)
mrf_ :D
Juerd MadcapJake: /me just ordered a Camelia rubber stamp :)
MadcapJake haha nice! 15:14
15:14 n0tjack joined
Zoffix :D\ 15:15
mrf_ m: grammar Foo { also does Bar; }; 15:16
camelia rakudo-moar 09a3e3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/t3WxQlmlfj␤Invalid typename 'Bar'. Did you mean 'Bag'?␤at /tmp/t3WxQlmlfj:1␤------> 3grammar Foo { also does Bar7⏏5; };␤»
mrf_ TimToady: ^
TimToady well, Bar has to be defined first...
MadcapJake is sad that fontastic.me turns camelia_mono.svg into gobbledygook :( 15:17
15:17 xpen left
mrf_ TimToady: gist.github.com/ungrim97/2c8382b379802bfacb5a 15:18
cygx so, Christmas is coming which means I need to pick up my own slack and document/test github.com/cygx/rakudo/commit/36f7...37a6061d15
should I augment S16-filehandles/open.t, S16-io/basic-open.t or create S32-io/open.t?
mrf_ This is from existing code that seems to work find the other week but now throws the above error.
RabidGravy there may be some load order changes which I haven't quite tracked down 15:19
[Coke] wonders if TimToady fixed RT #126771 while he was in there.
m: $_="Bruce Gray"; my $x="Andrew Egeler"; m:i:m/$x/; 15:20
camelia rakudo-moar 09a3e3: OUTPUT«Invalid string index: max 4, got 5␤ in block <unit> at /tmp/LxwxtPTFr1:1␤␤»
Zoffix :S 15:21
15:23 ssflying left
[Coke] TimToady: ^^ 15:25
mrf_ m: role Bar {}; grammar Foo { also does Bar; }; 15:26
camelia ( no output )
mrf_ hmm
ugexe thats not quite the same though. use Bar::Module; will do the precomp dance and `does Bar` would then be using precomp code. could be related to the transistive dependency thing nine mentioned he was trying to fix 15:28
Zoffix What's the proper way proceed to next iteration of react {} ? I've got react { whenever $sock.Supply { .say; next unless /foobar/ } }; but it seems to stop reacting unless I remove that "next unless" bit 15:29
15:30 ely-se left
Juerd MadcapJake: I can provide a simplified svg, maybe that works... 15:31
MadcapJake well i had some look with icomoon actually
jdv79 Zoffix: its an event loop
events make it move...
15:32 _mg_ left
mrf_ if you do action 'resolve' that should resolve the ticket (which I believe is the same as closing it) 15:32
Zoffix jdv79, how do I exit from whenever {} ?
mrf_ wrong window sorry
jdv79 its not a routine is it?
oh maybe - llast
ugexe done() ? 15:33
jdv79 *last
jnthn wrote about this stuff somewhere
ugexe i guess that would leave the react wouldnt it
jdv79 whenever is like a for loop kinda - is that correct?
Zoffix Yes, done() leaves the react
Same thing with `last` as with `next` 15:34
jdv79 irclog.perlgeek.de/perl6/2015-11-27#i_11611563 15:35
may be slightly relevant
15:36 n0tjack left
Zoffix none help though. I think if I call a sub in whenever {} and inside that sub do a return unless ...; then I'd get the effect I desire 15:37
Zoffix changes the next unless /foobar/; to if /foobar/ { ... }
jdv79 so simple
Zoffix An extra indent level though :P 15:38
nine arnsholt: sure!
yoleaux 13:11Z <brrrt> nine: why not pygmentize or Text::VimColour?
TimToady m: say nqp::ordbaseat("foo", 42)
camelia rakudo-moar 09a3e3: OUTPUT«Invalid string index: max 2, got 42␤ in block <unit> at /tmp/fpIB_25LEL:1␤␤»
mspo is there an option or something to get more readline-type features in the repl? 15:40
up arrow and whatnot
TimToady install Linenoise
or rlwrap
mrf_ Is there a workaround for the Pod::Coverage isntall issue? 15:42
ilmari Linenoise doesn't do unicode at all
15:42 zakharyas joined
Juerd MadcapJake: juerd.nl/tmp/Camelia_mono_1path.svg 15:42
MadcapJake oh sweet, thanks Juerd! 15:43
15:43 csd_ joined 15:44 empT joined
stmuk_ last Cannot unbox a type object 15:46
oops
15:48 empT left
lucasb if you stare enough this big monochromatic camelia, it looks spooky, hypnotizing... 15:49
sjn \o
flussence mrf_: no signs of life on that front :( 15:50
sjn quick question; can I make a lazy grid (2-dimentional array) which handles negative indices?
(a coordinate system with negative numbers)
15:51 aigan left
[Coke] arrays don't have negative indices. 15:51
sjn allright, is there another way to manage it then? 15:52
Zoffix sjn, just use [*-$index] instead of [$index] ? :)
[-$index] even
zengargoyle map positive to even, negative to odd indices?
sjn m: my @grid = [ -Inf .. Inf ][ -Inf .. Inf ]; @grid[*-12][29]; say @grid.perl;
camelia rakudo-moar 09a3e3: OUTPUT«Cannot coerce Inf or NaN to an Int␤ in block <unit> at /tmp/x4O2q6oABI:1␤␤Actually thrown at:␤ in block <unit> at /tmp/x4O2q6oABI:1␤␤»
[Coke] Zoffix: that overlaps index values.
lucasb sjn: probably a hash would work 15:53
[Coke] then if .elems is 10, 5 would be equal to *-4 or so.
use a class.
Zoffix I assumed it was negative only or zero
mrf_ flussence: :(
Zoffix Like PDF stuff
Zoffix goes back to writing...
d^_^b hi
whoops
mrf_ flussence: can we not remove it as a dep from Linenoise. Surely its only used for testing? 15:54
Zoffix [Coke], would you know how to exit from whenever {} block?
15:54 raiph left
dj_goku hi 15:54
is there a .messages option to get messages? 15:55
ugexe /.+/ 15:56
moritz dj_goku: you automatically get messages when you speak up
zengargoyle .botsnack
yoleaux :D
synbot6 om nom nom
zengargoyle plus warm fuzzies for feeding the bot. 15:57
15:57 hankache joined
Zoffix "feeding the bot"... You know you live in the future when... 15:57
MadcapJake Juerd: are you on twitter? 15:58
15:58 empT joined
hankache Hello #perl6 15:58
Zoffix \o 15:59
cygx m: my $a = 42; LEAVE say $a; END say $a 16:00
camelia rakudo-moar 09a3e3: OUTPUT«42␤(Any)␤»
cygx ^is that by design?
16:02 empT left
lucasb m: my $a = 42; END { say $a } 16:03
camelia rakudo-moar 09a3e3: OUTPUT«42␤»
16:04 nige1 left
[Coke] Zoffix: not without digging into docs. 16:04
Zoffix k 16:05
MadcapJake Camelia file icons: twitter.com/MadcapJake/status/6724...3682837505
Zoffix MadcapJake, cool :) 16:06
Zoffix contemplates using camelia as the file extension :P 16:07
MadcapJake Juerd++ for the simplified mono svg
jdv79 is panda still broken?
Zoffix jdv79, was it?
Works fine for me.
flussence mrf_: the problem is LibraryMake, which depends on Pod::Coverage directly and not as a test dep
jdv79 i installed a new rakudo, then "perl6 boostrap.pl" breaks
that is still how to get panda setup? 16:08
TimToady [Coke]: I have a potential fix for #126771 that I'd like to ask jnthn++ about
mrf_ flussence: yeah just realised that.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126771
Zoffix jdv79, I just ran it as ./bootstrap.pl
jdv79 same thing
MadcapJake not sure how easy this would be to box up and deliver to people but I could explain how to add it at least!
nine jdv79: yes, is your panda up to date, too?
jdv79 they are both (rakudo and panda) fromm about 15 mins ago 16:09
nine jdv79: how exactly does it break?
jdv79 gist.github.com/anonymous/3ab8aad4f9f0e9e69550 16:10
TimToady cygx: that looks reasonable to me, since the $a has gone out of scope, and hasn't been captured in a closure as in what lucasb++ did
retupmoca flussence, mrf_: I just removed the Pod::Coverage dep from LibraryMake 16:11
mrf_ \o/
flussence thanks!
retupmoca (well, I think I did anyway - my panda bootstrap isn't working yet either)
zengargoyle does LibraryMake still use @*INC? 16:12
hankache MadcapJake++ 16:13
jdv79 panda is at 491cc83 and rakudo is at 1533b2f
retupmoca the only thing it would have used @*INC for was the find-bundled function call, which is deprecated anyway
the "new thing" is Find::Bundled
which...might be using @*INC :(
(I know I merged at least one PR about the new module stuff, but I don't recall exactly what it was) 16:14
zengargoyle ah, maybe it's Find::Bundled (whatever module it is that replaced the thing built-in to LibraryMake) that bombed on me.
16:14 nadim left, uruwi left 16:15 khw joined
retupmoca I plan on getting that straightened out once I get panda sorted on my machine, but I'll merge PRs :) 16:15
cygx TimToady: ok, I figured that it could be the expected behaviour
not the most newbie-friendly semantics, though...
zengargoyle retupmoca++ 16:16
retupmoca 's panda bootstrap seems to just hang or give "Unable to write bytecode" errors, so I'm guessing there are a couple of windows issues yet
16:16 nadim joined
TimToady cygx: if we automatically assumed {} around blockless phasers, that would prevent BEGIN my $x = 42; from working 16:17
hankache m: say -!True; 16:18
camelia rakudo-moar 09a3e3: OUTPUT«0␤»
TimToady requiring {} to get closure semantics seems not unreasonable to me
hankache m: say ?-!True;
camelia rakudo-moar 09a3e3: OUTPUT«False␤»
nine jdv79: can you please give me the output of perl6 -e 'dd $*REPO.repo-chain; dd %*CUSTOM_LIB;' 16:19
16:20 pmurias left
cygx TimToady: it's just that visually, the (blockless) END statement appears to be within the surrounding code 16:20
so naively, lexicals should be available 16:21
TimToady sure, which is why $a is recognized, but the lifetime is different from the scope
cygx I huess in this cse, it's more about lifetimes
*guess
16:21 nadim left
cygx ;) 16:21
jdv79 gist.github.com/anonymous/e90b997e6e711c7fdc63
TimToady hmm
m: state $a = 42; LEAVE say $a; END say $a 16:22
camelia rakudo-moar 09a3e3: OUTPUT«42␤(Any)␤»
TimToady aww
stmuk_ m: y @installations = $*REPO.repo-chain.grep(CompUnit::Repository::Installable); my @binaries = flat @installations.map: { .files('foo')}; say :@binaries.perl; 16:23
camelia rakudo-moar 09a3e3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hvtfKkXILY␤Unsupported use of y///; in Perl 6 please use tr///␤at /tmp/hvtfKkXILY:1␤------> 3y7⏏5 @installations = $*REPO.repo-chain.grep␤»
stmuk_ m: my @installations = $*REPO.repo-chain.grep(CompUnit::Repository::Installable); my @binaries = flat @installations.map: { .files('foo')}; say :@binaries.perl;
camelia rakudo-moar 09a3e3: OUTPUT«Cannot unbox a type object␤ in block <unit> at /tmp/CM89swi3r4:1␤␤»
hoelzro o/ #perl6
Zoffix \o 16:24
hankache o/ hoelzro
hoelzro o/ hankache, Zoffix
dalek kudo/precomp-singleprocess: 104623a | arnsholt++ | src/core/ (5 files):
Initial sketch of precompilation in a single process.

Unfortunately this doesn't quite work yet, as a circular dependency chain is falsely detected when precompiling the NativeCall libraries.
retupmoca oh hey, I had a ~/.perl6 folder I didn't know about - blew that away and panda bootstrap looks happy 16:25
nine jdv79: your rakudo is 46 commits behind! Including those necessary for panda. 16:26
arnsholt nine: That branch is what I've got so far. Unfortunately it breaks when precomping NativeCall. Somehow the list of loaded modules persists between each thing we precomp, so when NativeCall.pm is precomped NativeCall::Types gets loaded, and then when precomping NativeCall::Types it borks, because ::Types is already marked as loaded
Or at least, that's what it looks like to me
jdv79 wut?!
nine jdv79: current nom is 09a3e3deae81c4946afa5f1debdc351fa82c86fe
16:27 nadim joined
Zoffix .u 1F64C 16:27
yoleaux U+1F64C PERSON RAISING BOTH HANDS IN CELEBRATION [So] (🙌)
jdv79 oh, man. sorry. i copied the curli branch by accident
thanks!
well, i'll try that then 16:28
nine jdv79: I love it when issues are that simple to fix :)
arnsholt: yes, we have to precompile NativeCall::Types before NativeCall. Yet the only way to know that is by trying to precompile NativeCall and encountering the "use" statement. So to make this work, we have to be able to do multiple precompilations concurrently in one process. 16:30
moritz concurrently? 16:31
16:31 empT joined
jdv79 i waited a few days to try to avoid the mess and i accidentally stepped right into it:( 16:32
i guess i checked out the curli branch to take a peek and forgot to switch back 16:33
16:33 n0tjack joined
hankache who is chromatic? his comments about Perl 6 are always negative. Any reason? 16:33
jdv79 kind of a longish story i think
Zoffix hankache, based on the stuff he wrote that I've read, he used to do dev on parrot
hankache, he also the author of Perl 5's Modern Perl book 16:34
jdv79 hankache: i think a few posts on his blog lay it out prety well
mst hankache: his comments about almost everything are always negative
Zoffix heh
jdv79 modernperlbooks.com i think somwehre
mst he successfully delayed perl 5.10 by making the pumpking quit with a series of passive aggressive posts 16:35
etc. etc.
jdv79 ah, panda now straps in. nice.
Zoffix \o/
dj_goku moritz: haha I guess I just start saying .messages when I come back from afk.
16:36 empT left
hankache i see. i was wondering where all that negative vive was coming from (comments on reddit and HN) 16:36
vibe* 16:37
[Coke] TimToady: glad to hear it, thanks.
jdv79 and installs stuff and stuff runs like precomp it working (faster). its like a whole new world! 16:38
flussence hankache: the tl;dr is he's 5.8 backward compatibility in person form ¯\_(ツ)_/¯
dj_goku hankache: if you do some googling you can find his perspective of why he is negative.
jdv79 *is
nadim What's the status of AUTOLOADING and Ties? 16:39
stmuk_ m: my $a = CompUnit::Repository::Installation.new();
camelia rakudo-moar 09a3e3: OUTPUT«Parameter '$prefix' requires an instance of type Str, but a type object was passed. Did you forget a .new?␤ in block <unit> at /tmp/BOASD3k1S7:1␤␤»
nine retupmoca: it's very much possible that the file locking we use since curli doesn't work as intended on Windows. I'm assuming POSIX semantics since I don't have any information on what exactly to expect.
diakopter nadim: those are Perl 5 concepts
stmuk_ should that work? or I am missing something?
16:39 n0tjack left
stmuk_ m: my $a = CompUnit::Repository::Installation.new(:prefix("foo")); 16:41
camelia ( no output )
retupmoca nine: yeah, it hung during the tests for panda on that bootstrap, and I haven't gotten it even that far again 16:42
lucs m: say (^20).grep(.is-prime) # What's missing here please?
camelia rakudo-moar 09a3e3: OUTPUT«Method 'is-prime' not found for invocant of class 'Any'␤ in block <unit> at /tmp/8YVdPyM3jP:1␤␤»
stmuk_ m: say $*REPO.perl 16:43
camelia rakudo-moar 09a3e3: OUTPUT«CompUnit::Repository::Installation.new('/home/camelia/.perl6/2015.11-330-g09a3e3d')␤»
retupmoca nine: I'll take a look at the file locking stuff
nadim Maybe but there was a discussion about them, IE perl6.org/archive/rfc/200.html, Now I don't mind those concepts gone but if there are new concepts then I'd like to know their statuses
retupmoca m: say (^20).grep(*.is-prime) # lucs
camelia rakudo-moar 09a3e3: OUTPUT«(2 3 5 7 11 13 17 19)␤»
16:43 n0tjack joined, llfourn left
stmuk_ m: my $foo = CompUnit::Repository::Installation.new('/home/camelia/.perl6/2015.11-330-g09a3e3d') 16:43
camelia rakudo-moar 09a3e3: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in block <unit> at /tmp/GrOLKE_ixx:1␤␤»
lucs retupmoca: Oh, hmm... What does the * do? (ref to docs?) 16:44
Zoffix lucs, it's called Whatever Star
Not sure which docs its in tho
lucs Ah, I remember seeing that.
16:44 empT joined
lucs I'll find it, thanks. 16:44
Zoffix lucs, probably this: doc.perl6.org/type/Whatever
TimToady [Coke]: on that RT, the problem with blindly changing s/lc/fc/ is that fc can change the length, and current lc code assumes not
lucs Zoffix: Danke 16:45
arnsholt nine: Oh, so the failure is expected? That might explain things
And probably handleable with appropriate exception handling
[Coke] TimToady: we can push the .fc to a different ticket, that's fine.
but I think .fc is the -right- way to do that, yes? 16:46
lucs is gonna cry!
[Coke] my immediate problem is that it fails horribly. I'll settle for "not every weird case insensitive is handled quite right"
lucs Perl6 is so beautiful
!
[Coke] lucs: you're welcome. :)
japhb .botsnack 16:48
synbot6 om nom nom
yoleaux 2 Dec 2015 23:50Z <timotimo> japhb: how about i ask another person who can perl5 to implement that feature?
:D
16:48 nige1 joined
[Coke] ETOOMUCHBOT 16:48
japhb timotimo: Well sure, just ask them to do a PR so I can sanity-check. Not that I'm claiming the Perl 5 code in perl6-bench is particularly sane mind you ... more like "optimized for JFDI" 16:49
Zoffix hm
Why am I getting first emission right away instead of after 2 secs? 16:50
m: Supply.interval( 2 ).tap({ say "42" }); sleep 1
camelia rakudo-moar 09a3e3: OUTPUT«42␤»
japhb [Coke]: synbot6 probably shouldn't eat the snacks, and yoleaux probably shouldn't smile if it's delivering messages. Or we could just get the yoleaux owner to add a .messages.
16:50 WizJin joined
Zoffix m: Supply.interval( 2 ).tap({ say "SUP: {now}" }); sleep 1; say now 16:51
camelia rakudo-moar 09a3e3: OUTPUT«SUP: Instant:1449161503.478914␤Instant:1449161504.479570␤»
japhb Zoffix: sleep 5.
Zoffix japhb, ?
japhb m: Supply.interval( 2 ).tap({ say "SUP: {now}" }); sleep 5; say now
camelia rakudo-moar 09a3e3: OUTPUT«SUP: Instant:1449161540.900171␤SUP: Instant:1449161542.901709␤SUP: Instant:1449161544.903744␤Instant:1449161545.900828␤»
16:52 n0tjack left
Zoffix japhb, not sure what I'm meant to get from that :/ 16:52
16:52 empT left
japhb The spacing is indeed every 2 seconds ... but it starts at 0, not 2. 16:52
Zoffix That's terrible and IIRC it wasn't the case before the recent Supply rewrite.
16:53 hankache left
[Coke] japhb: I just do a "." if I know I need to emit messages. 16:53
jdv79 Zoffix: are your bots self aware yet?
japhb [Coke]: Sigh, I suppose so.
Zoffix jdv79, yes
japhb Speaking of messages, I should have probably sent mine as one ... 16:54
.tell timotimo Well sure, just ask them to do a PR so I can sanity-check. Not that I'm claiming the Perl 5 code in perl6-bench is particularly sane mind you ... more like "optimized for JFDI"
Zoffix Ah ok
yoleaux japhb: I'll pass your message to timotimo.
jdv79 so they will write the advent post?
TimToady [Coke]: we should just have a ticket for a general lc vs fc review, I think, if we don't have one already
Zoffix m: Supply.interval( 2, 2 ).tap({ say "SUP: {now}" }); sleep 1; say now
camelia rakudo-moar 09a3e3: OUTPUT«Instant:1449161713.624202␤»
16:54 n0tjack joined
Zoffix There's a "delay" there 16:54
[Coke] TimToady: ok. opening.
TimToady and we probably need to do it before xmas
Zoffix jdv79, yup :P 16:55
jdv79 super ^H
16:55 atweiden joined
Zoffix jdv79, you probably wouldn't want to read that post tho: [11:23:51] <Zoffix> P6NotABot, test [11:23:51] <P6NotABot> When they met up outside the town, he listened to the other group explaining how it all went bad right from the beginning because there were a pair of constables keeping a sharp eye on the target maki 16:56
^_^
16:56 telex left
jdv79 needs more IQ 16:56
lucasb having multiple-keyed hashes makes sense? is it planned for the far future? the idea is something like this: my %h{Int;Str;Bool}; %h{42;"foo";True} = $some-value;
Zoffix :o 16:57
n0tjack I'd love to see multi-key hashes
16:57 empT joined
Zoffix can't think of a valid usecase 16:57
[Coke] m: say π
camelia rakudo-moar 09a3e3: OUTPUT«3.14159265358979␤»
n0tjack m: say pi^(e*i); 16:58
camelia rakudo-moar 09a3e3: OUTPUT«one(3.14159265358979, 0+2.71828182845905i)␤»
n0tjack m: say e^(pi*i);
camelia rakudo-moar 09a3e3: OUTPUT«one(2.71828182845905, 0+3.14159265358979i)␤»
Zoffix m: say 2^2
camelia rakudo-moar 09a3e3: OUTPUT«one(2, 2)␤»
[Coke] ** not &
diakopter heh since when does ^ work like that
[Coke] er, not ^
16:58 telex joined
diakopter yeah ** 16:58
Zoffix I'm just wondering wtf ^ is?
lucasb xor?
n0tjack I'm used to spelling ** as ^ 16:59
diakopter disjunction
n0tjack sorry
Zoffix :o
[Coke] docs.perl6.org/routine/(%5E)#langua..._and_Mixes
Zoffix Thanks
gfldex m: my %h{Any}; %h{42;'zwoundvierzig'} = 'universe'; say %h{42;'zwoundvierzig'}
camelia rakudo-moar 09a3e3: OUTPUT«(universe)␤»
[Coke] ... wait, notpe
gfldex lucasb: ^^^
vytas m: say 2􏿽xB2;
camelia rakudo-moar 09a3e3: OUTPUT«4␤»
16:59 synbot6 left
diakopter m: say e**(pi*i); 16:59
camelia rakudo-moar 09a3e3: OUTPUT«-1+1.22464679914735e-16i␤»
colomon [Coke]: right, junctions not sets bags etc
vytas m: say √4; 17:01
camelia rakudo-moar 09a3e3: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/dLzG4ckOtS:1␤------> 3say7⏏5 √4;␤Bogus postfix␤at /tmp/dLzG4ckOtS:1␤------> 3say 7⏏5√4;␤ expecting any of:␤ infix␤ infix stopper␤ …»
TimToady m: say e**(pi*i).narrow
camelia rakudo-moar 09a3e3: OUTPUT«Attempt to divide 3.14159265358979 by zero using /␤ in block <unit> at /tmp/99Ygzai4UY:1␤␤Actually thrown at:␤ in block <unit> at /tmp/99Ygzai4UY:1␤␤»
17:01 empT left
TimToady heh 17:01
diakopter m: say (e**(pi*i)).narrow
camelia rakudo-moar 09a3e3: OUTPUT«-1␤»
TimToady right 17:02
lucasb gfldex: oh, it works already, cool :)
moritz m: say e ** pi\i .narrow
camelia rakudo-moar 09a3e3: OUTPUT«-1␤»
nine moritz: concurrently as in start one precompilation while another one was already started and resume the first one after the other is finished. Not as in threads
diakopter moritz: waaaaaaat is that
[Coke] colomon: sadly, couldn't find ^ at docs.p6 17:03
colomon [Coke]: :(
17:04 nadim left 17:05 n0tjack left
stmuk_ probably known but an installed script $*EXECUTABLE-NAME is a sha hash 17:05
lucasb colomon, [Coke]: junction operators & | ^ are there in the docs. is this what you are talking about? 17:06
cygx wait, the proper way to rewind a file is now .seek(0, SeekFromBeginning)
that's I bit longwinded, I'd argue
*a bit
17:07 zakharyas left
[Coke] lucasb: search for ^ - which of those entries is the junction one? 17:08
the junction page probably needs to be rewritten to list those as operators, and then the indexing will pick it up 17:09
lucasb doc.perl6.org/language/operators#infix_^ 17:10
[Coke] how often is seek used? Longwinded seems ok.
17:10 nadim joined
[Coke] lucasb: ok, but can you search for it? 17:10
lucasb strangely enough, I can't directly type a "^" character in the search box
dunno what JS magic is that 17:11
Zoffix can
17:12 sno joined
cygx [Coke]: looks more like Java than Perl to me 17:12
I'd probably have added some multi candidates using libc terminology, ie :cur, :set, :end
dalek p: 6057310 | TimToady++ | tools/build/MOAR_REVISION:
bump moar to get RT #126771 fix
17:13
zengargoyle cygx: that was my first thought when i got warnings on Text::Fortune... what is this? Java?
mrf_ -> home 17:14
17:14 n0tjack joined
nine cygx: if it weren't for :end, I'd have a hard time figuring out what the other two mean 17:15
Juerd MadcapJake: Yes, I am on Twitter. @Whreq 17:17
dalek kudo/nom: 34b87d5 | TimToady++ | tools/build/NQP_REVISION:
bump nqp to get RT #126771 fix
zengargoyle i'd still expect something shorter... seed( SeekFromXxxx ) seems redundant.
s/seed/seek/
dalek ast: 0d2a5c0 | TimToady++ | S05-modifier/ignorecase-and-ignoremark.t:
add test for RT #126771
17:18
17:18 empT joined
cygx nine: simple solution - force everyone to do some C programming before letting them touch Perl6 ;) 17:19
zengargoyle expected a bit more like Order::Less|Same|More type thing... SeekFrom::Begin ...
17:20 _nadim joined
japhb panda can't currently install Term::termios or Inline::Perl5 (though oddly Inline::Python seems to install fine). Between panda, curli, and the modules themselves, I'm not sure who to file tickets with .... 17:20
zengargoyle they still have to know to use +/- for forward/backward
17:20 nadim left 17:21 nige1 left
stmuk_ I'm getting an unbox error with the shim for p6doc-index as well 17:21
zengargoyle tho still better than having to lookup 0,1,2 *every single time* :) 17:22
stmuk_ there seems to be another(?) unbox error which is intermitaint as well
17:25 mohij left
japhb .ask nine Can you fix "things" so that Inline::Perl5 can install via panda again? 17:26
yoleaux japhb: I'll pass your message to nine.
17:26 patrickz joined, n0tjack left
diakopter Swift is now open-source apple/swift 17:27
17:28 nadim joined
TimToady which probably means apple doesn't care about it so much anymore... 17:28
[Coke] I could see an argument made for using an adverbial rather than an enum there, but I'm more concerned about our inconsistent kebob casing.
17:29 _nadim left
stmuk_ swift.org seems /' ed 17:30
nine I guess physicists really are not familiar with tauday.com/ 17:31
yoleaux 17:26Z <japhb> nine: Can you fix "things" so that Inline::Perl5 can install via panda again?
17:31 dakkar left
nine japhb: I already started work on that yesterday. It just would be much easier if arnsholt++ manages to make in-process precompilation work 17:32
[Coke] Pretty sure we have all the people we're going to have in the credits section of the release announcement now. Please make sure your favorite sixer is in the list and that their preferred name is used. (Still some work to be done to eliminate a few dupes, and pick better preferred names)
gist.github.com/coke/63c7bbb82f075c7bb1f5 17:33
17:33 Ch0c0late joined
[Coke] lizmat+- for suggesting this task. :) 17:33
cygx
.oO( who's that cvsdummy guy )
17:34
jdv79 m: my @a="adsf"; say "@a[0]{'foo'}" 17:36
camelia rakudo-moar 34b87d: OUTPUT«Type Str does not support associative indexing.␤ in block <unit> at /tmp/I4NIgjeOew:1␤␤Actually thrown at:␤ in block <unit> at /tmp/I4NIgjeOew:1␤␤»
[Coke] cygx: adding him to the TODO...
jdv79 is there no way to have a subscripting followed by a block in a string interp? 17:37
[Coke] cygx: updated README
cygx [Coke]++
[Coke] m: my @a="adsf"; say "{ @a[0]{'foo'} }"
camelia rakudo-moar 34b87d: OUTPUT«Type Str does not support associative indexing.␤ in block <unit> at /tmp/fvBCFVeckE:1␤␤Actually thrown at:␤ in block <unit> at /tmp/fvBCFVeckE:1␤␤»
jdv79 another block i guess...
m: my @a="adsf"; say "{@a[0]}{'foo'}" 17:38
camelia rakudo-moar 34b87d: OUTPUT«adsffoo␤»
donaldh is tirelessly pimping his PR that unbusts the JVM build github.com/rakudo/rakudo/pull/615
Zoffix First draft of Advent post done: 2094 words.
jnthn pimpin' ain't easy...
[Coke] donaldh: one sec.
TimToady m: my @a="adsf"; say "@a[0]$('foo')"
camelia rakudo-moar 34b87d: OUTPUT«adsffoo␤»
dalek kudo/nom: 3140c62 | donaldh++ | src/core/Str.pm:
Unbust build on JVM - make samemark moar only.
kudo/nom: de7cb07 | jnthn++ | src/core/Str.pm:
Merge pull request #615 from donaldh/unbust-jvm

Unbust build on JVM - define samemark to be moar only.
TimToady another way
[Coke] jnthn beat me to it!
jnthn ;)
[Coke] donaldh++ Thanks!
jdv79 TimToady: nice
17:39 Amnez777- joined
timotimo so much backlog ... 17:39
yoleaux 16:54Z <japhb> timotimo: Well sure, just ask them to do a PR so I can sanity-check. Not that I'm claiming the Perl 5 code in perl6-bench is particularly sane mind you ... more like "optimized for JFDI"
donaldh thanks jnthn++ and [Coke]++
17:39 Amnez777 left 17:40 Amnez777 joined, Amnez777 left, Amnez777 joined, ChoHag joined
donaldh also github.com/rakudo/rakudo/pull/608 which adds awesomeness to USAGE 17:40
cygx re USAGE, github.com/rakudo/rakudo/pull/549 is also still open 17:43
17:43 cpage_ left
jnthn TimToady: Any feeling on rt.perl.org/Ticket/Display.html?id=126005 ? Basically, things like loops sink their last statement, so the loop block evaluates to Nil, so the UNDO phaser fires. 17:43
ChoHag How's the release by Christmas looking? 17:44
cygx m: sub MAIN(42, *%foo) {}
camelia rakudo-moar 34b87d: OUTPUT«Usage:␤ /tmp/LkRKXlKH72 =<Associative> 42 ␤»
17:44 Amnez777- left
[Coke] ChoHag: on target 17:45
ChoHag 2015.11 builds cleanly by the way. ISTR some problem building individual components to a non-standard prefix some time ago.
[Coke] cvsdummy & unknown are gone 17:47
17:47 Actualeyes left 17:52 ChoHag left 17:56 donaldh left
TimToady jnthn: perhaps sink should be returning Empty intead of Nil? 17:57
but the thing is, UNDO isn't really intended for blocks that don't return anything anyway, unless we tweak our definition of success 17:58
so I'm willing to spec nasal unicorns unless someone gives me a real use case 18:00
Zoffix :o 18:02
diakopter nasaly unicorns sing off-key 18:05
18:06 JimmyZ_ joined, lucasb left
dalek p: 01aba47 | TimToady++ | tools/build/MOAR_REVISION:
bump moar for moar ord tweaks
18:06
18:07 ChoHag joined
dalek kudo/nom: 3f85666 | TimToady++ | tools/build/NQP_REVISION:
bump nqp for moar ord tweaks
18:07
18:08 espadrine left
El_Che I know this is a designed, but I don't care much about it: 18:10
m: class Foo { has $.bar }; my $foo = Foo.new( baz => "blah")
camelia ( no output )
El_Che that will happily create a "Foo.new(bar => Any)" 18:11
I would rather see the new call die
18:11 zoosha left 18:12 JimmyZ_ left
ilmari has Any:D $.bar is required; 18:13
i see 'is required' now suppresses the "Variable definition of type Any:D requires an initializer" error
El_Che ilmari: what if it isn't? I am talking about supplying nonsense parameters (typos) at class creation time 18:14
MadcapJake If anyone is interested in having camelia file icons: madcapjake.github.io/2015/perl6-file-icons/
ilmari El_Che: what do you mean nonsense? Anyy is perfectly cromulent value (a type object)
s/yy/y/
ah, you mean unknown attributes 18:15
El_Che ilmari: yes
ilmari: class Foo { has Bool $.verbose }; my $foo = Foo.new( verboose => True)
verboose instead of verbose
ilmari I guess could could write a class trait that rejects unknown constructor arguments 18:16
class Foo is strict { ... } 18:17
like MooseX::StrictConstructor
mst on the whole, I have not found that to be an advantage
El_Che ilmari: sure p6 is flexible enough to do that. I don't see the use case for the default
is there a use case to pass invalid attributes to a constructor? 18:18
mst (1) it might not be invalid, something in BUILD might use it
(2) it lets you pass an object a hash of params, and it understands the ones it understands, and ignores the others
El_Che mst: I get case 2 18:19
gfldex it's ignored for subs too, what allowes chaining of subs that pass named arguments on to a sub that can handle them
El_Che so there are valid cases, but I think it also has the potential to be the cause for difficult to spot bugs 18:20
18:21 cognominal left, mephinet left 18:24 n0tjack joined 18:25 cognominal joined 18:27 hankache joined 18:28 empT left 18:30 mephinet joined, empT joined
El_Che thx for the answer, they make sense 18:30
s
dalek kudo/nom: c6cc8a8 | coke++ | docs/announce/2015.12.md:
add most of TimToady++'s thanks update

Remove the list of repositories to go over; That work is being done in a gist, we'll pull it in shortly.
zostay how do i fix it if panda is installed, but when i run panda it can't find Shell::Command, etc.? 18:31
lizmat hopes TimToady will be able to decide on github.com/rakudo/rakudo/pull/614 18:32
aka, do we support tau ? 18:33
18:33 zoosha joined
n0tjack m: say pi/2; 18:33
camelia rakudo-moar 3f8566: OUTPUT«1.5707963267949␤»
n0tjack oh wait tau is 2*pi
hankache m: say 2*pi; 18:34
camelia rakudo-moar 3f8566: OUTPUT«6.28318530717959␤»
n0tjack do I need rakudobrew to upgrade rakudo* easily? 18:35
lizmat wonders it would make sense to have an Inline::Swift
zostay ah, figured it out... had to cd into the panda dir inside of rakudobrew and run: perl6 -I ext/Shell__Command/lib -I ext/File__Find/lib -I ext/JSON__Fast/lib bin/panda install File::Find Shell::Command JSON::Tiny 18:36
18:37 ribasushi left
zostay n0tjack, i would recommend rakudobrew if you are interested in easily updating to the latest build 18:37
hankache m: sub τ {2*pi}; say τ; 18:38
camelia rakudo-moar 3f8566: OUTPUT«6.28318530717959␤»
[Coke] I think I had asked for tau at some point, but am now convinced it doesn't belong in v6.c - if it gets more mindshare, we can add it to v6.d
18:39 zengargoylew joined
n0tjack zostay: I'm only really interested in the monthly R* builds. Currently, I'm unsure of how to easily upgrade from 2015.09 to 2015.11 . As much as possible I'm trying to be a pure "user". 18:39
m: constant \τ = 2*pi; say τ; 18:40
camelia rakudo-moar 3f8566: OUTPUT«6.28318530717959␤»
cygx m: sub postfix:<pi> { $^v * pi }; say 2pi 18:41
camelia rakudo-moar 3f8566: OUTPUT«6.28318530717959␤»
hankache n0tjack what does the backslash before a variable declaration do?
Skarsnik mess up with your brain
n0tjack hankache: makes it sigilless; may actually not be required for constants, but is required for mutable vars 18:42
MadcapJake doc.perl6.org/language/variables#Si..._variables
lizmat afk until after have seen Deep Purple getting oxygenated&
MadcapJake lizmat: o_O
18:43 ribasushi joined
zostay rakudobrew can build the monthly R* distro if you specify the tags you want to build from, i think, but it doesn't include the modules R* includes, so it's probably not what you want in that case 18:43
lizmat
n0tjack zostay: what is the recommended way to upgrade r* on OSX? brew uninstall & brew install ?
MadcapJake zostay: panda install Task::Star
timotimo zostay: fortunately we have Task::Star to give you the modules. however, it doesn't give you the modules at the exact version star shipped. 18:44
zostay i don't know... i was just answering what rakudobrew does... that's all i really need since i just need to build and test my mods against the bleeding edge 18:45
n0tjack cool
hankache so sigiless variables and constants are the same thing?
i mean the same behavior 18:46
n0tjack hankache: no
hankache: any variable, constant or mutable, can be sigilless
m: my \foo = 42; foo = 43; say foo;
camelia rakudo-moar 3f8566: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/9q_bitkHOh:1␤␤»
n0tjack wait, is that right?
flussence m: say unival('𓂅') # gucharmap tells me this has a numeric value of 1/32, but perl6 doesn't recognise it. should it?
camelia rakudo-moar 3f8566: OUTPUT«NaN␤»
n0tjack m: my \foo = 42; foo := 43; say foo;
camelia rakudo-moar 3f8566: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NIsGMRDfb7␤Cannot use bind operator with this left-hand side␤at /tmp/NIsGMRDfb7:1␤------> 3my \foo = 42; foo := 437⏏5; say foo;␤»
n0tjack ok, I need to refresh myself on sigilles vars 18:47
forget everything I've said :)
[Coke] .u 𓂅
yoleaux U+13085 EGYPTIAN HIEROGLYPH D015 [Lo] (𓂅)
hankache n0tjack the documentation says that sigiless == immutable
18:48 vendethiel joined
cygx m: my \foo = my $ = 42; say foo; foo = 23; say foo 18:48
camelia rakudo-moar 3f8566: OUTPUT«42␤23␤»
zostay there are several loopholes like that 18:49
m: my \foo = 42; foo := 43; say foo
camelia rakudo-moar 3f8566: OUTPUT«5===SORRY!5=== Error while compiling /tmp/f1pzuPp7mA␤Cannot use bind operator with this left-hand side␤at /tmp/f1pzuPp7mA:1␤------> 3my \foo = 42; foo := 437⏏5; say foo␤»
zostay m: my Int \foo = 42; foo := 43; say foo
camelia rakudo-moar 3f8566: OUTPUT«43␤»
n0tjack zostay: Ah! That's what I had remembered.
zostay i'm not sure if they are intentional or not
cygx zostay: that last one looks like a bug to me 18:50
[Coke] flussence: fileformat.info doesn't think the hieroglyph has a numeric value.
flussence shrugs 18:51
Skarsnik m: sprintf("hello", 42);
camelia rakudo-moar c6cc8a: OUTPUT«Directives specify 0 arguments, but 1 argument was supplied␤␤»
18:51 rurban1 joined
Skarsnik Should it be more explicit which Directive? 18:51
flussence maybe they removed that info in a later version of unicode, this program's pretty out of date...
[Coke] flussence: from www.unicode.org/Public/9.0.0/ucd/Un....0.0d1.txt
2153;VULGAR FRACTION ONE THIRD;No;0;ON;<fraction> 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;;
timotimo n0tjack: sigil-less variables are pretty much Single Static Assignment, but you can still bind a scalar into a sigilless variable and then you can modify it 18:52
[Coke] 13085;EGYPTIAN HIEROGLYPH D015;Lo;0;L;;;;;N;;;;;
so, yes, perl6 seems to have this right.
18:52 ab6tract joined 18:53 ollej joined, rurban left
Skarsnik m: sprintf("hello", 42); printf("Hello", 42); 18:54
camelia rakudo-moar c6cc8a: OUTPUT«Directives specify 0 arguments, but 1 argument was supplied␤␤»
18:54 rurban1 left
flussence huh, I wonder where gucharmap gets its info from then... 18:54
Skarsnik m: printf("Hello", 42);
camelia rakudo-moar c6cc8a: OUTPUT«Directives specify 0 arguments, but 1 argument was supplied␤␤»
Skarsnik should I fill a bugrepport to have like the name of the function? x)
flussence oh, ucd/NamesList.txt. 18:55
[Coke] Skarsnik: that's an NQP error, not a rakudo error, methinks
18:55 empT left
[Coke] I think printf is basically passing the buck to NQP. 18:55
Skarsnik make me lost 20 min wondering what was wrong xD 18:56
n0tjack timotimo: makes sense, thanks 18:57
18:57 JimmyZ__ joined
Skarsnik hm, this message is both in npq and Moar 18:59
19:01 rurban joined
nine zostay: I wonder what advantages rakudobrew gives with regards to updating? I usually just git pull && make install in rakudo to update 19:01
ChoHag Coming back to me weird and wonderful perl 6 project after a couple of months.
Initial conclusion: I don't comment my code enough. 19:02
hankache use MONKEY-TYPING; lol!!
19:03 zakharyas joined 19:05 JimmyZ__ left, cpage_ joined, lestrrat left
mst ChoHag: nobody ever comments their code enough 19:06
DrForr I just use the 'rakudobrew nuke...' method. So far haven't had a problem.
19:07 empT joined
nine I most of the time manage to comment my code if lifes depend on it. Well, at least often. Ok, sometimes... 19:07
Zoffix m: &foo = &CORE::<say>; foo 42 19:08
camelia rakudo-moar c6cc8a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eal4OWT1J3␤Undeclared name:␤ CORE used at line 1␤Undeclared routine:␤ foo used at line 1␤␤»
Zoffix What was the right syntax to "rename" core functions?
TimToady thing is, you can never get it right; it just switches from having too few comments to having too many :)
timotimo m: my &foo = CORE::('&say'); foo 42
camelia rakudo-moar c6cc8a: OUTPUT«42␤»
19:08 lestrrat joined
Zoffix It's like driving: those who are slower than you are idiots and those who are faster are maniacs :) 19:08
timotimo++ thanks
timotimo Zoffix: it's important to put the "my" there, too ;)
m: my &foo = &CORE::<say>; foo 42
camelia rakudo-moar c6cc8a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_jmcfKmrgn␤Undeclared name:␤ CORE used at line 1␤␤»
TimToady Zoffix: it's worse, because you're both an idiot and a maniac 19:09
timotimo but that doesn't work :|
Zoffix TimToady, lmao :D
m: my &বলা = CORE::('&say'); বলা 42
camelia rakudo-moar c6cc8a: OUTPUT«42␤»
masak "comments are echoes along the timeline from future refactorings, pleading to be born"
-- Kent Beck
Zoffix Cool. We can actually make "translation" modules and let people use Perl 6 in their native tongue!
El_Che what does "Read-only binding" (::=) mean? doc.perl6.org/routine/%3A%3A%3D
m: my $a = 1 ; my $b ::= $a; $b++; $a.perl
camelia ( no output )
El_Che m: my $a = 1 ; my $b ::= $a; $b++; say $a.perl
camelia rakudo-moar c6cc8a: OUTPUT«2␤»
El_Che I don't see the difference with := 19:10
ChoHag I try to follow Knuth's advice (was it merely advice?) that code should be for humans and only incidentally for compilers^Wbutterflies.
masak El_Che: means you can see updates, but can't update the alias :)
timotimo m: my $a = 1; my $othera = 2; my $b := $a; $b := $othera; say $b;
camelia rakudo-moar c6cc8a: OUTPUT«2␤»
masak m: my $a = 1; my $b := $a; $b++; say $a
camelia rakudo-moar c6cc8a: OUTPUT«2␤»
ChoHag But unfortunately butterflies are faster.
19:10 leont joined
timotimo m: my $a = 1; my $othera = 2; my $b ::= $a; $b ::= $othera; say $b; 19:10
camelia rakudo-moar c6cc8a: OUTPUT«2␤»
timotimo huh
m: my $a = 1; my $othera = 2; my $b ::= $a; $b := $othera; say $b;
camelia rakudo-moar c6cc8a: OUTPUT«2␤»
ChoHag And compared to some humans I've met. Smarter.
timotimo NYI?
19:10 vendethiel left, spider-mario joined
masak you can always rebind 19:10
that's not what "readonly" means here 19:11
cygx m: my $a = 42; my $b ::= $a; $b = 23;
camelia ( no output )
masak m: my $a = 1; my $b ::= $a; $b++; say $a
camelia rakudo-moar c6cc8a: OUTPUT«2␤»
El_Che masak: I am still trying to digest the answer :)
masak hrm.
nine masak: I guess it's no accident that I'm reminded of Yeats by that quote ;)
El_Che masak: so far, I don't see the difference
jnthn TimToady: I wrote up a rejection of rt.perl.org/Ticket/Display.html?id=125400 fwiw. 19:12
_sri_ started working on a new perl6 logo, derpy the snail :p i.imgur.com/KtxYJvi.png 19:13
masak El_Che: I'm stumped too, now
_sri_ to balance out the perl5 hate here recently ;)
19:13 rurban left
Zoffix perl5 hate? 19:13
masak _sri_: :P
19:13 rurban joined
Zoffix _sri_, lol, love the logo :) 19:13
hoelzro hahahha 19:14
Zoffix _sri_, kerning sucks on "Perl 6" tho :)
masak _sri_: my first reaction to "performance isn't everything" is that it sounds like making excuses. and we do actually care about performance, it's just coming along step-by-step...
_sri_ Zoffix: everyone's a critic!
jnthn _sri_: I have no hate for Perl 5, but you're doing pretty well earning some... :P
Zoffix _sri_, hey, at least I didn't say anything about the sucky font :P 19:15
masak _sri_: my second reaction was "ugh, Comic Sans" :P
_sri_ masak: 100% intentional choice ;)
Zoffix :)
flussence prefers Ubuntu.ttf for that kind of use these days
masak _sri_: that's supposed to make me feel better about it? :P
nine I see Perl 5 as a strict subset of Perl 6, so I read it as "use these language constructs for performance" ;)
Zoffix _sri_, do you mind if I post it on Twitter? I think it's funny 19:16
masak ok, ok, we'll be derpy the snail. fine.
Zoffix _sri_, with credit to you that is :)
japhb The only hate I have is for the term "derpy". Possibly because my eldest overuses it to extremes.
Zoffix That logo actually reminds me of the 100-Year Language essay: paulgraham.com/hundred.html 19:17
And the whole talk about expressing yourself first, without worrying about efficiency\
diakopter what p5 hate 19:19
nine Where would be a good place to read an ENV var and stuff it into a dynamic to be accessed during compilation in Perl6::Actions?
masak I wonder what the dual to that logo would be 19:20
diakopter _sri_: srsly, against which sentiments are you reacting
ChoHag Efficiency is a financial problem these days.
19:20 empT left, Peter_R joined 19:21 zacts left, cdg left
TimToady m: constant τ = 2*pi; say τ; 19:22
camelia rakudo-moar c6cc8a: OUTPUT«6.28318530717959␤»
TimToady in case nobody pointed it out, you never need \ on a constant
19:23 gtodd joined, rurban left
gtodd m: say grep( { $_ ne (9 and 7) }, (1..10) ); 19:24
camelia rakudo-moar c6cc8a: OUTPUT«(1 2 3 4 5 6 8 9 10)␤»
Hotkeys TimToady: what if I like the slash
19:24 ChoHag left, ChoHag joined
gtodd m: say grep( { ($_ ne 9 ) and ($_ ne 7) }, (1..10) ); 19:24
camelia rakudo-moar c6cc8a: OUTPUT«(1 2 3 4 5 6 8 10)␤»
19:26 asdfasdf joined
El_Che masak: what is the expected behaviour of :== when updating the alias? die? exeption? I am updating the documentation 19:26
(expected as "not now") :)
19:26 asdfasdf left
masak El_Che: after failing to correctly demonstrate what the "read-only" part of the binding consists of, I think I'm the wrong person to ask for further explanation ;) 19:27
jnthn It's more "signature bind" semantics than readonly these days
dalek kudo/nom: 887c937 | TimToady++ | src/ (16 files):
please return Nil for no value, not a typeobject

We didn't clarify this till recently, so I assume these are mostly fossils.
El_Che masak: I thought it was a bug or something not implementing yet
masak maybe ask someone else on the channel to demonstrate an observable difference between := and ::=
TimToady Hotkeys: are you a mad slasher? :P 19:28
19:29 b7j0c joined
japhb
.oO( I will slash you *forwards*, and then I will slash you *backwards*! Mua-ha-ha-haaaaa .... )
19:29
El_Che while I am writing something in p6, I try to make a habit to change the doc if needed. I changed my local fork to provide an example like used in := (with the assumption that read-only meant 'read-only' :) )
gtodd it's a bad example but in general does a construct like: grep { ($_ ne 9 ) and ($_ ne 7) } , (1..10) telling me "Hey you should use junctions"
19:29 vendethiel joined
gtodd m: grep { $_ ne any(7, 9 ) } , (1..10) ; 19:29
camelia ( no output )
gtodd m: say grep { $_ ne any(7, 9 ) } , (1..10) ; 19:30
camelia rakudo-moar c6cc8a: OUTPUT«(1 2 3 4 5 6 8 10)␤»
TimToady m: say ord ""
camelia rakudo-moar c6cc8a: OUTPUT«(Int)␤»
jnthn gtodd: It's a good place for them, yes
b7j0c are there predefined subsets? seems like we will have a ton of people constantly redefining `subset Pos of Int where * > 0`;
El_Che I'll hold the bug report about ::= until someone here confirms read only means something else. In that case I'll change the wording of the documentation. 19:31
nine www.addedbytes.com/blog/if-php-were-british/
TimToady m: say ord "" 19:32
camelia rakudo-moar 887c93: OUTPUT«Nil␤»
japhb My strategy of "outlast the rainstorm before heading to dinner" seems to have succeeded! \o/
japhb thus heads to dinner ...
jnthn b7j0c: Not really, but no reason somebody can't make a module of common ones, if there's demand.
El_Che jnthn: sorry, I didn't get the signature bind thing.
b7j0c jnthn: cool, okay, guess i could be first and claim my place in perl6 lore.... 19:33
gtodd jnthn: thanks ... going through the docs thinking of where/how one line use cases could be added to things ... a "$self documentation" patch that helps me learn/remember
19:34 empT joined 19:35 pwd_ left
b7j0c what are people's feelings about threadsafety? should modules with mutable state try to guarantee their own safe concurrent use? or would people be happier for the caller to manage that on their own? in Go-land, package writers tend to take on responsibility for safe concurrency in their libs... 19:36
Skarsnik hm, I don't get why something like (json) {"roles": [{"managed": false, ...cut }]} make me iterate over roles with for %data<roles>[0] -> %role;
MadcapJake nine: that was hilarious 19:37
b7j0c i feel like it hasn't sunk in with people that perl6 is fully capable in this regard....i'm expecting a lot of people to write modules that are just perl5+better syntax
Hotkeys TimToady: I prefer hash-slinging slasher
TimToady wants hash for lunch, but the leftover chinese food is probably healthier... 19:38
jdv79 b7j0c: so blog about it:)
19:39 Deepak joined
b7j0c jdv79: :) ....but also, i wonder if we should have a "is-threadsafe" column on modules.perl.org 19:39
jdv79 real corned beef hash would be nive
mspo s3-media4.fl.yelpcdn.com/bphoto/dIH...Frfw/o.jpg
jdv79 but idk about in berlin 19:40
*nice
TimToady Mary Kitchen is the best cbh here in CA
MadcapJake drools
El_Che b7j0c: threadsafe is nice :)
mspo that's short rib hash from cafe cluny in nyc, though
jdv79 i know a place in nnj. i need to sesrch tomorrow
that makes their own i mean 19:41
mspo the poached eggs really do it
TimToady alas, can't have that part
ChoHag Previously (twoish months ago) I could write $method.wrap(sub ($instance:) { ... } }, but now I'm told that I can 'only use the : invocant marker in the signature for a method'.
colomon huh. do we have an idiom for reading a file in stages? I use for lines() { when /* something */ } for files where it’s all the same, but that seems like it would get awkward for a file which has distinct sections.
gtodd I've always been a hacker of manual pages ... using groff to add MY NOTES sections etc. this got me thinking it might be neat (possibly already proposed) if people could personalize their p6docs by having a POD section that links to notes/snippets/examples/internal projects and other resources that appears as a llink under See Also or something ... but only if the notes exist 19:42
TimToady ChoHag: just s/sub/method/ and it should work
mspo TimToady: egg allergy?
TimToady yup
mspo sucks
jdv79 mspo: u in nyc?
TimToady sucks eggs!
ChoHag Is that error wrong? The anonymous sub in this instance is a method.
Heh bad choice of words.
mspo jdv79: I had to leave about 18 months ago
jdv79 :(
mspo jdv79: but still think about breakfast at cafe cluny :)
jdv79: I could only afford one 3x expense (rent) but not two (rent + childcare) 19:43
leont Anyone got a clue what «Unhandled exception in code scheduled on thread 6 Can only perform big integer operations on concrete objects» means?
TimToady m: method ($instance:) { say "Hi, I'm anonymous" }
camelia ( no output )
leont --ll-exception doesn't add any information
ChoHag The anonymous sub in this case is a method.
gtodd it would work with p6doc and with the app.pl plack webserved variety ... perhaps people could push / share additions to the official docs p6notes would gradually eat evernote's market share etc.
TimToady m: my $m = method ($instance:) { say "Hi, I'm anonymous" }; 42.$m 19:44
camelia rakudo-moar 887c93: OUTPUT«Hi, I'm anonymous␤»
ChoHag Gah! Is freenode still under attack or is my ISP's admin still fucking up with routers he doesn't understand?
TimToady freenode weather has been stormy lately
masak .oO( there ain't no such thing as a free node ) 19:45
ChoHag Thanks TimToady.
Skarsnik sprintf error are quite not fun, you never get the number of the line that fail :(
masak Skarsnik: probably because it's thrown from nqp 19:46
colomon I see if I do for lines() { } and exit the loop at some point, the next time I call lines() starts from the next line of the file. Is that a feature or an accident?
TimToady feature 19:47
if we don't have a test for it, we oughta
colomon TimToady++
19:47 uruwi joined
jnthn masak: Many are, but that doesn't stop them getting backtraces... 19:48
masak jnthn: *nod*
jnthn So not sure what's up with it. Agree it totally should be getting one.
Skarsnik Type check failed in binding $format; expected Cool but got Any
in method throw at /root/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:1
in method guild-channels at /root/piko/Discord/lib/Discord.pm6:133
the sprintf is at line 134 19:49
TimToady lines appears to be rather thoroughly tested
19:49 yqt joined 19:50 n0tjack left, kaare_ left 19:51 uruwi left
mspo what does 'deadly parasitic' mean in raw.githubusercontent.com/perl6/mu...tsheet.txt 19:52
19:53 hankache left, uruwi joined
TimToady it means it kills its host rather than just making it sick 19:54
DrForr nine: 'use Inline::Perl5' is throwing "No such method 'abpath' for invocant of type 'CompUnit::Repository::FileSystem'". There's an abspath attribute in IO::Local, and it's used in the core in DIR-GATHER. 19:56
Zoffix I'm done with my Advent post that's going live in 4 hours. If anyone wants to review it and see whether it's sane that's welcome :) perl6advent.wordpress.com/?p=2885&...eview=true
jnthn lizmat: re rt.perl.org/Ticket/Display.html?id=126789 your expectations are wrong; CATCH is a phaser and so block-level, it doesn't matter where textually it is in the sub.
Zoffix It's a bit off from what I imagined it being when I first planned it, but that's what you get when you write part of a piece drunk and part of it hungover :P 19:57
cognominal well, it replace organs instead of merely augmenting the host. I don't think it is supposed to be deadly.
19:58 n0tjack joined
mspo who knew the comma was so deadly 19:59
dalek line-Perl5: 256b14a | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Fix "No such method 'abpath' for invocant of type 'CompUnit::Repository::FileSystem'"

Thanks to DrForr++ for the heads up!
cygx can someone check that github.com/perl6/roast/pull/82 is sane?
DrForr Now *that's* what I call service :)
nine++ # fast turnaround :)
Zoffix nine++ :) 20:00
El_Che MadcapJake: looking forward to your atom perl6 linter and autocomplete work. I tried atom recently for perl6 and went back to vim because it didn't do more thatn vim. I will give it a go again then :) 20:02
DrForr There's also a circular module loading in t/v6.t but I've been bypassing testing. 20:03
jdv79 nine++
TimToady huh, this makes no sense at all: return 0.5 if nqp::uc($ac) eq nqp::lc($bc); 20:04
20:05 Deepak left
cognominal github.com/rakudo/rakudo/blob/nom/....nqp#L4554 <== I have trouble to understand this line. The goal is to lexically augment the grammar. It is lexically augmented because o github.com/rakudo/rakudo/blob/nom/....nqp#L4554 sets a lexical %*MAIN That, I get. But I don't understand the purpose of :my $stub The $stub var not being used, I would guess it is to avoid a closure. But why?. 20:05
ho, the getlex ! 20:06
cygx should the comparison of C, Perl5 and Perl6 open modes from github.com/rakudo/rakudo/commit/36f773eb0 be included in the user-level documentation? 20:07
(ie docs.perl6.org/routine/open )
flussence TimToady: I've no idea if it's meant to be this, but that line reads to me as «return 0.5 if $ac eq $bc and none($ac, $bc) ~~ any(@case-flippable-chars)»
cognominal if no teddybear or poulp available, ask the question in an IRC channel :) 20:08
DrForr Beware of poulp fiction though.
TimToady I think it is intended to treat case changes as less cost, but it fails at that
cognominal DrForr++ 20:09
TimToady is changing it to: return 0.1 if nqp::fc($ac) eq nqp::fc($bc);
Zoffix begins operation TTIAEMATTFTTF 20:10
Try To Install All Ecosystem Modules And Try To Fix Those That Fail. Running this 1-liner: perl -MMojo::UserAgent -wlE 'open my $fh, ">", "errors.txt" or die $!; for (@{Mojo::UserAgent->new->get("modules.perl6.org/")->res->do...to_array}) {my $o = `panda install $_`; say $o; $o =~ /Successfully installed/ or do { say "FAILED: $_"; say $fh $_; }}'
DrForr Doesn't panda have a 'smoke' or 'all' option? 20:11
20:12 pwd_ joined
Skarsnik Zoffix, have fun! 20:13
dalek kudo/nom: c8bd575 | TimToady++ | src/Perl6/World.nqp:
make levenshtein treat caps differences as cheap

The code tried before, but failed by comparing a uc with an lc. Also, .5 isn't cheap enough to catch a capslock failure. :)
20:13 n0tjack left
ab6tract if i use lib './lib' 20:14
is there any precomp going on there?
20:14 darutoko left
Zoffix DrForr++ Indeed it does! "smoke Tests and installs all packages. (Not for typical use.)" 20:14
Zoffix tries that instead
TimToady m: COMPLEX 20:15
DrForr I just reinstalled it, only reason I noticed it.
jdv79 ab6tract: why are you six and not five?
camelia rakudo-moar 887c93: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VLhZDmpFd8␤Undeclared name:␤ COMPLEX used at line 1␤␤»
flussence I'm looking at CompUnit::Repository::FileSystem and noticed line 33 passes an IO::Path to IO::Path.new-from-absolute-path while line 46 passes a string. The latter works, former explodes. Bug in that IO::Path method?
ab6tract TimToady: it took a year, but I've got something resembling a matrix-y screensave with Terminal::Print :D
DrForr jdv79: We want... information.
ab6tract jdv79: I'm on my laptop
flussence (fixing this would restore META6.json reading to working order) 20:16
nine ab6tract: yes
flussence: the IO::Path.new-from-absolute-path seems redundant 20:17
ab6tract nine: but does it re-comp the precomp when i've changed a file? :)
nine flussence: I replaced most of the Str usage by IO::Path but may have overlooked some not tested places
ab6tract: yes
flussence nine: yeah, I wouldn't be surprised if I was the only person using that codepath regularly :) 20:18
20:18 n0tjack joined
ab6tract nine: great :D 20:18
colomon just spent a very frustrating five minutes trying to figure out why his code wasn’t working, when it turned out that the actual bit that wasn’t working was the “say” statement that was supposed to print the results. :\ 20:20
DrForr There's also a bug at t/precomp.t line 13 - "Too many positionals passed; expected 1 argument but got 2" and a circular module loading in t/v6.t - Haven't looked at it in any depth though. 20:21
jdv79 colomon: thatd be like one half hour for me;)
colomon jdv79: the actual problem was that I forgot the “say” part of the say statement. <sigh> 20:22
jdv79 cinco minuten. pfft.
:) 20:23
20:23 n0tjack left 20:24 Ch0c0late left 20:25 hankache joined
Skarsnik Zoffix, you will probably have issue with the C binding module :) 20:28
20:28 cpage_ left, geraud joined
TimToady someone needs to update the cheatsheet; for instance, there's no parcels anymore 20:28
m: COMPLEX 20:31
camelia rakudo-moar c8bd57: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zM_zZ6RQx0␤Undeclared name:␤ COMPLEX used at line 1. Did you mean 'Complex'?␤␤»
TimToady there we go
20:32 ollej left
timotimo TimToady: if we put a check for the "original" value into the levenshtein routine (that is, distance 0), we should be able to get rid of bogus levenshtein errors where it suggests something else and when you use that something else, it'll suggest what you just typed ... or something like that 20:32
the places where i put the <typo_typename> (or what i called it) aren't 100% robust to other failure scenarios 20:33
so a parse error after a type can sometimes trigger the levenshtein erroneously
my Complex"" $a;
m: my Complex"" $a;
camelia rakudo-moar c8bd57: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RV2LpuOKK1␤Malformed my␤at /tmp/RV2LpuOKK1:1␤------> 3my Complex7⏏5"" $a;␤»
timotimo hm.
i don't have a good way to provoke it now for testing
TimToady yeah, I fixed some of those a few weeks ago, but probably not all 20:34
20:34 espadrine joined
timotimo oh, very good 20:34
MadcapJake Zoffix++ # great advent post! Love the theme and code explanations are very informative!
ChoHag Is there any way to declare circular class dependencies other than by creating them all in the same file? 20:35
Skarsnik what is the best way to clear an array? 20:36
TimToady = () is fine
stmuk_ the cheatsheet in star is updated the mu one probably needs deleting 20:37
TimToady +1 20:38
but there might be links to it that need a redirect 20:39
20:40 Calibellus joined, hankache left
stmuk_ AFAIK it's not on the web 20:42
mspo perl6 --doc=cheat ? 20:43
timotimo even if it's not on the web, people may link to the github directory directly, or to the raw itself?
moritz let's hope they'll ask here when it becomes a 404 20:44
mspo I noticed perl6 (the command) lost -a and -0
moritz mspo: I don't think it ever had them
stmuk_ it probably should be under doc TBH
p6doc
20:44 lostinfog joined
mspo moritz: well vs perl(1) 20:44
stmuk_ and star use that one
20:46 rindolf left
Skarsnik need someone to write a module that save a http session with http::ua. is bored of waiting for the webserver he is playing around* 20:47
flussence Skarsnik: is your complaint there, that someone else's server is too slow? 20:48
ChoHag What does 'is required' actually do? Previously I could declare an attribute is required and provide a default. 20:49
flussence what I'd do in that case is set up a local proxy and have it aggressively cache everything
ChoHag In theory the default should make the required trait superfluous, but semantically I prefer to have it. Now, however, I am told that a required attribute does not have a value provided. 20:50
dalek ast: bfcd27b | cygx++ | S32-io/open.t:
add S32-io/open.t that tests extended open modes
ast: 20303fe | jnthn++ | S32-io/open.t:
Merge pull request #82 from cygx/master

add S32-io/open.t that tests extended open modes
stmuk_ lol is dead isn't it?
Skarsnik flussence, that could be an idea x)
moritz Skarsnik: yes
TimToady stmuk_: yes 20:51
moritz erm yes, meant stmuk_
flussence ChoHag: «is required» makes it required at constructor time. «is default» just changes the default value (when uninitialized or $.var = Nil) to something other than an undefined type object
moritz must remember to type at least two characters before hitting the tab key
ChoHag So the required trait specifically refers to object construction and nothing else? 20:52
Skarsnik but should not be to hard to have like a $ua.saveSession("file"); do request; and next time you can do a $ua.playsessoin("file");
stmuk_ ok I'm going to try and merge the two cheatsheets
ChoHag ie. I could remove an attributes value afterwards despite the trait's presense?
flussence ChoHag: yep
stmuk_ "v5"
ChoHag Right.
flussence and if you want it to *stay* defined, you'd need a type constraint instead 20:53
mrf_ ok pl6 and pod6 should be recognised as the correct filetype in vim. pr was merged
timotimo nice
mst and pm6 as well? 20:54
or are we still doing "let's have plain .pm files with no 'use v6;' so we screw over anybody trying to do hybrid projects" ?
mrf_ mst: p6 and pm6 already did the right thing
20:55 raiph joined
flussence circumvented that whole problem, years ago apparently, by having ~/.vim/filetype.vim check for 'perl6' in the path instead 20:55
mst mrf_: awesome
flussence (and a whole bunch of other ugly stuff I really ought to clean up from there) 20:56
if I can finally get rid of this monkey-patched s:FTpl() that'd be nice, though... 20:58
stmuk_ is KeyHash dead? 21:03
[Coke] mst: use v6 is no longer really helpful now that we have use v6.c 21:04
(as far as for p5 interop goes)
flussence oh, hang on... I've got vim-perl installed and it already does all this ftdetect stuff correctly, gah
[Coke] perl5 -e 'use v6' #helpful
perl5 -e 'use v6.c' #boom
21:05 uruwi left, ab6tract left
timotimo stmuk_: do you mean SetHash? 21:07
jnthn [Coke]: Yes, a tad unfortunate...
mst [Coke]: hmm?
21:07 bjz left
mst [Coke]: 'use v6;' is still useful for static analysis, at least 21:08
stmuk_ timotimo: I think SetHash used to be KeyHash
21:08 n0tjack joined
hoelzro MadcapJake++ # advent post 21:08
moritz doc.perl6.org/ # we have ssl here too
flussence is just going to stick to writing code with an unadorned 'use v6;' for as long as practical, same as with '<!doctype html>' 21:09
nine [Coke]: there's still: use v6; use v6.c; # but of course thats horrible 21:10
jnthn mst: Yes, but since Perl 6 language versions look like 6.c, 6.d, etc. to placate certain Perl 5 people (as opposed to 6.0, 6.1, etc) then folks will write `use v6.c` and so forth. And `use v6.c` doesn't (yet? :)) get a useful error out of Perl 5.
21:10 bpmedley left
jdv79 is use v6.*; going to work? 21:10
moritz m: use v6.*; say 42 21:11
camelia rakudo-moar c8bd57: OUTPUT«42␤»
mst jnthn: I would be perfectly happy with .pm6 instead
jdv79 id like use v6 for lang detect but "cur ver"
21:11 cdg joined
stmuk_ vimdiff++ # good for merging forked files (like cheatsheet) into one 21:11
moritz jdv79: it seems to work already
mst jnthn: but 'use v6' as a thing to regexp for seems useful for tooling to know which highlighter to use
jdv79 jnthns pist didmt address it
mst jnthn: even if the perl5 VM doesn't co-operate as well as we'd like
jdv79 why im asking
post 21:12
jnthn mst: Yes, I was thinking of the "accidentally fed Perl 6 code to perl5" case.
Zoffix doesn't think that case is all that important
jnthn Possibly not.
mst jnthn: sure. and I'm thinking about all the other cases that I actually care about :)
leont well, if it contains a full perl6 shebang, it should redirect correctly in 5.24 and up
mst aha, the shebang regexp has been tweaked?
'regexp' 21:13
leont Yeah, but I was slightly too late for 5.22
mst welp, #!/usr/bin/rakudo it is then
21:13 n0tjack left
flussence was going to suggest something silly, but /use v6s+S/ seems to be a flat syntax error in perl5 21:14
mst yep
moritz design.perl6.org/ # more SSL goodness
mst still finds 6.c really weird
Zoffix m: v6.b before v6.c 21:15
camelia rakudo-moar c8bd57: OUTPUT«WARNINGS:␤Useless use of "before" in expression "v6.b before v6.c" in sink context (line 1)␤»
Zoffix m: say v6.b before v6.c
camelia rakudo-moar c8bd57: OUTPUT«True␤»
Zoffix :)
flussence must be special-cased in the parser, because /use $anything_that_isnt_v_plus_number/ throws a different error
mst yes, because 5.014002 and v5.14.2 are a special case of 'use' syntax 21:16
leont Well, all of use is special in p5, really 21:17
21:17 n0tjack joined
flussence I was kinda hoping we could bury the 6.c bit in an import argument and everyone's binaries would be happy then, looks like it'll just have to be another special case 21:17
21:17 Zoffix left, vendethiel- joined
jdv79 ~~~~p 21:18
oops
timotimo :!p
vendethiel- gfldex: nice advent post... maybe a bit too fast, but good nevertheless :)
dalek c: e210721 | (Claudio Ramirez)++ | doc/Language/io.pod:
Add info exclusion new line reparator by .lines
c: b03fe29 | (Claudio Ramirez)++ | doc/Type/IO/Handle.pod:
Add info exclusion new line reparator by .lines + fix typo in example
c: e647af5 | moritz++ | doc/ (2 files):
Merge pull request #221 from nxadm/master

Add info exclusion new line reparator by .lines + fix typo in example
21:19 vendethiel left, uruwi joined 21:21 n0tjack left 21:25 bjz joined
[Tux] Added the basic EOL tests now that the two EOL tickets have been fixed. (forgot to re-enable the tests at the moment of fix) 21:25
All tests successful. 21:26
Files=26, Tests=19960, 40 wallclock secs ( 3.18 usr 0.18 sys + 100.74 cusr 1.85 csys = 105.95 CPU)
Result: PASS
only 40 more tests for 20000
<travis-ci> Tux/CSV#170 (master - 7cc6fde : H.Merijn Brand - Tux): The build passed.
test 50000 23.107 22.996 21:28
test-t 50000 16.626 16.515
16.6 :):)
sleep tight
dalek : 82cd343 | (Steve Mynott)++ | docs/Perl6/Cheatsheet/ (2 files):
Update the txt cheatsheet based on the different forked version in the star repo. Both versions contained outdated info and this version should be definitive for the moment Add a README to warn against this happening again
cygx flussence: masak: gist.github.com/cygx/96350b691d622d5b4ac1 21:29
leont What's the most convenient way to get the "\r\n" synthetic into a character class? 21:30
nine \o/
dalek : 78598df | ab5tract++ | misc/perl6advent-2015/schedule:
Adjust schedule

I cannot make the deadline for the 6th.
cygx leont: I'm guessing \v is not an option? 21:31
nine I think I've got the hardest part of %?RESOURCES figured out
leont No, I need \n, \r or \r\n
\v is more than that
moritz m: say so "\r\n" ~~ /^<[\r\n]>$/
camelia rakudo-moar c8bd57: OUTPUT«True␤»
[Coke] leont: I'd probably make it an alternation with the class.
21:31 ab6tract joined
moritz m: say so "\r\n" ~~ /^<[\n\r\n]>$/ 21:32
camelia rakudo-moar c8bd57: OUTPUT«True␤»
moritz m: say so "\n" ~~ /^<[\n\r\n]>$/
camelia rakudo-moar c8bd57: OUTPUT«True␤»
moritz m: say so "\r" ~~ /^<[\n\r\n]>$/
camelia rakudo-moar c8bd57: OUTPUT«True␤»
moritz m: say so "\r" ~~ /^\n$/
camelia rakudo-moar c8bd57: OUTPUT«True␤»
moritz m: say so "\r\n" ~~ /^\n$/
camelia rakudo-moar c8bd57: OUTPUT«True␤»
jnthn \n is logical
moritz m: say so "\n" ~~ /^\n$/
camelia rakudo-moar c8bd57: OUTPUT«True␤»
moritz leont: it seems simply \n does exactly what you want
ab6tract moritz: in the end I can't do a post for the 6th :(
leont I thought \n also matched some unicode line endings
moritz ab6tract: :(
ab6tract: can you do it for later? 21:33
ab6tract i can still do the 10th tho
moritz ab6tract: ok
leont (as in, when outside a character class)
ab6tract i updated mu already
jnthn afaik it's logical inside a char class too
cygx m: say "\r\n" ~~ /^<[\n]>$/; say "\r\n" ~~ /^<[\v]>$/
camelia rakudo-moar c8bd57: OUTPUT«「
cygx huh 21:34
leont m: say so "\r\n" ~~ /^<[\n]>$/; say so "\r\n" ~~ /^<[\v]>$/
camelia rakudo-moar c8bd57: OUTPUT«True␤False␤»
21:34 uruwi left
cygx what's up with that? 21:34
moritz ShimmerFairy: would you like to do an advent post about Grammar::Parsefail?
21:35 bjz left
leont m: say so "\x{2028}" ~~ /^<[\n]>$/; 21:35
camelia rakudo-moar c8bd57: OUTPUT«5===SORRY!5=== Error while compiling /tmp/V_JtO9UmiG␤Unsupported use of curlies around escape argument; in Perl 6 please use square brackets␤at /tmp/V_JtO9UmiG:1␤------> 3say so "\x{7⏏052028}" ~~ /^<[\n]>$/;␤»
leont m: say so "\x[2028]" ~~ /^<[\n]>$/;
camelia rakudo-moar c8bd57: OUTPUT«True␤»
leont :-(
moritz m: say so "\r\n" ~~ /^ <[ \r\c[LF] ]> $/ 21:36
camelia rakudo-moar c8bd57: OUTPUT«True␤»
stmuk_ github.com/rakudo/star/pull/58
[Coke] if you want to match explicit code points, use them, not \n. 21:37
moritz m: say so m/^ <[ \r\c[LF]]> $/ for "\r", "\r\n", "\n", "\x[2028]"
camelia rakudo-moar c8bd57: OUTPUT«False␤True␤False␤False␤»
[Coke] more like that, aye.
moritz m: say so m/^ <[ \r \r\c[LF]]> $/ for "\r", "\r\n", "\n", "\x[2028]"
camelia rakudo-moar c8bd57: OUTPUT«True␤True␤False␤False␤»
moritz m: say so m/^ <[ \c[LF] \r \r\c[LF]]> $/ for "\r", "\r\n", "\n", "\x[2028]"
camelia rakudo-moar c8bd57: OUTPUT«True␤True␤True␤False␤»
moritz leont: ^^ that looks good 21:38
leont Yes, that does look good :-)
vendethiel- well, looks like php 7 just got released :P
dalek ar: b1970f8 | (Steve Mynott)++ | docs/cheatsheet.txt:
reimport from mu repo golden source
ar: 5b7b267 | moritz++ | docs/cheatsheet.txt:
Merge pull request #58 from stmuk/master

reimport cheatsheet from mu repo golden source
leont vendethiel-: surely their timing is deliberate :-p
vendethiel- leont: Definitely! :P
cygx it's not yet too late to rename Perl6 to Perl7 ;)
[Coke] cygx: ENOFUNNY
moritz does find it amusing 21:40
21:40 bjz joined
moritz find it highly satisfactory that Perl 6 delivers on the Unicode promise, where PHP threw it out, along with the 6 in the version number 21:40
stmuk_ what about Swifter 7? 21:41
I'm sure Apple's lawyers would be fine :)
colomon do we have a baked-in grammar token (or whatever) for matching floating point numbers? 21:42
21:42 jpoehls_ joined
moritz colomon: no 21:43
colomon: I wrote my own for JSON::Tiny 21:44
(which you can steal :-)
colomon moritz++ # enabling theft
21:45 bjz left 21:47 atweiden left
cygx 'night o/ 21:47
21:47 cygx left
vendethiel- also, swift open source: github.com/apple/swift 21:47
colomon \o
moritz exciting times for a language geek 21:49
time to sleep, to be precise :-)
o/
colomon o\ 21:50
21:50 jpoehls_ left
dalek c: 7c0d062 | (Steve Mynott)++ | doc/Type/Cool.pod:
remove refs to KeySet and KeyHash
21:56
autarch has there been any discussion on publicity plans for the Perl 6 release? 21:57
it'd be cool if someone could write an article for LWN, and I suspect they'd be interested in publishing it 21:58
jdv79 autarch: why can you not? 21:59
autarch jdv79: I was hoping someone else would volunteer ;)
they pay actual money!
jdv79 but youre good
jfdi:) 22:00
autarch easy for you to say ;)
I'll ask them 22:01
... unless someone else really wants to do it, which I'm 110% okay with ;)
jdv79 i vote for autarch
leedo autarch: i'm trying to get an article up on Ars Technica for the release
autarch I note for !autarch
vote* 22:02
jdv79 haha
autarch maybe just nautarch
jdv79 wut
autarch it's a new operator I'm defining in Perl 6 - it resolves to "not me"
22:02 skids left
jdv79 autarch: thanks! 22:04
22:06 raiph left
mst autarch++ # well volunteered 22:07
autarch writes the operator right now
mst TOO LATE
22:10 lestrrat left 22:13 lestrrat joined
jnthn 'night, #perl6 22:15
22:18 xfix left 22:31 cpage_ joined
jdv79 nite 22:32
22:32 cpage_ left
jdv79 autarch: we got your back. dont worry:) 22:33
dalek kudo/nom: 446ea7b | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm:
Unlock precomp store even if loading a precomp file failed
22:34
22:34 cpage_ joined 22:38 AlexDaniel joined 22:39 lucasb joined 22:40 zakharyas left
b7j0c hello, earlier I discussed having a module for some common subset definitions. I created a module "Subsets::Common" following the directions on the 'Modules' documentation page as well as Travis CI integration for my test suite. The `Modules` documentation says I should come in here to have the upload to the modules.perl6.org site complete. The url is github.com/bradclawsie/Subsets-Common 22:42
could someone assist me with uploading this to the modules site or point me at a guide to do so? 22:43
22:45 Peter_R left
leont You have to fork the ecosystem repo, and add a link to your repo 22:46
22:47 Peter_R joined
b7j0c thanks leont 22:47
leont github.com/perl6/ecosystem/
22:48 vendethiel- left
colomon is getting very frustrated trying to use panda post-curli. :\ 22:49
leont had to get rid of all previously install modules before it would work normally 22:51
AlexDaniel colomon: you are not alone!
22:52 AlexDaniel left
colomon tries blowing away the entire .rakudobrew directory on his Linux boz 22:53
box
b7j0c thanks again leont, i made a PR for ecosystem 22:54
22:58 AlexDaniel joined, nadim left
tony-o_ is there a way to manually install modules.. 23:00
23:01 Amnez777 left 23:02 nadim joined, cpage_ left 23:08 Amnez777 joined 23:09 aindilis left 23:10 aindilis joined
leont Not that I know, but I suspect it wouldn't be too hard to write 23:10
23:13 nadim left 23:14 nadim joined 23:16 b7j0c left
Skarsnik Should forcing like having a test with the use Test::Meta for each new module? (And maybe have Test::Meta check if all pm6 file in lib are provided) could be a good idea to ensure a sort of koalitee? x) 23:17
tony-o_ great
23:20 kid51 joined
dalek osystem: 8a9c332 | (brad clawsie)++ | META.list:
Add Subsets::Common
23:21
osystem: 7c90a4e | (Steve Mynott)++ | META.list:
Merge pull request #102 from bradclawsie/master

Add Subsets::Common
lucasb should Task::Star and rakudo star modules always be kept in sync? seems some modules exist in R* but are missing from Task::Star 23:24
diakopter yes 23:26
lucasb p6-Template-Mustache, p6-file-directory-tree, p6-File-Temp, library-make <-- these 23:27
tadzik: ^^^
flussence aren't those just deps of other things?
23:27 uruwi joined
lucasb flussence: indeed, it may be 23:28
flussence I know the first is, because I had to use --notests to install Bailador because of it...
tadzik lucasb: yeah, Task::Star is too rarely updated 23:40
23:41 csd_ left, zengargoyle left 23:42 Skarsnik left 23:44 zengargoyle joined 23:45 espadrine left
tony-o_ m: GLOBAL::.values.perl.say; 23:46
camelia rakudo-moar 446ea7: OUTPUT«().Seq␤»
tony-o_ m: GLOBAL::.values.perl.say; require Test;
camelia rakudo-moar 446ea7: OUTPUT«().Seq␤»
tony-o_ m: GLOBAL::.values.perl.say; require Test; GLOBAL::.values.perl.say;
camelia rakudo-moar 446ea7: OUTPUT«().Seq␤(Test,).Seq␤»
tony-o_ m: GLOBAL::.values.perl.say; use Test; GLOBAL::.values.perl.say;
camelia rakudo-moar 446ea7: OUTPUT«(Test,).Seq␤(Test,).Seq␤»
tony-o_ is the rakudo moar old on camelia?
ugexe 446ea7 is the last commit 23:47
tony-o_ m: $*VM.say; $*PERL.say;
camelia rakudo-moar 446ea7: OUTPUT«moar (2015.11.31.g.670.e.3.d)␤Perl 6 (6.b)␤»
tony-o_ i'm on the same version and doing that GLOBAL::.values dies on the second call
guess i need to nuke 23:48
23:50 rurban joined, rurban left