»ö« 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.
00:00 Psyche^_ left 00:01 _nadim left, AndyDee left 00:02 firstdayonthejob left 00:08 zjmarlow left 00:11 [ptc]_ joined, [ptc]_ left 00:14 smls_ left 00:17 lucasb left 00:18 BenGoldberg joined 00:24 zjmarlow joined
b2gills m: [[-3,2,-5],[-1,0,-2],[3,-4,1]] 00:27
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OLRf3yAM5a␤Unable to parse expression in bracketed infix; couldn't find final ']' ␤at /tmp/OLRf3yAM5a:1␤------> 3[[-7⏏053,2,-5],[-1,0,-2],[3,-4,1]]␤»
b2gills [[ -3,2,-5],[-1,0,-2],[3,-4,1]]
m: [[-3,2,-5],[-1,0,-2],[3,-4,1]]
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yvs3rofZJK␤Unable to parse expression in bracketed infix; couldn't find final ']' ␤at /tmp/yvs3rofZJK:1␤------> 3[[-7⏏053,2,-5],[-1,0,-2],[3,-4,1]]␤»
b2gills m: [[ -3,2,-5],[-1,0,-2],[3,-4,1]]
camelia ( no output )
00:30 zjmarlow left
ShimmerFairy .tell FROGGS I tried writing a slang to add a general metric postfix (needs to be more than just basic sub postfix:<>, due to ambiguity and speed issues), and I get "Cannot look up attributes in a type object" without, "Too many positionals passed; expected 1 argument but got 2" with any code after the 'use'. 00:31
yoleaux ShimmerFairy: I'll pass your message to FROGGS.
00:32 lichtkind left 00:40 cdg left 00:42 koo8 left 00:46 chatterman joined 00:53 zjmarlow joined 00:57 AndyDee joined 00:58 Sqirrel joined 01:00 zjmarlow left
cognominal m: my $i = 0; my @a; gather { loop { take $i++ }}; say @a.WHAT 01:03
camelia rakudo-moar 33ac49: OUTPUT«(timeout)»
cognominal .WHAT seems to try to reify @a
that seems wrong to me. 01:04
01:04 yeahnoob joined
gfldex m: my $i = 0; my @a; gather { loop { take $i++ }}; say 'here'; say @a.WHAT 01:06
camelia rakudo-moar 33ac49: OUTPUT«(timeout)»
gfldex m: my $i = 0; my @a; my $target := gather { loop { take $i++ }}; say 'here'; say @a.WHAT 01:07
camelia rakudo-moar 33ac49: OUTPUT«here␤(Array)␤»
gfldex cognominal: i dont think so ^^^
cognominal oops, I misttped 01:10
m: my $i = 0; my @a := gather { loop { take $i++ }}; say @a.WHAT
camelia rakudo-moar 33ac49: OUTPUT«Type check failed in binding; expected Positional but got Seq␤ in block <unit> at /tmp/hmOyg2INU7:1␤␤»
cognominal m: my $i = 0; my @a = gather { loop { take $i++ }}; say @a.WHAT 01:11
01:11 cygx joined
camelia rakudo-moar 33ac49: OUTPUT«(timeout)» 01:11
cygx m: my $i = 0; my @a := (gather { loop { take $i++ } }).list; say @a.WHAT
camelia rakudo-moar 33ac49: OUTPUT«(List)␤»
cygx m: my $i = 0; my @a = (gather { loop { take $i++ } }).list; say "unreachable" 01:12
camelia rakudo-moar 33ac49: OUTPUT«(timeout)»
01:13 lsm-desktop left
cognominal m: my @a = gather { loop { take $i++ }}; say @a # otherwise it works fine 01:14
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uvGwgYZ4v2␤Variable '$i' is not declared␤at /tmp/uvGwgYZ4v2:1␤------> 3my @a = gather { loop { take 7⏏5$i++ }}; say @a # otherwise it works fin␤»
cognominal oops
m: my $i = 0; my @a = gather { loop { take $i++ }}; say @a # otherwise it works fine
camelia rakudo-moar 33ac49: OUTPUT«(timeout)» 01:15
cognominal hum
m: my $i = 0; say gather { loop { take $i++ }}; say @a
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tROMmPPsJG␤Variable '@a' is not declared␤at /tmp/tROMmPPsJG:1␤------> 3; say gather { loop { take $i++ }}; say 7⏏5@a␤»
cognominal m: my $i = 0; say gather { loop { take $i++ }}; 01:16
camelia rakudo-moar 33ac49: OUTPUT«(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 8…»
cognominal m: my $i = 0; my @a = gather { loop { take $i++ }}; say @a[1000] 01:17
camelia rakudo-moar 33ac49: OUTPUT«(timeout)»
cognominal I probably miss something obvious
cygx cognominal: the assignment alredy tries to access an infinite number of elements 01:18
m: [ gather { loop { take $i++ } } ]
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0zy1e87MNd␤Variable '$i' is not declared␤at /tmp/0zy1e87MNd:1␤------> 3[ gather { loop { take 7⏏5$i++ } } ]␤»
cygx m: [ gather { loop { take $++ } } ] 01:19
^ same thing happens here
camelia rakudo-moar 33ac49: OUTPUT«(timeout)»
cognominal m: my $i = 0; my @a := gather { loop { take $i++ }}; say @a[10] 01:20
camelia rakudo-moar 33ac49: OUTPUT«Type check failed in binding; expected Positional but got Seq␤ in block <unit> at /tmp/6NHzXUudng:1␤␤»
cognominal ok 01:21
m: my $i = 0; my $a = gather { loop { take $i++ }}; say $a[10]
camelia rakudo-moar 33ac49: OUTPUT«10␤»
cognominal got it.
too bad I can't use the @ sigil 01:22
[Coke] ZOMG.
01:23 Lucas_One left
cygx cognominal: irclog.perlgeek.de/perl6/2015-12-17#i_11730808 01:23
01:23 zjmarlow joined 01:24 Lucas_One joined
cognominal indeed, cygx++ but you need to cast to list 01:24
01:25 clkao left 01:26 mrsolo left
cognominal bad time, I can't think clearly anymore 01:26
Hotkeys I assume arrays can't be lazy
01:27 mrsolo joined
cognominal m: my @a := 1..*; say @a[100] 01:28
camelia rakudo-moar 33ac49: OUTPUT«101␤»
01:28 clkao joined
cognominal Hotkeys++, Arrays can't be lazy indeed, but @a holds any positional, not only an array. 01:29
Hotkeys ah
01:30 zjmarlow left
cognominal An array is the reification of something that gives a finite number of elements. 01:30
Hotkeys, but as you see, I am confused about the specifics 01:31
Hotkeys oh I see, Array is just the default type for @
cygx m: my @a := list(1, 2 ... *) 01:32
camelia rakudo-moar 33ac49: OUTPUT«Type check failed in binding; expected Positional but got Seq␤ in block <unit> at /tmp/d2mOOz9_wF:1␤␤»
cygx m: my @a := List(1, 2 ... *)
camelia ( no output )
cygx m: my @a := List(1, 2 ... *); say @a[^2] 01:33
camelia rakudo-moar 33ac49: OUTPUT«((...) Nil)␤»
cygx ;)
Hotkeys m: my @a = <a b c>.List; say @a.WHAT
camelia rakudo-moar 33ac49: OUTPUT«(Array)␤»
cygx m: say Array ~~ List 01:34
camelia rakudo-moar 33ac49: OUTPUT«True␤»
cognominal m: say (my @a).WHAT 01:35
camelia rakudo-moar 33ac49: OUTPUT«(Array)␤»
cygx 'night o/ 01:36
cognominal so why not List, that seems to me the more general type
01:36 cygx left
ShimmerFairy cognominal: Lists aren't mutable, so they wouldn't make a good default considering what people will usually expect from @a variables. 01:40
01:54 zjmarlow joined 01:59 zjmarlow left
cognominal I agree. Being the least derived type is not good enough. 02:01
dalek ast: 21bf7a4 | hoelzro++ | S32-io/IO-Socket-Async-UDP.t:
Handle zero-length UDP datagrams

libuv may signal us with zero-length datagrams on MoarVM using certain OSes, so we need to handle this
02:06
02:09 Ben_Goldberg joined 02:12 kittenlips joined, BenGoldberg left 02:14 molaf_ joined 02:15 Peter_R left 02:16 adu joined
geekosaur why do people insist "on certain OSes"?!! 02:17
a UDP stack that does not preserve packet boundaries even for 0-length packets is broken. Period.
it's *every* OS that supports UDP. 02:18
02:18 molaf left 02:20 adu left 02:21 kittenlips_ joined 02:23 zjmarlow joined 02:24 kittenlips left 02:25 kittenlips_ left, chatterman left, FROGGS_ joined 02:26 kittenlips joined 02:27 xpen joined 02:28 FROGGS left 02:29 Sqirrel left, zjmarlow left 02:31 skids joined 02:32 Zoffix joined
b2gills m: say List ~~ Positional # Actually @a accepts anything that does the Positional role 02:33
camelia rakudo-moar 33ac49: OUTPUT«True␤»
awwaiid geekosaur: maybe not osx -- github.com/nodejs/node-v0.x-archive/issues/8023 02:34
02:34 psy_ left
geekosaur I think I saw that bug reported in libuv itself, yes 02:34
awwaiid yeah 02:35
*shrug*
geekosaur interesting someone tried to finger kqueue because OS X doesn't have kqueue; it uses Mach ports
awwaiid "Hooray! This one is fixed in El Capitan ;)" is the most recent note :) 02:36
geekosaur and fixed in 10.11 it seems
awwaiid El Capitan is, incidentally, also the name of my favorite pirate themed mexican food restaraunt 02:37
02:37 kittenlips left
Ben_Goldberg m: { my $answer will leave { .say } = 42; say "What is 6 x 9" }; 02:38
camelia rakudo-moar 33ac49: OUTPUT«What is 6 x 9␤42␤»
Zoffix wtf 02:39
Ben_Goldberg I wanted to create a socket, and did not want it to outlive the block in which it's created, would 'will leave { .close }' be the best way to do it?
s/I wanted/If I wanted/ 02:40
awwaiid this will leave is a new concept for me 02:41
02:41 kittenlips joined
timotimo "will" can attach a phaser to a variable or sub 02:42
awwaiid fascinating
kittenlips Hi everyone
TimToady howdy
timotimo good night everyone! i'm already way late for bed ...
Zoffix night
TimToady o/
02:43 BenGoldberg_ joined
Zoffix m: my $x will INIT; say [*] 1..4000; say now - $x now 02:43
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ewFIyTM8Vs␤Missing block␤at /tmp/ewFIyTM8Vs:1␤------> 3my $x will INIT7⏏5; say [*] 1..4000; say now - $x now␤ expecting any of:␤ block or pointy block␤»
Zoffix m: my $x will INIT { now }; say [*] 1..4000; say now - $x
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/O9PHgc2vBh␤Can't use unknown trait 'will INIT' in a variable declaration.␤at /tmp/O9PHgc2vBh:1␤------> 3my $x will INIT { now }7⏏5; say [*] 1..4000; say now - $x␤ expecting any of:␤ be…»
kittenlips Have a design question, why are :exists and :delete not method calls like e.g. %hash<key>.delete 02:44
02:44 kid51 left
Zoffix kittenlips, 'cause they would be methods on "nothing" should those keys not exist 02:44
but as adverbs they work 02:45
TimToady so that they work on anything you can subscript, including multi-dimensional arrays and slices
kittenlips Ah ok, makes sense, thought maybe they would be a class method on the Hash class
TimToady otherwise we'd have to reinvent subscript syntax as arguments
02:45 Ben_Goldberg left
BenGoldberg_ m: my $x will init { now }; say [*] 1..4000; say now - $x 02:46
camelia rakudo-moar 33ac49: OUTPUT«1828801951514065013314743175573919044217377710730439219706452695420895979797317736485037028687048410733644304156928557175467246186154355733394261561795699671674528483159731749881876093748280498041957651294872061055892812978809780062059342953770532674062445…»
Zoffix :/
BenGoldberg_ The trait version of a phaser is lowercase. Dunno why.
Zoffix weird
TimToady I'm a little surprised it managed 4000!
BenGoldberg_ m: my $x will init { now }; my $y = [*] 1..4000; say now - $x 02:47
camelia rakudo-moar 33ac49: OUTPUT«Use of uninitialized value of type Any in numeric context in block <unit> at /tmp/elMhzYuB1d:1␤Instant:1450320463.122963␤»
Zoffix Takes just 0.328533s according to earlier tests
BenGoldberg_ m: my $x will init { now }; say $x
camelia rakudo-moar 33ac49: OUTPUT«(Any)␤»
TimToady m: my $x will init { $_ = now }; say $x
camelia rakudo-moar 33ac49: OUTPUT«(Any)␤»
BenGoldberg_ m: my Instant $x will init { .new }; say $x 02:48
camelia rakudo-moar 33ac49: OUTPUT«(Instant)␤»
TimToady m: my $x will init { $x = now }; say $x
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fo0wcZ8BUU␤Variable '$x' is not declared␤at /tmp/fo0wcZ8BUU:1␤------> 3my $x will init { 7⏏5$x = now }; say $x␤»
BenGoldberg_ I'm not sure 'will init' is really useful
TimToady m: my $x will init { .say }; say $x
camelia rakudo-moar 33ac49: OUTPUT«(Any)␤»
BenGoldberg_ m: { my $x will init { say 'foo' }; ++$x } 02:49
camelia ( no output )
TimToady m: my $x will init { .=now }; say $x
camelia rakudo-moar 33ac49: OUTPUT«(Any)␤»
BenGoldberg_ It's not reached
Zoffix m: my $x will init { .say }; say "bazinga"\
camelia rakudo-moar 33ac49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/51RarbrcYp␤Confused␤at /tmp/51RarbrcYp:1␤------> 3my $x will init { .say }; say "bazinga"\7⏏5<EOL>␤ expecting any of:␤ postfix␤»
Zoffix m: my $x will init { .say }; say "bazinga"
camelia rakudo-moar 33ac49: OUTPUT«bazinga␤»
TimToady m: my Instant $x will init { .=now }; say $x
camelia rakudo-moar 33ac49: OUTPUT«(Instant)␤»
TimToady hmm
kittenlips Could you give me example of adverb usage?
Zoffix kittenlips, %hash<key>:exists is one
BenGoldberg_ m: for 1..3 { my $x will leave { say 'foo' }; say 'bar' }
camelia rakudo-moar 33ac49: OUTPUT«bar␤foo␤bar␤foo␤bar␤foo␤» 02:50
kittenlips Thank you
BenGoldberg_ m: for 1..3 { my $x will enter { say 'foo' }; say 'bar' }
camelia rakudo-moar 33ac49: OUTPUT«foo␤bar␤foo␤bar␤foo␤bar␤»
TimToady dinner &
BenGoldberg_ m: my $x will enter { $_ = 42 }; say $x
camelia rakudo-moar 33ac49: OUTPUT«42␤»
kittenlips To all the Perl 6 team have to say you've made it amazingly quick and easy to get everything installed 02:51
Easier than even Perl 5 with perlbrew and cpanm 02:52
02:54 zjmarlow joined
Zoffix :/ 02:55
perlbrew and cpanm is about the same TBH 02:56
02:56 PerlJam joined 03:00 kittenlips left, zjmarlow left 03:01 sno left 03:03 kittenlips joined
awwaiid Zoffix: I keep wanting to seed docs from synopsis -- right now I am thinking of taking the Phasers docs from S04 into doc/Language/phasers.pod; what think you? 03:03
03:04 rjbs left
kittenlips Are there plans to incorporate support for numerical computing in Perl 6? 03:04
awwaiid kittenlips: Yes, I think that some of the "shaped" array syntax is to make it transparent even
kittenlips Does the shape array support provide the foundation for building a Perl 6 version of PDL or NumPy? 03:05
awwaiid I think
mmm
dunno 03:06
Zoffix: also, is doc 'make html' supposed to work on nom? 03:08
BenGoldberg_ So, here's a silly question: If you look at S04, and search for 'per-variable', you'll see an example of 'will enter', 'will undo' ... are there tests for these in roast? 03:09
awwaiid (getting a "Cannot unbox a type object" right after "Composing doc registry ..."
) 03:10
03:11 kaare_ joined
stmuk github.com/perl6/doc/issues/241 03:12
03:12 cibs left 03:13 cibs joined
stmuk maybe related to rt.perl.org/Ticket/Display.html?id=126927 (?) 03:14
03:14 kittenlips left
stmuk republic++ # trout mask replica pilots </virtualsue> 03:15
awwaiid gfldex: In day 13 advent you link to 192.168.0.2:3000/type/Capture.html 03:16
ah, thanks stmuk 03:21
03:22 PotatoGim joined 03:24 zjmarlow joined 03:28 noganex_ joined 03:29 kanishka left, zjmarlow left 03:31 noganex left 03:34 davercc joined 03:44 raiph left 03:49 Actualeyes joined 03:54 zjmarlow joined 03:59 adu joined 04:00 zjmarlow left 04:02 kaare_ left 04:10 adu left
Hotkeys I just discovered hyperwhatever 04:20
m: my $foo = ** x 3; say $foo("A".."F") 04:21
camelia rakudo-moar 33ac49: OUTPUT«(AAA BBB CCC DDD EEE FFF)␤»
04:24 zjmarlow joined 04:28 yqt left 04:29 adu joined 04:30 zjmarlow left
dj_goku Hotkeys: haha that is interesting 04:32
04:36 regreg left
dalek kudo/nom: b6ba2b8 | TimToady++ | src/Perl6/Optimizer.nqp:
remove debugging line
04:43
kudo/nom: 2d98de9 | TimToady++ | src/Perl6/Optimizer.nqp:
speed up if/while on native int

Makes "loop (my int $i = 100000000; $i; $i--) {}" runs about 15x faster by turning $i into $i != 0.
04:44 BenGoldberg_ left 04:45 BenGoldberg_ joined 04:48 raiph joined 04:53 zjmarlow joined
llfourn do we have a module yet that does a bunch of introspection with .WHY and produces a README.md for a module? 04:55
04:59 zjmarlow left 05:05 inokenty left, ribasushi joined 05:08 roguelazer left 05:09 adu left
dj_goku llfourn: after some googling some have suggested for built-ins it could go and fetch them and output that POD. 05:12
llfourn dj_goku: mmm but how?
dj_goku llfourn: build that something? 05:13
llfourn heh I'm trying :D
m: say CompUnit::RepositoryRegistry.candidates("Test")
camelia rakudo-moar 2d98de: OUTPUT«Earlier failure:␤ Dynamic variable @*INC not found␤ in block <unit> at /tmp/8gaZS_zXoN:1␤␤Final error:␤ Type check failed in binding $spec; expected Str but got Failure␤ in block <unit> at /tmp/8gaZS_zXoN:1␤␤»
llfourn the idea would be to get the compunit handle and introspect what it exports and then .WHY everything 05:14
(I think)
05:21 adu joined 05:24 zjmarlow joined 05:30 zjmarlow left 05:34 BenGoldberg_ left 05:35 molaf_ left 05:40 Sqirrel joined 05:46 sno joined 05:47 snarkyboojum joined 05:53 Sqirrel left 05:54 zjmarlow joined 05:55 skids left 06:00 zjmarlow left 06:02 protium joined
protium p6: say ‘Hello’ 06:03
camelia rakudo-moar 2d98de: OUTPUT«Hello␤»
06:09 xfix joined
llfourn m: say "welcome to $*PERL, protium" 06:09
camelia rakudo-moar 2d98de: OUTPUT«welcome to Perl 6, protium␤»
protium heh, just checking it out
I have always liked perl 5 06:10
But haven’t really followed perl 6 until now
llfourn m: say Perl, Cool with any Version
camelia rakudo-moar 2d98de: OUTPUT«(Perl)(Cool)␤»
06:10 AndyDee left
protium Agreed 06:11
But wow, it’s different
llfourn it sure is very different :) 06:12
protium Think they’ll make the Christmas release date?
llfourn but if you want to write p5 code in p6 it's not so different
06:12 Exodist left
llfourn I'm not sure. 06:12
06:13 TimToady left, ShimmerFairy left 06:14 Exodist joined, TimToady joined, ShimmerFairy joined 06:24 zjmarlow joined 06:29 khw left 06:30 zjmarlow left
diakopter llfourn: lol 06:43
llfourn m: say Perl, not .can("lol") with Version, v6.b 06:46
camelia rakudo-moar 2d98de: OUTPUT«(Perl)True␤»
06:54 zjmarlow joined 06:56 sno left 06:59 geraud left 07:00 zjmarlow left 07:02 logiz left 07:05 pierre-vigier joined 07:12 _nadim joined 07:18 CIAvash joined
_nadim Good morning. 07:19
any link to some documentation for 'handles' nothing in the doc page 07:22
07:23 glaukommatos left 07:24 zjmarlow joined 07:25 nwc10 joined
nwc10 If it's April 1st already, how come it's so dark outside? -- www.businesswire.com/news/home/2015...CDigitally 07:25
(that might be old news)
07:26 glaukommatos joined
CIAvash _nadim: Not sure it's useful to you, but 'handles' is mentioned here: perl6advent.wordpress.com/2009/12/...-and-more/ 07:28
07:31 FROGGS_ left, zjmarlow left 07:32 secwang joined 07:36 zjmarlow joined
_nadim it is :) 07:38
07:40 darutoko joined
CIAvash :) 07:40
07:41 firstdayonthejob joined 07:44 cognominal left 07:46 cognominal joined 07:48 firstdayonthejob left
dalek kudo/nom: e800e38 | TimToady++ | src/Perl6/ (2 files):
don't use optimization level for debug
07:50
kudo/nom: 323a5c0 | TimToady++ | src/Perl6/Actions.nqp:
ifnull was hiding &foo from 'useless use' sinking

Fixes RT #121406
kudo/nom: a779f7b | TimToady++ | src/Perl6/ (3 files):
warn on useless adverbials
07:51 RabidGravy joined 07:54 FROGGS joined, rurban joined 07:56 andreoss joined 07:58 abraxxa joined
JimmyZ TimToady: no test for RT #121406? 07:59
08:04 darutoko left, yakudza left
TimToady feel free to add one 08:04
08:04 darutoko joined 08:05 kanishka joined
JimmyZ TimToady: I'd like to suggest tagging RT #121406 as testneed if there is no test yet but fixed :) 08:10
nine protium: yes the Christmas release date is still on 08:14
TimToady JimmyZ: okay, you can suggest that :) 08:17
dalek kudo/nom: cf72c2d | TimToady++ | src/Perl6/ (2 files):
also check non-adverbial pairs for useless use

  (They were hidden inside a Want that didn't propagate sink.)
TimToady m: &say; :a(42) 08:18
camelia rakudo-moar a779f7: OUTPUT«WARNINGS for /tmp/YEzK6dfvA2:␤Useless use of ":a(42)" in sink context (line 1)␤Useless use of &say in sink context (line 1)␤»
TimToady m: "a" => 42 08:19
camelia ( no output )
TimToady that should warn in another 12 minutes or so
08:20 ribasushi left 08:23 adu left 08:24 secwang left
TimToady m: loop (my int $i = 100000000; $i; $i--) {}; say $i; say now - INIT now 08:28
camelia rakudo-moar a779f7: OUTPUT«0␤0.60463868␤»
08:28 ribasushi joined
nine TimToady: that's indeed a tiny bit faster than the 11 seconds on yesterday's version :) 08:29
08:29 sno joined
TimToady m: "a" => 42 08:31
camelia rakudo-moar cf72c2: OUTPUT«WARNINGS for /tmp/zHSjMwlXBc:␤Useless use of "=>" in expression "\"a\" => 42" in sink context (line 1)␤»
JimmyZ m: loop (my int $i = 10000000; $i; $i--) {}; say $i; say now - INIT now
camelia rakudo-moar cf72c2: OUTPUT«0␤0.0623971␤»
nine m: loop (my int $i = 1000000; $i; $i--) {}; say $i; say now - INIT now # even faster!!! 08:33
camelia rakudo-moar cf72c2: OUTPUT«0␤0.00849470␤»
08:33 andreoss left
FROGGS :P 08:34
yoleaux 00:31Z <ShimmerFairy> FROGGS: I tried writing a slang to add a general metric postfix (needs to be more than just basic sub postfix:<>, due to ambiguity and speed issues), and I get "Cannot look up attributes in a type object" without, "Too many positionals passed; expected 1 argument but got 2" with any code after the 'use'.
FROGGS .tell ShimmerFairy can I see the code? 08:35
yoleaux FROGGS: I'll pass your message to ShimmerFairy.
08:39 cpage joined
ShimmerFairy FROGGS: sure :) gist.github.com/ShimmerFairy/30a3d...af9254eda1 08:42
yoleaux 08:35Z <FROGGS> ShimmerFairy: can I see the code?
ShimmerFairy FROGGS: seems to be centered on the bindkey lines at the end
FROGGS: also, that arg_flat_nok thing is just a leftover debug thing, if you couldn't tell 08:44
08:45 smls joined, n0tjack left 08:46 espadrine joined 08:47 g4 joined, g4 left, g4 joined 08:51 rindolf joined
smls m: my @a = [2, 4], [6, 8]; my ([$a, $b], [$c, $d]) := @a; say ($a, $b, $c, $d); 08:54
camelia rakudo-moar cf72c2: OUTPUT«((Mu) (Mu) (Mu) (Mu))␤»
smls Am I imagining that this used to work?
FROGGS ShimmerFairy: I'd suggest that you look at the last few lines of NativeCall.pm6 08:55
ShimmerFairy: especially the bits about Mu $/ and also how to access matches
ShimmerFairy: and you have to 'use nqp' 08:56
08:57 andreoss joined
ShimmerFairy I left out the use nqp snippet (just copy-pasted a commented-out section), but I do see now the bit where I have to remember to live in NQP land a bit :) 08:57
FROGGS yeah
brb 08:58
08:58 FROGGS left 09:00 xfix left 09:01 FROGGS joined, rindolf left 09:05 dakkar joined
El_Che is using nqp::force_gc something that is OK to do in user code? I read huge files (secuentially through read and parse channels) and calling the gc as soon as possible seem handy to me 09:07
nine El_Che: I'd argue that it's better to not bother. Rakudo will garbage collect quite often anyway if you have lots of memory churn. 09:08
09:08 nwc10 left
El_Che I see, thx 09:08
09:09 PotatoGim left 09:10 PotatoGim joined 09:11 hankache joined, rindolf joined 09:12 zakharyas joined, Skarsnik joined 09:16 brrt joined
brrt \o 09:16
09:16 PotatoGim left
hankache hola 09:17
RabidGravy erp 09:18
brrt :-) 09:19
vytas are tthere plans to replace libuv ? 09:23
cxreg should there be? 09:24
Skarsnik Hello, someone should write something to get substring from json string ~~ 09:25
DrForr Uh... Just so people here know...
cognominal vytas, jnthn once talked about it
DrForr Tutorial "Introduction to Perl 6" accepted for OSCON 2016.
RabidGravy :)
moritz vytas: I don't think so
vytas: what should it be replaced with?
Skarsnik nice DrForr :) 09:26
DrForr Meep.
vytas moritz, well libev for *nix, but then windows...
09:26 andreoss left
cxreg libuv does use libev on unix, doesn't it? 09:27
vytas cxreg, it doesn't. though it used to ages ago
RabidGravy I think that's the point, libuv is designed to be cross platform
cxreg vytas: ok, guess my info is dated :) 09:28
moritz vytas: sounds like not much of a plan :/
vytas not really in position to suggest anything, I was just interested to see what's going on :) 09:29
RabidGravy there's always the option for someone port to a different VM of course
moritz vytas: afaict libuv is less worse than all the alternatives, so there are no plans or incentives to replace it
nine I think we should first simply try to upgrade libuv to a less ancient version. AFAIK that's on the table for some time after the release. It would be much too risky to do it now. 09:30
cxreg is libuv still primarily authored by the nodejs guys?
vytas moritz, wasn't there issue with sockets though? let me find bug report
09:30 koo8 joined 09:32 raiph left, iH2O joined
vytas ignore me, can't find it now 09:32
iH2O ignores vytas 09:33
moritz vytas: there being an issue with sockets doens't seem like a good reason to ditch a library :-) 09:34
09:34 RabidGravy left 09:36 PotatoGim joined 09:39 yeahnoob left 09:40 Ven joined
Ven \o 09:40
Ven should really find the time to finish his blog post for tomorrow :-)
iH2O why is tomorrow that important?
Ven ..because that's my advent day :P 09:41
09:41 n0tjack joined
Ven notices he didn't put his draft on the internet and frowns 09:42
(people who fixed the install bug)>>++
09:46 n0tjack left 09:48 espadrine left 09:51 iH2O left 09:54 au joined
Skarsnik *is annoyed by leak in the XML module* 873.01 Mb /root/.rakudobrew/moar-nom/install/bin/moar --execname=/root/.rakudobrew/bin/../moar-nom/install/bin/perl6 .... -I . Ferrel.p6 09:56
brrt are any of the LPW videos online yet? 09:59
lizmat good *, #perl5! 10:00
lizmat is not awake yet, clearly
#perl6!
llfourn s/perl5/perl6/
lizmat brrt: not afaik
brrt ohahi lizmat
ah, too bad
10:00 zjmarlow left
brrt what about slides? 10:01
Skarsnik hm, I managed to have moarvm stuck in a boucle just with use it seems x)
Hotkeys .u 五
yoleaux No characters found
Skarsnik *loop
10:04 pyrimidine left
dalek kudo/nom: f609147 | lizmat++ | src/core/ (2 files):
Make error on 123 +< (1 +< 64) little more awesome

Also for +> . Adds error class X::NYI::BigInt, perhaps also useful for other cases. In response to RT #126941.
10:05
Hotkeys m: 六 - 1 10:06
camelia rakudo-moar cf72c2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/x0YHJnHghO␤Undeclared routine:␤ 六 used at line 1␤␤»
Hotkeys Aw
dalek ast: 9dccebf | lizmat++ | S02-types/WHICH.t:
Add test for X::NYI::BigInt error class
Hotkeys I was hoping it magically knew Chinese numerals like it does the strange Arabic ones
lizmat m: say uniprop("六") 10:08
camelia rakudo-moar cf72c2: OUTPUT«Lo␤»
DrForr This weekend I want to put together Roman numerals, but the thing is '0rXVII << 2' doesn't seem right, because ... Roman numerals don't have 0s.
brrt what strange arabic ones? /me thought the arabic ones were the ones we use
Ven lizmat: good #perl11 to you too :P
lizmat m: say uniprop("5")
camelia rakudo-moar cf72c2: OUTPUT«Nd␤»
Hotkeys Not like 1 2 3 etc 10:09
It's a different thing
lizmat Hotkeys: seems like 六 is not marked as being numeric ?
Hotkeys I forget what they're called
.u Arabic digit
yoleaux U+0660 ARABIC-INDIC DIGIT ZERO [Nd] (٠)
U+0661 ARABIC-INDIC DIGIT ONE [Nd] (١)
U+0662 ARABIC-INDIC DIGIT TWO [Nd] (٢)
Skarsnik when I have a case of class A { has B $} and class B { has B $}; I just need to stub one class in one pm file?
Hotkeys The Arabic indic digits
lizmat m: say uniprop("٢")
camelia rakudo-moar cf72c2: OUTPUT«Nd␤»
brrt aha
Hotkeys You can use them just like regular digits 10:10
moritz Skarsnik: just class B { ... }; before class A
Hotkeys In perl 6
lizmat Hotkeys: because the have an N in the uniprop, not an L
Skarsnik ===SORRY!=== Error while compiling /root/piko/Discord/lib/Discord/Channel.pm6
The following packages were stubbed but not defined:
Discord::User
~~
Hotkeys Ah
llfourn m: .say when 4 for '۰'..'۹' 10:11
camelia rakudo-moar cf72c2: OUTPUT«۴␤»
llfourn so cool :)
Hotkeys Ya
Skarsnik hexchat does not see your weird symbol :(
llfourn Skarsnik: :(
Hotkeys Weird
Must be your font
Skarsnik or windows x) 10:12
Hotkeys Nah
llfourn m: .say when 5 for '۰'..'۹'
camelia rakudo-moar f60914: OUTPUT«۵␤»
Hotkeys I was able to see them on windows hexchat
With consolas I think
nine m: say [+] '۰'..'۹' 10:13
camelia rakudo-moar f60914: OUTPUT«45␤»
llfourn m: say "WIN" if ۵۵ == 55 10:14
camelia rakudo-moar f60914: OUTPUT«WIN␤»
llfourn :D:D
m: say "WIN" if "۵۵" == 55
camelia rakudo-moar f60914: OUTPUT«WIN␤»
llfourn m: say "WIN" if "5۵" == 55
camelia rakudo-moar f60914: OUTPUT«WIN␤»
llfourn lol
Hotkeys Iol
nine m: say [+] ۰..۹ # because, why should we use strings there?
camelia rakudo-moar f60914: OUTPUT«45␤»
llfourn I find that sometimes my editor swaps the ۹ to the front... which is apparently the right way around according to wikipedia 10:15
but p6 still gets it
Hotkeys That's because it just displays it right to left on the front end 10:16
ShimmerFairy It's just a display thing; you could use LRO for example to force it to be left->right, but unfortunately P6 will die on those kinds of characters
Hotkeys But behind the scenes all is well
llfourn I see...
Hotkeys m: (۰..۹)».say
camelia rakudo-moar f60914: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
Hotkeys Oh
Oops 10:17
m: ("۰".."۹")».say
camelia rakudo-moar f60914: OUTPUT«۰␤۱␤۲␤۳␤۴␤۵␤۶␤۷␤۸␤۹␤»
lizmat Hotkeys: note that the order of the say could be random in the future
Hotkeys I know
It is just a bad habit
:p
Quick and dirty 10:18
lizmat m: say "۰".."۹"
camelia rakudo-moar f60914: OUTPUT«"۰".."۹"␤»
Hotkeys I avoid doing it in real code
lizmat m: say flat "۰".."۹"
camelia rakudo-moar f60914: OUTPUT«(۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹)␤»
lizmat m: say |"۰".."۹"
camelia rakudo-moar f60914: OUTPUT«1.."۹"␤»
lizmat m: say |("۰".."۹")
camelia rakudo-moar f60914: OUTPUT«۰۱۲۳۴۵۶۷۸۹␤»
Hotkeys But I like hyper :p
llfourn | is flatter than flat..
El_Che if you people would add colours, this would remind me of mirc in the '90s 10:19
moritz m: say "۰"..."۹"
camelia rakudo-moar f60914: OUTPUT«(۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹)␤»
moritz El_Che: somehow I doubt mirc in the '90s did Unicode so well :-)
El_Che moritz: it did it best to annoy users by weird coloured ascii combinations in the channel 10:20
El_Che returns to pointing angrily at the clouds :)
vytas what's the difference between .. and ... ?
llfourn m: |("۰".."۹").WHAT.say; (flat "۰".."۹").WHAT.say
camelia rakudo-moar f60914: OUTPUT«(Range)␤(Seq)␤»
llfourn m: (|("۰".."۹")).WHAT.say; (flat "۰".."۹").WHAT.say 10:21
camelia rakudo-moar f60914: OUTPUT«(Slip)␤(Seq)␤»
llfourn so slips dispaly closer together :)
vytas: series operator
Skarsnik github.com/Skarsnik/perl6-discord this code make moar loop forever (and crash when no free memory) just on the use Discord in the example. (on my october rakudo/moar)
Hotkeys Also re: 0r prefix for Roman numbers, isn't/wasn't the 0 just to represent that it is a constant to the parser
moritz vytas: .. constructs a Range, which is just "from here to there" 10:22
Hotkeys hence thither
moritz vytas: ... is the series (lazy list) operator which supports all kinds of funky sequence generation
DrForr I could easily make it IrMMXV, but that (while more correct) would just look like a weirdly-named function or something.
Hotkeys hence .. thither
moritz m: say 1, 2, 4 ... 256 10:23
camelia rakudo-moar f60914: OUTPUT«(1 2 4 8 16 32 64 128 256)␤»
Hotkeys I think 0r would be best for consistency's sake
moritz it autodetected a geometric sequence here, for example
10:23 lichtkind joined
moritz m: say 1, 1, *+* ... *>1000 10:23
camelia rakudo-moar f60914: OUTPUT«(1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597)␤»
moritz fibonacci numbers!
DrForr Well, I'm also thinking of cuneiform with 0B :) 10:24
10:24 zjmarlow joined
Hotkeys Do it yo 10:24
B might be confusing, isn't 0b binary
DrForr Well, yes. I suppose 0c would be a little better... 10:25
Hotkeys Can we get unary 10:26
vytas moritz, thanks for explaining, I must admit my brains stopped for a second when I saw Slip, Range, Seq :)
Hotkeys eg 0u11111 = 5
jnthn vytas: from backlog: we'll almost certainly stop doing sync I/O in Moar through libuv; for all the async stuff, doesn't expect any change for some years. There's just no point to re-do all that hard work for different platforms async I/O differences.
DrForr I've got the weekend :)
10:26 espadrine joined
Woodi hi #perl6 10:27
vytas Thanks jnthn :)
DrForr At the moment I'm starting to recover from getting the tutorial accepted.
Woodi jnthn: I looked into uv_ lastly and there is no aio_ or io_ calls... so, is it async what uv_ is doing ? 10:28
dalek p: 74d2a80 | moritz++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION to get UDP-on-linux fix by hoelzro++
10:29
10:29 koo8 left
timotimo o/ 10:30
dalek kudo/nom: b422f44 | moritz++ | tools/build/NQP_REVISION:
Bump NQP version to get UPD-on-Linux fix
10:30 zjmarlow left 10:32 vividsnow joined
jnthn moritz: "What keeps the supply alive" - supplies are push-based, so it's actually the event loop that keeps them alive. Going out of scope doesn't do a thing, since the chain is held from the top; you have to explicitly .close the tap to free resources (but the test just lets process exit do it). 10:34
_nadim nay unicode character one can use to show that a line being wrapped? ASCII "glyph" wuld be useful too
DrForr There should be an arrow for that.
nine m: say "hello"; say "world"; 10:35
camelia rakudo-moar f60914: OUTPUT«hello␤world␤»
10:35 Begi joined
jnthn Woodi: Yes, decidedly async 10:35
nine _nadim: ^^^
Skarsnik I am stuck with my class definition :( etheir it make rakudo loop forever or it does not want my stubbed class ~~
nine err....is there a NL in there? My terminal doesn't show anything
DrForr Yes, there is.
moritz jnthn: ah, ok
DrForr hello>N/L<world 10:36
moritz .u ␤
yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
_nadim it shows, but >N/L< is a mouthfull in ascii. I need to provide both
timotimo that's not really for line-wrap, though? that's for explicit newlines?
moritz typically the browser is better at displaying Unicode than the terminal, so check irclog.perlgeek.de/perl6/today in case of doubt :-)
10:37 Begi2 joined
_nadim bleah, my browser does not show it, google chrome 10:37
10:39 Begi left
|Tux| since panda fails big-time in rakudo, are there any alternatives to install modules under rakudobrew? 10:40
or will panda be fixed shortly
10:40 Peter_R joined
moritz |Tux|: no idea if it works at the moment, but rakudobrew also supports building zef 10:41
10:41 CIAvash left, CIAvash joined
|Tux| Initializing 10:41
===SORRY!=== Error while compiling /pro/3gl/CPAN/rakudobrew/moar-nom/zef/lib/Zef/Distribution/Local.pm6
Undeclared name:
PARSE-INCLUDE-SPEC used at line 123
:( currently that also barfs 10:42
10:42 n0tjack joined
timotimo oh, it relies on old rakudo internals, eh? 10:42
lizmat PARSE-INCLUDE-SPEC was an internal thing that I removed, if I remember correctly
10:44 rurban_ joined
|Tux| so rakudowbrew currently has neither, as both fail 10:44
timotimo :(
lizmat fwiw, at the current state of curli , I would no longer recommend using zef anyway 10:45
nine |Tux|: what's the issue with panda anyway? 10:46
TEttinger what is zef?
moritz TEttinger: an alternative module installer
DrForr . o ( Zero Extraction Force? )
nine lizmat: I thought you wrote PARSE-INCLUDE-SPEC? It's now a private sub in CompUnit::RepositoryRegistry as all the $*REPO setup code is in there
jnthn lizmat: I'd not be surprised if zef bounces back once the comp unit stuff settles down :) 10:47
10:47 n0tjack left
|Tux| nine: gist.github.com/Tux/42ddea88b3f52f45ff43 10:49
nine |Tux|: I assume your rakudo is very up to date? 10:52
lizmat jnthn: as long as zef uses $*REPO.install that should be ok, I think? nine ?
|Tux| is 15 minutes up-to-date enough? 10:53
This is Rakudo version 2015.11-601-gb422f44 built on MoarVM version 2015.11-60-g9fd64bd
implementing Perl 6.b.
stmuk |Tux|: you could try ufo and make as a panda replacement
10:54 zjmarlow joined
|Tux| ? 10:54
nine lizmat: almost. It should call .install on a CompUnit::Installable repo that reports .can-install
|Tux| never heared of ufo? what should I do?
Skarsnik hm, I am confused. I have: use DC; use DU; use DG; DC need DU class so I stub it in DC (DU need DC); DG need DC. But it complain that DU is stubbed in DC
stmuk github.com/masak/ufo generates a makefile from the meta file
I've found it useful for module installs when panda is broken for a bit
nine |Tux|: yes, recent enough 10:55
moritz Skarsnik: wherever you stub a class, you also need to at least load its definition afterwards
Skarsnik: and you can only have cyclic deps between classes in the same file
(at least compile-time deps)
nine |Tux|: can your panda install other modules, like File::Temp? 10:56
stmuk when I tried yesterday panda was unable to find Test.pm 10:57
Skarsnik moritz, I don't get it. I use the class just after, it should work?
10:57 pierre-vigier left
nine Then please let's fix the panda issue instead of suggesting alternative installers 10:57
stmuk: do you use rakudobrew, too? 10:58
|Tux| nine, gist.github.com/Tux/1b7f08d40791e78a4962
stmuk nine: yes
I'm trying totally from scratch now 10:59
nine |Tux|: maybe the issue is with Slang::Tuxic then
10:59 zjmarlow left
|Tux| without that I cannot test :( 11:00
FWIW CSV::Parser also fails to install with panda
Could not find Test in … 11:01
11:03 pierre-vigier joined
stmuk the can't find Test error is relatively new (maybe 2/3 days old) compared with the other panda/rakudo errors 11:04
nine nine@sunshine:~/install/rakudo (nom=)> perl6 -Ilib -e 'use lib "lib"; say $*REPO.repo-chain' 11:05
(file#/home/nine/install/rakudo/lib)
That's the underlying issue ^^^
It's just because I fail repeatedly at implementing a first grader's example, i.e. a dead simple linked list
|Tux| $ ls -l ~/.perl6 11:06
lrwxrwxrwx 1 merijn users 24 Nov 30 09:30 /home/merijn/.perl6 -> /pro/3gl/CPAN/rakudobrew
stmuk nine++ # repeatedly succeeding too 11:07
nine In other words: if you passed second grade and operations on a linked list are no challenge for you, you're already better than the one who implemented curli. That's how simple most of this code is!
So please join :)
dalek kudo/nom: 8d50dab | lizmat++ | src/core/IO/Path.pm:
Fix for #126935
11:08 zjmarlow joined 11:10 woolfy joined, woolfy left 11:12 vividsnow left, vividsnow joined, Ven left
Zoffix awwaiid, I don't know anything about the doc stuff 11:15
11:15 rindolf left
lizmat confirms that UDP tests are now passing on OS X 11:17
Skarsnik nic
11:19 cygx_ joined
cygx_ o/ 11:19
timotimo yo cygx_
cygx_ lizmat: you implemented some Cool methods in IO::Path (split, comb, ...) 11:20
do you think they should fail or hrow if .open fails?
*throw
dalek ast: e41c661 | lizmat++ | S32-io/io-path.t:
Add test for #126935
lizmat cygx: good question
I have no real opinion about that atm
cygx_ right now, they will return handles failures, which is wrong 11:21
I have a pull request that makes them fail, but I wonder if throwing would be more appropriate
(thinking about binding their return values)
11:22 hankache left
cygx_ *return handled failures 11:22
lizmat yes, that part is maybe not so good... 11:23
will think about it over brunch&
cygx_ bon appétit 11:24
11:25 andreoss joined
llfourn m: { berp => "lerp", ( with "herp" { $_ => "derp" } ) } 11:30
camelia rakudo-moar 8d50da: OUTPUT«When invoking cuid_1_1450351810.18985 '', provided outer frame 0x31d0630 (cuid_3_1450351810.18985 '<unit>') does not match expected static frame 0x31d0760 (cuid_2_1450351810.18985 '')␤ in block <unit> at /tmp/MDAsAMUnCb:1␤␤»
llfourn o.o I will RT
11:31 brrt left
moritz it's surprising how many corner cases a language can have :-) 11:34
dalek p/sized-natives: 792fa61 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Map objprimbits and objprimunsigned ops.
11:35
p/sized-natives: 36c6701 | jnthn++ | src/ (3 files):
Support sized native types in NQP MOP.
11:36 kid51 joined, ollej joined 11:38 lucasb joined
Zoffix m: say ''''''''foo'''''''' 11:38
camelia rakudo-moar 8d50da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eqrfrk0px5␤Two terms in a row␤at /tmp/eqrfrk0px5:1␤------> 3say ''7⏏5''''''foo''''''''␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ …»
Zoffix Damn... I had a dream last night this was working in Perl 6 and I was bragging that no other language can do it :)
jnthn m: say Q''''''''foo'''''''' 11:39
camelia rakudo-moar 8d50da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JbvkAtoe1W␤Two terms in a row␤at /tmp/JbvkAtoe1W:1␤------> 3say Q''7⏏5''''''foo''''''''␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ …»
jnthn aww :)
You're likely tinking of the matching open/close though
m: say q{ say { 'omg' } }
camelia rakudo-moar 8d50da: OUTPUT« say { 'omg' } ␤»
11:39 PotatoGim left
Zoffix I think this what gave my brain the idea: 11:40
m: say 'fo/o' ~~ /'/'/
camelia rakudo-moar 8d50da: OUTPUT«「/」␤»
Zoffix the delimiter appears inside, but still doesn't break the regex
jnthn Sure, we parse regexes as a real language
Same for strings fwiw
11:41 PotatoGim joined
Zoffix m: say q{{{{{{{foo}}}}}}} 11:41
camelia rakudo-moar 8d50da: OUTPUT«foo␤»
Zoffix Well, that's interesting
jnthn m: my $meth = 'flip'; my $foo = 'desserts'; say "$foo backwards is $foo."$meth"()" 11:42
camelia rakudo-moar 8d50da: OUTPUT«desserts backwards is stressed␤»
nine Can I check if a named argument was passed in at all, i.e. even when it's passed an undefined value?
jnthn nine: |c then c.hash<foo>:exists
moritz nine: you can, if you don't declare it specifically, but with a slurp *%named
*slurpy 11:43
arnsholt goes to review NativeCall/JVM
11:43 n0tjack joined
arnsholt Prospective employer wants me to present something I've worked on, and that's probably the most interesting stuff I've worked on 11:44
dalek p/sized-natives: 017aff3 | jnthn++ | src/vm/moar/stage0/ (11 files):
Update bootstrap.

Otherwise we can't actually declare sized natives in the NQP setting.
p/sized-natives: 028062f | jnthn++ | src/core/NativeTypes.nqp:
Add sized native types.

Only on Moar for now, though that's fine since I only plan to use them in fixing Moar code-gen for the time being.
lucasb m: /o/ 11:47
camelia rakudo-moar 8d50da: OUTPUT«getlexrelcaller needs a context␤ in block <unit> at /tmp/w4BrjD5iUB:1␤␤»
11:47 n0tjack left 11:50 PotatoGim left 11:53 koo8 joined, virtualsue joined 11:58 virtualsue left 11:59 virtualsue joined, PotatoGim joined
dalek p/sized-natives: d1a15a1 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Make QAST -> MAST respect size differences.
12:01
12:10 PotatoGim left
grondilu m: sub infix:<choose>($n, $k) { ([*] ($n ... 0) Z/ 1 .. min($n - $k, $k)).Int }; say 1e9 choose (1e9 - 3); 12:13
camelia rakudo-moar 8d50da: OUTPUT«166666666166666665274638336␤»
timotimo thonny.cs.ut.ee/ - this looks cute 12:19
12:20 PotatoGim joined
moritz it also nearly spells "cute" in the domain name :-) 12:24
12:27 administrator joined, administrator is now known as Guest72061
andreoss masak: consider my PR 12:28
12:32 snarkyboojum left
Begi2 Hello ! What's the best doc to start concurrency with Perl 6 ? 12:33
Skarsnik the advent post? x)
12:34 vytas left
llfourn Begi2: perl6advent.wordpress.com/2015/12/...nous-data/ 12:34
jnthn doc.perl6.org/language/concurrency is probably good to read before that post :) 12:35
Begi2 Thanks llfourn & jnthn !
smls Begi2: Also, some of the PDFs here: jnthn.net/articles.shtml (the newer ones at least)
llfourn yes watch this: www.youtube.com/watch?v=JpqnNCx7wVY jnthn++
moritz jnthn: maybe link to that form the advent post? (unless you already do, of course :-) 12:36
gfldex jnthn: is the following a good way to change the default scheduler?
moritz *from
gfldex m: PROCESS::<$SCHEDULER> = ThreadPoolScheduler.new(initial_threads => 0, max_threads => %*ENV<THREADS>.?Int // 2);
camelia ( no output )
moritz gfldex: I'd just do my $*SCHEDULER = ...
jnthn gfldex: I prefer to declare a my $*SCHEDULER = ...
moritz gfldex: at the top of the program; that way everything is in the dynamic scope in which this variable is visble 12:37
12:37 rindolf joined
smls timotimo: Yes, that's neat. 12:37
dalek p/sized-natives: 6dc2a6f | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
num64/num32 truncate/extend coercion code-gen.
12:38
p/sized-natives: 1fbfd04 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Use correct sized lex/local ref ops.
blets: 08ad96d | (Herbert Breunung)++ | docs/tablet-9-regexes.txt:
-typo, -unecessary file endings
jnthn Aside from the fact they break a bunch of other things, those patches fix RT #124084 :) 12:39
12:40 ollej left
gfldex m: $*SCHEDULER = ThreadPoolScheduler.new(initial_threads => 0, max_threads => %*ENV<THREADS>.?Int // 2); 12:40
camelia rakudo-moar 8d50da: OUTPUT«Cannot modify an immutable ThreadPoolScheduler␤ in block <unit> at /tmp/9gmMbymSP9:1␤␤»
gfldex i think i like my version better :->
andreoss masak: i take it back, some tests fail
jnthn gfldex: You missed the "my" 12:41
_nadim is there a way to run the tests in parallel? 12:43
jnthn lunch &
12:44 n0tjack joined, vytas joined, kid51 left 12:48 n0tjack left, nowan left
gfldex jnthn: that seams not to work in a module. And i have to do it in the module because of perl6 --doc=BigPage 12:50
nine _nadim: TEST_JOBS=5 12:51
12:54 kaare_ joined
moritz ... which is even mentioned in the INSTALL.txt document in rakudo 12:54
_nadim nine++ 12:55
12:59 advwp left 13:00 advwp joined 13:01 sufrostico joined 13:02 zjmarlow left
dalek kudo/nom: 300bddc | grondilu++ | README.md:
mention rlwrap in README

Linenoise is slow, we should at least mention an alternative.
13:06
kudo/nom: cfaa921 | lizmat++ | README.md:
Merge pull request #636 from grondilu/patch-10

mention rlwrap in README
href="https://modules.perl6.org:">modules.perl6.org: 4096ab1 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source/GitHub.pm:
Revert "Anchor GitHub source regex so it does not incorrectly match weird URLs"

This reverts commit ae432076a9571fbb4c47bae37b5452c268ad90be as it breaks the entire build. I'll fix the original issue more correctly later today.
13:10
13:12 virtualsue left, ZoffixW joined
ZoffixW grondilu, would you mind submitting your version and simply closing my PR? RE github.com/rakudo/rakudo/pull/635 13:13
smls Is it possible that there has never been an advent post about Inline::Perl5 and Inline::Python? www.google.com/search?q=inline++si...dpress.com
nine ^^
ZoffixW Would be very nice to write one about Inline::Python 13:14
nine smls: seems like :/
smls A shame
13:14 nowan joined, virtualsue joined 13:15 rurban left
ZoffixW m: say (1..6) Z+ (1..6).reverse 13:16
camelia rakudo-moar cfaa92: OUTPUT«(7 7 7 7 7 7)␤»
13:16 virtualsue left
ZoffixW m: say (1..7) ZZZZZZ (1..7).reverse 13:16
camelia rakudo-moar cfaa92: OUTPUT«(((((((1 7)))))) ((((((2 6)))))) ((((((3 5)))))) ((((((4 4)))))) ((((((5 3)))))) ((((((6 2)))))) ((((((7 1)))))))␤»
ZoffixW hehe, neat 13:17
13:21 sufrosti1o joined
Skarsnik my rakudo is very slow to start something weird 13:21
lichtkind m: @a = 1..5; say @a[2]
camelia rakudo-moar cfaa92: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PQ3CcJ3wNs␤Variable '@a' is not declared␤at /tmp/PQ3CcJ3wNs:1␤------> 3<BOL>7⏏5@a = 1..5; say @a[2]␤»
lichtkind m: my @a = 1..5; say @a[2]
camelia rakudo-moar cfaa92: OUTPUT«3␤»
lichtkind m: my @a = 1..5; say @a/ [2]
camelia rakudo-moar cfaa92: OUTPUT«5␤»
lichtkind syn 2 says it should be 3 too 13:22
any idea what happened?
13:22 sufrosti1o left, sufrostico left
andreoss m: (1 Z 2).Str.say 13:22
camelia rakudo-moar cfaa92: OUTPUT«1 2␤»
andreoss m: (1 ZZ 2).Str.say
camelia rakudo-moar cfaa92: 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/CrYzcN6ppQ:1␤␤» 13:23
13:24 zjmarlow joined
andreoss m: (1 ZZ 2).say 13:24
camelia rakudo-moar cfaa92: OUTPUT«(((1 2)))␤»
andreoss m: (1 ZZ 2).cache.Str.say 13:25
camelia rakudo-moar cfaa92: 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/_PlUjRAsFD:1␤␤»
13:26 PotatoGim left, sufrostico joined, PotatoGim joined
grondilu ZoffixW: I don't have rights to do the merge 13:26
oh sorry you meant submitting an other PR 13:27
13:28 rurban joined
grondilu I suggest you just edit your PR 13:28
lichtkind nine is this a bug or intended? 13:29
13:30 zjmarlow left, sufrostico left
moritz lichtkind: aren't you confusing \ with / ? 13:31
ZoffixW m: my @a = 1..5; say @a\ [2]
camelia rakudo-moar cfaa92: OUTPUT«3␤»
moritz say @a/ [2] does a division
13:31 sufrostico joined 13:32 sufrostico left
moritz (number elements in @a) / (number of elements in [2]) 13:32
nine it's actually 5/1 which is 5. Nice obfuscation :)
ZoffixW m: say [3]/[2]
camelia rakudo-moar cfaa92: OUTPUT«1␤»
13:32 Begi2 left
moritz the so-called lichtkind manouver 13:33
13:34 sammers left 13:35 PotatoGim_ joined
lichtkind thats not i wanted be famous for 13:35
but your right i looked it up and the misspelled :) 13:36
Skarsnik m: say Any ~~ Int; 13:38
camelia rakudo-moar cfaa92: OUTPUT«False␤»
13:39 ZoffixW left 13:45 n0tjack joined 13:46 sammers joined
andreoss where does method .get_value come from? 13:48
13:48 cygx_ left
Skarsnik In what context? x) 13:49
andreoss it's used in 007 13:50
lib/_007/Q.pm
47: sub avalue($attr) { $attr.get_value(self).?quoted-Str }
13:50 n0tjack left
jnthn Attribute 13:52
13:54 zjmarlow joined
Skarsnik it the read accessor? 13:54
jnthn Well, directly reads the attribute, doesn't go via the accessor
Skarsnik hm, is there a way to say class B is rw(for class A) ? 13:58
13:58 Begi joined 14:00 zjmarlow left
moritz no 14:03
14:03 dwarring left
moritz there is the "trusts" trait 14:03
gfldex Skarsnik: design.perl6.org/S12.html#Trusts
moritz but it only allows you to call private methods
so you need to manually write private setters that the trusted class can call for you... yuck.
14:04 adu joined
jnthn In short, take this as a hint from Perl 6 to reconsider your design. 14:04
Skarsnik a bit... not that useful so
14:04 adu left
Skarsnik I don't know. having some class in a module you want to modify freely inside your module make sense for me 14:05
14:09 xfix joined
dalek p/sized-natives: 2884c8a | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Fill out sized num box/unbox handling.
14:18
14:19 thundergnat joined
dalek kudo/nom: 54457ad | lizmat++ | src/core/Str.pm:
Fix some issues wrt :global/:g and extras
14:19
thundergnat Is it a known issue that Xop and Zop are broken for multi dim arrays? I couldn't find anything on RT about it. 14:20
m: my @a = ^10; my @b = [10..20]; @a = @a X* 2; say @a; @b[0] = @b[0] X* 2; say @b; 14:21
camelia rakudo-moar cfaa92: OUTPUT«[0 2 4 6 8 10 12 14 16 18]␤Method 'push' not found for invocant of class 'Mu'␤ in any at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm:1␤ in sub THROW at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm…»
lizmat thundergnat: they should be NYI, afaik
at least before 6.c
dalek kudo/nom: 898da16 | (Stefan Seifert)++ | src/core/CompUnit/RepositoryRegistry.pm:
Fix $*REPO chain broken by use lib

If a "use lib" statement occurs before $*REPO is initialized and the repository would already be in the $*REPO chain, it would never get its
  .next-repo attribute set. This is caused by repository-for-spec caching
the created repositories, so only the first access determined the next-repo. The "use lib" implementation doesn't pass a :next-repo, so it was always undefined. OTOH if we just blindly overwrite .next-repo, we may create loops in the chain.
Fixed doing the full "cut out of the repo-chain and re-insert properly" dance that use-repository does, even when setting up the initial chain.
Fixes lots of "Cannot find Test in..." errors. Thanks to Tux++ for the report!
14:23
nine |Tux|: ^^^^
thundergnat lizmat Ah. thanks.
14:23 _nadim left
|Tux| runs to try, hold on 14:23
nine stmuk: ^^^
14:24 zjmarlow joined
Skarsnik hm, is there an operator to append a Str if the value at the right of ~= is defined? 14:24
+only
lizmat m: use experimental :cached 14:25
camelia rakudo-moar cfaa92: OUTPUT«WARNINGS for /tmp/_OrGnrQ3le:␤Useless use of ":cached" in sink context (line 1)␤»
lizmat jnthn: ^^^ is that to be expected ?
14:26 raiph joined
jnthn TimToady: sink is leaking ^^ 14:26
moritz lizmat: I think you have to ask TimToady
lizmat ah, ok
jnthn (it's wrong, but I'm delegating :))
lizmat I guess that's also responsible for all of the linenumbers being off
well, maybe not all, but quite a few 14:27
diakopter how could it affect the line numbers?
moritz I'd guess the sink context analysis does some AST wrapping, which uses :node information 14:28
s/uses/loses/
14:30 zjmarlow left
smls moritz: Is htmlify known to be busted on nom? 14:32
Skarsnik it's still busted? :( 14:33
moritz smls: yes (unless somebody fixed it since yesterday)
smls I get a huge amount of "Use of uninitialized value of type Str in string context" warnings, and then "Cannot unbox a type object" error. 14:34
moritz: What rakudfo version does it work with?
moritz smls: possibly none :(
smls ok
diakopter aw, modulecounts.com went negative
Skarsnik lol what 14:35
diakopter p6 ecosystem
dalek kudo/nom: 7188229 | lizmat++ | src/core/ (2 files):
Fix for RT #126936
14:37 CIAvash left
dalek p/sized-natives: 28b6851 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Various sized int box/unbox/coercion cases.
14:39
smls Heh. Running htmlify.p6 through the debugger aborts with "Unhandled exception: ctxlexpad needs an MVMContext" ... :D 14:40
14:44 skids joined 14:47 n0tjack joined, inokenty joined 14:48 adhoc left, _nadim joined
lizmat nine: is it still so that Inline::Perl5 doesn't build on OS X ? 14:50
14:51 RabidGravy joined
nine lizmat: worse :( It's not even installable on Linux. 14:51
Will have a look on it in the evening
lizmat ok :-( I was just trying it again in a long time...
Text::CSV doesn't install either because of test failures 14:52
:-(
Skarsnik hm, I think DateTime does not follow ISO 8601 complety according to en.wikipedia.org/wiki/ISO_8601#Times 2015-12-11T20:41:10.562000+00:00 is valid but it get rejected 14:53
|Tux| lizmat, looking, but $work interrupted
Skarsnik Should I fill a RT?
lizmat in my case, $flu interrupted :-(
14:54 zjmarlow joined
nine lizmat: note that having a local clone and doing panda install . actually works 14:54
diakopter flu--
chansen_ Skarsnik: It's a valid ISO 8601 representation and equivalent to Z (zulu). ISO only states that negative zero offsets (-00:00) is not permitted 14:57
14:57 shibly joined, _nadim left
shibly Is perl6 stable and released? 14:57
tadzik give it another week or two :P 14:58
it's coming out this christmas
timotimo the perl6 language specification is about to become a whole lot stabler; after that, a lot more care will be put into backwards compatibility and such
Skarsnik chansen_, yes but DateTime does not want the extra precision on second and reject this string as valid ISO 8601 string
masak ahoj, #perl6 14:59
smls Hi
shibly perl6.org/
14:59 zjmarlow left
moritz \o/ people use the SSL version of the website 15:00
moritz is happy he put the effort into the ssl certs
diakopter too # moritz++
|Tux| lizmat, nine, still running into Cannot find method 'run_alt'
lizmat even if you try it again immediately again? 15:01
afaik, the "run_alt" is a symptom of on the fly precomp, and then trying to run the precomped
the second time, there is already a precomp, so no on the fly precompe
shibly for(i=0;i<5;i++) ... , is it valid for loop syntax in perl 6? 15:02
diakopter if you replace for with loop
timotimo and put a space before the opening parenthesis
shibly perl6intro.com/#_for
for @array -> $array-item { , is it the only syntax as for loop ? 15:03
dalek kudo/nom: 1b846f1 | (Stefan Seifert)++ | t/harness:
Fix Inline::Perl5 detection in the test harness

require Inline::Perl5; returns an undefined value, so we cannot re-use it as value for exit()
15:03 ibnz joined
|Tux| rm -rf .precomp && p6 t/10_base.t ; p6 t/10_base.t 15:03
15:03 PotatoGim_ left
chansen_ Skarsnik: I would consider that as a bug 15:04
jnthn shibly: Yes, for loops are only for iterating over things in Perl 6. But note you could write your example as just for ^5 { ... }
15:04 molaf joined
nine lizmat: unfortuantly not. The run_alt failure can also appear when loading an already precompiled file. My guess is that it could have happened even before curli. We're just much more agressive with regards to precompiling 15:05
lizmat ah, :-(
15:06 ibnz left, ellybelly joined 15:08 shibly left 15:09 cdg joined
dalek p/sized-natives: 063d3be | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Always receive parameters at full width.
15:10
15:13 gtodd joined 15:16 lucasb left
dalek kudo/nom: 0e24208 | lizmat++ | src/core/Int.pm:
Temporary fix for #126942
15:16
jnthn lizmat: The int candidate part of that should be reverted 15:18
lizmat why ?
15:18 xpen left
lizmat the int version doesn't do it right either 15:18
jnthn Because TimToady and I seem to have settled on native behavior
For native ints
All native int ops should really be calls straight down to the VM, which will in turn be JITted to something equally low level 15:20
dalek kudo/nom: 63d34fc | lizmat++ | src/core/Int.pm:
irclog.perlgeek.de/perl6/2015-12-17#i_11733657
jnthn Thanks
15:20 g4 left
lizmat but if it is currently incorrect ? 15:20
jnthn Why is it currently incorrect?
We're leaning towards defining it on int as "what the CPU does" 15:21
15:21 pyrimidine joined 15:22 n0tjack left
lizmat m: m: my int $a = -123; my int $b = 128; say $a +> $b 15:22
camelia rakudo-moar 1b846f: OUTPUT«-123␤»
lizmat m: m: my int $a = -123; my int $b = 127; say $a +> $b
camelia rakudo-moar 1b846f: OUTPUT«-1␤»
lizmat m: m: my int $a = -123; my int $b = 129; say $a +> $b
camelia rakudo-moar 1b846f: OUTPUT«-62␤»
jnthn If you write a C program doing that, you'll get just the same answers. 15:23
lizmat the shift factor is mod 64
ok
15:23 hankache joined
jnthn We have Int as the default in Perl 6, where we can put the safety valves etc. 15:23
lizmat BTW, is there a reason why int literals don't use the native int candidate ? 15:24
15:24 zjmarlow joined
Juerd What do int literals look like? 15:24
lizmat m: 123
camelia rakudo-moar 1b846f: OUTPUT«WARNINGS for /tmp/cUyV9pado4:␤Useless use of constant integer 123 in sink context (line 1)␤»
dalek c: b6c0999 | smls++ | lib/Perl6/Documentable/Registry.pm:
Make Perl6::Documentable::Registry.lookup more robust

With this, `./htmlify.p6 --sparse=1000` works again for me. Full run is still busted.
Juerd Those are Int, right?
grondilu Zoffix: I created PR as suggested. github.com/rakudo/rakudo/pull/637/files 15:25
moritz Juerd: int literals are allomorphic; the can be Int or int
Juerd m: 123.WHAT.say
camelia rakudo-moar 1b846f: OUTPUT«(Int)␤»
jnthn lizmat: Yes, because you'd always get wrong results if the result doesn't fit on a native int
lizmat m: my int $a = 42; say $a.WHAT # you can't tell
camelia rakudo-moar 1b846f: OUTPUT«(Int)␤»
Juerd Oh
Hmm
That's weird
andreoss masak: what attributes-order suppose to do in _007?
15:25 n0tjack joined
jnthn An int is allomorphic, but will only show its native side if there is at least one declared native involved in the expression also 15:26
15:26 rurban_ left
jnthn $a-native-int + 1 # the 1 will be treated as native 15:26
dalek p/sized-natives: e9dcf6b | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Always pass arguments at full width.
jnthn uh, s/An int/An integer literal/ above 15:27
15:28 _nadim joined
masak andreoss: (a) impose a natural order in Q node stringification (the one I got from .^attributes wasn't always the one that felt most natural) 15:29
dalek ast: 83057c9 | lizmat++ | S03-operators/numeric-shift.t:
Add test for #126942
15:30
masak andreoss: (b) selectively hide attributes that are more "internal" and shouldn't be initialized from 007 userland. Q::Block's %.static-lexpad is an example.
15:30 zjmarlow left, hankache left
lucs m: my $func = 'elems'; say <1 2 3>.$func # Can something like this be made to work? 15:31
camelia rakudo-moar 63d34f: OUTPUT«Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/JFRz8GTmLz:1␤␤»
jnthn quote it
masak andreoss: reason (b) also affects equivalence comparison in infix:<==> between Q nodes. i.e. %.static-lexpad does not enter into such a comparison.
lucs jnthn: Not sure what to quote :/ 15:32
FROGGS m: my $func = 'elems'; say <1 2 3>."$func"()
camelia rakudo-moar 63d34f: OUTPUT«3␤»
FROGGS lucs: ^^
masak andreoss: you can see all three of these usages by doing a `git grep \\.attributes`
lucs Aha, thanks
andreoss masak: i added attribute if Q::Statement::If, but it's not available when .Str is caleed
masak andreoss: I don't understand; could you rephrase? 15:33
andreoss *called
moritz masak: or if you're not eager to type backslashes, 'git grep -F .attributes'
masak moritz: oh, nice.
moritz: I actually had it as `git grep '\.attributes'`
andreoss masak: i added attribute to Q::Statement::If, but it's not available when .Str is called . Is it hidden somehow?
moritz masak: (traditional grep has the same option)
15:36 regreg joined
andreoss .Str on Q, which produces AST dump. So now all tests which use if-statement failing, i believe because of the attribute $.else was not introduced properly somewhere 15:37
dalek p/sized-natives: 7b32c87 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Return values at full width.
15:40
15:43 khw joined
nine masak: I just realized: Perl 5 people have often described Perl 6 as a language research project. 007 is a research project for a macro system for the language research language Perl 6. That kina makes 007 a meta-research language in two ways :) 15:45
FROGGS such meta 15:46
jnthn very reserch 15:47
15:47 znpy left
jnthn so spelling 15:47
FROGGS :P
gfldex could 'Internal error: invalid thread ID 29492288 in GC work pass' indicate a locking problem? 15:48
jnthn No, that's a memory corruption problem 15:49
Phew, I can pass make test again 15:50
gfldex who is General Failure and why is he corrupting my memory? o.0 15:51
diakopter Husband of Gamma Ray 15:52
Skarsnik .tell RabidGravy I have to fix some stuff on JSON-Unmarshal to handle null field ("key" : null) and number passed as string ("key" : "42") with the attr declared as Int. do you want me to make a PR? 15:53
yoleaux Skarsnik: I'll pass your message to RabidGravy.
Skarsnik .botsnack
yoleaux :D
stmuk w00t! lots of apparent fixage in the last couple of hours!
15:54 zjmarlow joined
jnthn m/sg camelia m: use Test; sub i16_o(int16 $i) { isnt $i, 32770, 'sub with int8 arg will see it truncated'; }; i16_o(32770); 15:54
oops
masak andreoss: yes, unless you also add it to .attribute-order, it's not visible in .Str, and not possible to pass as a property when instantiating from inside of 007 itself. 15:55
andreoss: aha, you're adding $.else -- cool!
andreoss: I think the trick is to make sure $.else is always initialized to either another Q::Statement::If, or to a Val::None instance. 15:56
andreoss: that's how we do it with Q::Statement::My and Q::Statement::Return, which see for inspiration.
timotimo stmuk: i know of no fixage :o
dalek p/sized-natives: bd55852 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
Attributte binding is full-width.
japhb .
stmuk the Test.pm related panda fail and some htmlify of doc progress I mean 15:57
masak nine: I would find the "meta-research project" thing more funny if it didn't mean buying into the slightly mean and IMO inaccurate view that Perl 6 is a research project (as opposed to a usable language that has a place next to Perl 5)
15:57 koo8 left
timotimo to me, perl 5 is now only a language used to provide modules for perl 6 to use via Inline::Perl5 :P 15:57
Skarsnik huhu 15:58
nine masak: no one claimed that a research project may not yield something immediately useable 15:59
Skarsnik used LAST in a for loop for something 16:00
16:00 zjmarlow left
Skarsnik This thing is handy ^^ 16:00
raiph p6: say "षि".encode # seems to disagree with demo.icu-project.org/icu-bin/nbrows...f&uv=0 16:01
camelia rakudo-moar 63d34f: OUTPUT«utf8:0x<e0 a4 b7 e0 a4 bf>␤»
16:01 eyck joined, psy_ joined 16:02 eyck left
jnthn m: say "षि".encode.decode eq "षि" 16:02
camelia rakudo-moar 63d34f: OUTPUT«True␤»
16:02 eyck joined
jnthn Well, if we're doing something wrong we've a bug in both encoding and decoding... 16:03
raiph I believe that's supposed to be NFC. The ICU tool has all of NFC, NFKC, NFD, NFKD having the same values. None are like the Rakudo values.
jnthn huh? 16:04
But that page is showing you codepoint values
Not how it encodes to UTF-8
m: say "षि".NFC
camelia rakudo-moar 63d34f: OUTPUT«NFC:0x<0937 093f>␤»
jnthn So, wrong level :)
m: say "षि"."$_"() for <NFC NFD NFKC NFKD> 16:05
camelia rakudo-moar 63d34f: OUTPUT«NFC:0x<0937 093f>␤NFD:0x<0937 093f>␤NFKC:0x<0937 093f>␤NFKD:0x<0937 093f>␤»
jnthn Those match
diakopter slick
raiph So I'm *still* confused by Unicode. I'm so glad P6 is going to simplify this stuff!
jnthn++ # brilliance and patience is a potent combo 16:06
jnthn raiph: I tend to think of it as 3 levels: graphemes, codepoints, bytes
where encodings are about bytes <-> codepoints, and NFK?C/NFK?D are about codepoints <-> codepoints
And graphemes are a level about that, consisting of one or more codepoints 16:07
dalek kudo/nom: 467582d | lizmat++ | src/core/IO/Path.pm:
Some more #126935 fixage
16:09
raiph jnthn: Thanks. I thought I understood that. But my mind is a mysterious thing...
dalek p: 792fa61 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Map objprimbits and objprimunsigned ops.
nqp: 36c6701 | jnthn++ | src/ (3 files):
nqp: Support sized native types in NQP MOP.
16:09 dalek left
jnthn 15 commits, dalek. That was 15 commits. It's a merge! :P 16:10
How much do I have to do in a branch to his the heuristic :P
diakopter heheh
16:10 dalek joined, ChanServ sets mode: +v dalek
jnthn retests Rakudo with that + latest 16:11
It fixes a bunch of misbehavior around sized native types as lexicals.
As in, actually makes them behave sized :) 16:12
JimmyZ jnthn++ # another hard work done 16:15
jnthn Hopefully
The nativecall tests and spectest looks good with this
Well, spectest still running on latest merges of stuff
diakopter yayay
jnthn ecosystem fallout is relatively unlikely, though a number of things have become a bunch stricter 16:16
Skarsnik "unlikely" = "Will break thing in a weird way"
abraxxa how often is doc.perl6.org built and deployed?
jnthn In summary, Moar failed to properly validate lexical/register ops that invovled a typevar.
*involved
16:17 Ven joined
Skarsnik it's not up to date since 5 days I think 16:17
abraxxa 7
Skarsnik there is an issue in the update script x)
jnthn Which hid a lot of code-gen issues
stmuk the doc process is broken by recent changes .. someone did commit one fix today
RabidGravy Skarsnik, JSON::Unmarshal is tadzik's module so yeah I'd go with a PR :) 16:18
yoleaux 15:53Z <Skarsnik> RabidGravy: I have to fix some stuff on JSON-Unmarshal to handle null field ("key" : null) and number passed as string ("key" : "42") with the attr declared as Int. do you want me to make a PR?
Skarsnik Oh right I mixed the two xD
andreoss masak: thanks, making $.else to be Val::None by default solves the problem with stringification 16:19
16:19 xpen joined
RabidGravy I thought, however that it actually dealt with those cases, but I may be mistaken 16:19
Skarsnik RabidGravy, you can't commit into it? *too lazy to create a fork for like 3 lines patch* 16:20
hm or can we create a PR from a .diff file? 16:21
masak andreoss: for the longest time it was enough for Q nodes to contain Any when things were empty. 16:23
stmuk if you use the github "hub" wrapper around git forking and doing PRs is about 3 one liners
masak andreoss: but since a while back, Q nodes need to work as normal 007 objects, and then they can only contain Val objects or other Q objects.
TimToady good native morning
16:24 zjmarlow joined
JimmyZ good morning TimToady 16:24
jnthn o/ TimToady
abraxxa Hi!
dalek kudo/nom: ec18f24 | jnthn++ | tools/build/NQP_REVISION:
Bump for sized natives improvements.
16:26
ast: 9fddf87 | jnthn++ | S02-types/native.t:
Unfudge test for RT #124084.
ast: 53a062f | jnthn++ | S02-types/native.t:
Some extra sized natives tests.

Many of which failed before recent Rakudo fixes.
jnthn Down to 8 xmas RTs 16:27
JimmyZ \o/ 16:28
abraxxa jnthn: wow, it was 20 last time i've read that from you 16:29
TimToady jnthn: I also looked at #125769 and #126005 yesterday, but didn't figger them out
16:30 zjmarlow left
TimToady the one does not appear to be related to sink context, at least as far as the compiler is concerned, but could still be related down at a semantic level somehow 16:30
RabidGravy jnthn, does that fix the regression that required github.com/jonathanstowe/Audio-Enc...a8d928d034
jnthn TimToady: The problem with #125769 is that we sink an if statement's result rather than propagating need to sink into the blocks of the if statement 16:31
TimToady it might be the difference between lexical an dlocal
jnthn RabidGravy: Looks unrelated to me
RabidGravy :-\ 16:32
jnthn TimToady: But if you --optimize=off you don't get lexical -> local stuff going on, so I'm not sure it's that...
TimToady good point
jnthn (And it's still wrong with that off)
16:32 domidumont joined
TimToady I can bang on #125769 some more, but my reduced test case doesn't even use 'if' 16:33
maybe this is two bugs
jnthn Maybe
TimToady: On an "easier" one, rt.perl.org/Ticket/Display.html?id=114946
TimToady m: { my $f := Failure.new("bar"); } 16:34
camelia rakudo-moar ec18f2: OUTPUT«bar␤ in block <unit> at /tmp/_vhkxGImKT:1␤␤Actually thrown at:␤ in block <unit> at /tmp/_vhkxGImKT:1␤␤»
TimToady see, no if
jnthn Yeah, that's the same issue
Or another manifestation of it
TimToady that is in sink context, and it does propagate
smls m: my %foo := :{ a => 1, b => 2 }; sub f (*%args) { dd %args }; f |%foo; 16:35
camelia rakudo-moar ec18f2: OUTPUT«Hash $var = ${"Str|a" => 1, "Str|b" => 2}␤»
smls ^^ is this a known bug?
TimToady m: { my $f = Failure.new("bar"); }
camelia ( no output )
smls happens with typed hashed which are declared with :{ }
this is what causes our htmlify.p6 troubles.
nine I think, after concurrency and naming things, the hardest problem in software engineering is picking the right music to code to..
smls moritz ^^
jnthn TimToady: My expectation on #114946 is we declare the curernt seamntics as what we want and maybe path the design docs if we well like doing so :) 16:36
lizmat www.youtube.com/watch?v=__-lpvXfI6E # an oldy, but goody
nine: ^^^
jnthn TimToady: If it *does* propagate, then maybe we should not be emitting sinks on if ops that are at statement list level. 16:37
nine lizmat: yeah, then let's get going :)
16:38 andreoss left
timotimo nine: ottsonic.bandcamp.com/album/skylon - i quite like this, but right now i'm not sure whether it's good for coding to ... 16:38
16:40 domidumont left
dalek : 2a06169 | (Zoffix Znet)++ | misc/SHELTER/ (3 files):
Move SHELTER from ecosystem to mu

See github.com/perl6/modules.perl6.org...-165381505
16:40
osystem: 7ec46ab | (Zoffix Znet)++ | / (3 files):
Move SHELTER from ecosystem to mu

See github.com/perl6/modules.perl6.org...-165381505
16:41
16:42 virtualsue joined 16:43 zakharyas left
dalek : c2cc3b1 | (Zoffix Znet)++ | misc/SHELTER/README.md:
Use a better link for IRC chat
16:45
kudo/nom: 09983ae | grondilu++ | src/core/List.pm:
add count-only method to combinations Iterator

as suggested on IRC. Replaces github.com/rakudo/rakudo/pull/635
16:46
kudo/nom: e0647c6 | lizmat++ | src/core/List.pm:
Merge pull request #637 from grondilu/patch-11

add count-only method to combinations Iterator
osystem: 808e996 | (Sylvain Colinet)++ | META.list:
Added Discord - Client for the Discord API (hey, something perl5 does not have)
16:47
jdv79 ugexe: how does it look to install from an non-p6c auth with zef?
yoleaux 16 Dec 2015 14:57Z <ZoffixW> jdv79: what is the status of MetaCPAN and what were the objections you had in mind for making it the "standard" Perl 6 module ecosystem instead of having two ecosystems? There were a discussion on the ecosystem stuff: irclog.perlgeek.de/perl6/2015-12-16#i_11727140
flussence makes another attempt to figure out the right voodoo for installing-to-system-dirs
nine Perl 6 is sooo nice for typical shell one liners: 16:48
git log --format=%ae | perl6 -e 'lines().BagHash.pairs.sort(*.value)>>.say;'
16:48 virtualsue left
dalek osystem: fb22993 | sergot++ | META.list:
add bamboo, the dependency manager (bundler)
16:48
Skarsnik need 20 more modules for 500 x-mas? x) 16:49
lizmat nine: nice, but >>.say might throw the order away again
git log --format=%ae | perl6 -e '.say for lines().BagHash.pairs.sort(*.value); 16:50
nine ok ok :) git log --format=%ae | perl6 -e 'lines().BagHash.pairs.sort(*.value).map(*.say);'
jnthn Is the .pairs actually needed? 16:51
nine It's not!
jdv79 Zoffix: what objections?
16:51 autarch left
jdv79 Zoffix: i'll try to read that backlog by tomorrow at hte latest. got a little busy the last few days but i'll be back on this full force tomorrow. 16:52
dalek kudo/nom: 12ba341 | lizmat++ | src/core/IO/Path.pm:
Fix () vs <> thinko, zefram++

There does not seem to be a spectest to catch this :-(
16:53
stmuk m: say Str.can(Num)
camelia rakudo-moar e0647c: OUTPUT«Use of uninitialized value of type Num in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in any can at gen/moar/m-Metamodel.nqp:1099␤Use of uninitialized value of type Num in string context␤Any of .^na…»
16:54 zjmarlow joined, autarch joined
skids m: my $f = * or 1; $f.WHAT.say # There was an RT for this which I commented on, but cannot find now. Struck me as semantic enough to maybe make a call on pre-xmas (whether or/and/etc should curry, or in general review which ops should/not) 16:56
camelia rakudo-moar e0647c: OUTPUT«(Whatever)␤»
skids Maybe the call has already been made.
16:56 domidumont joined, prammer joined
JimmyZ nine: gist.github.com/zhuomingliang/f1b7...2c47f5ab49 16:56
nine JimmyZ: is that with today's rakudo? 16:57
JimmyZ nine: I just type `make`
jnthn skids: We've generally followed the principle that short-circuits ones don't
JimmyZ nine: yes, newest
jdv79 lizmat: did you come up with the auth structure in S22?
lizmat jdv79: yes, 2+ years ago
dalek osystem: e77c5b0 | (Zoffix Znet)++ | README.md:
Update common errors

We now normalize source URLs, so that part is not needed. Panda now cares greatly about correct `provides` section, so mention that
16:58
lizmat jdv79: atm, I'm not sure how that matches the current implementation
jdv79 its seems a bit off where the "storage loc" is equated to an uri scheme
lizmat well, it was very handwavy at that point
nine is happy to answer any questions about the current implementation
jdv79 but what if i want to have a new one, jdvpan or something, now i have to getan installer to hardcode in my details?
lizmat jdv79: ^^^
jdv79 perhaps it should be more like the "host" in a uri where it can be a resolved name or an ip or sommething 16:59
vytas in perl6 how do u print to STDERR, or how do you warn without associated location information 17:00
17:00 zjmarlow left
dalek osystem: 0dd6111 | (Zoffix Znet)++ | README.md:
Actually link to `provides` spec, in case reader doesn"t know about it
17:00
17:00 eyck left
flussence has a weak opinion that the module names in META's provides/depends sections should all support the full syntax with auth/ver -- right now they definitely don't 17:00
nine vytas: note 17:02
vytas thanks nine++
nine JimmyZ: please delete your install/share/perl6. From then on the underlying issue should be fixed forever
17:02 ZoffixW joined, xpen left 17:03 xpen joined, FROGGS left
ZoffixW jdv79, well, not objections, but I recall I said when do you think P6 MetaCPAN will be on modules.perl6.org and you said that won't happen and we'll have two ecosystems 17:03
TimToady skids: as jnthn indicated, || and && and such are really control flow operators, turned rather rapidly into 'if' and 'unless'
those ops can be curried with .assuming, I assume 17:04
jdv79 ZoffixW: the thing is metacpan is built around the cpan model which is quite different from the way we are using github
TimToady m: say &infix:<or>.assuming(*,42)
camelia rakudo-moar e0647c: OUTPUT«sub __PRIMED_ANON (|_ is raw) { #`(Sub|69131864) ... }␤»
TimToady m: say &infix:<or>.assuming(*,42)(0) 17:05
camelia rakudo-moar e0647c: OUTPUT«42␤»
TimToady yeah, you gotta use .assuming
jdv79 that's not to say we couldn't adapt the gh usage to it.
moritz jdv79: but our model (like, not doing explicit releases) is insanity in the long run
ZoffixW jdv79, but I think that naturally brings us to a point that we shouldn't be using github. It's just a temporary thing. We need to move to a CPAN structure with proper versioned releases
nine Do we have an easy way to get a local copy of the whole ecosystem?
jdv79 i'm not sure if we want to have and/or support multiple "main" ecosystems
i think i've never gotten a clean answer to that
17:06 Ven left
moritz nine: the perl6-all-modules repo on github (iirc under my username) has a copy 17:06
jdv79 some people like gh and travis and shiny stuff and some peopple like old skool perl
TimToady we expect multiple distributions to happen
JimmyZ nine: thanks.
jdv79 (cpan,pause,testers,etc)
flussence I'd feel a little more comfortable if we could have multiple mirrors listed in source-url, at least
nine moritz: for easier 'git grep'ability # that's exactly what I need it for :)
ZoffixW jdv79, you can have all that and still make regular uploads
17:07 eyck joined
moritz nine: and that's exactly why I didn't use submodules :-) 17:07
TimToady I'd put it this way; you can have a simple push model, but a complex pull model
ZoffixW jdv79, with P5 tools like Dist::Zilla the upload process is entirely transparent. All I do is type "dzil release" and blaamo... 17:08
(and the actual code is stored on github, with travis and all the shiny things) 17:09
moritz ZoffixW: at the cost of having to get dzil to work first, which isn't always easy with its bazillion deps
but yes, I want tooling that's as pleasant to use
Skarsnik I think a github based ecosystem could work a cpan at the side if you have an easy tool to tag realease and up them to cpan/pause 17:10
ZoffixW Well, there's also App::git::ship without the crazy deps :P
jdv79 but then you have 2 ecosystems Skarsnik
nine Looks like perl6-CSS-Specification is the only distribution depending on Build.pm running with the build dir already in $*REPO. And that should be easy to replace 17:11
ZoffixW I wouldn't want a GitHub based anything in the long run. That's putting too much into an entity we have no control over.
flussence +1
jdv79 that's also a good piont
*point
moritz we need tooling
once we have tooling, it's easy to get module authors to upload releases 17:12
ZoffixW k
jdv79 i think maybe we just get both up and running and see how it falls out
17:12 vividsnow left
jdv79 the gh side needs versioning 17:12
17:12 vividsnow joined
jdv79 and cpan6 needs to spring into existence 17:13
moritz: so is the concensus that we abandon gh as an eco? 17:14
flussence got an early and terrifying christmas present today, in the form of gcc5 on gentoo
jdv79 or have 2 seperate? or try to bridge the 2 at some level like search/isntall aka something like metacpan6
17:15 AndyDee joined
jdv79 i actually have to do laundry or i'll have no clothes tomorrow:( 17:15
sorry. later.
17:15 lichtkind left
Skarsnik the two could work probably if we have nice tools to create a realase from git to cpan6 17:15
stmuk panda probably shouldn't install from github but cpan6 17:16
17:16 rurban left
jdv79 stmuk: that's more the answer i was looking for 17:16
Juerd Wasn't the name "CPAN6" kind of taken by a non-Perl6-project by MARKOV?
jdv79 we'll see i guess:)
stmuk but I don't see github for dev going away anytime soon
jdv79 oh, was it? no!
Juerd cpan6.org/ 17:17
stmuk it might be nice to still allow panda to use github installs as well but just not by default
Juerd Just allow any URL supported by git, and let authors pick their favourite site? 17:18
I don't mind using github today, but I don't want to be forced to use it once I start hating it in the future.
timotimo the cpan6.org website steals from the ubuntu logo
jdv79 who takes cpan6 and pause6 like that?
gah
lizmat Juerd: I think CPAN6 was a project for Perl 6, much like Parrot, but they lost touch :-(
RabidGravy it should be able to install from wherever the MET6.json says it should
stmuk not using git by default could make the dependency of panda on git optional 17:19
so windows users don't need git to just install modules
Juerd lizmat: Originally, yes, but it deviated from that in an early stage, even before the nlnet grant iirc.
timotimo not having to have git to install stuff on windows would be worth alot
Juerd Oh, Windows :( 17:20
flussence not having to use git would make distro maintainers happier too...
Juerd Maybe we can have a pure P6 Git::Download
stmuk panda is effectively dependent on both perl5 and an external git
moritz stmuk: does it use p5 for anything except prove? 17:21
stmuk moritz: yes I meant prove
jdv79 RabidGravy: for deps or the current dist?
stmuk actually using the master.zip from github.com wouldn't need git just a http client 17:22
Juerd lizmat: Wow, did you know the grant was 30k €?
jdv79 once you are looking at a meta6.json you likely have that dist or know where it is (same place), no?
Juerd That's much more than I had assumed
masak andreoss++ # adding `else` to 007
stmuk maybe panda should fall back to the .zip download off GH if git isn't found in the path 17:23
jdv79 quick whose got better names for the p6 variants of pause,cpan,metacpan
lizmat Juerd: would be nice if we could salvage something/all of that project :-)
timotimo rauser?
jdv79 i was gonna use metacpan6 and ...6 but didn't check if all were unused
timotimo Repository of All User Supplied Ecosystem Rubbish
17:24 zjmarlow joined
Juerd lizmat: Perhaps. I don't really know if it's any good. Haven't checked it out. 17:24
moritz python used "cheese shop", ruby has "gems"
jdv79 i see a lot of XML stuff on cpan6.org. seems dated.
flussence "butterfly net"
Juerd lizmat: But for that amount of money it sure should be useable. 17:25
moritz we can do better than acronyms, no?
timotimo it also says "it could use anything, like json or yaml", jdv79
hmm... pupae?
moritz "bugnet" :-)
ZoffixW "CPAN6 is under heavy development"... That's like the 3rd project this week I see that's "under heavy development" and seems to have been dead for a number of years
17:25 cygx joined
ZoffixW "skynet" 17:25
moritz CPAN6 doesn't really try to solve the Perl 6 module distribution problem
jdv79 maybe i'll just email and see if we can take the names 17:26
ZoffixW jdv79++ that's a good plan
moritz it tries to solve a much more general problem that grew out of the module distribution problem
jdv79 laundromat &
nine Second system syndrom done wrong?
stmuk is it possible to use the existing CPAN intrastructure for random binaries (say zip files) I wonder? 17:27
nine stmuk: it is
Juerd stmuk: Yes, it is.
nine And has been abused because of that a couple of times...
Juerd You could in theory upload your encrypted backups to it.
Or host a website on a thousand mirrors
17:28 mnewtj joined
cygx note that we also have the option to switch to libgit2 to ease "git pains" on windows 17:28
stmuk so can't we just stick github.com/tadzik/panda/archive/master.zip type archives up? (maybe with version nos in filename?)
mnewtj Is it possible to work in ASCII in perl6?
masak mnewtj: yes
Juerd mnewtj: Yes
moritz stmuk: we really, really want to work with Perl 6 modules that know their own version
mnewtj please tell me how to do that
ZoffixW mnewtj, all the unicode stuff has "texas variants" 17:29
mnewtj, what in particular are you asking about?
lizmat stmuk: yes, it would be possible, but not sure how the PAUSE powers that be would like that
Juerd mnewtj: Can you give an example of what you wish to do?
lizmat dinner&
mnewtj mmh, that not what I meant
moritz but don't even already have PAUSE indexer support for Perl 6 modules? ISTR FROGGS++ working on that...
mnewtj I meant that if you don't need any unicode, than disable encoding
ZoffixW mnewtj, but ASCII is an encoding 17:30
17:30 zjmarlow left
mnewtj well not really, not anything magic about it at least 17:30
ZoffixW mnewtj, on the grand scheme of things, it's same as Unicode, except much smaller.
stmuk moritz: sorry can you clarify what you mean by "known own version"?
ZoffixW mnewtj, what particular problem are you trying to solve? 17:31
dalek kudo/nom: 1ac59b2 | lizmat++ | src/core/ (2 files):
Move Str perlification logic to Rakudo::Internals

And hopefully speed it up a little bit
moritz stmuk: you should be able to ask a module what version it is
stmuk: and if we just use github-provided archives, we'll never have that
stmuk before installation?
moritz stmuk: always :-)
nine moritz: but the META6.json contains the version?
17:31 _nadim left
stmuk isn't that just extracting META6.json from a zip? 17:32
mnewtj ZoffixW I am trying to increase performance
I really like the language
masak mnewtj: increase performance? by coding only in ASCII?
moritz nine, stmuk: but the META6.json doesn't generally have the right version, unless you have a mechanism that ensures that ever commit changes the version
17:32 dakkar left
Juerd mnewtj: Could you share your code? The unicode stuff in Perl 6 is unlikely to slow down your program if you're not using it. 17:32
timotimo mnewtj: if you're only handling ascii, you can use Blob and Buf types with int8 types. however, that will leave you without a lot of methods and functions you'd usually use on strings. 17:33
ZoffixW mnewtj, I really doubt using a different encoding would help you with that. Have you ran the profiler? What's the bottleneck?
vytas ruby's gem, python's egg, Perl's ... hmm :))
stmuk maybe just a SHA hash of the zip?
jnthn dinner &
nine moritz: why would you want the version to change with every commit?
mnewtj Maybe it is not the unicode part
I will have to profile a bit
nine moritz: if you do that, then what about uncommitted changes?
mnewtj but I experience strange slowdowns with simple things and I was wandering
ZoffixW mnewtj, perl6 compiler has a --profile flag
nine I really wonder what the point is of panda copying lib into blib/lib during build 17:34
Does anyone know?
abraxxa i'd like to merge DBDish::Oracle into DBIish on github
moritz nine: because people are arguing for using gibhub-provided zip archives as a source for module installations
nine: and if you do that, every push becomes a possible version
nine: and then you should try really hard to avoid multiple zips with same version but different contents 17:35
stmuk maybe the CPAN6ish stuff associates the archive SHA hash with the first version number seen and just warns if the two are out of sync
mnewtj ZoffixW I am not sure the internal profiler will help: I get things like it start fast at 100% cpu then slow down to 25%cpu usage (but really it is at least 10x slower) 17:36
abraxxa can i get access to perl6/DBIish on github?
17:37 lichtkind joined
moritz abraxxa: sure. What's your gh user name? 17:37
abraxxa abraxxa
TimToady m: 1 / 2
camelia ( no output )
TimToady huh, I wonder if there's any deep reason / isn't marked pure
stmuk moritz: ideally the CPAN6ish would package zips .. I'm not even sure if the GH zips are constant with no git pushes
moritz abraxxa: you should already have access
ZoffixW mnewtj, why wouldn't it help? It's much more helpful than looking at how fast your CPU is spinning...
timotimo TimToady: maybe someone thought "well, if you divide by zero, it could throw"?
abraxxa moritz: as my work has also extended the general tests I'd like to test testing on MySQL and Pg as I'm only testing sqlite here
moritz: possible, just wanted to check if it's ok 17:38
ZoffixW m: 1/0; say "hm"
camelia rakudo-moar 12ba34: OUTPUT«hm␤»
abraxxa is someone the main DBIish owner?
vytas Perl6's cub - for a perl6 project release :)
stmuk the GH zips could be a stepping stone to CPAN6ish archives
timotimo abraxxa: moritz is, i believe
stmuk there probably should be some clever crypto signing of the archives anyway
moritz abraxxa: can you please open a pull request, and I'll try to review it on the weekend?
nine moritz: Github supports downloading versions as zip: github.com/rakudo/rakudo/archive/2015.11.zip 17:39
abraxxa moritz: i'd change t/99-common.pl6 to be a class with some attrs for db-specific things and a run-tests method
nine moritz: so panda could just look for the latest version and download that instead of the latest commit
abraxxa moritz: to get rid of this global %*opts
moritz abraxxa: sounds good
abraxxa moritz: is there already a Test module that does that which I can use? 17:40
lichtkind i just wrote a memory bomb
nine tadzik: I really wonder what the point is of panda copying lib into blib/lib during build
lichtkind perl 5 creid out of memory
moritz abraxxa: not that I'm aware of
lichtkind got to kill it
abraxxa lichtkind: you invented malloc? :P
lichtkind but rakudo still computes happily along
better
ZoffixW lichtkind, what is it?
moritz lichtkind: join 'x', ('abc') xx 99e99
abraxxa moritz: ok, then i'll have a go so the PR will not break the other DB tests knowingliy
lichtkind something of that kind 17:41
masak TimToady: can infix:</> throw an exception and still be considered pure?
abraxxa moritz: your pc just doesn't have enough memory :)
timotimo m: 1 / 0; say "well..."
camelia rakudo-moar 12ba34: OUTPUT«well...␤»
lichtkind @a = 1..10e8
Begi Is there a probleme with the syntax highlighting on this page ? doc.perl6.org/language/objects
ZoffixW lichtkind, are you sure it's not because P5 simply does that computation like a 1000 times faster? :)
moritz masak: for the sake of constant folding, yes
geekosaur abraxxa, an interesting thing about eceptions is that throwing them is pure but catching them is not
timotimo Begi: it seems like syntax highlighting and embedded Pod6 format codes don't work together especially well :(
ZoffixW Begi, that's a wont-fix ATM.. It's due to bolds used in the code samples
abraxxa geekosaur: hm?
flussence IIRC someone complained last time an unused divide-by-0 caused an exception 17:42
geekosaur whoops
ZoffixW Begi, and last we thought about it, it was too much work to make it work, so *shrug*
moritz geekosaur: I think you meant masak
geekosaur yes
misread scrool
masak, an interesting thing about exceptions is that throwing them is pure but catching them is not
stmuk nine: I wonder if archive/2015.11.zip for example is always exactly the same binary under GH or if its dynamically generated? 17:43
geekosaur (the alternative is that all code is impure because there are things that can generate exceptions at any random time)
Begi so, *shrug* :p
geekosaur stmuk, removed when unaccessed for som time and then regenerated again when needed
17:43 _nadim joined
lichtkind my point is not that p5 is faster but that p6 was much gentler, p5 like ate all cpu and my computer froze 17:43
ZoffixW ¯\_(ツ)_/¯
geekosaur ...not always with the same checksum :/
stmuk geekosaur: makes sense .. thanks 17:44
lichtkind but under moar all worked still
rindolf lichtkind: hi, sup?
moritz lichtkind: I think you've just discovered that p6 lists are potentially lazy :-)
lichtkind no sudo
normal
ZoffixW lichtkind, but you said p6 was still chugging along... Which made me think p6 will gobble up all memory just like p5, it'll just take it longer to do it :)
TimToady masak: yes, I think it's still pure even if it can fail
lichtkind if its just about laziness it would do nothing 17:45
masak geekosaur: yes, that's an interesting point. 17:46
ZoffixW lichtkind, perl6 -e 'my @a = 1..*; for @a -> $n { say $n; sleep 1 }' 17:47
stmuk which pure perl6 file archive extractions exist? 17:48
lichtkind yes but i did nothing with the list
i dont even understand why it even computet at all
abraxxa where can i find the Pod docs?
flussence stmuk: github archives seem stable enough that gentoo uses them directly, and that has a gazillion client-side checksums
(gitlab's tarballs by comparison last about 5 minutes, and are worthless for that type of use)
17:49 ZoffixW left
lichtkind in my understanding perl 6 would say ok we have a list from one to 100 million , noone wants an element good i quite 17:49
timotimo stmuk: i think we have tar and gzip
abraxxa none of the intro docs even mentions it, I've only found design.perl6.org/S26.html 17:50
timotimo um ... apparently no tar.
abraxxa i don't think that using =head5 for a method pod is correct as DBIish currently does 17:53
17:54 zjmarlow joined 17:56 vividsnow left 17:57 llfourn left
abraxxa seems nobody writes docs 17:58
the cheetsheat also doesn't include any pod hints
17:59 xpen left
flussence I just pretend it's HTML5 with weird syntax 17:59
.oO( can't imagine why anyone would ever use <h5> in the real world either )
18:00
18:00 firstdayonthejob joined
abraxxa have to go, bye 18:00
18:00 abraxxa left, zjmarlow left
Juerd juerd.nl/i/5a60276c583205e275eeed034c2cf9ae.jpg 18:01
^ Camelia rubber stamp :)
timotimo hah, neat! 18:02
very good result!
Juerd Yeah, I'm quite satisfied with it
stmuk cool! 18:04
dalek kudo/nom: 7673d10 | (Stefan Seifert)++ | src/core/CompUnit/RepositoryRegistry.pm:
Have CompUnit::RepositoryRegistry.use-repository always return the $repo

Fixes PERL6LIB=$(pwd)/lib perl6 -Ilib -e '' dieing with a "Type check failed in binding; expected CompUnit::Repository but got Nil"
18:06
18:07 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek kudo/nom: 882649f | TimToady++ | src/ (2 files):
grade school students also allowed to use unicode

This adds support for × and ÷ operators, which at minimum have the nice property that you can now write * × * without confusing people (so much).
18:09
kudo/nom: 629b67c | TimToady++ | src/core/Numeric.pm:
mark division as pure
kudo/nom: b58b837 | TimToady++ | src/Perl6/Optimizer.nqp:
1 / 0 is special cased to not be useless
18:14 pierre-vigier left, aborazmeh left
smls m: dd :{ a => 1, b => 2 } 18:15
camelia rakudo-moar 7673d1: OUTPUT«Hash[Mu,Any] $var = :{:a(1), :b(2)}␤»
smls TimToady: Is this^^ correct?
Or was it supposed to produce a Hash[Str, Int] instead? 18:16
timotimo it's not, no 18:17
:{ } is about "object hash", meaning the keys stay objects
rather than being stringified
smls ok
I wonder why htmlify.p6 uses :{...} hashes all over the place, when - as far as I can see - the keys are all strings. 18:18
timotimo no clue 18:20
18:21 lucasb joined
timotimo also, assigning them to a regular % variable can get rid of the objectness right away 18:21
smls it uses binding
timotimo OK
smls Aha! github.com/perl6/doc/commit/b45a10...1600c4145d 18:23
18:24 zjmarlow joined
smls Apparently they were introduced to work around previous errors, and now cause new ones... :/ 18:24
timotimo weird 18:25
lucasb smls: having %h := :{ ... } looks strange. it that really necessary?
timotimo 4 days ago?
smls lucasb: That's what I'm talking about, yeah.
Juerd Why even have anything around the list? 18:26
smls I'll try reverting and fixing the previous errors properly. ;) 18:27
18:30 zjmarlow left
lucasb m: my %h = arr=>[]; say \(|%h).perl 18:30
camelia rakudo-moar 7673d1: OUTPUT«\(:arr($[]))␤»
lucasb m: my %h; %h<arr> := []; say \(|%h).perl
camelia rakudo-moar 7673d1: OUTPUT«\(:arr([]))␤»
lucasb I think the trouble with that doc commit is because of itemized vs non-itemized arrays
RabidGravy++ showed me in the conversation starting here: irclog.perlgeek.de/perl6/2015-12-13#i_11707328 18:31
smls: ^^ If that information helps...
smls thanks 18:32
lucasb m: my %h := :{ arr=>[] }; say \(|%h).perl 18:33
camelia rakudo-moar b58b83: OUTPUT«\("Str|arr" => $[])␤»
18:33 krunen joined
lucasb ^^ I have no idea why these key "Str|arr" is generated 18:34
*this
timotimo it's .WHICH
m: say "Hello!".WHICH
camelia rakudo-moar b58b83: OUTPUT«Str|Hello!␤»
lucasb timotimo: thanks. but it looks wrong in this context, doesn't it? It's a capture... 18:35
timotimo yeah, somehow it's mistreating the key
smls I'm rt'ing that bug right now 18:36
nine Attention please! Are there any objections to me ripping out blib handling code from panda? That means it will no longer copy lib to blib/lib and the build runs directly in the checkout directory 18:39
diakopter ask the continuous integration integration tests... oh wait.. 18:40
ugexe jdv79: I'm trying to model it loosely on CompUnit::Repository. Each phase tries to load whatever plugins are defined in the config file (and the config can be used to set arbitrary options like mirrors). The config can set a content storage as default (if a content storage isn't specified), but the plugin itself must also define its str-id so a command like `install cpan:FOO:Bar:1.0` does something like `my
@uris = @plugins.first({ "cpan:FOO:Bar:1.0" ~~ $_.storage-matcher }).query("cpan:FOO:Bar:1.0", :include-depends)`
18:40 smls_ joined 18:41 raiph left, smls left
ugexe This work is not finished though (nor on github) because i'm aiming for a polished end result without the workarounds I would have to implement to get around current behaviors (like precomp issues) or redoing chunks of code that were unknowingly initially wrong when things like Supply change 18:41
jdv79
ok 18:42
18:42 hankache joined 18:44 spider-mario joined
hankache hello #perl6 18:44
timotimo heyo 18:46
[Tux] I still run into run_alt
18:47 rurban joined
hankache hola timotimo [Tux] 18:47
dalek kudo/nom: 887ca40 | TimToady++ | src/Perl6/Grammar.nqp:
improve diagnostic on detached nonalpha postfixes
[Tux] o/ hankache 18:48
vendethiel TimToady: now that's a fun commit message. 18:49
TimToady m: $_ .++
camelia rakudo-moar b58b83: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VOWNPX_bw1␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/VOWNPX_bw1:1␤------> 3$_ .+7⏏5+␤» 18:50
TimToady that's what it fixes
vendethiel oh yeah, that I get :). I just liked the commit message
dalek line-Perl5: 5e1d9b3 | (Stefan Seifert)++ | / (3 files):
Fix installation with panda

Now that blib is gone, there is no difference anymore between a local build during development and building with panda. Should simplify finding
  p5helper.so.
TimToady m: $_ .++ 18:51
camelia rakudo-moar 887ca4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MnSIAnyq56␤Malformed postfix call (only alphabetic methods may be detached)␤at /tmp/MnSIAnyq56:1␤------> 3$_ .7⏏5++␤»
TimToady m: $_ . "foo"
camelia rakudo-moar 887ca4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CVtgjgY8qJ␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/CVtgjgY8qJ:1␤------> 3$_ .7⏏5 "foo"␤»
TimToady m: $_ X. "foo" 18:52
camelia rakudo-moar 887ca4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W_ZiW2Aied␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/W_ZiW2Aied:1␤------> 3$_ X.7⏏5 "foo"␤»
TimToady m: $_ X.++
camelia rakudo-moar 887ca4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fVjNAifnfs␤Malformed postfix call (only alphabetic methods may be detached)␤at /tmp/fVjNAifnfs:1␤------> 3$_ X.7⏏5++␤»
18:53 joeschmoe joined
TimToady I guess it's reasonable there 18:53
m: $_ X. foo
camelia rakudo-moar 887ca4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LkaPXtM7Rq␤Cannot cross with . because dotty infix operators are too fiddly␤at /tmp/LkaPXtM7Rq:1␤------> 3$_ X.7⏏5 foo␤»
18:53 vendethiel- joined
TimToady well, it's really reserved if we decide to make it work 18:53
dalek href="https://modules.perl6.org:">modules.perl6.org: d548fca | (Zoffix Znet)++ | / (3 files):
Do not operate on weird URLs, even if they are on GitHub
18:54
18:54 zjmarlow joined
TimToady m: $_ X. foo,bar # could work someday 18:54
camelia rakudo-moar 887ca4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_0dUHfHFsS␤Cannot cross with . because dotty infix operators are too fiddly␤at /tmp/_0dUHfHFsS:1␤------> 3$_ X.7⏏5 foo,bar # could work someday␤»
18:54 vendethiel left
joeschmoe m: say 'Fizz' x $_ %% 3 ~ 'Buzz' x $_ %% 5 || $_ for 1 .. 100; 18:55
camelia rakudo-moar 887ca4: OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43…»
TimToady we'd have to distribute . the way we distribute thunkityness
and that sort of thing is why we detached the precedence of x from * 18:56
18:56 rurban left
vendethiel- TimToady: probably is, you probably want to compose that? 18:57
well,you can always just add [+], I guess 18:58
dalek line-Perl5: f4aff79 | (Stefan Seifert)++ | Build.pm:
Only create the resources dir if it doesn't exist
line-Python: 6122cec | (Stefan Seifert)++ | / (3 files):
Fix installation with panda

Now that blib is gone, there is no difference anymore between a local build during development and building with panda. Should simplify finding
  p5helper.so.
18:59 mnewtj left 19:00 zjmarlow left
nine moritz: Inline::Python should now be installable again with latest panda 19:00
vendethiel- nine++
hankache nine++
timotimo ninf \o/ 19:01
tadzik yay :)
19:01 Amnez777 joined, Amnez777 left 19:02 Amnez777 joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 2ac27f1 | (Zoffix Znet)++ | Build.PL:
Bump version of Mew prereq
19:02
nine All my commits to panda combined: 16 files changed, 113 insertions(+), 227 deletions(-) 19:03
TimToady m: 1 / 3
camelia rakudo-moar 887ca4: OUTPUT«WARNINGS for /tmp/_SiSxH2FhE:␤Useless use of "/" in expression "1 / 3" in sink context (line 1)␤»
TimToady m: 1 / 0e0
camelia rakudo-moar 887ca4: OUTPUT«Attempt to divide 1 by zero using /␤ in block <unit> at /tmp/g8fEtj3t5Q:1␤␤Actually thrown at:␤ in block <unit> at /tmp/g8fEtj3t5Q:1␤␤»
nine in 24 commits
19:03 _nadim left
TimToady m: 1 / 0 19:03
camelia ( no output )
19:03 cygx_ joined
timotimo nine: pretty good :) 19:03
Juerd Ooh, we can /0 now? Fancy feature that very few languages have :)
diakopter TimToady: maybe it's already a Rat?
TimToady the last is deemed to have the side effect of telling you Rat division is lazy 19:04
19:04 hankache left
TimToady so not completely useless :) 19:04
19:04 _nadim joined, hankache joined 19:05 Woodi left
vendethiel- starts writing his advent blog post 19:06
timotimo nice :)
vendethiel- FWIW, I prepared two, so I'll post either: do people prefer one about sized/typed/shaped variables/arrays, or about introspection?
19:06 cygx left 19:07 cygx_ is now known as cygx
hankache vendethiel BOTH!! 19:07
vendethiel- well, I can publish the other one on my "own" blog (if I make one)
but not as part as the advent, as there are no slots left 19:08
hankache i see
19:08 _nadim left
timotimo i wasn't against the "on some days have two posts instead of just one" idea :P 19:09
joeschmoe so im waffling back and forth between perl6 and python3 ive taken beginer online cources in both and probly will learn both; however what advantages does perl6 have
vendethiel- timotimo: well, that's fine by me
joeschmoe advantages over perl3
19:09 _nadim joined
joeschmoe *python3 (wow im terible) 19:10
timotimo :D
"perl6's advantages over perl3" would be a fun advent blog post
joeschmoe LOL
vendethiel- :D
TimToady
.oO(not much, perl3 already handled binary data)
19:11
hankache perl3!! I wasn't even born yet
what year was it again? 19:12
TimToady oh, 'bout 1990 or so 19:13
joeschmoe i googled and your about right 1989
So now that I have made a fool of myself what do yo think does perl6 have any advantages over python3
TimToady perl4 was '91
hankache great I was 1 year old
19:13 _nadim left
TimToady joeschmoe: yes :) 19:14
joeschmoe Im guesing Roles is one
19:14 _nadim joined
hankache joeschmoe absolutely 19:14
19:14 pierre-vigier joined
TimToady error messages 19:14
decent lexical scoping 19:15
language mutability
not confusing strings with arrays :)
timotimo lexical scoping is a big one that very often gets overlooked
joeschmoe I noticed that python error messages are kinda cryptic
RabidGravy multiple dispatch
TimToady it's a very, very long list
flussence consistent string quoting syntax 19:16
TimToady sigils ;)
laziness
joeschmoe what about graphical aplication at this point it looks like perl6 does not have a lot of GUI hooks
hankache joeschmoe most of all, beyond the technical stuff listed above, in #perl6 land it's Christmas all year long 19:17
timotimo yes, one christmas every month, roughly
TimToady on GUI people just need to keep hooking up libraries
timotimo joeschmoe: we have a simple GTK binding, electron and we can use PyQt and PySide via Inline::Python
TimToady we ain't gonna bulid in any one particular flavor of the month on GUI
*build 19:18
timotimo yeah, no Tk for you!
joeschmoe PyQt's not bad
timotimo so ... is there a simple commandline tool that'd take two lines in a row and spit them out again as one line? i bet awk can do this really quick like
PySide is better than PyQt :)
19:18 _nadim left
flussence
.oO( HTML is a better GUI anyway, it works in terminals... ;)
19:18
timotimo flussence: and it's automatically searchable! usually ... 19:19
Skarsnik Qt binding will be nice if we could have supply and signal/slot work together x)
19:19 FROGGS joined, pierre-vigier left
joeschmoe Im sure you can mangle HTML5 pretty fast in and well in perl6 19:19
Skarsnik No
19:19 _nadim joined
FROGGS o/ 19:19
Skarsnik html5 is not easy to parse 19:20
hankache a graphical interface!!! Blasphemy!! go back to your terminal spoiled kids
timotimo hum. do we have something that'd let me align a string with spaces given its size? i know python has something
joeschmoe Skarsnik: Well aparently im told HTML5 is "The Future". 19:21
flussence timotimo: fmt('%-20s')?
(you can replace "20" with .chars)
timotimo oh, indeed
Skarsnik webbased Ui sucks comparing to native one x)
hankache joeschmoe i believe so. 19:22
timotimo also, my number was way too low, so i wouldn't have ended up with spaces anyway
i've tried "% 20s" and "%020s"
also, my "two lines into one" now reads perl6 -ne '$_.fmt("%-30s").print; "\n".print if $++ %%2' 19:23
19:23 _nadim left
joeschmoe Skarsnik: the trade off in html is portabilty over speed and reliability 19:24
19:24 zjmarlow joined, _nadim joined
Skarsnik html5 do nothing alone. it need JS x) 19:24
hankache skarsnik or Perl6 ;) 19:25
lucasb timotimo: sed 'N;s/\n/ /' # two lines into one :)
joeschmoe JS is like starbucks its on evrry corner but the coffe is kinda over rosted and overpriced but if you need a cup quick what are you going to do 19:26
TimToady I'm thinking we should maybe do a security evaluation for EVAL before we release, and allow EVAL in user code only if MONKEY-SEE-NO-EVAL is used, because injection attacks 19:27
19:28 _nadim left, _nadim joined
hankache ++ what TimToady said 19:29
Juerd use experimental :eval;
TimToady not harsh enough :)
Skarsnik and find a solution to replace the eval in DBIish test x) 19:30
19:30 zjmarlow left
hankache MONKEY-SEE-NO-EVAL is Perl6ish 19:30
i like it
TimToady has been tempted to rename experimental to MONKEY-AROUND
Juerd The results of the careful security evaluation are in: it's very dangerous.
hankache hahaha please do so :)
TimToady as a sop, we could just turn on all the monkeys with 'use MONKEY;' 19:31
Juerd dial M;
19:31 cdg left
hankache excellent 19:32
Juerd I think it should be called ONKEY because of perl6 -MONKEY
19:32 _nadim left
timotimo oh lord 19:33
cygx
.oO( use UNSAFE :eval )
TimToady and a module that uses any MONKEYs would automatically have them marked on the website as dangerous
timotimo use DANGER
Juerd IMHO the allcaps of EVAL is a strong enough signal
TimToady no, it isn't
not the moment you do web programming 19:34
timotimo only allow use MONKEY at the top of a file
Juerd Then instead of enabling it with something else, just rename it?
RabidGravy or -DONKEY
TimToady well, grep is cheap
19:34 _nadim joined
hankache monkey monkey monkey 19:34
19:34 vendethiel joined
TimToady and lots of great puns on "get the monkey off our back" and such :) 19:35
vendethiel TimToady: "you think it's cute now"? :P
19:35 vendethiel- left
TimToady I think it's important to recognize dangerous constructs, seriously 19:35
timotimo m: my $name = "EV" ~ "AL"; ::($name)("say 'hi'")
camelia rakudo-moar 887ca4: OUTPUT«No such symbol 'EVAL'␤ in block <unit> at /tmp/HmXVTtLiRr:1␤␤Actually thrown at:␤ in block <unit> at /tmp/HmXVTtLiRr:1␤␤»
timotimo ^- cannot be grepped
TimToady sure, but we're looking for global footguns here 19:36
hankache and see/speak/do no evil
timotimo ah, not for "people are intent on hurting you"
vendethiel yes, recognize them, but I'm not sure tying them to some monkey is really good
cygx sub MURDER-DEATH-KILL-187-EVAL() {...} 19:37
19:37 pdl joined, lsm-desktop joined
TimToady wonders how much of the ecosystem is already depending on EVAL for webcode... 19:38
RabidGravy I have a test that does
TimToady we have no tainting mechanism yet to prevent abuse
timotimo Mustache generates its template code via EVAL i think
Juerd sub EVAL ($code, :$I-accept where :so) { ... }
hankache TimToady what alternative do we have?
Juerd sub EVAL ($code, :suppress-important-warning) { ... } 19:39
TimToady parsers that aren't injectable
Skarsnik Mojo::Template+
19:39 joeschmoe left
Skarsnik all Template probably use eval 19:40
TimToady you realize that, currently, if you say / <{ $outsiderdata }> / it's GAME OVER, and you are pwned? 19:41
Juerd I did not realize that.
<EVAL { ... }>?
Skarsnik same for "{$somevar}" I guess? 19:42
dalek href="https://modules.perl6.org:">modules.perl6.org: 187c4f8 | (Zoffix Znet)++ | / (5 files):
CAN HAS KOALITY?
timotimo no, {$somevar} is harmless
Juerd Skarsnik: That's just a string injection. Could be harmful.
But that's not really easy to prevent at this point 19:43
TimToady only if you eval it downstream
timotimo hm. in the to-match part of the regex, as a literal?
Juerd TimToady: Which the SQL interpreter will do for you :P
TimToady why one should *always* use placeholders, never interpolation
timotimo maybe if you have a database (text file) with username:password and you search for / {$username}:{$password} /
Juerd Agreed
timotimo then if the supplied $password is empty (or a prefix of the actual password), it'd pass 19:44
because not anchored
TimToady sorry, went to a security seminar last week, and got scared :)
Juerd TimToady: This brings me to an unanswered question I asked a while ago: can users build their own custom quote operators? I can see how accepting only q:sql(...), where $foo is automatically placeholderified would be nice.
TimToady but I'd like to not go down in history as enabling the next round of security attacks
Juerd TimToady: Be more terified over allowing nullbytes in syscalls (e.g. filenames) than over deliberate uses of eval. 19:45
TimToady Juerd: once we have slangs, sure
Juerd The ungreppable things are always the scariest ones
19:45 yqt joined
Juerd <- security guy 19:45
19:46 lucasb left
Juerd But, /me also has to run because the supermarket closes in 14 minutes 19:46
bbl
TimToady o/
timotimo i have an hour longer for supermarket grocery shopping :)
hankache i think security should be a focal point as Perl 6 opens up to the world 19:48
[Tux] gist.github.com/Tux/9daa5f64f42395fc2941 <= Inline::Perl5 functions again, CSV::Parser got slower
timotimo hankache: just a *little* bit late on that :)
19:48 Sqirrel joined
timotimo [Tux]: could i ask you to run csv-parser with MVM_JIT_LOG=some_file.txt and grep that file like this: | grep Constructing\\\|BAIL | grep -B1 BAIL | grep -v -- -- 19:49
hankache timotimo: going forward maybe
timotimo sure 19:50
[Tux] gist.github.com/Tux/7621ffd6b91f55c2e4c8 <= csv-parser slowed down by a factor TWO!
19:52 b7j0c joined
b7j0c is there a meaningful difference between `constant $foo = 'foo'` and `$foo := 'foo'` ?? 19:53
smls_ Alright, so the original htmlify.p6 problem that pdl tried to solve with commit b45a10e and for which I am trying to find a better solution now, is the result of an unfortunate interaction of two Perl 6 behaviors:
1) The default BUILD method for objects uses assignment rather than binding semantics to map named arguments to attributes:
class A { has @.a }; say A.new(a => 42) # @!a is now [42]
class A { has @.a }; say A.new(a => $[3, 4]) # @!a is now [$[3, 4],]
2) Hashes containerize their values:
my %hash = a => [3, 4] # %hash<a> is now $[3, 4]
3) As a result of 1 and 2, naively building an argument hash first and then doing A.new(|%hash), blows up with array attributes.
19:54 zjmarlow joined
[Tux] timotimo, gist.github.com/Tux/af8ccc15da2e8138b11d 19:54
smls_ Behavior (1) came as somewhat of a surprise to me. Is that new?
diakopter vendethiel please feel free to take my advent slot 19:55
vendethiel: ^
[Tux] I have to go. cu l8r
vendethiel diakopter: you sure? 19:56
timotimo [Tux]: i expect eof and get may be called often-ish from your code?
hmm. but just "we don't jit that" doesn't explain the 2x time unimprovement 19:57
[Coke] looking at the advent schedule, we go from 24 TimToady to 26 ?
lizmat [Tux]: any idea when this slowdown occurred ?
timotimo still, the jit should jit that. i'll look into that tonight. but first: grocery shopping 19:58
masak [Coke]: I only see the advent schedule go up to 25
hankache it's supposed to stop at 25
19:58 adhoc joined
hankache it's a countdown to 25 19:59
dalek : fd2ae70 | (Carl Masak)++ | misc/perl6advent-2015/schedule:
retcon the 17th topic

  *jedi mind trick*
20:00 zjmarlow left
TimToady looks like we use EVAL two places internally, in INTERPOLATE and in .assuming 20:02
INTERPOLATE is certainly injectable, and .assuming might or might not be 20:03
lizmat TimToady: Cursor.MAKEREGEX> 20:04
TimToady INTERPOLATE needs to allow only a non-injectable subset of regex syntax
lizmat ?
TimToady yes, that's what INTERPOLATE calls 20:05
lizmat ah, ok
TimToady .assuming probably needs to sanitize typenames for weird characters
lizmat I think this was mentioned in a P6Advent post as well: we don't have an MOP API for creating regexen
nine lizmat: Inline::Perl5 should now install with the latest panda
lizmat nine: will try 20:06
TimToady or just futz with the metadata
20:07 darutoko left, hankache left
smls_ I wouldn't mind if regex interpolation went away for now (or marked experimental), so a safe version of it can come back later. 20:07
[Coke] wonder if I had a local edit, weird. 20:08
so there's no post, per se, on teh 25th, then. I will probably post the release announcement or something on that day on the blog.
20:09 _nadim left 20:11 _nadim joined
lizmat FWIW, I'm seeing core parse times go above 50 seconds again :-( 20:12
20:14 anon joined, khw left, anon is now known as Guest27964
dalek : ed97f15 | ven++ | misc/perl6advent-2015/schedule:
Take over @diakopter++'s slot for Fun And Profit(tm)
20:16
20:16 b7j0c left 20:17 csson left 20:19 kaare_ left, _nadim left
dalek kudo/nom: af74f04 | lizmat++ | src/core/Rakudo/Internals.pm:
Add \0 as special case, better handle multiples
20:22
kudo/nom: 2735116 | lizmat++ | src/core/IO/Path.pm:
Show non-printables in IO::Path.perl

Related to #126935
20:23 _nadim joined 20:24 zjmarlow joined
dalek href="https://modules.perl6.org:">modules.perl6.org: b00cb8e | (Zoffix Znet)++ | lib/ModulesPerl6/Model/SiteTips.pm:
Fix heading in docs
20:24
ast: 94aeb45 | usev6++ | S04-declarations/my.t:
Fudge tests for sigilless variables for JVM
20:26
ast: d5eb43e | usev6++ | S11-compunit/rt126904.t:
Use $*EXECUTABLE instead of 'perl6', fudge for JVM
FROGGS m: my $a = '. }; for ^3 { say 42 '; 'a' ~~ /<$a>/ 20:29
camelia rakudo-moar 887ca4: OUTPUT«42␤42␤42␤Cannot find method 'Nil'␤ in block <unit> at /tmp/u6JMJUG3WX:1␤␤»
20:31 lostinfog joined, zjmarlow left
dalek ast: 9ab7485 | lizmat++ | S32-io/io-path.t:
Add test for non-printables in path
20:32
20:33 cygx left
masak FROGGS: O.O 20:33
vendethiel m: my int @a[8]; @a++; 20:34
camelia rakudo-moar 273511: OUTPUT«Cannot call postfix:<++>(array[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)␤ …»
Juerd lizmat: Is there any IO backend in which passing \0 is actually sane thing to do?
lizmat FROGGS: looks like we *really* need to fix INTERPOLATE
Juerd lizmat: Because \0 has historically been a source of security bugs, also in Perl 5.
lizmat no, but it is a known way to hide info 20:35
indeed
20:35 FreezerburnV joined
Juerd I'd opt for disallowing it if we can. I don't know if Str.IO is the right place though. 20:35
lizmat perhaps we need to indeed not allow \0, but any other non-printable could be ok, no ?
Juerd Yes, only 0 and / are special. Disallowing / is kind of problematic though ;) 20:36
20:36 brrt joined
Juerd s/0/\0/ 20:36
masak Juerd: there's a network protocol in Git that uses \0 in the middle of a line to transmit "meta data". I read that in a post somewhere.
dalek kudo/nom: 6ca94e8 | lizmat++ | src/core/IO/Path.pm:
Fix IO::Path.perl thinko

Since we properly escape all of the characters in the path, we can now just use double quotes, which also improves readability
Juerd Specifically, maybe check that \n stays \n (without \r) there :)
masak Juerd: it feels presumptuous to disallow something and then leave no way to implement things like that protocol.
Juerd masak: In data streams it's okay, including in files. In *paths*, hostnames, etc, it's an issue. 20:37
20:37 ZoffixW joined
lizmat well, for now, it at least makes them visible 20:37
vendethiel FROGGS: lol, it's -pe all over again :P 20:38
ZoffixW I'd leave the decision of whether it's an issue for the programmer.
vendethiel m: my int @a[8]; @a[0]++;
camelia ( no output )
vendethiel m: my int @a[8]; @a[0]++; say @a[0];
camelia rakudo-moar 273511: OUTPUT«1␤»
vendethiel m: my int @a[8]; @a[0] += 3; say @a[0];
camelia rakudo-moar 273511: OUTPUT«3␤»
vendethiel jnthn++ # fixing these up in time so I can include them in the advent blog post :-) 20:39
m: my int @a[4][4]; @a[0][0]++; say @a; # or was it this one?
camelia rakudo-moar 273511: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dzvzpcloTs␤Multiple shapes not yet understood␤at /tmp/dzvzpcloTs:1␤------> 3my int @a[4][4]7⏏5; @a[0][0]++; say @a; # or was it this o␤ expecting any of:␤ constraint␤»
vendethiel m: my int @a[4;4]; @a[0][0]++; say @a; # or was it this one?
camelia rakudo-moar 273511: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at /tmp/5ZCBW9o2_z:1␤␤»
FROGGS lizmat: IIRC both pmichaud and TimToady told me that one could implement INTERPOLATE without EVAL... but I was unable to find a solution, and there was no lack of trying
dalek href="https://modules.perl6.org:">modules.perl6.org: 2dd8327 | (Zoffix Znet)++ | / (2 files):
Increase test/doc coverage to 100% for ModulesPerl6::Metrics::Koalatee
20:40
20:40 dwarring joined
Juerd A brainfart: subset CStr of Str where * !~~ /\0/, and make hostnames, io paths, etc, CStr instead of Str 20:42
lizmat FROGGS: as tadzik was saying "but since we have no other way of programmatically constructing the individual regexes (that I know of)"
in perl6advent.wordpress.com/2015/12/...-grammars/
Juerd ZoffixW: It's been shown that most programmers are not aware of \0 being special in underlying system calls. 20:43
masak Juerd: ok -- no arguments against disallowing it in paths/hostnames, etc.
vendethiel m: my int @a[4]; my int @b[4]; say @a Z+ @b;
camelia rakudo-moar 273511: OUTPUT«(0 0 0 0)␤»
Juerd In fact, I think that many things could benefit from a \0-less Str 20:44
jnthn lizmat: I suspect QTrees will make that nicer
Juerd It's a great way to document the incompatibility too
ZoffixW m: subset CStr of Str where * !~~ /\0/; my $host = "\0"
camelia ( no output )
lizmat jnthn: that would be post-christmas, no ?
ZoffixW m: subset CStr of Str where * !~~ /\0/; my CStr $host = "\0"
camelia rakudo-moar 273511: OUTPUT«Type check failed in assignment to $host; expected CStr but got Str␤ in block <unit> at /tmp/XveP3tsNs_:1␤␤»
jnthn lizmat: Sure 20:45
Juerd I don't know if it should be CStr or Cstr, or something else completely
masak lizmat: yeah, post christmas :)
jnthn lizmat: For now EVAL
masak lizmat: there's a foretaste of Qtrees in 007 already, if you're curious :>
lizmat m: subset CStr of Str where !*.contains("\0"); my CStr $host = "\0"
vendethiel perl6advent.wordpress.com/?p=3504&...frame=true is the blog post scheduled for tomorrow, if people want to suggest some improvements, i'm all ears, thanks :-)
camelia rakudo-moar 273511: OUTPUT«Type check failed in assignment to $host; expected CStr but got Str␤ in block <unit> at /tmp/rENE3XiB_5:1␤␤»
masak lizmat: but 007 doesn't have regexes (yet)
lizmat: a couple months back I was close to creating a Qtree implementation (in module space) for Perl 6 regexes only. I might still do that, in fact. 20:46
timotimo vendethiel: ugh, didn't i fix my int @a[8]; @a[4]++ ?!?
lizmat well, FROGGS has just shown that we need to fix INTERPOLATE
vendethiel timotimo: I think you did
did I leave something about that? whoops
timotimo it works locally
lizmat before Christmas
timotimo vendethiel: i only just saw it in the backlog
jnthn lizmat: Preferably before, yes
flussence gently points out that docs/announce/2015.12.md still contains the paragraph about 2015.11's release name
20:46 Sqirrel_ joined
vendethiel timotimo++ <3 20:46
20:46 Sqirrel left
vendethiel got confused, sorry :) 20:46
timotimo but ... 20:47
m: my int @a[4]; @a[2]++
camelia ( no output )
timotimo ooooh
[Coke] flussence: fixing.
vendethiel yep
timotimo you didn't [ ]
m)
man, you gave me a little shock right there
vendethiel oh, that. Yes, I went ahead and starting /w-ing camelia instead of spamming this channel...
20:47 domidumont left
ZoffixW m: my @dwarves[7] = ^7; my $x; for ^1000 { $x = @dwarves.elems }; say now - INIT now 20:48
camelia rakudo-moar 273511: OUTPUT«0.01995285␤»
ZoffixW m: my @dwarves = ^7; my $x; for ^1000 { $x = @dwarves.elems }; say now - INIT now
camelia rakudo-moar 273511: OUTPUT«0.00438673␤»
ZoffixW :\
dalek kudo/nom: 6b5e9f5 | coke++ | docs/announce/2015.12.md:
Post Christmas we get to pick a new naming scheme.

Also, bend was last month. (flussence++)
ZoffixW You'd think those times would be reversed :)
jnthn Nope, most recent addition = least optimized :) 20:49
vendethiel m: my int @dwarves[7] = ^7; my $x; for ^1000 { $x = @dwarves.elems }; say now - INIT now
camelia rakudo-moar 273511: OUTPUT«0.01929793␤»
ZoffixW Fair enough :D
vendethiel a *bit* more optimized :P
timotimo how come it's slower? because it has to consider if there's a shape?
lizmat possibly, no idea 20:50
20:50 ZoffixW left
lizmat most of the multidim stuff happened while I was partying in the Carribean 20:50
dalek c: 6eeef84 | smls++ | htmlify.p6:
Revert "Fix type check failing (gh #227)"

It didn't actually fix the problem, just hid it and replaced it with a new problem by causing us to run into Rakudo bug RT 126951. Not to mention it made the hash definitions kinda ugly.
This reverts commit b45a10ec3796553d0c45250e52b5181600c4145d.
20:51
c: bd1480c | smls++ | lib/Perl6/Documentable.pm:
Another attempt to fix initialization of @!categories (gh #227)

The problem is that when pre-building the attribute hash and then creating the Perl6::Documentable object with .new(|%args), array values are itemized by he hash, and thus the wrong thing happens when the default constructor assigns them to the respective array attributes of the class via single-argument rule.
This commit overrides the default constructor to remove the itemization, which fixes the problem.
A better long-term solution might be to refactor htmlify.p6 to not pre-build the attribute initialization lists as hashes.
smls_ moritz: With this^^ htmlify works again for me.
timotimo smls++ 20:53
20:54 zjmarlow joined, pierre-vigier joined
timotimo it seems like the int array should just use nqp::elems on its storage 20:55
it doesn't make sense to me that it'd be slower, unless there's some inlining/candidate choosing that's not going on?
jnthn timotimo: Not sure why elems would be any slower
timotimo time to dig in! 20:56
20:59 pierre-vigier left
FreezerburnV Is there any way to define a function at compile time? (e.g.: make a function that logs debug output if the environment has a flag in it, or make the same function empty if it doesn’t) 21:00
21:00 zjmarlow left
Juerd FreezerburnV: BEGIN 21:01
grondilu my &f; BEGIN { &f := $*VAR ?? sub {...} !! sub {...} } # should work
timotimo ugh 21:02
KnowHOW methods must be called on object instance with REPR KnowHOWREPR
when it tries to dump the profiler output :(
then it's gotta be jit log and spesh log, i suppose :\ 21:03
brrt hey, i just noticed, the flags to the gcc invocation for the rakudo extension modules are passed dobule 21:04
double
Juerd m: my &debug; &debug = BEGIN %*ENV<DEBUG_ME> ?? { note $^a } !! sub ($) { }; debug "hi";
camelia ( no output )
Juerd Oh. Heh. I guess I can't set environment varibales on camelia :P
brrt e.g.: gcc -L/home/bart/usr/lib -shared -fPIC -O3 -DNDEBUG -Wl,-rpath,/home/bart/usr/lib -Wl,-rpath,/home/bart/usr/share/perl6/site/lib -O3 -DNDEBUG -lm -lpthread -lrt -ldl -o dynext/libperl6_ops_moar.so dynext/perl6_ops.o dynext/container.o -lmoar
Juerd m: my &debug; &debug = BEGIN "cheating lalala" ?? { note $^a } !! sub ($) { }; debug "hi";
camelia rakudo-moar 6ca94e: OUTPUT«hi␤»
Juerd FreezerburnV: Something like that? :) 21:05
FreezerburnV Juerd: Awesome, thanks!
Juerd m: my &debug = BEGIN "cheating lalala" ?? { note $^a } !! sub ($) { }; debug "hi";
camelia rakudo-moar 6ca94e: OUTPUT«hi␤»
Juerd Separate assignment was silly
dalek kudo/nom: 6b1b3ef | lizmat++ | src/ (2 files):
Remove nqp deprecation

MUST now specify "use nqp" in scope to be allowed to use nqp:: functions
lizmat wonder how much ecosystem fallout this will cause ^^^ 21:06
timotimo time perl6 -e 'my @dwarves = ^7; my int $i; my int $elems; until $i++ == 10_000_000 { $elems = $elems + @dwarves.elems }; say $elems'
with this, the shaped version actually wins out by 3x
FreezerburnV Juerd: Does that allow for taking any number of arguments via a splat or something?
Juerd FreezerburnV: Sure. It's a sub like any other. Just make sure that the empty one takes the same thing :) 21:07
TimToady timotimo: that'll be a bit faster if you use ++$i there instead
brrt has got a failing testcase on master/master/nom t/01-sanity/55-use-trace.t
masak pre-increment optimization is the root of all evil! :P
TimToady since postinc in non-sink has to subtract the 1 back out
timotimo fair enough, but the [7] is the only part that i'm changing ...
is the benchmark flawed in some other way?
TimToady well, it's just a little more overhead 21:08
Juerd TimToady: How do you feel about introducing a CStr type (subset CStr of Str where * !~~ /\0/) and limiting everything that will eventually go through a system call that doesn't support \0 to CStr instead of Str? 21:09
brrt this is because DISLOCATED MESSAGE] Useless use of &infix:<-> in sink context appears in the output
bad test? just a random warning?
FreezerburnV Juerd: That works perfectly, thanks again for the help! 21:10
Juerd FreezerburnV: You're welcome. Have fun :)
FreezerburnV: Also thank grondilu btw :P
timotimo seems to maybe be an inlining thing 21:11
FreezerburnV Juerd: Having tons of fun already :) Perl6 is an interesting language that feels very alien from most languages I’m comfortable with, so it’s a nice getaway from those and fun for stretching the brain muscles
timotimo at least in the one log the "<unit>" shows up before "elems", in the other log it's the other way around
FreezerburnV grondilu: Thanks for the help as well! Sorry I didn’t send you a thanks earlier. Between stuff going on IRL, getting things working in my code, and reading IRC stuff is just crazy for me right now 21:12
TimToady brrt: does trace insert instructions?
brrt i have... no idea whatever
Juerd FreezerburnV: Let us know once you've gotten comfortable with Perl 6. We can get you the professional help you'll need ;)
brrt possibly, yes
TimToady that could certainly influence whether something thought it was in sink context
timotimo TimToady: switching $i++ and ++$i around doesn't make a noticable difference 21:13
Skarsnik how do you call configure.pl in a fork?
TimToady timotimo: not too surprised, it's small compared to what you're measuring
Juerd Skarsnik: Forked repository or forked process?
FreezerburnV Juerd: Heh. Might be a bit before I’m comfortable with it :P Going is pretty slow for what I’m working on, but still fun
Skarsnik repo
Juerd Skarsnik: Just like you would in the original? 21:14
dalek ast: 84a00b5 | lizmat++ | S02-types/WHICH.t:
Add basic tests for X::NQP::NotFound
timotimo when i drop the $elems = $elems + part and my int $elems, the numbers change significantly:
with shape goes from 5.37 to 2.36 21:15
without shape goes from 15.30 to 11.37
so ... it's not about how the individual parts are optimized in the core setting code ... it's about when spesh decides to kick in 21:16
nine Funny: without a use lib a require '/full/path/to/file/name.pm'; won't work. But it doesn't matter which lib we use, because all we need is any FileSystem repository.
timotimo can't do much about that :(
TimToady m: use trace; $_ -= 1 21:17
camelia rakudo-moar 6b1b3e: OUTPUT«[DISLOCATED MESSAGE] Useless use of &infix:<-> in sink context␤2 (/tmp/zawbZm8sYr:1)␤$_ -= 1␤»
TimToady pretty easy to reproduce, anyway :)
brrt aye
TimToady DISLOCATED basically means some ast node didn't set :node($/) somewhere 21:18
21:19 brrt left, cdg joined
smls_ Who came up with the name for this class doc.perl6.org/type/X::Syntax::AddCa...gSeparator 21:21
As a heading it barely fits on the page... ;)
timotimo *sigh* the + operator doesn't get inlined in the unshaped case. probably because of getlexref :| 21:22
masak smls_: must've been a Java programmer!
TimToady and it's misspelled
timotimo should be "categorical"?
TimToady yup 21:23
diakopter Categorial is a thing
TimToady denies it categorially
timotimo we'll write that on your categorial when you've been laid to rest
diakopter en.wikipedia.org/wiki/Categorial_grammar
masak .oO( to lady to rest ) 21:24
21:24 zjmarlow joined
timotimo how is cattegory formed 21:24
masak I was wondering whether someone would pick up on that reference :>
jnthn a separator in arr
dalek p: 66e2e9d | jnthn++ | src/vm/moar/QAST/QAST (3 files):
Prepare for better handling of unsinged ints.
21:25
timotimo who had missed her three syntax
masak they need to do way instain "categorial"
diakopter unsinged, love it 21:27
dalek kudo/nom: 90d7334 | lizmat++ | src/core/Temporal.pm:
Make Date.new illegal
geekosaur unhinged ints?
jnthn Apparently, my keyboard is toast :P
bartolin_ looks up commit b249312b18 and blushes 21:28
lizmat
.oO( Game Board Game Board Game Board )
.oO( which repo would bartolin_ mean )
21:29
bartolin_ the doc repo you just spoke about :-)
21:30 zjmarlow left
El_Che Today at work I got a visit from the Elastic Search guy that wanted help on his perl 5 ldap code (I didn't even know he wrote Perl), and from a python guy curious about perl6. Perl day \o/ :) 21:30
diakopter where did the python guy hear about it
masak El_Che: you should have them meet up, and they might turn into an Elastic Python!
diakopter: during the two minute hate, probably 21:31
El_Che diakopter: a long time a got I old him that perl6 was turning out very nicely. The guy got curious it seems and recently started looking at the docs. He loved the concurrency 21:32
masak ooh
El_Che a lot will depends on the library ecosystem I guess 21:33
21:34 rindolf left
masak subscribes to nine++'s oddly controversial line "Perl 6 has all of CPAN!" 21:35
El_Che Inline?
masak aye
lizmat well, all of is still not true 21:36
El_Che I have a confession to make
lizmat I understand that Class::DBIx still has issues
diakopter well, someone could write a harness to run all of CPAN's test suites from within p6 code
El_Che I haven't tried it yet :)
concentrated on the new toys
masak lizmat: that's a good point.
El_Che: I think the Perl 6 community as a whole could make that confession. 21:37
El_Che: but it still seems to me that Inline::Perl5 is the natural conclusion of pragmatically wanting to use Perl 6 in production, today
Juerd The primary reason I'm not using Perl 6 in production, is that for the one thing I wrote in Perl 6, the memory usage is enormous 21:38
timotimo Juerd: are you using biiiig strings or biiiiig ints?
Juerd That is, using 500+ MB where a Perl 5 equivalent stays within 8 MB
timotimo or maybe biiiiiig bufs/blobs?
21:38 raiph joined
Juerd timotimo: Nope, lots of tiny ones that keep getting thrown away. So it might be leaky. 21:38
timotimo how tiny? 21:39
Juerd timotimo: Typically, under 100 bytes.
timotimo oh, mhm, ok
Juerd timotimo: It's the MQTT thing
timotimo ah
Juerd That I'm contemplating to rename from Net::MQTT to MQTT::Client. Any opinions on that?
timotimo the thing is we allocate those with malloc but we don't apply pressure to the GC, so it won't collect earlier
that sounds nice
Skarsnik *build rakudo with 100Mb of free space* 21:40
RabidGravy Juerd, sounds perfect 21:41
Skarsnik It seems unliky to work x)
Juerd Thanks for your feedback. Will rename now.
dalek kudo/nom: bca46c1 | lizmat++ | src/core/IO/Socket/INET.pm:
Remove IO::Socket::Inet.input-line-separator
Juerd And after that I'll submit it to the ecosystem. I've only been putting that off because I was unsure about the name.
21:44 nadim joined
Skarsnik closer to 500 for x-mas then x) 21:45
21:45 _nadim left
lichtkind <prior> is gone? 21:45
Juerd Oh my, something got slow. The startup overhead for my one test script has gotten noticeable.
dalek kudo/nom: 46c7659 | lizmat++ | src/core/IO/Socket/Async.pm:
Remove IO::Socket::Async.(bytes|chars)-supply
21:45 rindolf joined
nine lizmat: what issues? 21:46
lizmat I was discussing this with ribasushi at the LPW
masak lichtkind: yes, since bbebb37, December 2013. two years.
El_Che saw ribasushi declaration video recently :(
21:46 frew left
lizmat apparently some ways that Class::DBIx is generating packages, can't be mimicked on the Perl 6 side ? 21:46
lichtkind masak thanks you know i barely pay attention :)
masak lichtkind: that's not true :) 21:47
lichtkind: but <prior> is such a small thing, too
lichtkind: "a low-gain feature", TimToady says in the commit comment as he removes it
lizmat
.oO( on PerlMonks, prior is a lot of work )
masak lizmat: it would've been in Perl 6 too. both for the implementor and the implementation :P 21:48
"match whatever the prior successful regex matched"
sounds like something I wouldn't mind settin gup myself if it came to that
dalek blets: 17a65f2 | (Herbert Breunung)++ | docs/ (2 files):
-prior
nine lizmat: well in August I had it fully functional: niner.name/talks/Building Bridges/examples/dbic_demo_p6.html niner.name/talks/Building Bridges/examples/dbic_demo_cds.html 21:49
masak actually, it's a bit under-specified, too. does it match the last successful thing as a *constant string*, or as a *regex*?
lizmat nine: I can only hope that ribasushi will chime in 21:50
masak that is, if the last successful regex was /foo.../, and it had matched successfully against "fools!", would <prior> then match successfully against "footie"?
ribasushi reads up.... 21:52
nine: last you told me you couldn't do "p6 class visible to p5"
nine: only "p5 class visible to p6 land"
i.e. the mapping was somewhat one-way, once you are in p6 - you can't "leave"
perhaps I misunderstood? 21:53
21:54 zjmarlow joined
dalek c: 57cd2de | usev6++ | doc/Type/X/Syntax/AddCategorial/MissingSeparator.pod:
Remove misspelled exception

it is named 'X::Syntax::AddCategorical::TooFewParts' now
  smls++ for bringing this up
21:55
ribasushi basically DBICs model is built upon "plug subclasses at the proper override points"
hence having p6 subclasses that are driven by the p5-side "core"
is something quite useful
jnthn 'night, #perl6 21:56
ribasushi but the basic "p5-side core inflates to p6 objects" is something that nine did show working yes
21:57 xfix left
ribasushi o/ 21:58
21:59 pierre-vigier joined
dalek ast: 2a7596f | TimToady++ | S02-literals/radix.t:
correct exception type
22:01
22:01 zjmarlow left 22:02 Begi left, Zoffix left
nine ribasushi: at least all of DBIC's features that I know work :) Which is probably not everything. But if anything is missing, a determined user can probably still make them work. 22:04
22:04 Zoffix joined
dalek kudo/nom: 77fc44d | lizmat++ | src/core/IO/Handle.pm:
Remove IO::Handle.(ins|nl)
22:04
kudo/nom: 6fccc52 | lizmat++ | src/core/IO/Handle.pm:
Remove IO::Handle.seek(pos,Int:D whence)

Must now specify a SeekType enum:
   - SeekFromBeginning
   - SeekFromCurrent
   - SeekFromEnd
nine ribasushi: most of my work lately has been "make it pretty", not "make it work at all".
(lots of "work" in there obviously)
lizmat [Coke]: all DEPRECATED code is now removed from the setting 22:05
ribasushi nine: then I think I'm not up to date, as last conversation left me with the impression that a p6 class is not really visible/instantiable in p5 land
lizmat stops wielding the chainsaw and goes to bed&
ribasushi will check things some time early next year
lizmat: ^^ note last 2 lines
Juerd Hm, is there any reason why SeekFromBeginning isn't the default whence? 22:06
dalek kudo/nom: 54f6edf | TimToady++ | src/Perl6/Actions.nqp:
METAOP_ASSIGN needs to want its op in sink context

This fixes the 'use trace; $a -= 1;' problem.
kudo/nom: 694a4b4 | TimToady++ | src/Perl6/Grammar.nqp:
don't mention 'detached' if it wasn't
22:06 zengargoyle left
lizmat Juerd: good point! 22:06
22:07 sno left
Juerd Especially with those constants being long, not having to type them in the common case would be nice :) 22:07
22:07 zengargoyle joined
Zoffix lizmat++ # fixing things 22:07
Juerd And having to type them in the uncommon case is even better because I keep forgetting what those magic values to seek are. I can only remember 0. :)
22:08 FreezerburnV left
Zoffix Hmmm.... my note from work sent to self says "Fix PR" :/ 22:08
No idea what that was supposed to be about :(
TimToady fix our public relations?
dalek kudo/nom: ae3a443 | lizmat++ | src/core/IO/Handle.pm:
Oops, forgot to default to SeekFromBeginning

  Juerd++ for spotting
Zoffix heh
Juerd \o/
22:09 pierre-vigier left
lizmat sleep& 22:09
nine ribasushi: with v6::invoke('Any::Perl6::Class', 'new') you can get at an instance of any Perl6 class from Perl5. Of course, creating wrapper Perl5 packages will make the integration more seamless. There's always ways to improve :)
Juerd Welterusten, lizmat :)
Zoffix Ahhh, it was about grondilu++ telling me a better way to do the combinations stuff :D And they fixed it for me :)
nine Looking forward to having more time for that after the big release :)
Good night all!
Zoffix night
timotimo gnite nine 22:13
TimToady m: use trace; $_ -= 1 22:14
camelia rakudo-moar 694a4b: OUTPUT«2 (/tmp/2W2WRG63gF:1)␤$_ -= 1␤»
TimToady m: 0b1.1e10 22:15
camelia rakudo-moar 694a4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xAHZ5_imHE␤Malformed postfix call␤at /tmp/xAHZ5_imHE:1␤------> 030b1.7⏏051e10␤»
TimToady m: 0b1 .1e10
camelia rakudo-moar 694a4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xP9qDXdln7␤Malformed postfix call (only alphabetic methods may be detached)␤at /tmp/xP9qDXdln7:1␤------> 030b1 .7⏏051e10␤»
TimToady m: 0b1 . 1e10
camelia rakudo-moar 694a4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/q5Oe_Bv4nt␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/q5Oe_Bv4nt:1␤------> 030b1 .7⏏5 1e10␤»
22:16 regreg left 22:17 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Remove IO::Socket::Inet.input-line-separator' 22:17
travis-ci.org/rakudo/rakudo/builds/97549312 github.com/rakudo/rakudo/compare/9...a46c1f2681
22:17 travis-ci left
Zoffix "src/6model/reprconv.c:553:6: error: conflicting types for ‘MVM_repr_set_int’ src/6model/reprconv.h:93:17: note: previous declaration of ‘MVM_repr_set_int’ was here make: *** [src/6model/reprconv.o] Error 1" 22:19
from the above fail
timotimo yeah, already fixed
Zoffix Sweet
timotimo we just had the "luck" of using a moar version with the bug in one of the builds 22:20
Skarsnik dumb question: How I check if a float (Rat?) has a decimal? 22:22
Juerd Skarsnik: Most of them have an infinite number of "0" decimals.
RabidGravy Think there needs to be some documentation fixed
Juerd Well, not most of them, an infinite number of them do, just as an infinite number don't, so make that s/most/many/.
Skarsnik yeah but if I have 1 and 1.5 how I see that 1.5 is not a integer? 22:23
Juerd Skarsnik: But, you probably want to know if it could pass as an integer without losing any of its value, right? :)
22:23 Kyle joined
vendethiel is happy with how christmas is shaping up 22:23
22:23 Kyle is now known as Kyleha
Juerd Skarsnik: Try to round-trip it: $num.Int == $num 22:23
vendethiel (my boss still want no code generation scripts in the codebase, but little does he know... :P)
22:24 zjmarlow joined
TimToady m: say 1.0.base-repeating; say 1.5.base-repeating; say (1+⅐).base-repeating 22:24
camelia rakudo-moar 694a4b: OUTPUT«(1 )␤(1.5 )␤(1. 142857)␤»
22:24 Guest72061 left, geraud joined
Skarsnik m: say 1.5.denominateur > 0 22:25
camelia rakudo-moar 694a4b: OUTPUT«Method 'denominateur' not found for invocant of class 'Rat'␤ in block <unit> at /tmp/CwCKvywjvi:1␤␤»
TimToady m: say 1.5.floor == 1
camelia rakudo-moar 694a4b: OUTPUT«True␤»
Skarsnik m: say 1.5.denominator > 0
camelia rakudo-moar 694a4b: OUTPUT«True␤»
[Tux] lizmat, as per that gist-paste between 14 Dec and today: in between I was not able to use panda
TimToady m: say 1.5.floor == 1.5
camelia rakudo-moar 694a4b: OUTPUT«False␤»
Skarsnik m: say 1.0.denominator > 0
camelia rakudo-moar 694a4b: OUTPUT«True␤»
[Tux] => bed
Skarsnik m: say 1.0.numerator > 0
camelia rakudo-moar 694a4b: OUTPUT«True␤»
Skarsnik m: say 1.0.perl 22:26
camelia rakudo-moar 694a4b: OUTPUT«1.0␤»
Skarsnik m: say 1.0.gist
camelia rakudo-moar 694a4b: OUTPUT«1␤»
Juerd m: say 1.0.1.WHAT
camelia rakudo-moar 694a4b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZIq6I5NDYB␤Malformed postfix call␤at /tmp/ZIq6I5NDYB:1␤------> 3say 1.0.7⏏051.WHAT␤»
Juerd :)
I'll miss writing literal IP addresses :)
Zoffix m: say -1.5.floor == -1 22:27
camelia rakudo-moar 694a4b: OUTPUT«True␤»
TimToady has a soft spot in his heart (or maybe in his head) for v-strings
Juerd m: say (v1.0.1).WHAT 22:28
camelia rakudo-moar 694a4b: OUTPUT«(Version)␤»
Juerd m: say (v1.0.1).Str
camelia rakudo-moar 694a4b: OUTPUT«1.0.1␤»
Skarsnik m: say 1.1.WHAT
camelia rakudo-moar 694a4b: OUTPUT«(Rat)␤»
Juerd m: say (v1.0.1).Blob
camelia rakudo-moar 694a4b: OUTPUT«Method 'Blob' not found for invocant of class 'Version'␤ in block <unit> at /tmp/AKAO2ptOBU:1␤␤»
Juerd m: say (v1.0.1).Buf # then?
camelia rakudo-moar 694a4b: OUTPUT«Method 'Buf' not found for invocant of class 'Version'␤ in block <unit> at /tmp/xFVGDI1MzB:1␤␤»
Juerd Aw
No v127.0.0.1 then :)
TimToady nope :D
Skarsnik m: say 1.2.denominator; say 1.2.numerator;
camelia rakudo-moar 694a4b: OUTPUT«5␤6␤»
Zoffix m: say 1.0.denominator; say 1.0.numerator 22:29
camelia rakudo-moar 694a4b: OUTPUT«1␤1␤»
Zoffix m: say 6.0.denominator; say 6.0.numerator
camelia rakudo-moar 694a4b: OUTPUT«1␤6␤»
Zoffix m: say 6.0.denominator == True+0
camelia rakudo-moar 694a4b: OUTPUT«True␤»
Zoffix :D 22:30
m: say 6.0.denominator == True
camelia rakudo-moar 694a4b: OUTPUT«True␤»
Zoffix m: say 6.0.numerator == True
camelia rakudo-moar 694a4b: OUTPUT«False␤»
22:31 zjmarlow left
Juerd You have a fancy way of saying 1 22:31
Zoffix Yeah :) 22:32
22:33 FROGGS left
TimToady m: say -(e ** (-i * pi)) 22:34
camelia rakudo-moar ae3a44: OUTPUT«1+1.22464679914735e-16i␤»
TimToady m: say -(e ** (-i * pi)) == 1
camelia rakudo-moar ae3a44: OUTPUT«False␤»
TimToady m: say -(e ** (-i * pi)) =~= 1
camelia rakudo-moar ae3a44: OUTPUT«True␤»
TimToady m: say -(e ** (-i * pi)) <=> 1
camelia rakudo-moar ae3a44: OUTPUT«Same␤»
Zoffix *sigh* I don't get why the perl6.org recent post updater doesn't run unless you push some commits :S github.com/perl6/perl6.org/blob/ma...ate.sh#L11 22:35
TimToady m: say -(e ** (-i * pi)).Num == 1
camelia rakudo-moar ae3a44: OUTPUT«True␤»
lichtkind good night
Zoffix night 22:36
Juerd m: say e ** (i * τ) ≅ 1
camelia rakudo-moar ae3a44: OUTPUT«True␤»
Juerd Silly minuses ;)
dalek href="https://perl6.org:">perl6.org: 65d2982 | (Zoffix Znet)++ | README.md:
Linkify #perl6 in the README
22:37
22:37 lichtkind left
TimToady m: say e ** τ\i ≅ 1 22:37
camelia rakudo-moar ae3a44: OUTPUT«True␤»
Zoffix :o
Juerd Wh...what's an, er... "\"? 22:38
Zoffix m: say e ** τ*i ≅ 1
camelia rakudo-moar ae3a44: OUTPUT«False␤»
22:38 rindolf left
Zoffix m: say e ** τ/i ≅ 1 22:38
camelia rakudo-moar ae3a44: OUTPUT«False␤»
masak Juerd: it's just an unspace
TimToady it's a degenerate unspace
Zoffix m: say e ** (τ*i) ≅ 1
camelia rakudo-moar ae3a44: OUTPUT«True␤»
TimToady m: say e ** (τ)i ≅ 1
camelia rakudo-moar ae3a44: OUTPUT«True␤»
Zoffix whoa you can do that!?
masak m: say "foo".comb\ [1]
camelia rakudo-moar ae3a44: OUTPUT«o␤»
masak m: say "foo".comb\[1]
camelia rakudo-moar ae3a44: OUTPUT«o␤»
Zoffix man, Perl 6 is pretty amazing on DWIMming
TimToady it's just a postfix, except it's alphabetic 22:39
Juerd So two terms in a row are bad, but with unspace in between it's multiplication? Am I understanding this correctly?
TimToady 2nd is a postfix, not a term
Zoffix Yes
Oh?
TimToady it's only that postfix:<i> implies multiplication
Zoffix m: say τ\e 22:40
camelia rakudo-moar ae3a44: OUTPUT«5===SORRY!5=== Error while compiling /tmp/btAkrTgHmV␤Confused␤at /tmp/btAkrTgHmV:1␤------> 3say τ\7⏏5e␤ expecting any of:␤ postfix␤»
Juerd Oh, i is a postfix thing :)
Zoffix ahhh :(
Juerd wipes sweat from forehead
Zoffix m: say (τ)e
camelia rakudo-moar ae3a44: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lhPH3A1Rud␤Two terms in a row␤at /tmp/lhPH3A1Rud:1␤------> 3say (τ)7⏏5e␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement…»
Zoffix is less amazed now
TimToady m: say -(e ** (-i × pi)).Num == 1
camelia rakudo-moar ae3a44: OUTPUT«True␤»
Zoffix .u minus 22:41
yoleaux U+002D HYPHEN-MINUS [Pd] (-)
U+00B1 PLUS-MINUS SIGN [Sm] (±)
U+02D7 MODIFIER LETTER MINUS SIGN [Sk] (˗)
TimToady we don't do that one yet
Zoffix .u minus sign
yoleaux U+00B1 PLUS-MINUS SIGN [Sm] (±)
U+02D7 MODIFIER LETTER MINUS SIGN [Sk] (˗)
U+0320 COMBINING MINUS SIGN BELOW [Mn] (◌̠)
Juerd Zoffix: I'm more comfortable with this, though, because having every term work as a postfix would be really weird and confusing.
Skarsnik I am confused how rakudo/moar saw that I give a named parameter in DateTime.Str under a condition when the spec tests try to set his own formatter gist.github.com/Skarsnik/5d33848627fe68400758
22:41 espadrine left
El_Che good night. Keep up the good work! 22:41
TimToady .u −
yoleaux U+2212 MINUS SIGN [Sm] (−)
Zoffix That's the one yeah :D
Juerd Oooh, does ± create an any() yet? :P
22:41 rurban joined
TimToady it would probably just create a range, or add error bars, or something 22:42
Juerd Hehe
TimToady it's not a single concept
so we'll leave that one up to the programmer
Juerd I don't know if it's common internationally because outside of Dutch I usually see ~ used for it, but at least in Dutch ± is used as 'approximately' (circa) 22:43
DrForr Thats also tolerance in engineering. (+/- as a single glyph.) 22:45
*That's
22:45 skids left, castelo joined
TimToady .tell lucasb I used || False because I was adding new lines all the time, and kept getting syntax errors, but they can probably come out now 22:45
yoleaux TimToady: I'll pass your message to lucasb.
22:47 Kyleha left 22:48 castelo left
TimToady and you can tell I'm still about 24 hours behind on the backlog... 22:48
Zoffix Ah. It runs, but it's mowyw that actually copies the file to the web dir. RE: [17:35:02] <Zoffix> *sigh* I don't get why the perl6.org recent post updater doesn't run
Zoffix will fix it when soberer
22:50 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Remove IO::Handle.seek(pos,Int:D whence) 22:50
travis-ci.org/rakudo/rakudo/builds/97553759 github.com/rakudo/rakudo/compare/4...ccc52532d2
22:50 travis-ci left
masak travis-ci: do you have to be so formal and name someone by their whole name when the build breaks? :) 22:50
Zoffix :)\
22:50 spider-mario left
masak oh, ze already left. 22:51
TimToady if you're really in trouble, it puts in your middle name too
Zoffix heh
Juerd masak: It's like getting reprimanded by parents. Suddenly even your middle name counts.
TimToady: Yes, like that :)
masak yeah, but we try to keep it informal in here
like, "ey! lizmat! the build broke!"
22:51 castelo joined
masak see the difference? :) 22:51
Juerd I don't think travis-ci has that mode. 22:52
22:52 castelo_ joined
masak maybe something to think about for travis-ci 2.0... 22:52
Juerd 6, perhaps :)
22:52 castelo_ left, castelo left
Skarsnik I am trying to change Temporal.pm to support subsecond in ISO something timestamp (update of 2005 according to wikipedia), the default formatter has a named parameter to display them. (subseconds) but you can change the formatter. Should I test if the current formatter is the default? 22:52
22:52 castelo joined
Skarsnik In the Str method 22:53
flussence if you change the code's behaviour and nothing breaks, it needed more tests in the first place :)
Skarsnik tests break actually :)
RabidGravy boo 22:54
22:54 zjmarlow joined
Skarsnik Because they give a formatter that does not support this named parameter 22:54
22:55 castelo left
Zoffix Inline::Perl5 still fails on my box 22:56
t/use.t (Wstat: 11 Tests: 4 Failed: 0) Non-zero wait status: 11
With Rakudo freshly squeezed with rakudobrew (maybe that's not recent enough tho)
This is Rakudo version 2015.11-634-gae3a443 built on MoarVM version 2015.11-67-g278b18a 22:57
Skarsnik 15.11 ?
Zoffix Skarsnik, there hasn't been a .12 release yet, IIUC. It's the Christmas release 22:58
Skarsnik Oh I thought it get tagged with the commit date 22:59
23:00 zjmarlow left
Zoffix runs TEST_JOBS=100 make spectest 23:00
:) Would be nice to have a 100-core box to play with 23:01
Skarsnik xD
m: sub foo() {}; my &m = &foo; say &m eq &foo 23:02
camelia rakudo-moar ae3a44: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/rr3xZH8ezq:1␤Sub object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/rr3xZH8ezq:1␤True␤»
23:02 RabidGravy left
Skarsnik How I do that without having a warning? x) 23:02
Zoffix tm: sub foo() {}; my &m = &foo; say &m === &foo
m: sub foo() {}; my &m = &foo; say &m === &foo
camelia rakudo-moar ae3a44: OUTPUT«True␤»
Skarsnik Oh thx 23:03
There is too much operator!
Juerd Wow 23:04
23:04 travis-ci joined
travis-ci Rakudo build failed. TimToady 'don't mention 'detached' if it wasn't' 23:04
travis-ci.org/rakudo/rakudo/builds/97554181 github.com/rakudo/rakudo/compare/6...4a4b48074e
23:04 travis-ci left
TimToady don't blame me! 23:04
Zoffix :D
TimToady you've got CPU, do your own bisect!
Zoffix 6m33s run and I've seen RAM usage go up to 8.3GB. Here are the failures FWTW: gist.github.com/zoffixznet/4c15222fddf062958e9d 23:06
Zoffix does TEST_JOBS=200 just for fun
Juerd How does one run the test suite? 23:07
So far I've only used individual test files manually
Zoffix 10.9GB ram :)
Juerd, git clone github.com/rakudo/rakudo/ .; perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make install; make spectest 23:08
Skarsnik yay all test passed. Do I need something special to add something to roast or can I just commit like that? Or wait until my change in rakudo is merged?
Juerd Ah, make spectest! Thanks :)
Skarsnik I can't are and is today x) 23:09
23:09 pierre-vigier joined, lucasb joined
Juerd Skarsnik: If it's not yet merged, I'd send a pull request and refer to the PR in rakudo, and vice versa. 23:10
Although the back reference is added automatically 23:11
Skarsnik I love forking everything!
Juerd We all forking love it.
Skarsnik Yes if you mention in one, the other get noticed
zengargoyle was hoping .IO.Handle.seek got slicker names than SeekFromBeginning, etc. :( 23:12
Zoffix TEST_JOBS=200 completed in 6m10s and RAM usage peaked at 13.5GB 23:13
Zoffix needs moar cores
23:13 pierre-vigier left
Zoffix zengargoyle, me too :( 23:13
SeekFromBeginning makes me think "Java" 23:14
Juerd No, that would be seekFromBeginning
Zoffix heh 23:15
lucasb b2gills showed a bug in the backlog about [[-1]]. anyone knows why is that? how is it getting parsed?
yoleaux 22:45Z <TimToady> lucasb: I used || False because I was adding new lines all the time, and kept getting syntax errors, but they can probably come out now
lucasb ah, ok. thanks TimToady++ 23:16
m: [[ -1]]
camelia ( no output )
lucasb m: [[-1]]
camelia rakudo-moar ae3a44: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OEAYTjR7HQ␤Unable to parse expression in bracketed infix; couldn't find final ']' ␤at /tmp/OEAYTjR7HQ:1␤------> 3[[-7⏏051]]␤»
23:17 pdl left, stmuk_ joined, travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Oops, forgot to default to SeekFromBeginning 23:17
travis-ci.org/rakudo/rakudo/builds/97554562 github.com/rakudo/rakudo/compare/6...3a4436ef24
23:17 travis-ci left
Zoffix m: ([-1]) 23:19
camelia rakudo-moar ae3a44: OUTPUT«WARNINGS for /tmp/20UMFgibnx:␤Useless use of "-" in expression "-1" in sink context (line 1)␤»
Zoffix m: [[\-1]]
camelia ( no output )
Skarsnik Good night #perl6 23:20
Zoffix night
23:20 stmuk left, thundergnat left
lucasb m: say (\-1).perl # that one is interesting too Zoffix++. Maybe it is already known 23:21
camelia rakudo-moar ae3a44: OUTPUT«\(1)␤»
23:21 sftp left
Zoffix wtf is \(...) ? 23:21
23:21 sftp joined
lucasb capture syntax 23:22
Zoffix ah
lucasb same as Capture.new(...)
23:22 sno joined 23:24 zjmarlow joined
Zoffix My guess it's trying to parse it as [-] operator and freaks out when it sees something other than ] after the minus 23:24
lucasb yes, it makes sense 23:25
Zoffix Though I may be stating the obvious :D
23:30 zjmarlow left 23:34 pyrimidine left
TimToady testing a fix 23:35
dalek osystem: 8fe42bb | (Juerd Waalboer)++ | META.list:
Add MQTT::Client to ecosystem
23:36 kid51 joined 23:37 vendethiel left
cognominal I don't get this one in Stringy.pm : multi sub infix:<eq>($x?) { Bool::True } 23:44
are not infix supposed to have exactly two paremeters ?
23:45 rurban_ joined
timotimo m: say [eq] "Hi" 23:45
camelia rakudo-moar ae3a44: OUTPUT«True␤»
timotimo m: say [eq]
camelia rakudo-moar ae3a44: OUTPUT«True␤»
23:45 virtualsue joined
cognominal timotimo++ 23:45
good to know, and doing so you answer another not yet asked question about neutral elements :) 23:48
23:49 Skarsnik left 23:54 zjmarlow joined 23:55 lostinfog left 23:56 virtualsue left
flussence m: say [**] # also this 23:57
camelia rakudo-moar ae3a44: OUTPUT«1␤»
flussence (and other Nummy things)
23:58 stmuk joined 23:59 edehont joined
dalek ast: 775039b | TimToady++ | S02-literals/char-by-number.t:
overspecific error type
23:59
ast: 363b7f1 | TimToady++ | S03-metaops/reduce.t:
test that [-1] and such parse right
kudo/nom: f262b27 | TimToady++ | src/Perl6/Actions.nqp:
remove temporary False values
kudo/nom: f0d3485 | TimToady++ | src/Perl6/Grammar.nqp:
better redirect on /\1/ and such
kudo/nom: 03b52f9 | TimToady++ | src/Perl6/Grammar.nqp:
don't treat things like [-1] as reductions