Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-18

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 dalek joined #perl6
00:06 dalek doc: 647ce18 | smls++ | lib/Perl6/Documentable.pm:
00:06 dalek doc: move method below all attribute declarations and fix typo
00:06 dalek doc: review: https://github.com/perl6/doc/commit/647ce18dbc
00:06 dalek doc: ed8adef | smls++ | doc/Language/testing.pod:
00:06 dalek doc: Re-structure the 'Testing' language doc
00:06 dalek doc:
00:06 dalek doc: Moved around sections and renamed subheadings, to make the page more
00:06 dalek doc: logically structured and accessible for readers.
00:06 dalek doc:
00:06 dalek doc: Comparison of before/after structure: http://pastebin.com/raw/UZUMYTH1
00:06 dalek doc: review: https://github.com/perl6/doc/commit/ed8adef0be
00:06 dalek doc: 3d02153 | smls++ | doc/Language/testing.pod:
00:06 dalek doc: Consistent formatting and wording across the 'Testing' language doc
00:06 dalek doc: review: https://github.com/perl6/doc/commit/3d02153cd3
00:07 dalek rakudo/nom: 332ea4e | TimToady++ | src/ (2 files):
00:07 dalek rakudo/nom: add MINUS SIGN in case someone pastes from TeX etc
00:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/332ea4e3b5
00:07 TimToady or is persnickety about the code they show elsewhere...
00:11 dalek rakudo/nom: 3d8d56a | TimToady++ | src/ (2 files):
00:11 dalek rakudo/nom: last patch confused prefix and infix
00:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d8d56a76a
00:13 TheGreekOwl joined #perl6
00:13 TheGreekOwl perl6
00:13 TheGreekOwl ?
00:14 masak TheGreekOwl: yep.
00:16 TimToady perl6: say "Hi, TheGreekOwl"
00:16 camelia rakudo-jvm 6c0f93, rakudo-moar ae3a44: OUTPUT«Hi, TheGreekOwl␤»
00:17 TheGreekOwl I see
00:17 TheGreekOwl I'm a random thats just passing by,
00:18 cognominal m: say "passing by {rand}"
00:18 camelia rakudo-moar ae3a44: OUTPUT«passing by 0.977910675831408␤»
00:19 TheGreekOwl ???
00:21 TimToady m: say π;  # we do greek too!
00:21 camelia rakudo-moar ae3a44: OUTPUT«3.14159265358979␤»
00:21 cognominal TheGreekOwl, just a random function interpolated in a string
00:21 TheGreekOwl I have no idea what that is.
00:22 TheGreekOwl I should mention I dont code.
00:23 cognominal if you wan't to stay that way, you may be in the wrong channel :)   ur welcome anyway
00:23 cognominal * want
00:24 TheGreekOwl Thanks for the offer, but i'll be a nuisance here
00:24 TheGreekOwl Besides, there so much stuff to do on freenode
00:24 * TheGreekOwl dives back out.
00:24 TheGreekOwl left #perl6
00:24 zjmarlow joined #perl6
00:25 TimToady .oO(there's so much stuff to do here...)
00:26 travis-ci joined #perl6
00:26 travis-ci Rakudo build failed. TimToady 'add MINUS SIGN in case someone pastes from TeX etc'
00:26 travis-ci https://travis-ci.org/raku​do/rakudo/builds/97574642 https://github.com/rakudo/rakudo/c​ompare/03b52f9f8366...332ea4e3b5b7
00:26 travis-ci left #perl6
00:27 BenGoldberg joined #perl6
00:28 masak 'night, #perl6
00:29 stmuk joined #perl6
00:29 flussence .oO( nice to see a random interloper that's self-aware and courteous for a change )
00:29 travis-ci joined #perl6
00:30 travis-ci Rakudo build passed. TimToady 'don't treat things like [-1] as reductions'
00:30 travis-ci https://travis-ci.org/raku​do/rakudo/builds/97573567 https://github.com/rakudo/rakudo/c​ompare/ae3a4436ef24...03b52f9f8366
00:30 travis-ci left #perl6
00:35 stmuk_ joined #perl6
00:36 FreezerburnV joined #perl6
00:36 dalek rakudo/nom: b050d5e | TimToady++ | src/ (2 files):
00:36 dalek rakudo/nom: unbotch MINUS SIGN patch
00:36 dalek rakudo/nom:
00:36 dalek rakudo/nom: helps to put the right precedence level and arity...
00:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b050d5e319
00:37 TimToady I get so much more karma by screwing up regularly...
00:40 stmuk joined #perl6
00:40 TimToady I love it how random people come in here and start talking to the bot with smartquotes; I bet the other language communities are starting to go nuts over that...
00:41 Humbedooh TimToady: every man must have his vices :)
00:41 Humbedooh or so said Walt Disney about dying from lung cancer...
00:46 skids joined #perl6
00:48 stmuk_ joined #perl6
00:49 dalek roast: 60bfa55 | TimToady++ | S03-operators/misc.t:
00:49 dalek roast: add tests for grade school math operators
00:49 dalek roast: review: https://github.com/perl6/roast/commit/60bfa55fd9
00:50 TEttinger do we have knuth up arrow notation operators yet? :D
00:50 Wolf joined #perl6
00:50 Wolf Hey there everybody~
00:50 TEttinger "well our language has BigIntegers" "oh does it now? how big?"
00:50 TimToady I noticed a nice thing about the MINUS SIGN too...
00:50 Wolf I have a question regarding grammars
00:51 TimToady m: say pi-rand
00:51 camelia rakudo-moar 3d8d56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UDBfwCq0zZ␤Undeclared routine:␤    pi-rand used at line 1. Did you mean 'srand'?␤␤»
00:51 Guest7598 Anyone able to help me?
00:51 TimToady m: say pi−rand
00:51 camelia rakudo-moar 3d8d56: OUTPUT«-0.56574741868335␤»
00:51 TEttinger Guest27964 / Wolf: ask away
00:51 TimToady m: say pi−rand
00:51 camelia rakudo-moar b050d5: OUTPUT«3.04276140932166␤»
00:51 TimToady that's better
00:52 timotimo um ...
00:52 TimToady so if you really want to leave out the spaces around your minus signs...
00:52 timotimo what's with the implementation of readlineint_fh ?!?
00:52 TimToady I dunno, readlinenum? and realinerat?
00:52 travis-ci joined #perl6
00:52 travis-ci Rakudo build passed. TimToady 'last patch confused prefix and infix'
00:52 travis-ci https://travis-ci.org/raku​do/rakudo/builds/97575098 https://github.com/rakudo/rakudo/c​ompare/332ea4e3b5b7...3d8d56a76aaf
00:52 travis-ci left #perl6
00:53 timotimo well, its implementation is a single line
00:53 timotimo which is cur_op += 6; goto NEXT;
00:53 Guest7598 I'm trying to create a grammar that can be updated on the fly (i.e. a parse action actually changes the grammar rules for the rest of the parse). To that end, is it possible to create a rule that access an external routine (or, if I have to get messy, a routine built into a regex), which would return a token value based on comparisons local to that routine?
00:54 TimToady m: say [×] 2..40
00:54 camelia rakudo-moar b050d5: OUTPUT«8159152832478977343456​11269596115894272000000000␤»
00:54 zjmarlow joined #perl6
00:54 Guest7598 That way, the external routines could be modified from earlier actions within the parse.
00:54 skids Guest7598: you may want to look at the Grammar::BNF module.
00:55 Guest7598 The problem with BNF is that it becomes difficult to update a parse-grammar _during_ the parse.
00:55 Guest7598 At least, so far as I've seen
00:55 TimToady it would probably screw up the longest token matcher by excluding the dynamic bits, but if that's okay with you, it should work
00:55 TimToady we update the current parser all the time, but not retroactively
00:55 skids Guest7598: No I mean, look at how that module does what you are trying to do.
00:56 hoelzro|phone joined #perl6
00:57 Guest7598 skids: Ah, I think I see what you mean. Use that system to generate a brand new grammar that is "updated" to the new form that I would like, then reparse?
00:57 stmuk joined #perl6
00:57 Guest7598 (well, something based on their system, anyway)
00:57 skids I did have some success in updating a grammar during parse during an aborted and unwise attempt at tackling ASN.1
00:57 TimToady offhand, the word "reparse" sounds evil...
00:58 Guest7598 (agreed)
00:59 Guest7598 skids, can you suggest how I might go about doing that? I'm not exactly sure what I'm supposed to be modifying to update the in-parse grammar. Do I just edit the file that the grammar is written into? I'm confused as to how one accesses the already-compiled grammar.
01:00 skids I'm trying to comprehend my old code so I'll tell you what I did when I figure it out myself :-)
01:00 Guest7598 Ah yes, my favorite game, trying to decipher what in the heck your past self thought it was doing.
01:02 ellybelly joined #perl6
01:04 japhb Trying to get up to date with this month's changes-so-far ... I see a *bunch* of patches around the "Great Sink Refactor" and WANTED and such.  What's the goal?
01:05 japhb From one comment it sounded like giving better hints to codegen and better flagging "useless use ... in sink context"?
01:05 skids Guest7598: I think the important parts were in the snippets in https://gist.github.com/skids/b4caab210a473a586d51  Basically match against an array of rx and keep pushing to the array.  Not sure if it still or ever actually worked.
01:06 Juerd "So let's go ahead and make it ??!!.  (At least this week...)"  -- TimToady in 2005. http://www.nntp.perl.org/group/perl.​perl6.language/2005/09/msg23025.html
01:06 Juerd The week has been more than a decade!
01:06 Guest7598 Ah, so, essentially, craft a parser from scratch? xD
01:06 * Juerd will rub this into the face of anyone who says that Perl 6 syntax isn't stable ;)
01:08 flussence .oO( "it is what you make of it" )
01:10 pierre-vigier joined #perl6
01:11 Faelin Alright, well, I'm going to keep hammering along in my current tack, which is using Marpa's hook system to return token values based on external routines. Doesn't allow me to modify the grammar once it's in use, but hopefully I can account for all the possible needs of the actual grammar rules, and make the hook-routines adjustable instead.
01:11 llfourn joined #perl6
01:14 timotimo oh, maybe this helps:
01:14 timotimo you can have an alternation (with ||) that checks an attribute (with <?{ ... }>) and that forces a specific branch of the alteration to happen
01:15 travis-ci joined #perl6
01:15 travis-ci Rakudo build passed. TimToady 'unbotch MINUS SIGN patch
01:15 travis-ci https://travis-ci.org/raku​do/rakudo/builds/97578581 https://github.com/rakudo/rakudo/c​ompare/3d8d56a76aaf...b050d5e31910
01:15 travis-ci left #perl6
01:15 Faelin timotimo: that doesn't really help me build a grammar that updates itself mid-parse, though. Already doing the above via Marpa.
01:16 rickbike joined #perl6
01:16 timotimo mh, ok
01:17 timotimo well, worst case you <$foobar> a string as a regex
01:18 dalek roast: eac5ed7 | TimToady++ | S02-literals/numeric.t:
01:18 dalek roast: add some mathy tests for unicode chars
01:18 dalek roast: review: https://github.com/perl6/roast/commit/eac5ed7708
01:22 japhb TimToady: What is the Great Sink Refactor trying to accomplish?
01:24 TimToady knowing when something's actually going to be sunk, so we can optimize
01:24 zjmarlow joined #perl6
01:25 TimToady m: loop (my int $x = 0; $x < 10000000; $x++) {}  # runs about 100x faster with $x++ sunk
01:25 camelia rakudo-moar b050d5: ( no output )
01:25 TimToady m: loop (my int $x = 0; $x < 10000000; $x++) {}; say $i; say now - INIT now
01:25 camelia rakudo-moar b050d5: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pzX0xMq38K␤Variable '$i' is not declared␤at /tmp/pzX0xMq38K:1␤------> 3nt $x = 0; $x < 10000000; $x++) {}; say 7⏏5$i; say now - INIT now␤»
01:25 TimToady m: loop (my int $x = 0; $x < 10000000; $x++) {}; say $x; say now - INIT now
01:25 camelia rakudo-moar b050d5: OUTPUT«10000000␤0.0631024␤»
01:26 TimToady also to give much better feedback on precedence errors, which much of the time show up as useless use of
01:26 TimToady m: my $i = 1, 2
01:26 camelia rakudo-moar b050d5: ( no output )
01:26 TimToady hmm
01:26 TimToady m: my $i = 1, 2; say $i
01:26 camelia rakudo-moar b050d5: OUTPUT«1␤»
01:27 TimToady that used to catch itself...
01:28 TimToady m: 1, 2 »+« 3, 4
01:28 camelia rakudo-moar b050d5: ( no output )
01:28 TimToady double hmm
01:28 TimToady m: 1,2
01:28 camelia rakudo-moar b050d5: ( no output )
01:28 TimToady oh dear...
01:28 TimToady m: 42; 43
01:28 camelia rakudo-moar b050d5: OUTPUT«WARNINGS for /tmp/znMBJB8hAj:␤Useless use of constant integer 43 in sink context (line 1)␤Useless use of constant integer 42 in sink context (line 1)␤»
01:29 japhb Lists hiding sink context?
01:29 TimToady used to distribute
01:29 TimToady dunno what busted there
01:29 timotimo japhb: i didn't actually go ahead and ask somebody to implement that feature we discussed last time :|
01:30 japhb timotimo: Well, I noticed no new commits, so I guessed as much.
01:30 timotimo ;(
01:31 TimToady something has gone and marked my list elems as wanted, and it's probably something I did :/
01:31 Zoffix joined #perl6
01:32 TimToady says EXPR/list did it...
01:34 Juerd Why are the error messages for ..., ??? and !!! all different?
01:34 Juerd m: sub foo { ... }; foo;
01:34 camelia rakudo-moar b050d5: OUTPUT«Stub code executed␤  in sub foo at /tmp/5laQSQj_f5:1␤  in block <unit> at /tmp/5laQSQj_f5:1␤␤Actually thrown at:␤  in block <unit> at /tmp/5laQSQj_f5:1␤␤»
01:34 Juerd m: sub foo { ??? }; foo;
01:34 camelia rakudo-moar b050d5: OUTPUT«Stub code executed  in sub foo at /tmp/l4htyQ3NCf:1␤»
01:34 Juerd m: sub foo { !!! }; foo;
01:34 camelia rakudo-moar b050d5: OUTPUT«Stub code executed␤  in sub foo at /tmp/RWtcXLf9Sh:1␤  in block <unit> at /tmp/RWtcXLf9Sh:1␤␤»
01:35 japhb fail, warn, and die?
01:36 japhb (Mind you, there's a decent question of whether those really need to be so different ....)
01:36 Ben_Goldberg joined #perl6
01:36 Juerd Oh wow :)
01:37 Juerd They're actually different things :)
01:37 japhb Heh, yes
01:42 skids m: my @*r; grammar a { regex TOP { { @*r = rx/b/ } [ <@*r> { @*r.push(rx/c/)} ]+ } }; a.subparse("cc").say; a.subparse("bc").perl.say; # Faelin: that much at least does still work.
01:42 camelia rakudo-moar b050d5: OUTPUT«#<failed match>␤Match.new(ast => Any, list => (), hash => Map.new(()), orig => "bc", to => 2, from => 0)␤»
01:43 Faelin Ah! I can work with that! Thanks :D
01:48 cognominal m: use MONKEY-TYPING; augment class Cool { method hi { say 'hi' }}; Array.hi
01:48 camelia rakudo-moar b050d5: OUTPUT«Method 'hi' not found for invocant of class 'Array'␤  in block <unit> at /tmp/j4zJSmVlGg:1␤␤»
01:48 cognominal do I misunderstand MONKEY-TYPING/augment ?
01:49 cognominal I expect the .hi method to be found
01:49 yeahnoob joined #perl6
01:49 TimToady you might have to recompose a class after that
01:50 TimToady we don't have a mechanism to clear the method cache in this case
01:50 skids Is Cool a class or a role?
01:51 cognominal m: use MONKEY-TYPING; augment class Cool { method hi { say 'hi' }}; Cool.hi
01:51 camelia rakudo-moar b050d5: OUTPUT«hi␤»
01:51 japhb m: my @foo = 1, 2; say @foo.map: { when 1 { "yay" }; default { $_ } };
01:51 camelia rakudo-moar b050d5: OUTPUT«(yay 2)␤»
01:51 cognominal so, that does not yet work for derived classes
01:52 japhb Hmmm, perhaps I need a rebuild.  That gives a useless use of $_ for me.
01:52 timotimo aye. only if you call its .^compose again (or something like that?)
01:53 skids m: use MONKEY-TYPING; augment class Cool { method hi { say "hi" }}; Array.^compose; Array.hi
01:53 camelia rakudo-moar b050d5: OUTPUT«hi␤»
01:53 cognominal skids++
01:54 zjmarlow joined #perl6
01:54 * skids spent way to long figuring out that "Undeclared routine: hi used at line 1" was coming from bash due to the ''s
01:57 hartenfels joined #perl6
02:02 timotimo ah yeah :(
02:02 dalek rakudo-star-daily: 009d912 | coke++ | log/ (8 files):
02:02 dalek rakudo-star-daily: today (automated commit)
02:02 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/009d912065
02:03 Zoffix m: use MONKEY-TYPING; augment class Any { method gist { say 'hi' }}; .^compose for Int, Str; my $x = 42; my $y = 'blah'; say $x, ' ' , $y
02:03 camelia rakudo-moar b050d5: OUTPUT«42 blah␤»
02:03 Zoffix :(
02:03 Zoffix m: use MONKEY-TYPING; augment class Any { method foo { say 'hi' }}; .^compose for Int, Str; my $x = 42; my $y = 'blah'; say $x.foo, ' ' , $y.foo
02:03 camelia rakudo-moar b050d5: OUTPUT«hi␤hi␤True True␤»
02:03 Zoffix hm
02:04 timotimo maybe because it's a multi method?
02:04 timotimo and you'd have to "only method gist"?
02:04 timotimo perhaps "supercede method gist"?
02:04 * Zoffix doesn't know what either of those are :)
02:09 kaare_ joined #perl6
02:13 molaf_ joined #perl6
02:15 dalek roast: bf3352a | TimToady++ | S03-metaops/hyper.t:
02:15 dalek roast: correct over-specific exception type
02:15 dalek roast: review: https://github.com/perl6/roast/commit/bf3352ac6d
02:17 dalek rakudo/nom: d48cf75 | TimToady++ | src/Perl6/Actions.nqp:
02:17 dalek rakudo/nom: infix:<,> mustn't want its args as other ops do
02:17 dalek rakudo/nom:
02:17 dalek rakudo/nom: (because we later distribute sink to each element to catch various brainos)
02:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d48cf759c2
02:17 * TimToady should really write tests for these warnings in his copious free time, but doesn't know how offhand, since they come from the optimizer...
02:20 TimToady well, gee, the optimizer just prints 'em to stderr, grr
02:21 TimToady makes 'em a little hard to test without running subprocesses...
02:24 zjmarlow joined #perl6
02:30 khw joined #perl6
02:31 dalek joined #perl6
02:36 TimToady m:  1,2
02:36 camelia rakudo-moar d48cf7: OUTPUT«WARNINGS for /tmp/Oj5MD9N_uH:␤Useless use of constant integer 1 in sink context (line 1)␤Useless use of constant integer 2 in sink context (line 1)␤»
02:36 TimToady that's more like it
02:36 zjmarlow joined #perl6
02:36 TimToady m: my $x = 1, 2;
02:36 camelia rakudo-moar d48cf7: OUTPUT«WARNINGS for /tmp/U9iIN2nxUg:␤Useless use of constant integer 2 in sink context (line 1)␤»
02:37 TimToady m: 1, 2 »+« 3, 4
02:37 camelia rakudo-moar d48cf7: OUTPUT«[DISLOCATED MESSAGE] Useless use of &infix:<+> in sink context␤[DISLOCATED MESSAGE] Useless use of &infix:<+> in sink context␤WARNINGS for /tmp/3Gqhr6wtfa:␤Useless use of constant integer 1 in sink context (line 1)␤Useless use of constant integer 4…»
02:38 TimToady ooh, dislocated
02:39 TimToady that probably needs to report the hyper, not the +
02:40 timotimo so it appears
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:53 n0tjack joined #perl6
03:02 vendethiel joined #perl6
03:03 [Coke] lizmat++ # she's the best!
03:08 telex joined #perl6
03:08 AlexDaniel joined #perl6
03:20 flussence somewhat pointless question: is there any way in perl6-space to query a synthetic's codepoint number? other than manually dissecting a string and assigning my own for each glyph where .codes != .chars...
03:27 noganex joined #perl6
03:35 ShimmerFairy flussence: no, if you saw any of those negative numbers it'd be an erroneous leak. If you're dealing with codepoint numbers, chances are you kinda want to step away from 'Str' strings, at least temporarily :)
03:38 ShimmerFairy m: my $str = "Umlauts on punctuation?̈ Weird."; say $str.chars; say $str.codes; for $str.NFC { say $_.base(16) }
03:38 camelia rakudo-moar d48cf7: OUTPUT«30␤31␤55␤6D␤6C␤61␤75␤74␤73␤20​␤6F␤6E␤20␤70␤75␤6E␤63␤74␤75␤61␤74␤69​␤6F␤6E␤3F␤308␤20␤57␤65␤69␤72␤64␤2E␤»
03:41 glaukommatos
03:41 glaukommatos
03:41 glaukommatos Oops, sorry about that.
03:54 rurban joined #perl6
03:54 zjmarlow_ joined #perl6
04:04 Sqirrel joined #perl6
04:15 xpen joined #perl6
04:24 zjmarlow_ joined #perl6
04:34 Sqirrel joined #perl6
04:53 Hotkeys can someone explain to me what's happening here and why there are two different results
04:53 Hotkeys m: my $x = 115; my @y = <2 -5>; ($x, ($x «+=» @y)).flat
04:53 camelia rakudo-moar d48cf7: ( no output )
04:53 Hotkeys m: my $x = 115; my @y = <2 -5>; say ($x, ($x «+=» @y)).flat
04:53 camelia rakudo-moar d48cf7: OUTPUT«(112 117 112)␤»
04:53 Hotkeys m: my $x = 115; my @y = <2 -5>; ($x+0, ($x «+=» @y)).flat
04:53 camelia rakudo-moar d48cf7: ( no output )
04:53 Hotkeys m: my $x = 115; my @y = <2 -5>; say ($x+0, ($x «+=» @y)).flat
04:53 camelia rakudo-moar d48cf7: OUTPUT«(115 117 112)␤»
04:53 Hotkeys ignore the ones without say
04:54 Hotkeys I'm copying and pasting straight from repl
04:54 zjmarlow_ joined #perl6
04:55 vividsnow joined #perl6
04:56 Hotkeys is this a bug or am I ignorant of a thing
04:56 TimToady you are decontainerizing $x by adding 0
04:57 ShimmerFairy Yeah, $x on its own is the variable itself, not the value within, IIUC
04:57 Hotkeys ah
04:57 TimToady so the first one just reports the final value of $x, rather than the initial
04:57 ShimmerFairy m: my $x = 115; my @y = <2 -5>; say ($x, ($x «+=» @y))[0].VAR.WHAT
04:57 camelia rakudo-moar d48cf7: OUTPUT«(Scalar)␤»
04:57 ShimmerFairy m: my $x = 115; my @y = <2 -5>; say ($x+0, ($x «+=» @y))[0].VAR.WHAT
04:57 camelia rakudo-moar d48cf7: OUTPUT«(Int)␤»
04:57 Hotkeys but I change x afterwards don't I?
04:57 Hotkeys am I thinking too linearly
04:58 TimToady m: my $x = 115; my @y = <2 -5>; say ($x<>, ($x «+=» @y)).flat
04:58 camelia rakudo-moar d48cf7: OUTPUT«(115 117 112)␤»
04:58 TimToady another way to decontainerize
04:58 geekosaur Hotkeys, what;s in the list is a reference, not the value
04:58 geekosaur then the thing containedin the reference is changed, then it's all printed
04:58 Hotkeys ah
04:58 geekosaur and when it follows that reference it sees the final value
04:58 geekosaur but with +0 yopu get a value there
04:59 Hotkeys my $x = 3; my $y = ($x, 0); say $y; $x++; say $y
04:59 Hotkeys m: my $x = 3; my $y = ($x, 0); say $y; $x++; say $y
04:59 camelia rakudo-moar d48cf7: OUTPUT«(3 0)␤(4 0)␤»
04:59 Hotkeys fancy
05:01 Hotkeys my last language investment was python, so I guess I'm used to things being passed by value
05:01 xpen joined #perl6
05:03 Hotkeys eg http://pastebin.com/raw/SAYa7pYT
05:03 rickbike joined #perl6
05:12 pierre-vigier joined #perl6
05:24 zjmarlow_ joined #perl6
05:31 xinming joined #perl6
05:54 zjmarlow_ joined #perl6
05:58 Woodi joined #perl6
06:14 nadim joined #perl6
06:24 zjmarlow_ joined #perl6
06:40 AlexDaniel m: say 5 × 2
06:40 camelia rakudo-moar d48cf7: OUTPUT«10␤»
06:40 AlexDaniel oh, so now it's finally there?
06:40 AlexDaniel m: say 5 ÷ 2
06:40 camelia rakudo-moar d48cf7: OUTPUT«2.5␤»
06:40 AlexDaniel m: say 5 ⋅ 2
06:40 camelia rakudo-moar d48cf7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BubQiGkCZZ␤Confused␤at /tmp/BubQiGkCZZ:1␤------> 3say 57⏏5 ⋅ 2␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifie…»
06:41 AlexDaniel the last one does not have to be there, yes
06:41 AlexDaniel “grade school math operators” huh
06:42 AlexDaniel u: −
06:42 pierre-vigier joined #perl6
06:42 AlexDaniel .u −
06:42 yoleaux U+2212 MINUS SIGN [Sm] (−)
06:42 AlexDaniel .u PLUS SIGN
06:42 yoleaux U+002B PLUS SIGN [Sm] (+)
06:42 AlexDaniel .u +
06:42 yoleaux U+002B PLUS SIGN [Sm] (+)
06:42 AlexDaniel unicode!!!
06:42 AlexDaniel or maybe “ascii!!!”
06:44 AlexDaniel okay, whatever. Now let's wait for ∞ :)
06:46 domidumont joined #perl6
06:52 hs___ joined #perl6
06:52 domidumont joined #perl6
06:53 nige1 joined #perl6
06:54 zjmarlow_ joined #perl6
06:54 nige1 hi - here is the draft for the advent day 20 - https://wordpress.com/post/pe​rl6advent.wordpress.com/4544
06:54 nige1 feedback, comments, suggestions welcome?
06:57 AlexDaniel well, yeah, if only I could see it :)
06:58 nige1 ah - can only advent authors see it?
07:01 AlexDaniel nige1: yeah, I think so
07:01 AlexDaniel m: my \x = 5; say x × x X x × x
07:01 camelia rakudo-moar d48cf7: OUTPUT«((25 25))␤»
07:02 dalek rakudo/nom: 0021601 | TimToady++ | src/Perl6/ (2 files):
07:02 dalek rakudo/nom: useless use of Rat, Complex, type objects, etc
07:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0021601502
07:03 dalek roast: 05f4cd9 | TimToady++ | S32-exceptions/misc.t:
07:03 dalek roast: test all useless use warnings
07:03 dalek roast: review: https://github.com/perl6/roast/commit/05f4cd93ae
07:04 [Tux] This still segfaults:
07:04 [Tux] m: my Str$s=Buf.new(^2048 .map({256.rand.Int})).decode("utf8-c8")
07:04 camelia rakudo-moar d48cf7: ( no output )
07:05 TimToady m: say Ⅹ × Ⅹ X Ⅹ × Ⅹ
07:05 camelia rakudo-moar d48cf7: OUTPUT«((100 100))␤»
07:05 TimToady m: say Ⅹ × Ⅹ Xxx Ⅹ × Ⅹ
07:05 camelia rakudo-moar d48cf7: OUTPUT«((100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 10…»
07:06 AlexDaniel right
07:06 AlexDaniel that's much better
07:06 [Tux] and Text::CSV still cannot ve compiled due to the Cannot find method 'run_alt'
07:13 n0tjack joined #perl6
07:18 FROGGS joined #perl6
07:24 zjmarlow_ joined #perl6
07:28 stmuk joined #perl6
07:36 firstdayonthejob joined #perl6
07:54 zjmarlow_ joined #perl6
07:59 domidumont joined #perl6
08:02 uruwi_ m: my Str $s=Buf.new(^2048 .map({256.rand.Int})).decode("utf8-c8"); say $s;
08:02 camelia rakudo-moar 002160: OUTPUT«(signal SEGV)»
08:02 uruwi_ m: say Buf.new(^2048 .map({256.rand.Int})).decode("utf8-c8")
08:06 DrForr Has the 19th or 25th been decided on yet?
08:07 * stmuk puts away perlsecco
08:11 darutoko joined #perl6
08:11 virtualsue joined #perl6
08:15 pierre-vigier joined #perl6
08:17 yeahnoob joined #perl6
08:24 zjmarlow_ joined #perl6
08:37 brrt joined #perl6
08:42 brrt got a bytecode validation error in t/04-nativecall/15-rw-args.t
08:44 xinming joined #perl6
08:48 g4 joined #perl6
08:54 zjmarlow_ joined #perl6
08:54 aarry joined #perl6
08:56 stmuk t/spec/S17-lowlevel/lock.t .................................... 14/23 *** Error in `/home/steve/.rakudobrew/m​oar-nom/install/bin/moar': double free or corruption (!prev): 0x00007fdd58038480 ***
09:00 uruwi_ m: say "test the butterfly" ~> 4;
09:00 camelia rakudo-moar 002160: OUTPUT«infix:«~>» not yet implemented. Sorry. ␤  in block <unit> at /tmp/7v8w2EBgbm:1␤␤»
09:03 zakharyas joined #perl6
09:04 Ven joined #perl6
09:04 Ven o/, #perl6!
09:05 Ven seems like my blog post didn't auto-publish at midnight, I'm gonna check what I did wrong...
09:05 Ven should be good :)
09:08 dalek rakudo/nom: 9a5a7db | (Sylvain Colinet)++ | src/core/Temporal.pm:
09:08 dalek rakudo/nom: Add support for subseconds support in ISO 8601, see #126948
09:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a5a7db542
09:08 dalek rakudo/nom: e773aca | lizmat++ | src/core/Temporal.pm:
09:08 dalek rakudo/nom: Merge pull request #638 from Skarsnik/nom
09:08 dalek rakudo/nom:
09:08 dalek rakudo/nom: Add support for subseconds support in ISO 8601, see #126948
09:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e773acaeab
09:10 abraxxa joined #perl6
09:11 nige1 joined #perl6
09:11 Ulti saw someone on the bus this morning reading the perl6 docs and writing some code :3
09:13 brrt joined #perl6
09:14 lizmat cool!
09:14 Ven oh, nice!
09:14 lizmat there was a news item in the NL yesterday about the warm weather (this December will be the warmest ever on record, about 1 degree celsius more than the previous record)
09:15 DrForr Yeah, saw that :/
09:15 lizmat and one of the punchlines was: "there's a good chance for butterflies around Christmas"
09:15 DrForr Maybe my tutorial session will have more than just Larry Kibitzing :)
09:15 El_Che This Christmas: Perl6 *and* the Apocalyps. Mic drop
09:16 DrForr My band name: Perl6 and the Apocalips.
09:17 El_Che "Leisure Suit Larry and the Butterflies"
09:17 TEttinger Camelia and the Emoji Operators
09:17 El_Che :)
09:24 lizmat .oO( smooooth! )
09:24 zjmarlow_ joined #perl6
09:27 jnthn morning, #perl6
09:27 jnthn Damn...so *that's* why there's no snow. Darn warming.
09:29 jnthn brrt: (bytecode val error) on HEAD Moar?
09:29 brrt aye, i'm working on master
09:30 brrt or actually, i'm rebuilding my work env after i nuked it with an rsync --delete
09:30 brrt don't. do. rsync --delete. on. your. $HOME
09:31 brrt this is not a good backup strategy
09:33 jnthn o.O
09:33 jnthn Yeah, on master that's not surprising
09:33 RabidGravy joined #perl6
09:33 jnthn I tightened up the validator a notch more and am still fixing code-gen bits in NQP
09:33 brrt ah, hence
09:34 brrt ok, will not complain further :-)
09:38 domidumont joined #perl6
09:39 dalek roast: e7baf23 | (Sylvain Colinet)++ | S32-temporal/DateTime.t:
09:39 dalek roast: Add test for subsecond ISO 8601 timestamp
09:39 dalek roast: review: https://github.com/perl6/roast/commit/e7baf2333c
09:39 dalek roast: ed43750 | RabidGravy++ | S32-temporal/DateTime.t:
09:39 dalek roast: Merge pull request #88 from Skarsnik/master
09:39 dalek roast:
09:39 dalek roast: Add test for subsecond ISO 8601 timestamp
09:39 dalek roast: review: https://github.com/perl6/roast/commit/ed437500d5
09:40 pierre-vigier joined #perl6
09:54 zjmarlow_ joined #perl6
10:03 ellybelly joined #perl6
10:07 domidumont joined #perl6
10:08 hankache joined #perl6
10:08 Woodi joined #perl6
10:09 hankache hello #perl6
10:09 Juerd Observation: Given a oneliner that keeps printing short strings to stdout, with Perl 5 the ^C is anywhere, but with Perl 6 it's almost always at the end of the intended string or at the beginning of a line.
10:09 hankache can we define a multi-dimensional array with a different type for each dimension?
10:10 hankache my Int @array[2;2] will have Int for both dimensions
10:10 lizmat Juerd: we're concatting whole lines in say/print so that inter-threaded prints on STDOUT will not interleave halfway through a line
10:10 Woodi Juerd: perl6 do some work with signals maybe ?
10:10 lizmat hankache: pretty sure you cannot
10:10 hankache what if I need Str for dim 1 and Int for dim 2? Is it possible?
10:10 jnthn hankache: I don't really follow; a 2-d array is not an array of arrays
10:11 jnthn It's a single memory blob
10:11 Juerd lizmat: Interesting consequence, the ^C thing :)
10:11 hankache hi lizmat jnthn
10:11 lizmat Juerd: you're aware of: signal(SIGINT).tap: { say "\ngoodbye"; exit }
10:11 Juerd No, I'm not
10:11 jnthn Oh yes you are (now)!
10:11 Juerd But don't take my observation for anything important, it was just that: an observation
10:12 lizmat Juerd: it exposes signals as a supply
10:12 Juerd jnthn: Hm, I guess so :)
10:12 Juerd m: SIGINT.WHAT.say
10:12 camelia rakudo-moar e773ac: OUTPUT«(Signal)␤»
10:12 lizmat m: say +SIGINT
10:12 camelia rakudo-moar e773ac: OUTPUT«2␤»
10:13 hankache jnthn yes indeed but imagine a use case where we are fetching a table from a DB (2 columns, 5 rows) and column one is an ID (numeric) and column 2 is a description (text)
10:13 AndyDee joined #perl6
10:14 Juerd Reading posts from 10+ years old on perl6-language is interesting. A lot of ideas were kept.
10:14 hankache we want to store it in an array, add more "lines" to it and write it back to the DB
10:15 RabidGravy hankache, then you want an array of arrays or some other representation
10:15 hankache my logical go to would be multi-dimensional array, no?
10:15 jnthn No, it'd be a 1-D array of objects
10:15 jnthn Well, if you know the types up front
10:15 jnthn Note that you *can* do a 2D array just fine for this though
10:16 jnthn Just leave it untyped
10:16 hankache RabidGravy jnthn thanks
10:16 hankache any example of an array of arrays that is typed?
10:17 RabidGravy you can even constrain it something like "subset Record of Array where { $_[0] ~~ Int && $_[1] ~~ Str }" then do "my Record @rows"
10:17 jnthn cute :)
10:17 Ven ..if you wanna kill any kind of performance :P.
10:17 hankache my @table = [Int @column1, Str @column2] ?
10:17 jnthn hankache: No, though my @a = Array[Int].new, Array[Str].new;
10:18 Ven m: subset Record of Array where { $_[0] ~~ Int && $_[1] ~~ Str }; my @a; @a[0][0] = "yo";
10:18 camelia rakudo-moar e773ac: ( no output )
10:18 Ven :)
10:18 jnthn Well, may be an example somewhere but something like what I wrote :)
10:18 Ven that's not checked, so I'd recommend against it ;-)
10:18 hankache jnthn thanks
10:19 Ven m: subset Record of Array where { $_[0] ~~ Int && $_[1] ~~ Str }; my Record @a; @a[0][0] = "yo"; # duh...
10:19 camelia rakudo-moar e773ac: OUTPUT«Type check failed in assignment to @a; expected Record but got Array␤  in block <unit> at /tmp/q0IHDuLXJw:1␤␤»
10:20 Ven m: subset Record of Array; my Record @a; @a[0][0] = "yo"; # ¿
10:20 camelia rakudo-moar e773ac: ( no output )
10:20 Ven oh. so it does work, and I'm just stupid as usual \o/
10:20 hankache Ven++ #advent post
10:22 rurban joined #perl6
10:24 zjmarlow_ joined #perl6
10:36 rurban_ joined #perl6
10:36 hankache m: my %capitals = (UK => 'London', Germany => 'Berlin'); %capitals.push(France => 'Paris'); say %capitals;
10:36 camelia rakudo-moar e773ac: OUTPUT«Germany => Berlin, UK => London␤»
10:36 hankache anything wrong with push the way i wrote it?
10:36 dalek rakudo/nom: ae8d980 | lizmat++ | src/core/ (2 files):
10:36 dalek rakudo/nom: Fix for #126955
10:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae8d9809c4
10:37 espadrine joined #perl6
10:37 lizmat m: my %capitals = (UK => 'London', Germany => 'Berlin'); %capitals.push((France => 'Paris')); say %capitals;
10:37 camelia rakudo-moar e773ac: OUTPUT«France => Paris, Germany => Berlin, UK => London␤»
10:38 lizmat hankache: it's the infamous "silently eat any named params" aka "interface consistency" thing again
10:38 Ulti hmmm Linenoise breaks the REPL atm looks like precomp https://gist.github.com/co​n-mo8/a760e1424b50ac0a8589
10:38 Ulti from a completely fresh install
10:38 Ulti about ten minutes ago
10:38 hankache lizmat double parentheses are needed?
10:38 lizmat my last commit is not going to change that  :-)
10:39 lizmat yes, otherwise the pair is interpreted as a named parameter to .push
10:39 lizmat (and ignored)
10:39 hankache lizmat ah yes named params
10:39 hankache thank you dear
10:39 lizmat you're welcome  :-)
10:39 jnthn %capitals<France> = 'Paris'; # is a bit more typical, fwiw
10:40 hankache ah ok
10:41 hankache jnthn++
10:42 lizmat m: my %h; %h.push( (a => 42) ); %h.push( (a => 666) ); dd %h   # special semantics of Hash.push
10:42 camelia rakudo-moar e773ac: OUTPUT«Hash $var = ${:a($[42, 666])}␤»
10:42 lizmat hankache: ^^^
10:42 jnthn Yeah, there's also that
10:42 * jnthn can't remember using .push on a pash :)
10:42 jnthn uh, hash
10:43 lizmat .oO( or hush on a pash :-)
10:43 hankache wait!!
10:43 AlexDaniel joined #perl6
10:43 * lizmat waits
10:43 hankache so i can assign many values to a single key?!
10:43 lizmat yes, with .push, it will automagically make it an array
10:43 hankache lizmat i love you
10:43 hankache :D
10:43 AlexDaniel hankache: late reply: in your DB example it seems like you need a hash, not an array
10:43 lizmat *blush*  :-)
10:44 AlexDaniel hankache: this way you get Strs for keys and Int for values, if you wish
10:45 hankache AlexDaniel indeed, this is why i got excited #one key => many values
10:45 Ven hankache: yes, she often does magic :P
10:46 AlexDaniel lizmagic?
10:51 xinming joined #perl6
10:54 AlexDaniel “Natively-typed shaped arrays in Perl 6 are specced to take contiguous memory, meaning we get a very good memory layout, and use little memory” – I don't get it
10:54 zjmarlow_ joined #perl6
10:54 AlexDaniel so it is saying that if I have a size 100 array of int8 then I'm going to use 800 bytes or so?
10:54 TEttinger AlexDaniel: some languages, cough java cough, use rather a lot of overhead for multi-dimensional arrays
10:55 TEttinger using contiguous memory helps avoid that
10:55 AlexDaniel oops what did I say
10:55 jnthn AlexDaniel: 100 bytes
10:55 AlexDaniel I meant bits
10:55 jnthn Plus GC header
10:55 rindolf joined #perl6
10:55 TEttinger what about the shaped part, though?
10:55 AlexDaniel jnthn: what about performance? It does not sound like a good idea in terms of performance
10:55 TEttinger it's how fortran does it
10:57 jnthn What doesn't?
10:57 AlexDaniel squishing your data together
10:57 TEttinger (in fortran AFAICT, arrays use a contiguous chunk of memory and have a tiny header that says "it ends here, our rows/columns/z-layers end at these positions, it's not jagged")
10:57 AlexDaniel or, in this case, I should be using just “int”?
10:58 TEttinger squishing your data together is an excellent way to get performance, what are you talking about?
10:58 AlexDaniel which will get me the fastest native int possible?
10:58 jnthn Why wouldn't more compact storage help performance?
10:58 jnthn Being good to the CPU cache is much more important than instruction count these days.
10:58 TEttinger SIMD squishes 4 32-bit values into one 128-bit "thing" for example
10:59 AlexDaniel there is an easy way to test it though
10:59 AlexDaniel just try “int8” and just “int”, I guess
10:59 TEttinger AlexDaniel, the coy answer to "fastest native int" is "native machine code"
11:00 nine [Tux]: was it actually possible to precompile Text::CSV at a previous point in time? If yes, then we may have a chance at bisecting the issue and get valuable information that way.
11:00 Ven AlexDaniel: squishing data together => everything fits into L1 => faster cached access!
11:01 nine The 'run_alt' is not still present because nobody cares but because despite hours and hours of debugging nobody has the slightest idea what exactly goes wrong.
11:01 TEttinger Ven, especially true of the small scripts that perl is commonly used for
11:01 TimToady joined #perl6
11:02 pierre-v_ joined #perl6
11:03 |Tux| nine, this is not about pre-compiling (and yes that was possible some time ago)
11:04 nine |Tux|: not about pre-compiling?
11:04 |Tux| I cannot even run a single simple script with the unchanged .pm
11:04 lizmat [Tux]: it most likely is, because pre-compiling now happens under the hood automagically
11:04 Ven TEttinger: especially untrue, because the runtime does too much to be able to do that :P
11:04 |Tux| ahh
11:04 TEttinger noooo
11:04 nine |Tux|: because we always precompile when you load a module. If you want to be sure, add "no precompilation;" to the module. If it works then, we know it's precompilation
11:04 RabidGravy yeah, H::UA is only fixed because I put "no precompilation" in
11:04 lizmat FWIW, there's method run_alt in nqp's  QRegex.nqp
11:05 nine |Tux|: can you say for how long the run_alt issue has been there?
11:05 lizmat and it seems to be called an an nfa
11:05 lizmat so somehow the nfa is not initialized ?
11:05 |Tux| «no precompilation;» → PASS!
11:06 abraxxa joined #perl6
11:06 nine lizmat: the error appears in src/QRegex/Cursor.nqp line 410 when $nfa obtained by self.HOW.cache_get(self, $name) is no NFA at all but some random NQPArray. I've seen it filled with 2 Parameters, 8 NQPArrays and in other cases some 60 elements.
11:07 lizmat yuck, major corruption :-(
11:07 |Tux| My first run_alt encounter was Nov 30
11:07 nine lizmat: so it is most probably the cache getting corrupted somehow when loading from a precompiled file
11:07 |Tux| last pass for speed-test was Dec 14
11:08 Ven nine: O_o
11:08 |Tux| where only part of the full test suite caused the run_alt issue
11:09 nine First mention on #perl6 was [Tux] on Nov 30th
11:09 |Tux| that's what I said
11:10 virtualsue joined #perl6
11:10 |Tux| and with no precompilation, the test suite now fails :(
11:10 nine |Tux|: yep. What I said is that nobody ran into the issue earlier than you
11:10 |Tux| as always :}
11:10 FROGGS nine: do you know what $name is in the call to self.HOW.cache_get(self, $name)?
11:10 nine |Tux|: what?
11:11 nine FROGGS: yes, it's some generated, supposedly unique name containing nfa, some timestamp and a counter
11:11 FROGGS ahh
11:11 |Tux| tests regarding EOF fail
11:11 jnthn EOF or EOL?
11:12 |Tux| EOF, but it seems EOL related
11:12 |Tux| # expected: "id,name\r\n1,\"Alligator Descartes\"\r\n3,\"Jochen Wiedmann\"\r\n2,\"Tim Bunce\"\r\n\" 4\",\"Andreas König\"\r\n5\r\n"
11:12 |Tux| #      got: "id,name\n1,\"Alligator Descartes\"\n3,\"Jochen Wiedmann\"\n2,\"Tim Bunce\"\n\" 4\",\"Andreas König\"\n5\n"
11:12 AlexDaniel m: my int @a[10000] = ^10000; my int $x = 0; say @a.pick for ^10 # why is it so slow
11:13 camelia rakudo-moar ae8d98: OUTPUT«6283␤8665␤1905␤4392␤30​52␤7699␤7136␤2462␤1681␤3580␤»
11:13 * |Tux| is rather short on time. $work is pressing
11:13 AlexDaniel m: my int @a[10000] = ^10000; say @a.pick for ^10 # why is it so slow
11:13 Skarsnik joined #perl6
11:13 dalek roast: d9dae9f | lizmat++ | S32-temporal/DateTime-Instant-Duration.t:
11:13 dalek roast: We have subsecond granularity now, fix test for it
11:13 dalek roast: review: https://github.com/perl6/roast/commit/d9dae9f36e
11:13 camelia rakudo-moar ae8d98: OUTPUT«2205␤4649␤8303␤4699␤18​99␤2284␤5043␤2724␤4117␤9049␤»
11:13 dalek nqp: 39fd4da | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
11:13 dalek nqp: Correct a bitmask.
11:13 dalek nqp: review: https://github.com/perl6/nqp/commit/39fd4da633
11:14 dalek rakudo/nom: d8f7e8b | lizmat++ | src/core/Pair.pm:
11:14 dalek rakudo/nom: Make smartmatching with a Pair a bit faster
11:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d8f7e8b8d6
11:14 FROGGS nine: I fear that we introduce issues by precompiling stuff in a running perl6 process
11:14 lizmat nine: is precomping happening in the process itself, or are we shelling out ?
11:15 lizmat if not, have you tried that ?
11:15 FROGGS nine: in the past we procompiled by shelling out, and only precomping one source file and then shutting down
11:15 AlexDaniel oh
11:16 jnthn Didn't the patch to do that get reverted?
11:16 AlexDaniel m: my @a = ^10000; say @a[*-1]; my int $x = 0; say @a.pick for ^100 # this is instant
11:16 camelia rakudo-moar ae8d98: OUTPUT«9999␤4482␤2594␤8921␤5039␤2903␤6012␤60␤677​8␤3387␤5925␤3242␤8877␤3292␤3714␤2089␤7359␤647␤69​66␤5101␤1989␤2561␤3830␤5191␤7647␤2820␤2700␤6385␤​6487␤9585␤8853␤4382␤9834␤8348␤8204␤5710␤2419␤…»
11:16 AlexDaniel m: my @a[10000] = ^10000; say @a[*-1]; my int $x = 0; say @a.pick for ^100 # this is slow
11:17 camelia rakudo-moar ae8d98: OUTPUT«(timeout)9999␤3411␤2449␤5251␤7937␤9969␤442​3␤3027␤4015␤6525␤9339␤8013␤6601␤8203␤5408␤7196␤62​18␤7232␤9371␤6320␤1358␤3935␤476␤5719␤6821␤969␤474​2␤5483␤6942␤2909␤1357␤7262␤1194␤1405␤6578␤8585…»
11:17 FROGGS nine / lizmat: nvm, seems like we *are* shelling out
11:17 AlexDaniel whoops, unneeded “my int $x = 0” again
11:17 FROGGS rakudo/src/core/CompUnit/Pre​compilationRepository.pm:81:        my $proc = run($*EXECUTABLE, $lle, "--target={$*VM.precomp-target}", "--output=$io", $path, :out);
11:17 AlexDaniel but anyway, it seems like specified type makes it slower?
11:18 AlexDaniel size*
11:19 AlexDaniel not type
11:19 nine FROGGS: yes, there was an attempt to change that, but it was reverted
11:19 nanis joined #perl6
11:20 jnthn AlexDaniel: Yes, adding size certainly makes things slower at present
11:20 jnthn AlexDaniel: For no reason other than the code handling those things is completely unoptimized.
11:21 AlexDaniel jnthn: awww
11:21 nanis jnthn: Thank you for resolving  RT #126881. I haven't had a chance to test yet, but it looks good.
11:21 jnthn AlexDaniel: Well, I could work on optimizing it and we can hit xmas with a bunch of extra semantic issues instead :P
11:22 AlexDaniel jnthn: I know
11:22 lizmat brunch&
11:22 jnthn I designed it to be decidedly optimizable though :)
11:22 jnthn So, next year... )
11:22 jnthn *:)
11:22 jnthn Once we get the JIT onto those things it should look decent.
11:22 nanis Quick question: How is src/jit/emit_win32_x64.c generated? I am getting "unrecognized escape" for \j and \e right before moar.dll is linked.
11:23 jnthn nanis: haha...I wasted ages trying to deal with that :P
11:23 nanis :-)
11:23 AlexDaniel jnthn: great. Though if you have a list of things to optimize then perhaps you want this one to be a bit higher
11:23 nanis It doesn't seem to affect anything ...
11:23 jnthn nanis: It used to generate a thousand of those warnings. I managed to wedge in a pragma to turn them off, but you couldn't get it in early enough to stop the first ones
11:23 AlexDaniel jnthn: I have never seen anything being that slow, even on 32-bit…
11:24 jnthn nanis: No, it doesn't affect anything. It's really silly. dynasm emits #line directives in the code it generates
11:24 jnthn nanis: And it points to the source file, which on Windows contains \s in the paths
11:24 El_Che m: my $proc = run, 'false', :out; say $proc.exitcode
11:24 camelia rakudo-moar ae8d98: OUTPUT«[DISLOCATED MESSAGE] Useless use of Pair symbol in sink context␤[DISLOCATED MESSAGE] Useless use of Pair symbol in sink context␤WARNINGS for /tmp/Eb1reewagS:␤Useless use of constant string "false" in sink context (lines 1, 1)␤run is disallowed in r…»
11:24 El_Che m: my $proc = run 'false', :out; say $proc.exitcode
11:24 camelia rakudo-moar ae8d98: OUTPUT«run is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub run at src/RESTRICTED.setting:14␤  in block <unit> at /tmp/qUCFxH5DGR:1␤␤»
11:25 jnthn nanis: And then the preprocessor directive thinks they're escape sequences.
11:25 AlexDaniel dislocated message? :)
11:25 El_Che ok, anyway: the output is 0
11:25 AlexDaniel El_Che: there's a bug report for that
11:25 El_Che proc.exitcode seems always be zero even when errors occurs
11:25 jnthn nanis: We could probably hack up dynasm to substitute the \ for / or so :)
11:25 nanis +jnthn thank you for the explanation
11:25 El_Che ah ok
11:25 El_Che AlexDaniel: thx
11:25 AlexDaniel El_Che: you have to read the stdout fully to make it work
11:26 AlexDaniel and perhaps close it? Let's try to find the report…
11:26 El_Che AlexDaniel: I do a $proc.out.slurp-rest before doing the check on the exitcode. Still 0
11:27 AlexDaniel El_Che: https://rt.perl.org/Public/​Bug/Display.html?id=126561
11:27 jnthn AlexDaniel: Everything used to be so slow, you just joined the party too late ;-)
11:27 AlexDaniel https://rt.perl.org/Public/​Bug/Display.html?id=125757
11:27 AlexDaniel jnthn: nah, I've tried perl6 several times before I “joined”
11:28 AlexDaniel basically it was all about “uh, this sounds pretty cool but I can't wait for so long to see any output”
11:28 jnthn :)
11:29 El_Che just it always-exit-zero before out is closed be just a bug or just I patch the doc in the meantime?
11:29 AlexDaniel but startup time is very good for quite some time now :)
11:29 jnthn Yeah, optimization is...non-trivial :)
11:29 AlexDaniel jnthn: well, er, actually startup time was the only problem for me
11:30 El_Che \o/ for startup time
11:30 El_Che startup up time is the reason I love Moo in perl5
11:30 Ulti .tell hoelzro I think there is still a little issue around Linenoise and finding its helper lib https://github.com/hoelzro/p6-linenoise/issues/10
11:30 yoleaux Ulti: I'll pass your message to hoelzro.
11:31 AlexDaniel El_Che: it's a bug
11:31 abraxxa jnthn: how is the bug squashing going?
11:31 koo8 joined #perl6
11:31 AlexDaniel El_Che: “Shall we attempt to make the exitcode (Int) until we got one?” – perhaps that's a good way to do it
11:31 jnthn abraxxa: A little slowly at the moment...fixing up unsinged handling, and somehow getting values vanishing...
11:32 AlexDaniel other one is to wait until it is finished, heh.
11:32 abraxxa jnthn: awesome! i need this for DBDish::Oracle
11:32 jnthn It'll be something silly...
11:32 abraxxa moritz: did you already look at my fork or are you waiting on my PR?
11:33 jnthn One of the relatively few days I have to read bytecode disassembly to figure stuff out... :)
11:34 El_Che AlexDaniel: ow. It's an ugly bug. Closing the proc throuw an exception
11:34 AlexDaniel can some body connect 125757 and 126561? That's the same issue
11:36 AlexDaniel El_Che: what do you mean?
11:36 AlexDaniel aahh
11:36 AlexDaniel perl6 -e 'my $p = shell("false", :out); $p.out.close; say $p.exitcode' # that thing?
11:37 El_Che the close results in a die
11:37 kid51 joined #perl6
11:38 AlexDaniel El_Che: this… does not look nice
11:38 AlexDaniel but maybe that's ok?
11:39 AlexDaniel El_Che: “The spawned process exited unsuccessfully (exit code: 1)”, well, maybe it is supposed to be this way?
11:39 El_Che AlexDaniel: https://gist.github.com/nxadm/23c154132984dbb422fb
11:40 nine AlexDaniel: I merged the tickets
11:40 El_Che closing an out stream dies if the process has a non 0 exit status? no. That is a bug
11:40 El_Che I'll attach the example to the ticket
11:41 AlexDaniel nine: thanks
11:41 jnthn afaik, it's by design
11:42 El_Che really?
11:42 AlexDaniel El_Che: it sounds a bit weird, but it kinda makes sense when I think about it
11:42 jnthn (The exception bit)
11:43 AlexDaniel what I don't understand though is why is it not closed when you do .slurp-rest?
11:43 El_Che on a slightly unrelated note, when would one close $proc.out (except as a workaround for this bug)
11:43 El_Che ?
11:44 jnthn When you've finished reading from it?
11:45 AlexDaniel jnthn: what about slurp-rest?
11:45 kaare_ joined #perl6
11:45 El_Che when you put in a channel or something
11:45 AlexDaniel jnthn: should it mean that I finished reading from it or not?
11:45 jnthn AlexDaniel: Doesn't close in general
11:46 El_Che going to lunch, I'll check back if we need to add the exception to the doc. I don't find it that obvious (maybe other people do)
11:46 AlexDaniel El_Che: yes, it's not obvious
11:46 jnthn AlexDaniel: With files it's possible to reach EOF, but the file is further appended to, for example.
11:46 AlexDaniel El_Che: please add it
11:47 AlexDaniel jnthn: right
11:48 jnthn So if slurp-rest closed the file, you'd not be able to use it repeatedly in that case.
11:49 AlexDaniel what if it goes out of scope? Should it be closed automatically?
11:49 jnthn No
11:49 jnthn We don't do implicit resource management at scope exit in Perl 6; that's ref-count think.
11:50 vytas hmm.. where can i read more about garbage collection in perl6 ?
11:51 ellybelly joined #perl6
11:52 stmuk would an env variable to turn off precomp be easier for debugging etc I wonder?
11:52 adhoc joined #perl6
11:54 FROGGS stmuk: sounds helpful in any case
11:59 nine stmuk: I'd be happy to steward a patch
11:59 ellybelly joined #perl6
12:02 rindolf joined #perl6
12:02 Ven joined #perl6
12:03 jnthn vytas: Plenty of resources out there for how the JVM one works; for Moar, I did a talk on GCs that alludes to much of how the MoarVM one works: http://www.infoq.com/presentatio​ns/terminology-garbage-collector
12:05 Ven do we have an advent post about OO already? In a very general sense.
12:06 ellybelly joined #perl6
12:13 ellybelly joined #perl6
12:15 * Ven looks for .^ in the synopsis to link it
12:19 uruwi joined #perl6
12:20 nanis left #perl6
12:21 ellybelly joined #perl6
12:23 Ven hm, no S99 entry for HOW? didn't we have an acronym for that?
12:24 lizmat Helping Out With ?
12:24 stmuk nine: ok I'll look
12:25 jnthn Higher Order Workings iirc :)
12:25 Ven lizmat: no, I meant as in .HOW
12:25 Ven thanks jnthn
12:26 Ven .oO( .^ is really a half-smiley, in the end )
12:27 daxim I asked last time whether there are other pm groups doing a release/install party, anyone wants to join in?
12:27 jnthn .oO( Do not look into MOP with remaining eye )
12:30 Ven well, I know realize my article is partly rehashing what moritz++ said in 2010... I'm gonna need to pivot a bit...
12:30 moritz Ven: I think that's fine
12:33 masak g'day, #perl6
12:33 lizmat masak o/
12:33 jnthn lunch &
12:33 lizmat I'm about to make a Pair a value type if it can
12:33 lizmat (which it usually is, anyway)
12:34 Ven \o masak
12:34 lizmat this should allow bagging it, well, with Bag.new at least
12:34 administ1ator joined #perl6
12:35 nine daxim: it's kinda hard to sequeze in yet another party around christmas :/
12:36 Ven m: say Attribute.^attributes
12:36 camelia rakudo-moar d8f7e8: OUTPUT«Method 'gist' not found for invocant of class 'BOOTSTRAPATTR'␤  in block <unit> at /tmp/jZqsWYSpLo:1␤␤»
12:36 Ven ^ is that "expected"?
12:38 dalek rakudo/nom: 5f08642 | lizmat++ | src/core/Pair.pm:
12:38 dalek rakudo/nom: Make Pair a value type when it can
12:38 dalek rakudo/nom:
12:38 dalek rakudo/nom: In most cases, Pair's are value types.  The key of a Pair is constant.
12:38 dalek rakudo/nom: The value usually is as well.  You need to do special stuff like:
12:38 dalek rakudo/nom:
12:38 dalek rakudo/nom:   a => my $ = 42
12:38 dalek rakudo/nom:
12:38 dalek rakudo/nom: to make it changeable.  Only in that case, will Pair.WHICH now revert
12:38 dalek rakudo/nom: to the old .WHICH behaviour.  In any other case, it will return a
12:38 dalek rakudo/nom: value typed .WHICH, making all Pairs with a given key and value give
12:38 dalek rakudo/nom: the same .WHICH value.  Making them useable in Sets, Bags and Mixes,
12:38 dalek rakudo/nom: and have them usable as a key in a typed hash.
12:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f08642795
12:38 nige1 joined #perl6
12:38 lizmat $ 6 '(a => 42).WHICH.say'
12:38 lizmat Pair|Str|a|Int|42
12:38 lizmat $ 6 '(a => my $ = 42).WHICH.say'
12:38 lizmat Pair|140403211857744
12:39 lizmat this came up a few weeks ago...
12:40 Ven lizmat++ # looks really good :)
12:41 Ven m: say (a => 1) eqv (a => 1), (a => 1) === (a => 1), (a => 1) =:= (a => 1)
12:41 camelia rakudo-moar d8f7e8: OUTPUT«TrueFalseFalse␤»
12:41 nine Definitely :)
12:41 Ven lizmat: ^ will some more of these become true, or does only `eqv` uses WHICH?
12:42 Ven in that case...
12:42 Ven m: say (a => 1) eqv (a => my $ = 1); # will that become False?
12:42 camelia rakudo-moar d8f7e8: OUTPUT«True␤»
12:43 lizmat no, eqv doesn't used that
12:43 lizmat === uses .WHICH
12:43 lizmat $ 6 'say (a => 1) eqv (a => 1), (a => 1) === (a => 1), (a => 1) =:= (a => 1)'
12:43 lizmat TrueTrueFalse
12:43 Ven lizmat: so, (a => 1) === 9
12:43 lizmat ??
12:43 Ven lizmat: so, (a => 1) === (a => my $ = 1); will become False?
12:44 ellybelly joined #perl6
12:44 Ven sorry, my keyboard is not playing nice.
12:44 lizmat Ven: it will *remain* False
12:44 Ven okay :). thanks
12:45 lizmat m: say (a => 1) === (a => 1)  # will become True
12:45 camelia rakudo-moar d8f7e8: OUTPUT«False␤»
12:46 Ven amazing!
12:46 masak astounding!
12:47 lizmat of course, if either the key or the value is not a value type, it doesn't work  :-)
12:47 lizmat $ 6 'say (a => []).WHICH'
12:47 lizmat Pair|Str|a|Array|140721177249856
12:48 virtualsue joined #perl6
12:48 lizmat $ 6 'say (a => []) === (a => [])'
12:48 lizmat False
12:49 molaf joined #perl6
12:51 virtualsue_ joined #perl6
12:54 zjmarlow_ joined #perl6
12:55 * lizmat is now looking at #126951
12:56 gfldex that's quite some bug stomping going on right now :)
12:58 lizmat just picking the ones I feel I can get an easy handle on with my flu-ridden brane
12:58 lizmat .oO( feverishly bug stomping )
12:58 lucasb joined #perl6
12:58 gfldex in that case i wish both you and rakudo to get better quickly
12:58 masak nige1++ # https://wordpress.com/post/pe​rl6advent.wordpress.com/4544
13:01 lizmat gfldex: thank you, on behalf of us both  :-)
13:02 zakharyas joined #perl6
13:03 Ven My article is getting kinda long, mmh.
13:03 gfldex Ven: please keep going, it's getting dark early anyways
13:05 nine Ven: worse things could happen than a good book an a Perl 6 related topic...
13:06 lizmat on the subject of Perl 6 books
13:06 lizmat I got quite inspired by Dave Cross' talk at LPW about self-publishing based on pod
13:07 lizmat perhaps we don't need just one very large Perl 6 book, but many, many small e-books
13:07 lizmat that could be published on Lulu or some other PrinitingOnDemand service
13:08 nine I like that idea :)
13:08 Ven I think I'm done with the article: https://perl6advent.wordpress.com/?p=​4508&amp;preview=true&amp;iframe=true I'd appreciate to get some feedback. moritz maybe?
13:11 gfldex Ven: s/, and ././
13:12 lizmat Ven: perhaps "Type objects really are… Objects"   "Type objects really are… instantiated Objects of a meta-class"  ?
13:12 Ven lizmat: hm, but then, maybe I need to move the part about the MOP higher
13:12 lizmat perhaps...
13:12 lizmat not sure...
13:12 lizmat but in a talk about objects, saying that something is an object, doesn't say much. At that point, at least
13:13 Ven okay, I changed that part.
13:14 lizmat Ven: changed my mind: maybe say something like "... Objects, like any other Object"
13:14 lizmat keep it more open at that point
13:14 * Ven changes
13:18 gfldex Ven: it would be nice if you could turn <i>Nil</i> to a link to http://doc.perl6.org/type/Nil
13:19 Ven done :)
13:20 dalek specs: e40b63c | lizmat++ | S99-glossary.pod:
13:20 dalek specs: Add HOW lemma
13:20 dalek specs: review: https://github.com/perl6/specs/commit/e40b63c9ce
13:24 hankache is MadcapJake around?
13:24 robertle joined #perl6
13:24 zjmarlow_ joined #perl6
13:24 masak qs
13:25 masak (Noa says hi) :)
13:25 lizmat Noa o/
13:25 masak tfg vc
13:26 masak mmmmmmmmb,m bmb,bbbbyd fb h nnhgnbbbnbbb
13:26 dalek rakudo/nom: 2a2e9a8 | lizmat++ | src/core/Exception.pm:
13:26 dalek rakudo/nom: Fix warning during optimization of core settings
13:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a2e9a8f08
13:26 smls joined #perl6
13:26 lizmat Noa: kjasho8y;oi/2khlapmasl ndopiopaLM SMLKH  LLKJLKSMN mlkjldn aiohsp90-9n  dkjwlhklasihd   !!!
13:27 masak :)
13:27 smls lizmat++ # Make Pair a value type when it can
13:27 hankache hi Noa :)
13:27 smls It's nice to be able to cache compound value types like that in a Set
13:27 masak <noa> *happy gurgle*
13:28 lizmat smls: yup, that's the idea  :-)
13:28 pmurias joined #perl6
13:28 smls lizmat: Any reason why List doesn't do that too?
13:28 smls Like pre-GLR Parcel did
13:28 smls I guess the infinite/lazy stuff would make it difficult?
13:28 jnthn smls: I think there was one, but I forgot it :)
13:28 jnthn I know it came up before
13:28 jnthn Quite possibly that, yes
13:29 jnthn The key thing about type objects is they have the same type as their instances
13:29 lizmat well, for one, it would need to reify until something is found that is a container, or not a value type
13:30 jnthn Which could mean reifying something infinite
13:30 lizmat and we cannot really easily determine if something is a value type
13:30 lizmat from the .WHICH value, that is
13:30 jnthn Also then Array would have to override it to do...what Any does
13:30 jnthn Which is liskovly very dubious
13:31 lizmat well, one could argue that List should be a subclass of Array instead of the other way around  :-)
13:32 smls But you can't use List anywhere you can use Array.
13:32 smls e.g. in &push
13:33 jnthn Inheritance kinda sucks ;)
13:33 lizmat sometimes I wonder whether we need inheritance at all, it's so 1970's  :-)
13:34 jnthn Need? No, but being too counter-cultural doesn't always work out so well for adoption.
13:36 jnthn We did at least avoid having an equivalent of Java/C#'s protected scoping though :)
13:36 lizmat :-)
13:36 jnthn Or generally having anything else that privileges being a subclass.
13:38 rindolf masak: who is Noa?
13:38 Ven the son, I'd say
13:38 lizmat masak's first fork ?
13:38 lizmat :-)
13:38 hankache anyone tried this http://madcapjake.github.io/2015/perl6-file-icons/ ?
13:41 jnthn t\04-nativecall\15-rw-args.t       (Wstat: 0 Tests: 12 Failed: 0) TODO passed:   7
13:41 jnthn ooh :)
13:44 masak rindolf: the clue is that most of the things I say on this channel are more coherent than "qs" and "tfg vc" ;)
13:44 masak (not all things, but most things)
13:45 rindolf masak: pardon?
13:46 rindolf masak: what if your son types /exec rm -fr ~ ? ;-)
13:47 huf apparently he's at the age where he's indistinguishable from a cat... :D
13:48 zakharyas joined #perl6
13:48 rindolf Is Noa the local equivalent of "Noah"?
13:48 dalek rakudo/nom: ee63388 | lizmat++ | src/core/Exception.pm:
13:48 dalek rakudo/nom: Initialize P6EX HLL symbol directly
13:48 dalek rakudo/nom:
13:48 dalek rakudo/nom: Seems to shave off 1 msec from bare startup
13:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee63388de2
13:49 rindolf There's also https://en.wikipedia.org/wiki/Noa_%28name%29
13:51 dalek rakudo/nom: c825e5b | lizmat++ | src/core/Temporal.pm:
13:51 dalek rakudo/nom: Fix another warning during optimization of settings
13:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c825e5bfe7
13:52 lizmat and with that, the energy gives out again  :-(
13:52 lizmat nap&
13:54 zjmarlow_ joined #perl6
13:57 Actualeyes joined #perl6
13:58 uruwi joined #perl6
13:58 lucasb most objects have a sensible default value for .new; only Complex.new and Date.new don't have. seems arbitrary... Can this be changed?
13:58 Juerd m: Date.new.say
13:58 camelia rakudo-moar 2a2e9a: OUTPUT«Cannot make a Date object using .new␤  in block <unit> at /tmp/og534IucK4:1␤␤Actually thrown at:␤  in block <unit> at /tmp/og534IucK4:1␤␤»
13:59 Juerd That's better than it was before, i.e. christmas.
13:59 Juerd lucasb: What sensible default would you suggest for Complex?
13:59 lucasb Juerd: yes, I agree this error is better than a christmas date
13:59 lucasb Complex.new => 0+0i
13:59 lucasb Date.new => Date.today
13:59 rurban joined #perl6
13:59 Juerd m: Int.new.say
13:59 camelia rakudo-moar 2a2e9a: OUTPUT«0␤»
13:59 Juerd I guess it would make sense.
14:00 masak rindolf: while theoretically possible that Noa will carry out an arbitrary code execution at this point... I'm not holding my breath :)
14:00 Juerd I'm not sure about Date.today, though. I've always thought it was a bit weird that a .new is time (well, date) dependent in Javascript
14:00 dalek modules.perl6.org: dd09994 | (Zoffix Znet)++ | README.md:
14:00 dalek modules.perl6.org: Mention commit triggered full rebuild
14:00 dalek modules.perl6.org:
14:00 dalek modules.perl6.org: Since we cache some data, some commits would require refreshing those caches. This can be accomplished by including [REBUILD] in the title of the commit
14:00 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/dd09994d61
14:00 Juerd Date.today is extremely clear, everybody can guess what it means.
14:00 Juerd But Date.new isn't so obvious
14:00 rindolf masak: heh, heh.
14:01 Juerd m: DateTime.new.say
14:01 camelia rakudo-moar 2a2e9a: OUTPUT«Required named parameter 'year' is missing for DateTime.new()␤  in block <unit> at /tmp/jRHrlhiufn:1␤␤Actually thrown at:␤  in block <unit> at /tmp/jRHrlhiufn:1␤␤»
14:01 masak rindolf: we considered having an "h" in the name, but I went with the simpler spelling. the origin is still the Hebrew "Noach"
14:01 Juerd m: Instant.new.say
14:01 camelia rakudo-moar 2a2e9a: OUTPUT«Cannot make a Instant object using .new␤  in block <unit> at /tmp/FF9DexwWWB:1␤␤»
14:01 rindolf masak: OK.
14:01 Juerd At least it's consistent.
14:01 Juerd I agree about Complex.new though!
14:02 lucasb Juerd: ok, thanks for commenting
14:02 zjmarlow_ joined #perl6
14:04 smls Date.today is much more clear than than Date.new, and just 2 more letters to type.
14:04 smls So Date.new being disallowed makes sense to me.
14:05 Juerd I guess "new Date" returning some kind of today-ish value stems from the fact that many languages only have the 'new' constructor.
14:07 smls btw. I think the date and time classes in Perl 6 are really nice, in general.
14:07 Juerd Agreed
14:07 smls kept simple (non timezone-related over-engineering), but useful
14:07 smls s/non/no/
14:08 Juerd I was wondering, though. Instant + Instant being disallowed makes it harder to create an average of Instants. But that may be a completely contrived use case because I can't think of when you'd actually need *that* instead of an average of durations.
14:09 nine run_alt problem is already in commit 82f1062825a3343c9d9bc074d602f42a4911a6f3
14:09 Juerd m: say [+] now
14:09 camelia rakudo-moar 2a2e9a: OUTPUT«Instant:1450447804.583077␤»
14:09 Juerd m: say [+] now, now
14:09 camelia rakudo-moar 2a2e9a: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match:␤:(Instant:D $a, Real:D $b)␤:(Real:D $a, Instant:D $b)␤  in block <unit> at /tmp/zmLgSuQeyj:1␤␤»
14:09 Juerd The error message should perhaps be more specific
14:10 dalek modules.perl6.org: 5ea5d5d | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder (3 files):
14:10 dalek modules.perl6.org: [REBUILD] Honor FULL_REBUILD env var for commit-triggered cache invalidation
14:10 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/5ea5d5de0d
14:10 Juerd But that'd mean having a candidate just for the error message. Perhaps not a great idea.
14:11 andreoss joined #perl6
14:11 smls m: my ($a, $b) = now, now + 1000;  my $c = $a + ($b - $a)/2;  say .DateTime for $a, $c, $b
14:11 camelia rakudo-moar c825e5: OUTPUT«2015-12-18T14:11:42.274715Z␤2015-12-18T​14:20:02.275837Z␤2015-12-18T14:28:22.276958Z␤»
14:12 Juerd Heh
14:14 dalek modules.perl6.org: 6f46411 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Di​st/PostProcessor/TravisCI.pm:
14:14 dalek modules.perl6.org: unless is the root of all evil
14:14 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/6f46411a1b
14:14 * jnthn tends to dislike candidates just for error reporting, since they break using introspection find out "can I do this"
14:15 eyck joined #perl6
14:16 Juerd jnthn: We clearly need secret candidates ;)
14:16 Juerd Let's build a language full of easter eggs
14:16 smls "is error" routine trait?
14:16 smls Hm, but can traits be applied to a single candidate?
14:17 adhoc joined #perl6
14:17 eyck joined #perl6
14:17 Ven if "is error" trait becomes a thing, we could probably deprecate hidden-from-USAGE I made moritz++ add for my advent last year :-)
14:18 Ven fwiw, "is error" trait reminds me of c++-style "= delete;". could be useful to disallow some special cases, i.e. multi foo(Str() $a){}; multi foo(Int) is error {}; # anything that converts to Str *EXCEPT* Int
14:19 jnthn smls: traits always apply to the single candidate unless they try to do otherwise
14:19 smls ok
14:22 smls On the topic of routine traits, I implemented an "is arrayfunction" trait for fun: https://www.reddit.com/r/dailyprogram​mer/comments/3vswuc/20151207_challeng​e_244_intermediate_turn_any/cxrw79e
14:22 smls in case anyone is inetrested
14:23 robertle how do i get the "xmas rt list"? is there a special tag/status/title string?
14:23 smls lets you use Perl 6 more like an array language (APL / J / MatLab ...)
14:23 Ven smls++ # embracing our APL and J overlords :D
14:24 Ven smls: FWIW, can you force the dimension, like " in J and [] in APL?
14:25 pierre-vigier joined #perl6
14:25 smls Ven: I don't actually speak J or APL. I just followed the task description to implement that specific thing (automatically generalizing functions for higher-dimension array arguments)... ;)
14:25 smls so, probably not
14:26 Ven smls: ah, okay :). Well, maybe give it a (small) go someday, it's a lot of fun
14:26 Skarsnik hm is that normal? t/01-sanity/55-use-trace.t ........... Dubious, test returned 1 (wstat 256, 0x100)
14:26 lucasb robertle: is this the you are looking for? https://rt.perl.org/Public/​Bug/Display.html?id=123766
14:28 robertle absolutely! I thought there would be a tag on the individual bugs rather than a meta, but couldn't find it... thanks
14:31 * grondilu once thought a J slang would be cool
14:32 nige1 joined #perl6
14:35 smls Ven: Yeah, before doing that challenge I had always put off J as "a silly language for winning golf competitions", but the whole model behind it seems pretty powerful, and useful for certain kinds of tasks.
14:35 pmurias Juerd: re Date.new, I think JavaScript is the biggest reason why people expect Date.new to return today
14:36 Ven pmurias: ruby too
14:36 Skarsnik what. why 'use NativeCall :test;' trigger a Useless use of ":test" in sink context (line 3)
14:36 Ven smls: I believe we have a J-er here... I'm not sure who that was :). Anyway, allows you to write cool programs, like ([`({.,([:":#-2:),{:)@.(#>3:)) 'smls'
14:38 Juerd pmurias: Possibly
14:38 stmuk I think the GSR is still giving false positives I saw one earlier but couldn't easily reproduce
14:38 Skarsnik Date.new could be epoc or something silly like this
14:39 andreoss masak: 'else if' should be done in a way that 'else' might be followed by either block or another Q::Statement::If. But the whole Q::Statement::If might contain several 'else if' itself (much like 'elsif'). Wouldn't the later be better for performance?
14:40 Juerd Skarsnik: There are too many epochs to choose from
14:40 Skarsnik Yes but today for me is really weird
14:40 Skarsnik it's not really a 'zero' date
14:40 Skarsnik why not the date the process was started? x)
14:40 Juerd It is if yesterday is -1
14:41 Actualeyes joined #perl6
14:41 Juerd Skarsnik: Because we already have a perfectly composed way to say that: INIT now
14:41 dalek modules.perl6.org: 41570c7 | (Zoffix Znet)++ | / (2 files):
14:41 dalek modules.perl6.org: Fixes #44 Race Condition with Travis Build Info
14:41 dalek modules.perl6.org:
14:41 dalek modules.perl6.org: We"ll simply continue fetching travis info for 24hrs after the last commit to the repo. The 24hr period gives enough time for both Travis status to update for dists whose travis runs forever and for our builder to run the build cycle (which will take forever when we"ll get more dists).
14:41 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/41570c7928
14:41 raiph joined #perl6
14:42 * Juerd notices 'koalatee' on modules and lols
14:43 dalek doc: dc670e3 | (Zoffix Znet)++ | doc/Language/classtut.pod:
14:43 dalek doc: Fixes #249 incorrect variable name
14:43 dalek doc: review: https://github.com/perl6/doc/commit/dc670e3ed4
14:45 sammers joined #perl6
14:46 Skarsnik why 007 get 80% and everything else 100% x)
14:46 cdg joined #perl6
14:46 nine It very much appears like the run_alt problem has not been in commit 87288285f6f398ec7cba0900312ced4b580d79ed (Sat Nov 14)
14:47 Juerd Skarsnik: Yeah, my MQTT::Client has 80% too and I'd like to talk to the person responsible for this!!11
14:47 Juerd Oh, never mind. I forgot I don't really care about kwalitee, so I probably shouldn't care about koalatee either. :)
14:47 ZoffixW joined #perl6
14:48 nine Do we know of modules besides Text::CSV and HTTP::UserAgent that expose the run_alt problem?
14:48 Juerd Ah, speaki of the devil!
14:48 Juerd s/speaki/speak/
14:48 skids joined #perl6
14:48 Juerd Hi ZoffixW
14:49 administrator joined #perl6
14:50 ZoffixW Juerd, yo
14:51 Juerd ZoffixW: http://juerd.nl/i/85f6f9110​ca5130504def2ac1d75c8fe.png :)
14:51 stmuk nine: also https://rt.perl.org/Ticket/Display.html?id=126832
14:53 ZoffixW Skarsnik, the dump tells me it's missing a readme file, which might be a bug somewhere, 'cause the file is there
14:53 ZoffixW I plan to add detailed Koalatee failures page on the weekend
14:55 ZoffixW Juerd, same reason as above, I presume
14:55 patrickz joined #perl6
14:55 Juerd ZoffixW: I haz README.md
14:56 ZoffixW Yeah. It's a bug
14:56 Juerd ZoffixW: It's okay though, I'll just watch the failures page when it's there :)
14:56 ZoffixW I'm surprise tests didn't catch it :(
14:56 ZoffixW oh, god, this is hilarious
14:57 ZoffixW Instead of "blob" I typed "blog" in the line that looks for readmees :)
14:57 nine commit 4c07a1c0809f654db12d9835fb43a8b45e35d50e (Nov 18) seems to be fine still
15:01 dalek nqp/js-cps: c762f2a | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
15:01 dalek nqp/js-cps: [js] for op works in CPS mode
15:01 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/c762f2a6e0
15:01 dalek nqp/js-cps: 14b8a63 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
15:01 dalek nqp/js-cps: [js] Hack to make nqp::istype([], NQPArray) work.
15:01 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/14b8a63bf5
15:01 dalek nqp/js-cps: e6f3bc6 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
15:01 dalek nqp/js-cps: [js] Fix CPS bug.
15:01 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/e6f3bc6ec6
15:01 pmurias the gather/take example from t/moar/01-continuations.t test works :)
15:02 jnthn pmurias: nice :)
15:03 regreg joined #perl6
15:04 rjbs joined #perl6
15:05 Ven pmurias++
15:05 nine With commit e19f2eba0ead3 from Nov 21 Text::CSV still passes its tests while one test in HTTP::UserAgent shows the run_alt problem
15:09 dalek nqp: 7818504 | jnthn++ | tools/build/MOAR_REVISION:
15:09 dalek nqp: Bump MOAR_REVISION for unsigned bits.
15:09 dalek nqp: review: https://github.com/perl6/nqp/commit/7818504c58
15:09 dalek nqp: a31a3d0 | jnthn++ | src/vm/moar/QAST/QAST (2 files):
15:09 dalek nqp: Scatter unsigned int handling about.
15:09 dalek nqp:
15:09 dalek nqp: This probably doesn't cover everything, but it's a significant step
15:09 dalek nqp: forward from before, where we essentially ignored it entirely for
15:09 dalek nqp: locals and lexicals.
15:09 dalek nqp: review: https://github.com/perl6/nqp/commit/a31a3d0cf9
15:12 dalek rakudo/nom: c040a07 | jnthn++ | / (3 files):
15:12 dalek rakudo/nom: Improve unsigned int support.
15:12 dalek rakudo/nom:
15:12 dalek rakudo/nom: We pay attention to unsignedness in lexicals now, or at least make a
15:12 dalek rakudo/nom: far better job of it than we used to.
15:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c040a076e6
15:12 dalek rakudo/nom: 48f4c14 | jnthn++ | t/04-nativecall/15-rw-args.t:
15:12 dalek rakudo/nom: Untodo an unsigned int test.
15:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48f4c14d37
15:12 timotimo o/
15:15 Ven o/ timotimo
15:18 Ven jnthn: that'll have to be taught to other backends as well, right?
15:18 grondilu does that mean that arithmetics in uint32 will be modulo 2**32?  That could be useful for the Digest library.
15:18 jnthn Yeah
15:19 grondilu nice
15:19 jnthn Well]
15:19 jnthn We compute at full width
15:19 jnthn It's only the storage that is sized
15:20 timotimo Ven: why does it say "int8" in your advent post where you really mean int64?
15:20 Ven timotimo: I probably started with int8 :)
15:20 dalek roast: 08952f6 | jnthn++ | S02-types/native.t:
15:20 dalek roast: Tests for RT #124294.
15:20 dalek roast: review: https://github.com/perl6/roast/commit/08952f65f9
15:20 Ven timotimo++ # checking
15:21 Ven timotimo: If you don't want such silly mistakes in tomorrow's articles, please proof-read me: https://perl6advent.wordpress.com/?p=​4508&amp;preview=true&amp;iframe=true
15:21 Ven timotimo: (updated)
15:21 ZoffixW m: my int8 $x = 42; say $x
15:21 camelia rakudo-moar c825e5: OUTPUT«42␤»
15:21 ZoffixW m: my int3 $x = 42; say $x
15:21 camelia rakudo-moar c825e5: OUTPUT«5===SORRY!5===␤Type 'int3' is not declared. Did you mean any of these?␤    int32␤    int␤    Int␤    int8␤␤at /tmp/fK8IWEa1V6:1␤------> 3my int37⏏5 $x = 42; say $x␤Malformed my␤at /tmp/fK8IWEa1V6:1␤------> 3my7⏏5 int3 $…»
15:21 ZoffixW m: my int4 $x = 42; say $x
15:21 camelia rakudo-moar c825e5: OUTPUT«5===SORRY!5===␤Type 'int4' is not declared. Did you mean any of these?␤    int␤    Int␤    int8␤    int64␤␤at /tmp/8KjyQc05Gq:1␤------> 3my int47⏏5 $x = 42; say $x␤Malformed my␤at /tmp/8KjyQc05Gq:1␤------> 3my7⏏5 int4 $…»
15:22 jnthn ZoffixW: Those would be sub-byte :)
15:22 jnthn ZoffixW: Some day we'll do 'em, but not for now.
15:22 administrator joined #perl6
15:22 jnthn (They have consequences in a whole load of places)
15:22 ZoffixW Ah, right, these are bits
15:23 ZoffixW m: my int256 $x = 42; say $x
15:23 camelia rakudo-moar c825e5: OUTPUT«5===SORRY!5===␤Type 'int256' is not declared. Did you mean 'int16'?␤at /tmp/Q52hvXa8xu:1␤------> 3my int2567⏏5 $x = 42; say $x␤Malformed my␤at /tmp/Q52hvXa8xu:1␤------> 3my7⏏5 int256 $x = 42; say $x␤␤»
15:23 jnthn heh, you have int64, int32, int16, and int8 :)
15:23 jnthn and uint32, uint16, etc.
15:23 ZoffixW *insert "I don't know what I'm doing" meme*
15:24 jnthn http://i0.kym-cdn.com/photos/ima​ges/newsfeed/000/234/765/b7e.jpg
15:24 ZoffixW Thanks :D
15:24 zjmarlow_ joined #perl6
15:24 Ven well, you can use `int1 @a[4]` :P
15:24 jnthn Ven: Not yet you can't :)
15:25 jnthn But yeah, bit arrays will be cute once we have 'em :)
15:25 dalek modules.perl6.org: 34a8002 | (Zoffix Znet)++ | / (3 files):
15:25 dalek modules.perl6.org: [REBUILD] Fix incorrect detection of has_readme metric
15:25 dalek modules.perl6.org:
15:25 dalek modules.perl6.org: Skarsnik++ for noticing the issue
15:25 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/34a8002edb
15:27 pmurias_ joined #perl6
15:28 dalek modules.perl6.org: cd10dd6 | (Zoffix Znet)++ | t/02-db-builder/02-github-sou​rce-and-source-base-class.t:
15:28 dalek modules.perl6.org: Remove spurious pod markers
15:28 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/cd10dd61af
15:31 thundergnat joined #perl6
15:32 Ven aw jnthn :(
15:32 Ven well, there's a lot of time anyway. and today's post is published already :P
15:32 sammers joined #perl6
15:33 khw joined #perl6
15:35 andreoss masak: shouldn't we use Q::Literal::None instead of Val::None?
15:35 thundergnat Is there some sekret setting to make the travis status update on the modules page?
15:35 nine According to git bisect the run_alt problem appeared with commit ae08091a8903442e126f4baa4ae426ec13a77545 which is totally bogus. This confirms my suspision that it has been with us for quite a long while but only surfaced recently.
15:36 thundergnat I (thought) I set up travis for Sort-Naturally 2 weeks ago but it still shows up as "unknown" in the listing.
15:36 thundergnat IF I click on the unknown block, it shows that travis compiled ok...
15:37 ZoffixW thundergnat, I believe that's exactly what I fixed an hour ago :) https://github.com/perl6/modules.perl6.org/co​mmit/41570c792838b9c092027e27297fb98cc2d4e1e3
15:37 ZoffixW thundergnat, it should become updated the next time DB rebuilds in ~0–2 hours
15:37 thundergnat Whoa! that was fast! :)
15:37 thundergnat Bug fixes before I request them
15:38 ZoffixW :)
15:39 thundergnat ZoffixW++ :-) (and everyone else working on Perl6)++
15:40 neuhaus joined #perl6
15:40 neuhaus Is there a wiki software written in perl6 that is ready to use?
15:40 ZoffixW neuhaus, I see one result on the modules.perl6.org , but I don't know how "ready to use" it is: http://modules.perl6.org/#q=wiki
15:41 neuhaus yeah I saw that one
15:41 neuhaus but I figured it's just a wiki engine (?)
15:42 ZoffixW neuhaus, then I doubt there's an actual "wiki software," seeing as we're having our first stable release a week in the future :)
15:42 ZoffixW Hasn't been built yet :)
15:45 pmurias there use to be a Perl 6 wiki called November ages ago
15:45 ZoffixW Yeah, that's the 1 search result showing up
15:48 jdv79 whatsup with hack?
15:48 rindolf joined #perl6
15:54 zjmarlow_ joined #perl6
16:04 neuhaus left #perl6
16:04 nige1 joined #perl6
16:04 xfix joined #perl6
16:06 TimToady lizmat: btw, you can also fix that by saying "Nil while ..."
16:07 TimToady in fact, I had it fixed that way last night but forgot to check it in, so we collided :)
16:07 _nadim joined #perl6
16:07 TimToady and on the other one I just deleted the 0
16:07 TimToady but your fixes are fine too
16:08 n0tjack joined #perl6
16:09 DrParis joined #perl6
16:10 jnthn o/ TimToady
16:11 TimToady m: f(); sub f() { say callframe().line;␤␤␤␤sub foo { 42 } }
16:11 camelia rakudo-moar 48f4c1: OUTPUT«5␤»
16:11 TimToady m: f(); sub f() { say callframe().line;␤␤sub foo { 42 } }
16:11 camelia rakudo-moar 48f4c1: OUTPUT«3␤»
16:11 Ven joined #perl6
16:12 grondilu m: say my uint32 $ = 2**32 + 1;
16:12 camelia rakudo-moar 48f4c1: OUTPUT«1␤»
16:12 TimToady here's a kind of minimal test case for the lines thing
16:12 TimToady the presence of a block later in the the list clobbers the earlier callframe and points it at the later block
16:13 TimToady so your line number there depends on how many newlines are between the callframe call and the block
16:13 TimToady m: f(); sub f() { say callframe().line;␤␤␤␤{ 42 } }
16:13 camelia rakudo-moar 48f4c1: OUTPUT«5␤»
16:13 TimToady and it's pretty much any block
16:13 TimToady m: f(); sub f() { say callframe().line;␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤​␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤{ 42 } }
16:13 camelia rakudo-moar 48f4c1: OUTPUT«49␤»
16:13 RabidGravy joined #perl6
16:14 dalek rakudo/nom: c31190e | jnthn++ | src/Perl6/ (2 files):
16:14 dalek rakudo/nom: Make sure compose-time errors get line/file.
16:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c31190e8ea
16:14 TimToady so I daresay it's quite likely something I did :)
16:18 TimToady maybe I should learn how to bisect one of these years...
16:19 Ven .oO( You're never old enough for Git )
16:19 virtualsue joined #perl6
16:21 TimToady star-m: f(); sub f() { say callframe().line;␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤​␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤{ 42 } }
16:21 camelia star-m 2015.09: OUTPUT«1␤»
16:21 TimToady well, there's a data point :)
16:23 dalek roast: 5a0c386 | jnthn++ | S14-roles/composition.t:
16:23 dalek roast: Some tests on roles + handles.
16:23 dalek roast:
16:23 dalek roast: Covers RT #64766, which was filed long ago and had somewhat bogus
16:23 dalek roast: expectations. We should at least test how things are meant to work,
16:23 dalek roast: though.
16:23 dalek roast: review: https://github.com/perl6/roast/commit/5a0c386d68
16:23 _nadim joined #perl6
16:24 zjmarlow_ joined #perl6
16:27 ZoffixW joined #perl6
16:27 pat_js joined #perl6
16:33 ZoffixW This is weird... int64 array takes less space than int32 array? https://gist.github.com/zoff​ixznet/22a3979981c1765d9657
16:33 ZoffixW It's a Linux b-webdev-dt 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux
16:33 jdv79 is updatelist.pl used to gen projects.json?
16:35 ZoffixW And it actually uses 3705032704 for plain' "int" too
16:36 virtualsue_ joined #perl6
16:37 jnthn ZoffixW: Weird. If I give it an amount it *can* allocate, and look at the memory use, then it's much less for the int32
16:37 vytas shouldn't .^methods include WHAT and WHICH ?
16:37 ZoffixW m: 3705032704 / 8
16:37 camelia rakudo-moar c31190: OUTPUT«WARNINGS for /tmp/Mfr5HW7OPu:␤Useless use of "/" in expression "3705032704 / 8" in sink context (line 1)␤»
16:37 ZoffixW m: say 3705032704 / 8
16:37 camelia rakudo-moar c31190: OUTPUT«463129088␤»
16:37 jnthn vytas: No, they're not methods
16:37 jnthn Well, WHICH actually is I guess
16:37 jnthn WHAT isn't
16:37 jnthn Also, by default we don't show methods in Cool/Any/Mu
16:37 vytas sorry which is there
16:37 jnthn use :all to see those
16:38 MadcapJake joined #perl6
16:38 jnthn I think .WHAT and .WHERE and .HOW aren't methods though
16:38 ZoffixW jnthn, doesn't happen on camelia's box:
16:38 ZoffixW m: my int64 @foo[10000;100000]
16:38 camelia rakudo-moar c31190: OUTPUT«Memory allocation failed; could not allocate 8000000000 bytes␤»
16:38 ZoffixW m: my int32 @foo[10000;100000]
16:38 camelia rakudo-moar c31190: OUTPUT«Memory allocation failed; could not allocate 4000000000 bytes␤»
16:40 jnthn I suspect the error reporting is off
16:40 jnthn Or something like that
16:41 zakharyas joined #perl6
16:41 b2gills m: subset Record of Positional where :(Int,Str); for ((5,'s'),[5,'s'],<5 5>,<5 5 5>) { say $_ ~~ Record }; my Record @a; @a.push([5,'s'])
16:41 camelia rakudo-moar c31190: OUTPUT«True␤True␤True␤False␤»
16:41 dj_goku on osx I don't get those failures that ZoffixW is getting. :D
16:41 ZoffixW dj_goku, you just have more RAM. Use larger indeces
16:42 jdv79 RabidGravy: your meta tester thing could use some more detailed field validating
16:42 jdv79 like flagging a name value of Foo-Bar instead of Foo::Bar
16:43 jdv79 and v1.2 instead of 1.2 for version
16:43 CQ joined #perl6
16:43 ZoffixW .tell Ven Ven++ good Advent post... After years of hearing the term I now know that REPL is not PERL spelt weirdly to name the weird code eval thing :P
16:43 yoleaux ZoffixW: I'll pass your message to Ven.
16:43 dj_goku lol
16:43 dj_goku (nessus_two)johnny:corona-deploy jonathanotsuka$ perl6 -e 'my int32 @foo[100000000000]'
16:43 dj_goku Killed: 9
16:43 ZoffixW heh
16:43 RabidGravy M
16:44 dj_goku I have 16GB of memory
16:44 ZoffixW dj_goku, right, your OS kills the script before it has a chance to complain that it didn't get enough RAM
16:44 JimmyZ m: my multi bar ($) { }; my sub foo () { my $q := bar($q); }; foo();
16:44 camelia rakudo-moar c31190: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZlqZfnBLAG␤Cannot use variable $q in declaration to initialize itself␤at /tmp/ZlqZfnBLAG:1␤------> 3 ($) { }; my sub foo () { my $q := bar($7⏏5q); }; foo();␤    expecting any of:␤        argumen…»
16:45 dj_goku haha yeah, it started eating swap like crazy too.
16:45 RabidGravy jdv79, I'm not sure about the version, but I'd accept a patch that had a ':strict'
16:45 hankache joined #perl6
16:45 JimmyZ m: my int32 @foo[100000000000]
16:45 camelia rakudo-moar c31190: OUTPUT«Memory allocation failed; could not allocate 400000000000 bytes␤»
16:46 dj_goku is there a way to calculated the maximum bytes that could be allocated?
16:46 ZoffixW m: say "{400000000000/1024/1024/1024} jiggabytes"
16:46 hankache MadcapJake are you here?
16:46 camelia rakudo-moar c31190: OUTPUT«372.5290298 jiggabytes␤»
16:46 dj_goku ZoffixW: jiggabytes lol
16:46 MadcapJake yep!
16:46 hankache hello :)
16:47 MadcapJake hi!
16:47 jdv79 so you want the test to only do a cursory test as it does now and dig in on a strictly'ed call?
16:47 hankache i have been trying to install the camelia icon for atom as per your blog post
16:47 hankache and couldn't make it
16:48 jdv79 also, what is unsure about version?
16:48 jdv79 afaik version are always prefixed with a v
16:48 jdv79 is this not true?
16:48 MadcapJake hmm, what issue are you having? is the icon showing as a box?
16:48 hankache can you help me?
16:49 MadcapJake yeah sure
16:49 dwarring joined #perl6
16:50 hankache when i try to add the code to styles.less and save i get the following error: variable @pane-tab-selector is undefined
16:50 ZoffixW m: use Number::Denominate; say denominate 400000000000, :set<info-1024>
16:50 camelia rakudo-moar c31190: OUTPUT«===SORRY!===␤Could not find Number::Denominate in:␤    /home/camelia/.perl6/2015.11-653-gc31190e␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6…»
16:50 hankache it says error compiling stylesheet
16:50 ZoffixW :( locally I get "372 gibibytes, 541 mebibytes, and 744 kibibytes"
16:51 MadcapJake did you `apm install file-icons`?
16:51 RabidGravy jdv79, It currently does "can be parsed as a version" , I'm not sure what does what with the value anyway
16:51 hankache MadcapJake yes
16:51 hankache MadcapJake and default icons are showing (perl 5 python ruby etc.)
16:51 dj_goku does camelia install modules by default?
16:52 hankache MadcapJake i followed the steps listed here: http://madcapjake.github.io/2015/perl6-file-icons/
16:52 MadcapJake what version of atom are you using?
16:52 ZoffixW dj_goku, no, there's a m-star: I think that has Rakudo* installed
16:52 ZoffixW But it should!
16:53 hankache MadcapJake 1.3.0
16:53 ZoffixW It should auto-install a bunch of Community Approved(tm) modules so that when people ask of help for some tasks, we could show the example in here instead of telling them "Use module XYZ"
16:53 dj_goku that would be cool.
16:54 MadcapJake i think i forgot something important in that post x(
16:54 dalek specs: 1903a50 | jnthn++ | S06-routines.pod:
16:54 dalek specs: Bring parameter semantics in line with reality.
16:54 dalek specs:
16:54 dalek specs: Besides being what is implemented, these also allow for more/better
16:54 dalek specs: optimization (we already have optimizations that depend on them; if
16:54 dalek specs: we took the previous semantics, things like spesh would be unable to
16:54 dalek specs: rely supposedly readonly parameters never changing under them due to
16:54 dalek specs: their being aliases).
16:54 dalek specs: review: https://github.com/perl6/specs/commit/1903a509e3
16:54 zjmarlow_ joined #perl6
16:54 hankache oh
16:55 MadcapJake hankache: add these three lines: @import "packages/file-icons/styles/colors"; @import "packages/file-icons/styles/items"; @import "packages/file-icons/styles/icons";
16:56 MadcapJake prior to the selector
16:57 hankache MadcapJake now it says: .octicon-package is undefined
16:58 jdv79 i'm fairly certain a version literal has only one format
16:58 jdv79 who can help with this  in META6.json is a version value of 1.2 valid?  or must it be v1.2?
16:59 jdv79 m: my $ver = v1.2; say $ver.perl
16:59 camelia rakudo-moar c31190: OUTPUT«Version.new('1.2')␤»
16:59 jdv79 m: my $ver = 1.2; say $ver.perl
16:59 camelia rakudo-moar c31190: OUTPUT«1.2␤»
16:59 Skarsnik pretty sure nothing use the version in the file? x)
16:59 jdv79 m: my $ver = 1.2.3; say $ver.perl
16:59 camelia rakudo-moar c31190: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OPs2GxyKFA␤Malformed postfix call␤at /tmp/OPs2GxyKFA:1␤------> 3my $ver = 1.2.7⏏3; say $ver.perl␤»
17:00 jdv79 Skarsnik: does that mean it should be wrong? :)
17:00 jnthn TimToady: How much do you want https://rt.perl.org/Ticket/Display.html?id=78676 dealing with pre-xmas?
17:00 Skarsnik when you find out, add it to Test::META ?x)
17:00 MadcapJake hankache: .octicon-package { content: "\f0c4" }
17:01 MadcapJake that's what I get for naming things like they are named in the package :P thought that was included OOB
17:01 MadcapJake i'm updating my post now, sorry hankache!
17:01 mspo joined #perl6
17:02 hankache MadcapJake ok I was able to save, but icons are showing as a empty square
17:02 MadcapJake hmm
17:03 Begi joined #perl6
17:03 MadcapJake hankache: all of them?
17:03 nine dj_goku: patches welcome ;)
17:04 hankache MadcapJake no worries dear, i like your what you did: perl6-fe and now icons for atom
17:04 hankache MadcapJake original ones are working, just perl6 files are not
17:04 ugexe Version still needs work. zef has a subroutine for cleaning the version string and normalizing it so version can properly be compared, and its not pretty
17:05 lucasb m: /o/
17:05 camelia rakudo-moar c31190: OUTPUT«getlexrelcaller needs a context␤  in block <unit> at /tmp/vYTo2XTzXk:1␤␤»
17:05 Begi2 joined #perl6
17:06 jdv79 ugexe: what specifically do you mean?  The Version class needs fixing or the values in the wild are not valid?
17:06 lucasb lizmat: ^^ Do you think this is related to this commit? https://github.com/rakudo/rakudo/commit/​3c9c4591cf0f666607dd6636ba4a7b258e4fa186
17:06 hoelzro Ulti: thanks for letting me know
17:06 yoleaux 11:30Z <Ulti> hoelzro: I think there is still a little issue around Linenoise and finding its helper lib https://github.com/hoelzro/p6-linenoise/issues/10
17:06 hoelzro has anyone had problems with Linenoise, particularly on OS X?
17:06 administrator joined #perl6
17:07 timotimo yo hoelzro; can you report in #moarvm about the "get stats from malloc" thing you did in the past? i'm interested in putting something like that into the profiler and i forgot what the function was called :)
17:07 mspo m: say 1 … 5
17:07 camelia rakudo-moar c31190: OUTPUT«(1 2 3 4 5)␤»
17:07 ugexe jdv79: Version class needs fixing. for example: `Version.new("v1.0")` gives you `vv1.0`. nor is there a good way to compare 2 version strings (otherwise you are just getting the longer string)
17:08 timotimo ugexe: why isn't version vv1.0 valid?
17:08 timotimo what if my versioning scheme begings with letters?
17:08 ugexe im not saying its not valid
17:08 timotimo va1.0, vb1.0, vc1.0, ... vv1.0 :)
17:08 hoelzro timotimo: sure thing!
17:08 timotimo thanks :)
17:08 timotimo AFK for a bit :)
17:08 vytas in perl6 does it always exist with 1 on error? I am trying to distinguish errors
17:09 ugexe but its not exactly intuitive
17:09 vytas exits*
17:09 nine hoelzro: I changed panda to no longer compile into blib yesterday
17:09 nine probably related
17:09 jnthn vytas: Yes, 1...unless something seriously goes wrong, like SIGSEGV :)
17:09 hoelzro hmm
17:10 hoelzro I just built on Arch, that works fine
17:10 hoelzro and I have to re-test on Windows tomorrow or Sunday
17:10 ugexe if you end up with a "v1.0" you dont know if the string was generated by Version.new or if its the literal string in many cases
17:10 dalek nqp/js-cps: 6a621fa | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
17:10 dalek nqp/js-cps: [js] Avoid generating a CPS/direct version for immediate blocks when it's not needed.
17:10 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/6a621fa38d
17:10 ilmari vytas: or unless you call exit with an epxlicit value, of course
17:11 jdv79 timotimo has a good point.  so that's why versions must begin with v.
17:11 vytas thanks  jnthn++ ilmari++ :) by the way, great talk on GC jnthn.
17:11 hoelzro would someone mind trying out Linenoise on OS X, see if it works?
17:12 jdv79 timotimo: thanks
17:12 MadcapJake hankache: try this: `sed -i "s|/home/jrusso|$HOME|" ~/.atom/stylesheets/camelia/style.css`
17:12 vividsnow joined #perl6
17:13 RabidGravy ugexe, jdv79, I've actually mad a small hack in the META parsing thingy to remove any leading "v" from the parts of the resulting version obect, so "v0.1" abd "0.1" end up the ssame
17:13 * MadcapJake hopes he won't get beatup for posting a sed command ;)
17:14 ugexe RabidGravy: thats what i did as well
17:14 hankache MadcapJake: Working now!!
17:14 hankache MadcapJake thanks a lot
17:14 ugexe having no leading 'v' is the most sane option for a literal string
17:14 MadcapJake hankache: awesome!  I'll update my blog post accordingly.
17:14 hankache MadcapJake++
17:14 MadcapJake hankache: no problem! glad it worked!
17:14 RabidGravy ugexe++ # great minds and all
17:15 hankache MadcapJake yes, i have a fresh installed atom so the steps i did should be the same for anyone new
17:15 jdv79 what?
17:16 MadcapJake hankache: cool, I've been fudging with my stylesheet for at least a year so I'm glad it wasn't something too difficult to replicate
17:16 jdv79 its not a string.  its a version.
17:16 ugexe but somtimes you have to pass the version as a string
17:17 jdv79 and how is it better to use the v-less form?  i guess i'm just not getting it.
17:17 ugexe in those cases you no longer know if the 'v' was added by Version or is part of the literal string
17:18 jdv79 but if there was only one valid form then you do know.  always string the v off.
17:18 mprelude joined #perl6
17:18 jdv79 s/string/strip/
17:19 RabidGravy jdv79, JSON doesn't know anything about Perl versions
17:19 hankache MadcapJake would you consider submitting a PR for inclusion in the original project?
17:19 jdv79 i realize that but why have 2 forms?
17:20 jdv79 so a user has to know in META6.json, for instance, its 1.2.3 but in a use statement its v1.2.3.
17:20 TimToady jnthn: well, it's not like they'll mistake the absence of it for a feature, otoh allowing targeted attributes might reduce the carping about interface consistency; otgh most of the carping on that is outside of constructors anyway, so it's kind of a wash
17:21 MadcapJake hankache: original project?
17:21 RabidGravy jdv79, does putting "1.2.3" in the META file stop the module getting installed now?
17:21 pat_js joined #perl6
17:21 TimToady jnthn: obviously we've survived without it up till now
17:21 hankache MadcapJake file-icons
17:21 TimToady I suspect we have more important fish to fry before xmas
17:22 jdv79 no.  is that the only criteria we should use?
17:22 MadcapJake hankache: oh, all of their file-icons are from font packs.  I think the first step is get a real small-form camelia icon included in font-awesome or devicons
17:23 hankache MadcapJake indeed you're right
17:24 zjmarlow_ joined #perl6
17:24 hankache MadcapJake i am using perl6-fe (great job btw), how do i enable fira-code ligatures?
17:25 ugexe i would point to timotimos example again. what if the version has to be passed as a string more than once? you now dont know if `vvv1.0` is literal string `vvv1.0` or if it needs another `v` prefixed
17:26 MadcapJake hankache: add this to your stylesheet: atom-text-editor { text-rendering: optimizeLegibility; }
17:26 hankache MadcapJake i disabled the original perl syntax highlighter, and perl 6-fe syntax highlighting is working fine but not the fira-code ligatures
17:26 jdv79 couldn't Version.new require and eat a leading v?
17:27 MadcapJake hankache: also to disable ligatures inside strings: atom-text-editor::shadow .string.quoted { -webkit-font-feature-settings: "liga" off, "calt" off; }
17:27 jdv79 otherwise how do i know if v1 is version 1 or version v1?
17:28 ugexe without a leading v `1` is version 1 and `v1` is version v1
17:28 RabidGravy or the version is written in roman
17:28 hankache MadcapJake atom-text-editor { text-rendering: optimizeLegibility; } did not solve it
17:28 ugexe there is no ambiguity then
17:28 jdv79 but literals still start with v
17:29 MadcapJake hankache: are you sure you're using fira code? check the `@` char, it's very distinctive
17:29 jdv79 so why not settle on one form.
17:29 MadcapJake hankache: my font family is "Fira Code" make sure there is a space
17:30 RabidGravy if that's unambiguously what "The version literal for this distribution." means, then that's fine but there doesn't appear to be consensus
17:30 masak .tell andreoss re http://irclog.perlgeek.de/p​erl6/2015-12-18#i_11740200 -- you'd think so, but a Q::Literal::None represents the literal `None` in the source text. we're using Val::None here to say "there's no `else` here at all"
17:30 yoleaux masak: I'll pass your message to andreoss.
17:30 hankache MadcapJake i am not using it, what should i do?
17:31 hankache MadcapJake sorry for the multiple questions
17:31 hankache :(
17:31 MadcapJake use it! :D what OS are you using?
17:31 hankache MadcapJake LinuxMint
17:32 hankache MadcapJake how?
17:32 MadcapJake if you're asking how do you set atom to use a font, go to settings, and under the core settings tab, scroll down to font family
17:32 MadcapJake set it to "Fira Code"
17:33 MadcapJake linuxmint, install is just double click the file then click install (i'm pretty sure they use the same font viewer as Gnome)
17:33 MadcapJake if you're updating to latest Fira Code you'll need to remove the old ones first, `rm /usr/local/share/fonts/FiraCode*`
17:34 jdv79 anyone not ok with requiring Version values to always begin with a v and Version will requiring and stripping it?
17:34 yqt joined #perl6
17:34 jdv79 s/will//
17:36 hoelzro should '/my/file' ~~ :s return the size, or just whether the size is non-zero?
17:36 hankache MadcapJake thanks dear
17:37 MadcapJake hankache: no prob! it's all working then?
17:37 hankache MadcapJake not yet
17:38 hankache MadcapJake can't find the font
17:38 hoelzro also, there's no way of having optional resources in the META file, is there? like a .dylib on OS X, an .so on *nix, etc?
17:38 hankache MadcapJake /usr/local/share/fonts is empty
17:38 MadcapJake hankache: atom can't?
17:38 dalek rakudo/nom: 71dadb8 | TimToady++ | src/Perl6/Actions.nqp:
17:38 dalek rakudo/nom: fix line bug
17:38 dalek rakudo/nom:
17:38 dalek rakudo/nom: This bug resulted from transforming a 'for' into a 'while' without
17:38 dalek rakudo/nom: noticing a secondary use of $_ to set the node.
17:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71dadb8f8e
17:39 MadcapJake hankache: try /usr/share/fonts or ~/.local/share/fonts
17:40 dalek modules.perl6.org: 362c65b | (Zoffix Znet)++ | README.md:
17:40 dalek modules.perl6.org: [REBUILD]
17:40 dalek modules.perl6.org:
17:40 dalek modules.perl6.org: Null commit to trigger db rebuild
17:40 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/362c65be28
17:41 ZoffixW My bash-script-foo only looked at the most recent commit *during build launch* :(
17:41 hankache MadcapJake none of them has FiraCode
17:41 ZoffixW hankache, just get it from https://github.com/tonsky/FiraCode ?
17:45 MadcapJake hankache: dl it from there, then just double click the file and gnome-font-viewer should popup with a big "Install" button
17:45 MadcapJake i'm pretty sure those are the only three font locations (maybe ~/.fonts too?) so if it isn't in there, it hasn't been installed yet
17:46 jdv79 ugexe: so your proposal is that "v1" and v1 mean different things as a version and if someone writes "v1" and but meant v1 that's too bad? :)
17:49 hoelzro alright, Linenoise issue fixed
17:49 hoelzro \o/
17:50 jdv79 can someone point out how my line of reasoning on this is wrong?
17:51 TimToady m: f(); sub f() { say callframe().line;␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤​␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤{ 42 } }
17:51 camelia rakudo-moar 71dadb: OUTPUT«1␤»
17:51 TimToady spectests much cleaner now :)
17:51 TimToady just 4 failing files, the usual suspects
17:52 pierre-vigier joined #perl6
17:52 ZoffixW TimToady++
17:53 TimToady 3 of the 4 are flappers, or a least don't fail when tested individually
17:53 hankache MadcapJake ZoffixW i think the problem is that my desktop is cinammon and not gnome
17:54 TimToady "Sorry 'bout the mess."  —Han Solo
17:54 zjmarlow_ joined #perl6
17:54 jdv79 something is fouling source-url values in projects.json.
17:55 ZoffixW jdv79, fouling up how?
17:55 ZoffixW hankache, "the problem" being what? Just copy the font files to ~/.fonts
17:55 lucasb m: /a/ for <a>
17:55 camelia rakudo-moar 71dadb: OUTPUT«Method '!cursor_start' not found for invocant of class 'Str'␤  in block <unit> at /tmp/V2OoaFuDV2:1␤␤»
17:56 jdv79 the end up with a trailing slash instead of a .git
17:56 ZoffixW jdv79, they're normalized to single format
17:56 jdv79 do you know how that is gend?
17:56 ZoffixW jdv79, what's the original URL?
17:57 hankache gotta run
17:57 hankache be back later
17:57 ZoffixW jdv79, and it's done here: https://github.com/perl6/ecosystem/b​lob/master/server/updatelist.pl#L73
17:58 jdv79 for instance, "source-url" : "https://github.com/andydude/p6-c-parser.git" in META.info -> "source-url": "https:\/\/github.com\/andydude\/p6-c-parser\/" in projects.json
17:58 ZoffixW Right, that's as expected
17:58 ZoffixW We did it because people were using all sorts of URLs in their META, so we normalize them to single format. This way we can be sure they're handled by panda
17:58 jdv79 there are others that are not of that form though
17:59 kyclark joined #perl6
17:59 jdv79 "source-url": "git:\/\/github.com\/raydiak\/pray.git", for instance
17:59 jdv79 huh
17:59 ZoffixW jdv79, Ah, right. We don't use exact same form, but we coerce some urls.. So if the above was missing .git it would be added.
18:00 ZoffixW If you know Perl 6, the sub I linked to above shows what's being done.
18:00 ZoffixW That's done the same on modules.perl6.org parser as well
18:00 jdv79 yeah, i didn't look yet
18:00 ZoffixW s/Perl 6/Perl 5/;
18:00 lucasb I don't like that there is no distinction between regex objects and the match operator. All regexes get "activated" in boolean contexts. Is that really intended?
18:00 kyclark Two questions (at least) on this: http://lpaste.net/147354  Is this the best way to do this? Why that last (True True True) line?
18:00 lucasb m: for <a b c d> { say so rx/a|c/ }
18:00 camelia rakudo-moar 71dadb: OUTPUT«True␤False␤True␤False␤»
18:00 mspo are there some good canonical/idiomatic modules I can study to see how they're organized?
18:00 mspo the few I found on github were all totally different
18:01 xfix lucasb: Yes, if you cast a regex to a boolean, it does a match on $_. A neat shortcut for oneliners.
18:01 jdv79 what's the reasoning behind stripping .git off a https url?
18:02 xfix Because it looks prettier? It works with or without .git anyway.
18:02 ZoffixW jdv79, if you visit a .git URL it gets redirected to a .gitless version
18:03 lucasb xfix: I would have expected that 'so rx/.../' would always return True, because regex objects are always .defined
18:03 ZoffixW jdv79, and part of the "reasoning" for some of the things in that normalization routine is historical too: the options were not being handled by the back-then modules.perl6.org parser, so we normalize to the versions that it did handle
18:03 jdv79 yeah, but that is the repo url
18:03 lucasb this is a little confusing when you want to use regex objects as values and when you want to really match something
18:03 flussence lucasb: Bool::False is also .defined though
18:03 xfix lucasb: Boolean casting and definedness are two diferrent things.
18:04 ZoffixW jdv79, they both work. What's the matter what the extension is?
18:04 xfix Empty string and False are defined too.
18:04 jdv79 its not a big deal - just seems like a pure complication
18:04 xfix If you want to check if a regex is defined, perhaps actually use `.defined`?
18:04 jdv79 now i have to invert that move when i want to git fetch that url
18:05 ZoffixW jdv79, as I've said, part of the reasons for the decisions made by that routine is to preserve the old behaviour where things that didn't match the format, were simply not indexed.
18:05 flussence mspo: all I'll say is none of mine are good examples :)
18:06 mspo https://github.com/xfix/Acme-DSON has a lot of stuff in it
18:06 jdv79 yeah,  i don't know those details and don't have time to dig.
18:06 ZoffixW jdv79, since we didn't know what was using the projects.json we normalize to the format we know works, while allowing a wider range of URLs. In the past, the https://....git URL would simply be not indexed
18:06 xfix Generally speaking, Perl 5 programmer would expect a regular expression a condition to match on $_, and it doesn't appear that this shortcut is dangerous.
18:07 xfix Fun fact: Ruby claims that only nil and false are false values, but you can write `ruby -ne 'puts $_ if /abc/'`
18:07 lucasb xfix, flussence: ok, I don't fully agree. But I'll try to always use $rx.defined when I don't want to match anything
18:07 xfix Also, this shortcut makes oneliners shorter.
18:07 jdv79 ZoffixW: what indexing process are you referring to?
18:07 ZoffixW jdv79, modules.perl6.org
18:07 ZoffixW jdv79, but if you have issues with the way things done, we can certainly change them
18:07 jdv79 huh.  ok.  i don't recall that.
18:07 lucasb xfix: In P5, when I use qr/.../, I don't expect it to match
18:08 xfix That's because in Perl 5, you have to use qr/.../ explicitly.
18:08 TimToady in grep /foo/... you are relying on this behavior
18:09 lucasb ins't rx/.../ explicit?
18:09 Actualeyes left #perl6
18:09 TimToady it's just the same as //, only you can put adverbs
18:10 TimToady both // and rx// are lazy until boolean context
18:10 TimToady this is unlikely to change any time soon
18:11 jdv79 ZoffixW: its ok.  thanks.
18:11 ZoffixW jdv79, git fetch https://github.com/zoffixznet/perl6-Color works for me without .git :/
18:11 xfix In Perl 5, more complex programs using regular expressions in more complex ways had lots of "qr", because "m" is a default (for a good reason, because regular expression objects are truthy, and requirement of explicit matching would be annoying). In Perl 6, default is "qr" (well, "rx"), but in boolean context, it behaves like "m".
18:11 jdv79 oh...  neat.
18:11 xfix Sorry, that explanation was too long.
18:12 lucasb xfix, flussence, TimToady: ok, I'll get used to it. thanks for the comments :)
18:12 kyclark Sorry, but can someone comment on this bit? http://lpaste.net/147354
18:12 kyclark Just curious what that last (True True True) is
18:12 ZoffixW kyclark, MY EYES!!!
18:12 ZoffixW :D
18:12 ZoffixW Just kidding
18:12 xfix There is rarely a reason to check for regex existence, but I believe you can use :exists (for hashes) or .defined (generally).
18:13 ZoffixW kyclark, you're mapping the return value of say, which is True
18:13 kyclark Oh, of course
18:13 ZoffixW \o/
18:14 kyclark I was very surprised that the join in the map worked with both $_ and @$_.  Why is that?
18:14 ZoffixW m: my $x = ('foo'),; say $x, @$x
18:14 camelia rakudo-moar 71dadb: OUTPUT«foo(foo)␤»
18:15 ZoffixW m: (zip [1..*], <Alice Bob Charlie>).map: { say join ": ", ($_, ('foo', ('bar'))) }
18:15 camelia rakudo-moar 71dadb: OUTPUT«1: Alice: foo: bar␤2: Bob: foo: bar␤3: Charlie: foo: bar␤»
18:15 ZoffixW kyclark, join seems to flatten the things to join. That's why
18:16 kyclark m: (zip [1..*], <Alice Bob Charlie>).map: { printf "%5d: %s\n", $_ }
18:16 camelia rakudo-moar 71dadb: OUTPUT«    1: Alice␤    2: Bob␤    3: Charlie␤»
18:16 kyclark So does printf?
18:17 mspo also good examples of using submethod BUILD
18:17 xfix kyclark: Because Perl 6 is not Perl 5. @ is not what you think it is.
18:17 xfix Rather, it's an operator that changes an argument into a list.
18:17 kyclark xfix: do tell.  I'm eager to know.
18:18 ZoffixW m: (zip [1..*], <Alice Bob Charlie>).map: { printf "%5d: %s %s %s\n", ($_, ('foo', ('bar')))  }
18:18 camelia rakudo-moar 71dadb: OUTPUT«    1: Alice foo bar␤    2: Bob foo bar␤    3: Charlie foo bar␤»
18:18 ZoffixW Sure. It makes no sense for it to flatten
18:18 ZoffixW *NOT to flatten
18:18 xfix $, @, %, & are coercion operators.
18:19 xfix They coerce their argument into a type (similar to +, ~, ?).
18:19 xfix +$a coerces $a into a numeric type.
18:19 davercc` joined #perl6
18:20 ZoffixW m: my $x = 42; say $x.WHAT; say @$x.WHAT
18:20 camelia rakudo-moar 71dadb: OUTPUT«(Int)␤(List)␤»
18:21 xfix m: my $set = set "a", "b"; say $set.WHAT, %$set.WHAT;
18:21 camelia rakudo-moar 71dadb: OUTPUT«(Set)(Hash)␤»
18:21 xfix m: my $set = set "a", "b"; say $set, %$set;
18:21 camelia rakudo-moar 71dadb: OUTPUT«set(a, b)a => True, b => True␤»
18:21 richi235 joined #perl6
18:22 ZoffixW m: my $set = set "a", "b"; say $set.WHAT, %$set.WHAT, @$set.WHAT, (+$set).WHAT, (~$set).WHAT, (?$set).WHAT
18:22 camelia rakudo-moar 71dadb: OUTPUT«(Set)(Hash)(List)(Int)(Str)(Bool)␤»
18:23 FROGGS joined #perl6
18:23 dj_goku nine: patches for camelia ?
18:23 ZoffixW m: my $set = set "a", "b";  say ?(~(+@%$set)).WHAT
18:23 camelia rakudo-moar 71dadb: OUTPUT«False␤»
18:23 ZoffixW :(
18:23 ZoffixW m: my $set = set "a", "b";  say (?(~(+@%$set))).WHAT
18:23 camelia rakudo-moar 71dadb: OUTPUT«(Bool)␤»
18:23 kyclark Inside my "map" the join worked on $_ as a list, but this doesn't
18:23 kyclark m: my $x = (<Alice Bob>); say join ': ', $x
18:23 camelia rakudo-moar 71dadb: OUTPUT«Alice Bob␤»
18:23 rindolf Hi all! Happy holidays.
18:24 kyclark m: my $x = (<Alice Bob>); say join ': ', @$x
18:24 camelia rakudo-moar 71dadb: OUTPUT«Alice: Bob␤»
18:24 zjmarlow_ joined #perl6
18:24 ZoffixW kyclark, you were zipping
18:24 ZoffixW m: my $x = zip [1..*], (<Alice Bob>); say join ': ', $x
18:24 camelia rakudo-moar 71dadb: OUTPUT«1 Alice 2 Bob␤»
18:24 ollej joined #perl6
18:25 ZoffixW m: my $x = zip [1..*], (<Alice Bob>); say join ': ', @$x
18:25 camelia rakudo-moar 71dadb: OUTPUT«1: Alice: 2: Bob␤»
18:25 ZoffixW hm
18:25 ZoffixW Well, right, it's not each element but the whole thing
18:25 richi235 Hi, I'm maybe the 100th person asking, but I couldn't find anything on the net. When perl6 will be released this christman :). Will it be american christmas (25.12. morning)  or european (24.12. evening) or will it be 25.12. evening?
18:25 xfix richi235: It was released.
18:25 ZoffixW what
18:25 ZoffixW xfix, huh?
18:26 richi235 you mean the november 28th release?
18:26 ZoffixW richi235, I don't think it will be anything so specific as to match some set hour
18:27 ZoffixW richi235, especially since people doing said release will likely be enjoying the holiday.....
18:27 lucasb I wish it arrives *before* the 25th... at most in the 24th
18:27 dj_goku m: say Date.new('Christmas')
18:27 camelia rakudo-moar 71dadb: OUTPUT«Invalid Date string 'Christmas'; use yyyy-mm-dd instead␤  in block <unit> at /tmp/nNUxuCNt4H:1␤␤»
18:27 dj_goku m: say Date.new()
18:27 camelia rakudo-moar 71dadb: OUTPUT«Cannot make a Date object using .new␤  in block <unit> at /tmp/Ao_1q7cBlS:1␤␤Actually thrown at:␤  in block <unit> at /tmp/Ao_1q7cBlS:1␤␤»
18:27 ZoffixW I wish it arrives after Jan 7
18:28 ZoffixW So we'd have more time to bolt things down
18:28 dj_goku I am excited to play more over vacation starting tomorrow!
18:29 ZoffixW xfix, what did you mean by saying it was released?
18:29 richi235 I wanted to test and play around in the evening after celebrating with my familiy^^
18:29 ZoffixW richi235, you can do so even now :)
18:30 richi235 ZoffixW: so the difference between the november release and the christmas release won't be that big?
18:30 richi235 okay :)
18:30 dj_goku richi235: are you using rakudobrew?
18:31 ZoffixW richi235, oh, between november release... there lots of things that changed already. But you can use rakudobrew to brew the greatest and latest freshly squeezed from the sauce
18:31 dj_goku richi235: I usually re-install moar every morning. :D
18:31 ZoffixW heh
18:31 dj_goku I should probably just setup a cron.
18:31 richi235 dj_goku: nope, until now I just read a lot about perl6 and followed the advent calendar, but i haven't yet installed or tried anything
18:32 richi235 I'm on debian testing, is there a package for rakudobrew ?
18:32 dj_goku richi235: rakudobrew++
18:32 dj_goku richi235: no idea.
18:32 dj_goku https://github.com/tadzik/rakudobrew
18:32 dj_goku richi235: ^^
18:33 ZoffixW richi235, here: http://rakudo.org/how-to-get-rakudo/
18:33 dj_goku rakudobrew build moar && rakudobrew build-panda
18:33 ZoffixW richi235, search for "To install rakudobrew on Linux:"
18:33 andreoss joined #perl6
18:34 dj_goku richi235: http://learnxinyminutes.com/docs/perl6/ and http://perl6intro.com are a few nices references
18:34 ZoffixW m: sub term:<⊂(◉‿◉)つ> {say "join us!"};  ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ; ⊂(◉‿◉)つ;
18:34 camelia rakudo-moar 71dadb: OUTPUT«join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤»
18:35 andreoss what does Q in QAST stand for?
18:35 yoleaux 17:30Z <masak> andreoss: re http://irclog.perlgeek.de/p​erl6/2015-12-18#i_11740200 -- you'd think so, but a Q::Literal::None represents the literal `None` in the source text. we're using Val::None here to say "there's no `else` here at all"
18:35 TimToady it's just 1 more than P
18:35 Begi2 m: my $x = 5; my $y = $x * $x; say $y; #Is there an easieasy way to do X^2 ?
18:35 camelia rakudo-moar 71dadb: OUTPUT«25␤»
18:35 dj_goku hehe
18:35 virtualsue joined #perl6
18:36 TimToady m: say 5²
18:36 camelia rakudo-moar 71dadb: OUTPUT«25␤»
18:36 dj_goku I vaguelly remember what a AST is.
18:36 TimToady m: say 5 ** 2
18:36 camelia rakudo-moar 71dadb: OUTPUT«25␤»
18:36 andreoss masak: ok. Intuitively it feels the opposite
18:36 ZoffixW m: sub postfix:<⊂(◉‿◉)つ>($x) {say $x;$x}; "join us!"⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉​)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ⊂(◉‿◉)つ
18:36 camelia rakudo-moar 71dadb: OUTPUT«join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤join us!␤»
18:36 ZoffixW :D
18:38 tony-o lol
18:38 ZoffixW I see in the future of Perl 6 a module that lets you write programs using nothing but various weird emoticons :D
18:38 ZoffixW call it... lollang
18:39 TimToady :D is a weird emoticon already, so we're partway there
18:39 andreoss masak: is it ok for 'if-else-if'  being a binary tree of Q::Statement::If. or should 'else if' case be handled within one Q::Statement::If?
18:39 richi235 dj_goku: when using, rakudobrew will I get the latest development version or a in-some-way stable release?
18:40 richi235 I'm one of this stable prefering guys^^
18:40 ZoffixW richi235, there's no stable release in existence yet :)
18:40 RabidGravy better answer
18:40 ZoffixW richi235, but you should have a working perl with rakudobrew
18:40 TimToady there is supposed to be one in a week
18:40 smls_ joined #perl6
18:41 richi235 ZoffixW: Ah well, I could have known this
18:41 TimToady but we wouldn't be thinking about releasing in a week if what we have now isn't pretty darn stable most of the time
18:41 * ZoffixW is still a bit confused about lang release vs. rakudo release and what exactly are the deliverables this Christmas
18:42 Slim_ joined #perl6
18:42 richi235 hehe :)
18:42 TimToady 51k tests kind of help with that
18:42 timotimo well, currently we have some wobblyness with pre-compilation in some of our ecosystem modules
18:42 dj_goku richi235: stable is relative.
18:42 timotimo on the other hand, building a rakudo from the last release will give you incompatibility with multiple ecosystem modules that expect the new code already
18:43 nine I need an idea. Currently require "/full/path/to/Module.pm"; will only work if a FileSystem repository is in the repo-chain, i.e. when started with -Ilib or use lib "lib" or something like that. I'd like to fix that, but there doesn't seem to be a good solution.
18:43 richi235 dj_goku: that's true, the rust people labeld their release as stable a few months ago and it really isn't :p
18:43 nine Adding the functionality to Repository::Installation would work, but gives it a second, quite different job.
18:44 nine Adding a new repository type just for dealing with absolute paths seems excessive.
18:44 ZoffixW Given these two options, I'd go with a new repository type :/
18:45 dj_goku richi235: I only have experience with perl5, python, perl6 in that order.
18:45 jdv79 i got a maybe on getting the names cpan6 and pause6.  anyone have objections to trying to get and use those names?
18:45 jdv79 namely, cpan6, pause6, and metacpan6?
18:45 dj_goku .orgs I presume?
18:46 jnthn TimToady: Yeah, plus I can think of a couple of ways of implementing it, and I'm not quite happy with either, and then there's their auto-viv'ing behavior. I think we just properly reserve the syntax and leave it for later.
18:46 jdv79 domains too but just the names
18:46 jnthn TimToady: Will take care of it after nomming the rajma I've been distracting meself making :)
18:46 ZoffixW Well, as a programmer in both P5 and P6, I can right away see that using metacpan6.org and metacpan.org would annoy the hell out of me, simply because I type the first starting characters in the URL to get to the site :/
18:46 TimToady jnthn: found the line# bug
18:47 TimToady m: f(); sub f() { say callframe().line;␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤​␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤{ 42 } }
18:47 camelia rakudo-moar 71dadb: OUTPUT«1␤»
18:47 jdv79 ZoffixW: what about perl6.org? :)
18:47 TimToady and fixed it :)
18:47 ZoffixW jdv79, that'd annoy me too, if only I ever visited perl.org :P
18:47 dj_goku (pause, cpan, metacpan).perl6.org?
18:47 jdv79 dj_goku: just in general - domains, namespaces, etc...
18:48 ZoffixW jdv79, my other concern is web searches. Telling people "find it on CPAN" and they get to P5's CPAN and get confused
18:48 jdv79 which is why saying cpan6 fixes that
18:48 jdv79 similar to perl vs perl6
18:48 ZoffixW jdv79, I'm fine with the names, but I feel they're ridiculously unimaginative :D
18:48 spider-mario joined #perl6
18:48 nine Why differentiate between cpan.perl6.org and metacpan.perl6.org?
18:49 ZoffixW ^^ good point
18:49 ZoffixW The only reason metacpan exists is because we couldn't neatly hack on search.cpan.org
18:49 jnthn TimToady: Yeah, I saw that just now when trying to catch up with the backlog :)
18:49 dj_goku or sorry, I was just saying cname/sub-domains would be find too.
18:49 jnthn TimToady++
18:49 jdv79 i'm not only talking about domains.  what about p5 modules that are p6 cpan specific.  be nice to be able to use CPAN6::
18:50 jdv79 nine: what?  cpan and metacpan are 2 differen things?  in what respect(s) are you referring to?
18:50 ZoffixW jdv79, what's the difference?
18:51 nine jdv79: isn't metacpan6 just a good webinterface to a subdirectory of the storage facility called cpan.org?
18:51 jdv79 cpan proper is an archive of dists.  metacpan is a search portal on that archive.
18:51 kyleha joined #perl6
18:51 mspo cheese.perl6.org
18:52 richi235 rakudobrew build moar is running
18:52 sno joined #perl6
18:52 kyleha Hi folks. I've been absent for about four years. What have I missed?
18:52 richi235 but I think I won't find time the next days to play around :(
18:52 ZoffixW kyleha, they shot Elvis!
18:53 richi235 so thanks for your help guys :)
18:53 dj_goku kyleha: 2 pac is alive and well in area 51
18:53 ZoffixW kyleha, we're finally making a stable release in a week
18:53 nine kyleha: a couple of patches here and there ;)
18:53 ZoffixW heh
18:53 jdv79 my original thinking is since we're trying to piggyback off p5's infra we could use the same names and just append a 6 like perl6 so we can differentiate them and later seperate them
18:54 dj_goku m: say 2 ~ 'pac is alive'
18:54 camelia rakudo-moar 71dadb: OUTPUT«2pac is alive␤»
18:54 dalek rakudo/nom: 6ed069f | (Sylvain Colinet)++ | lib/NativeCall.pm6:
18:54 flussence kyleha: we got real threads! and a VM that doesn't take half an hour to build rakudo on!
18:54 dalek rakudo/nom: Add support for specifing the api/abi version to native (NC) routine
18:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ed069fbf6
18:54 dalek rakudo/nom: 623cee4 | FROGGS++ | lib/NativeCall.pm6:
18:54 dalek rakudo/nom: Merge pull request #639 from Skarsnik/nom
18:54 dalek rakudo/nom:
18:54 dalek rakudo/nom: Add support for specifing the api/abi version to native (NC) routine
18:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/623cee490f
18:54 jdv79 so right now cpan6 is basically cpan with some minor changes but maybe someday cpan6 will be totally divorced from cpan
18:54 jdv79 idk
18:54 kyleha I'm pleased to see some of my code is still in roast.
18:54 zjmarlow_ joined #perl6
18:54 mspo jdv79: what kind of infra do you want?
18:55 jdv79 what p5 enjoys
18:55 kyleha ZoffixW, I thought they were all stable releases.
18:55 yqt joined #perl6
18:55 ZoffixW psch, pause/cpan/metacpan. The capability to upload versioned dists with sanity and provide a nice search interface to them
18:55 jdv79 different names are fine if that's what people are into...
18:55 ZoffixW kyleha, they lied to you! :)
18:55 cdg joined #perl6
18:56 nine ZoffixW: even worse, what would I call this repository that deals only with absolute paths?
18:56 mspo decentralization is the modern way
18:56 ZoffixW I'd vote on different names if I had a choice. I've been hearding pause/cpan/metacpan for years. They feel like moldy bread
18:56 kyleha nine: repository of the sith
18:56 jdv79 does perl6 feel the same?
18:56 jdv79 seems an odd observation
18:56 jdv79 probably just me
18:57 ZoffixW jdv79, it does. I wish it was named something hip and cool and shiny instead
18:57 grondilu so, I try perl6-debug-m, I get "**SORRY** could not find Debugger::UI::CommandLine".  Fine, I install it with panda.  And then:  ===SORRY!===
18:57 grondilu Circular module loading detected involving module 'Debugger::UI::CommandLine'
18:57 dalek rakudo/nom: 41f4adc | ugexe++ | src/core/control.pm:
18:57 dalek rakudo/nom: Fix CLONE-HASH-DECONTAINERIZED(%(:a(Any))
18:57 dalek rakudo/nom:
18:57 dalek rakudo/nom: Removes warning messages for `my %x = :a(Any); CLONE-HASH-DECONTAINERIZED(%x)` which is called anytime `run`, `shell`, or `QX` is used
18:57 dalek rakudo/nom:
18:57 dalek rakudo/nom: `CLONE-HASH-DECONTAINERIZED` is currently only used on `%*ENV` to be passed to `nqp::spawn`, so stringifying `Any` to `Str.new` should be safe
18:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/41f4adc9ca
18:57 dalek rakudo/nom: eca62e6 | lizmat++ | src/core/control.pm:
18:57 dalek rakudo/nom: Merge pull request #640 from ugexe/patch-8
18:57 dalek rakudo/nom:
18:57 dalek rakudo/nom: Fix CLONE-HASH-DECONTAINERIZED(%(:a(Any))
18:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eca62e6e70
18:58 nine grondilu: maybe RAKUDO_MODULE_DEBUG=1 gives some hint at what's going on there. I remember having a quick look but not what the result was
18:58 jdv79 well, i'll move forward with the *6 names until sommething better comes along then
18:58 ZoffixW ^ ugexe does that fix panda's %*ENV warnings?
18:58 lizmat ZoffixW: according to the comments, it does
18:58 richi235 I think I will stay here and read backlog from time to time :)
18:58 ZoffixW Sweet. ugexe++
18:58 nine ugexe++ indeed!
19:00 ZoffixW jdv79, sounds like a plan. Names are quite a bikeshed material :) We need tools. The names they're named are less important :)
19:01 timotimo pupa.
19:01 ranguard joined #perl6
19:01 MadcapJake m: my $a = 1; $a ^= 2; say $a
19:01 jdv79 i was only asking because i was going to start naming things in code.  but things can be renamed.
19:01 camelia rakudo-moar 71dadb: OUTPUT«Memory allocation failed; could not allocate 2210832 bytes␤»
19:01 MadcapJake i think i found a bug :P
19:01 ranguard evening :)
19:02 MadcapJake that just hangs on my computer, indefinitely
19:02 lizmat MadcapJake: please rakuodbug it
19:02 MadcapJake how do i do that?
19:02 ZoffixW MadcapJake, nah, that's just the memory allocation operator. It's meant to work that way! http://images-cdn.9gag.com/photo/11948_700b.jpg
19:02 * lizmat confirms all line number related spectest failures are gone!
19:02 MadcapJake lol ZoffixW
19:03 ZoffixW MadcapJake, go to https://rt.perl.org/ and choose "New ticket in [perl6]" on top right
19:03 lizmat only 3 test-fies failing now
19:03 lizmat *files
19:03 ZoffixW MadcapJake, ah, here: https://github.com/rakudo/rakudo/#reporting-bugs
19:03 jdv79 did hack just disappear?
19:03 kyleha lizmat: Does the spectest mostly use plans with counts, or 'done' at the end? Is one considered better?
19:04 lizmat kyleha: in my book, plan => N is superior
19:04 lizmat as it will also spot not running the right number of tests
19:04 ZoffixW it's also more annoying :)
19:04 jdv79 can anyone start a new ssh session to hack?
19:04 TimToady .oO(tormenting the testers on behalf of the implementors)
19:05 kyleha Any time it's ever told me the number of tests is wrong, I assume the plan is wrong instead.
19:05 ZoffixW But it avoids accidental stuff like I've done today: comment out the entire test file and think my tests are passing: https://github.com/perl6/modules.perl6.org/co​mmit/cd10dd61af5203d2b12d61b763e56b179bc6e465
19:05 ranguard hi, is there a more uptodate consensus on what META6.json should look like other than http://design.perl6.org/S22.html#META6.json ?
19:05 masak I'm quite happy to use `done-testing;` at the end, as the test framework notifies me anyway when a test file doesn't run to completion.
19:05 masak using `done-testin;` means there's one less unnecessary number to update all the time
19:05 masak testing*
19:06 abraxxa joined #perl6
19:06 ZoffixW ranguard, looks fairly up to date to me. We also have a Test::Meta module you can use to see that your META looks sane: http://modules.perl6.org/#q=Test%3A%3AMe
19:06 MadcapJake lizmat, ZoffixW: ok bug submitted via email!
19:07 FROGGS ranguard: looks quite up to date
19:07 ZoffixW MadcapJake, cool. I see it: https://rt.perl.org/Ticket/Display.html?id=126961
19:08 ranguard ZoffixW: so I've been told that the source (e.g. github) url should be in 'support.source' - but that's not mentioned in the spec
19:08 ranguard sorry synopsis
19:08 dalek rakudo/nom: 3b5684f | TimToady++ | src/Perl6/ (2 files):
19:08 dalek rakudo/nom: give hint that Nil is okay for empty loop body
19:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b5684fb9e
19:08 * ranguard goes to look at Test::META
19:09 jdv79 http://design.perl6.org/S22.html#support - its right there, no?
19:09 FROGGS ranguard: it *is* mentioned: source
19:09 FROGGS The URL of the source of this distribution, if any.
19:09 ranguard So https://github.com/jonathanstowe​/Test-META/blob/master/META.info is confusing as it has source-url and support.source
19:09 ranguard Ahh, sorry! ok :)
19:09 FROGGS :o)
19:10 jdv79 that's because Test::Meta covers the spec format (META6.json) and other one (META.info)
19:10 ranguard cool
19:10 flussence source-url is there because some things that parse META files were slow to update when the spec changed
19:10 ZoffixW ranguard, FROGGS well, wait... It says "support" is optional. Does it mean panda will still be able to install without any source-url in it?
19:11 dalek rakudo/nom: 01947c8 | lizmat++ | src/core/Temporal.pm:
19:11 dalek rakudo/nom: Dogfooding Nil as an empty loop body
19:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/01947c80ec
19:11 FROGGS Zoffix: yes, since panda knows the url before it fetches the dist
19:11 ranguard so, to help get a metacpan6 going (which jdv79 is working on) - so I'm generating the META6.json
19:12 ranguard so, to help get a metacpan6 going (which jdv79 is working on) - I'm going to upload modules.perl6.org list to CPAN - so I'm generating the META6.json
19:12 ZoffixW FROGGS, that's a bit shortsighted
19:12 ZoffixW FROGGS, with a mandatory source-url you could host META files anywhere you want to, but now they must be in the root of the dist.
19:12 flussence ZoffixW: panda isn't the only thing that can use META6.json; the core module loader has no need for 'support', for instance
19:13 jdv79 ZoffixW: note tha that for the cpan model that's not an issue since thta url is not used for fetching.
19:14 ZoffixW I spose
19:14 FROGGS Zoffix: I dont see the connection of the source url in a file and the location of that file within its dist
19:15 ZoffixW FROGGS, what do you mean panda has the URL already then?
19:16 FROGGS Zoffix: panda knows the url because of the ecosystem repoistory
19:16 nine flussence: the core module loader doesn't care about the META6.json format anyway.
19:16 ZoffixW FROGGS, but that URL is to a META file.
19:17 flussence nine: it reads the "depends" section of any META6 found in an -I path
19:17 lizmat Copying lib/foo.pir to /Users/liz/Github/panda/.panda-work​/1450466017_1/removeme/lib/foo.pir  ??
19:17 FROGGS Zoffix: ahh, now I know what you mean
19:17 lizmat got that when doing a bootstrap?
19:17 flussence s/depends/provides
19:17 FROGGS lizmat: aye
19:17 lizmat panda still thinking parrot is supported ?
19:17 FROGGS lizmat: that's just a test, no?
19:17 lizmat ah, yes
19:18 lizmat *phew*
19:18 FROGGS lizmat: I guess the file extension does not mean anything there
19:18 lizmat :-)
19:18 FROGGS :o)
19:18 nine flussence: the provides section :)
19:18 ollej left #perl6
19:19 FROGGS Zoffix: okay, then lets say the support.source is mandatory for online repositories
19:19 FROGGS Zoffix: it is not needed if you install the dists from a tarball or so
19:19 lizmat https://gist.github.com/li​zmat/8b7e9d103a6f38696b8a   # nine, warning generated on OS X when installing Inline::Perl5
19:19 ZoffixW or cpan model, as jdv79++ pointed out
19:19 FROGGS so it is only kinda mandatory
19:22 administrator joined #perl6
19:24 nine When exactly did generating backtraces on settings compilation failures start to recurse endlessly?
19:24 zjmarlow_ joined #perl6
19:27 masak nine: I have no idea, but it sounds like a question to which `git bisect` is the answer.
19:29 lizmat hmmm... looks like sink warnings are now breaking Inline::Perl5's tests and thus blocking installation :-(
19:30 lizmat nine: is this in the optimizing or parse stage ?
19:31 andreoss masak: why do we pass block as Q::Block rather than Q::Statement::Block?
19:31 nige1 joined #perl6
19:31 andreoss regarding 007
19:32 masak andreoss: you mean in the `else` part specifically?
19:32 masak [Coke]: so... there was no Rakudo compiler release yesterday...? :/
19:32 andreoss masak: else, as i see it also can be applied to ::While
19:33 nine lizmat: parse
19:33 lizmat ah, I had some infiniloops in oprimizing stage earlier today  :-(
19:33 andreoss *`else`
19:33 lizmat masak: no, did you really expect one ?
19:33 masak andreoss: in the end, it's a matter of modeling/design. the vast majority of Q::Statement::* types don't contain other statements.
19:34 masak lizmat: I... I think I did, given what it says in docs/release_guide.pod
19:34 lizmat well, [Coke] made it very clear that we will release when it's ready  :)
19:34 masak andreoss: the only exception is (the one I'd like us to add) in the `else` part
19:34 lizmat clearly we're not at that stage just yet
19:34 masak lizmat: ok. I missed that bit. thanks.
19:35 * masak only backlogs sporadically these days
19:35 lizmat masak: would you have expected another one for the official 6.c then ?
19:35 andreoss masak: other Q::Statement::* run $.block almost identically with exception of error handling part
19:35 jdv79 its getting really hard to backlog
19:35 jnthn TimToady: Did a spectest run while I dinnered; the line number failures have cleared up nicely here too :)
19:35 masak lizmat: waitwait, Rakudo and the Perl 6 spec are on different release cadences in any case, no?
19:36 lizmat indeed
19:36 masak lizmat: so yes, I think I expected a separate release for 6.c, too.
19:36 lizmat although I would say the language release dates would be a subset of compiler releases
19:36 lucasb joined #perl6
19:36 masak yeah, I can sort of see that.
19:37 lizmat not a possibly empty intersection
19:37 TimToady we probably shouldn't have a language release without an implementation that passes all the tests
19:37 masak I'm dismayed only to the extent that our nice monthly release schedule is being put aside for a "when we are ready" release schedule, which in my experience works less well.
19:37 * flussence predicts that someone, somewhere will get angry that there's no direct Buf->Uni decoding path
19:38 jnthn Practically, since you need an implementation to know the spectests are sensible, we'll probably end up with joint lang/matching impl release dates for the first impl that supports a given lang release.
19:38 masak *nod*
19:38 jnthn masak: We've already given ourselves a hard time limit (Christmas) on the impl release :)
19:38 masak right :)
19:38 jnthn We've even said it's *this* Christmas!
19:38 masak let's have this discussion again in a week, then ;)
19:38 jnthn From Jan we'll be back to our regularly scheduled impl releases :)
19:39 TimToady so...any time before Epiphany, right? :)
19:39 masak or better yet, let's not (because we've released already)
19:39 jnthn And it'll mostly probably be > 6 months before another lang release messes things up for us again. :P
19:40 TimToady we may reserve the right to generalize a few exception tests in a point release
19:40 jnthn *nod*, though I went and ripped out all the X::AdHoc in the test suite already and hope we got no fresh ones in :)
19:41 TimToady we can afford a "bug fix" release of roast as long as there's only one implementation; when we get more, we'll have to negotiate
19:41 TimToady so we could have a v6.c.1, v6.c.2 if we deem it necessary and insufficiently disruptive
19:42 jnthn True. We'll see if we gotta :)
19:42 * TimToady predicts we'll gotta :)
19:42 TimToady or at least wanna :)
19:42 andreoss masak: making it an expeption, i've also asked above, about using a single Q::Statement::If instead of nesting them. we could have $.elsif, which would be an array of xblock.
19:43 masak andreoss: I thought about that.
19:43 masak andreoss: decided not to, for reasons of downstream tools having an easier time with a two-way branching structure than with an N-way branching structure.
19:44 masak ("downstream tools" being macros, linters, formatters, etc)
19:44 MadcapJake could I get some feedback on this issue: https://github.com/MadcapJak​e/language-perl6fe/issues/6
19:45 andreoss masak: on the other hand, we could go futher with that and nest other Statements too
19:45 nine m: BEGIN my $foo = 1; role Foo[$foo] {}; class Bar does Foo[$foo] {};
19:45 camelia rakudo-moar 01947c: OUTPUT«WARNINGS for /tmp/8F759IrFDL:␤Useless use of $foo in sink context (line 1)␤»
19:45 nine TimToady: ^^^
19:45 masak andreoss: yes, if there's sufficient cause for it.
19:46 masak andreoss: in the case of Q::Statement::While, I guess the way I have it in my head is that the while loop structurally contains (an expression plus) a block, not a block *statement*
19:46 jnthn MadcapJake: Are quoted strings over multiple lines handled? Are they an easier problem?
19:47 dalek rakudo/nom: 193bc61 | TimToady++ | src/Perl6/ (2 files):
19:47 dalek rakudo/nom: generalize Nil suggestion to other possibles
19:47 dalek rakudo/nom:
19:47 dalek rakudo/nom: For instance, someone could use:
19:47 dalek rakudo/nom:    Mu for @list
19:47 dalek rakudo/nom:    Cool for @list
19:47 dalek rakudo/nom:    my $sink; $sink for @list
19:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/193bc614ec
19:47 jnthn MadcapJake: As in, is this tricky because < is an operator also?
19:47 TimToady nine: thanks
19:47 MadcapJake jnthn: yes that is it, any time that operator shows up (if i allow multiline quoteword constructs), it will immediately catch as a quoteword instead of a less-than
19:47 andreoss for xs -> x for ys -> y { ... }
19:48 andreoss I will try that
19:48 masak heh :)
19:48 MadcapJake jnthn: because there doesn't seem to be any rule as to what quotewords can contain, just that they are seperated by spaces
19:48 jnthn MadcapJake: Looking at the suggested resolution, could "it's preceded by a known infix" work instead of "it's followed by alphanumeric"?
19:48 masak andreoss: I'm willing to discuss it further, but my initial reaction is that it's too far-reaching with not enough to motivate it...
19:50 MadcapJake jnthn: the rule for operators currently has lower precedence to quoteword constructs, but I even if I switched that around, I'm not sure how I would syntactically make aware that it is an infix rather than a delimiter
19:50 andreoss masak: then we could have a macro to turn for xs -> x, y -> ys into two nested `for`s
19:51 masak andreoss: oh yes -- all is fair if you macro. :)
19:52 MadcapJake jnthn: I don't get the luxury of P6 grammars unfortunately, someday there needs to be a P6 text editor that lets you write syntax highlighters in P6 grammars :)
19:52 lizmat hmmm... t/spec/S17-procasync/many-processes-no-close-stdin.t was just hanging, eating 300% of CPU
19:53 sjn \o
19:53 lizmat shouldn't that test be done for stresstests only ?
19:53 sjn hello #perl6 people \o/
19:53 andreoss masak: consider my PR
19:54 lizmat sjn o/
19:54 * sjn is diving into the wonderful world of asynchrony
19:54 zjmarlow_ joined #perl6
19:54 sjn and parallellism and stuff :)
19:55 sjn are there any examples/patterns out there on how to parallellize some computation on the contents of a lazy list?
19:55 nine sjn: it takes a special kind of madness to find that stuff wonderful ;)
19:56 jnthn MadcapJake: Yeah. I mean, at the most simplistic the Perl 6 parser flips between looking for an infix and looking for a term, so it always knows which one it's after
19:56 MadcapJake jnthn: https://github.com/MadcapJake/language-perl6f​e/blob/master/grammars/perl6fe.cson#L656-L660
19:56 MadcapJake jnthn: all I currently check for is to make sure that the < isn't prefaced by a +, followed by a =, and that (on the same line) a corresponding > is used.  And that has, so far, been robust enough to work.
19:57 lizmat sjn:  @lazy-list>>.stuff ?
19:57 lizmat not sure if that already works, does it jnthn ?
19:58 sjn @lazy-list».stuff.hyper
19:58 sjn ?
19:58 lizmat sjn: honestly, not sure atm
19:59 jnthn @lazy-list.race.map(...)
19:59 MadcapJake jnthn: though it would trip up if someone had a less-than infix followed by a greater-than infix on the same line :P
19:59 jnthn The .race or .hyper needs to come before the operations to parallelize
20:00 jnthn MadcapJake: Hm, yes. :)
20:01 sjn jnthn: ah, your example (slide 36 of 2015-yapcasia-concurrency.pdf) shows it afterwards
20:01 sjn well, that one was with .race
20:02 * sjn assumed it was similar with .hyper
20:02 jnthn .hyper also becomes before
20:02 jnthn You basically switch processing mode
20:02 MadcapJake jnthn: if I really wanted to make it robust, I would separate it out into a begin/end style rule, but then the begin rule would need to rigorously check for *something* :P
20:02 zjmarlow_ joined #perl6
20:03 MadcapJake jnthn: what if I checked for all the cases that you would create a quoteword construct?  Like check for an = sign or somesuch? Would that maybe be more plausible?
20:04 jnthn They can show up pretty much anywhere, is the thing...
20:04 jnthn foo <bar baz>;
20:04 nanis joined #perl6
20:04 dalek perl6-roast-data: 154fa13 | coke++ | / (7 files):
20:04 dalek perl6-roast-data: today (automated commit)
20:04 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/154fa13ea6
20:06 MadcapJake yeah that's true, there's really not an easy answer i think. Maybe what I could do is create a *different* rule for multiline quotewords, like check for a single string on a line? would that cut the mustard?
20:06 nanis Just tried to build from a git clone on Windows 10 with MSVS2013, but got this src\6model\reprs\P6int.c(2) : fatal error C1017: invalid integer constant expression. That's under MoarVM.
20:06 MadcapJake s/single string/single non-quoted word/
20:06 nanis And line 2 is `#if MVM_BOOL`
20:07 jnthn huh, it builds on an ealier MSVC just fine
20:08 nanis Yeah, I am confused.
20:09 nanis I am assuming MVM_BOOL is supposed to be in moar.h, but don't see it.
20:09 jnthn Yeah, it's defined at all for me either
20:09 jnthn FROGGS: Any idea about ^^?
20:09 jnthn Earlier MSVC must just treat "does not exist" as zero or something
20:09 RabidGravy I've been confused for more than half a century, it doesn't require software
20:10 nanis So, try #ifndef?
20:10 RabidGravy well #ifedf
20:11 nanis I meant #ifdef?
20:11 RabidGravy well #ifdef
20:11 FROGGS it is defined in the makefile
20:11 FROGGS #ifdef wont wort
20:11 FROGGS work*
20:11 jnthn FROGGS: It doesn't seem to end up in any headers though?
20:11 nanis RabidGravy: At some point, we were bound to hit on the correct spelling.
20:12 RabidGravy :)
20:12 nanis FROGGS: OK, it is actually in the Makefile: /DMVM_BOOL=_Bool
20:12 FROGGS hmmm
20:12 jnthn Ah
20:12 jnthn We tend to put those things into config.h or so
20:12 FROGGS nanis: so your msvc does not like '#if _Bool'
20:13 nanis FROGGS: Exactly, I just realized.
20:13 FROGGS jnthn: I just cloned the CGOTO flag
20:13 [Coke] Everybody who keeps asking about the actual release date: it's probably going to be christmas actual.
20:14 RabidGravy I always assumed it was :)
20:14 lizmat fine by me  :-)
20:14 lizmat would be an excellent birthday present :-)
20:14 RabidGravy I decided yesterday was a stretch about a week ago ;-)
20:15 nanis That's because VC\include\xkeycheck.h has this ->    #define _Bool EMIT WARNING C4005
20:15 FROGGS nanis: are you moving it to config.h(.in)?
20:16 FROGGS nanis: or shall I?
20:16 [Coke] anyone who sees a failing test in stresstest, please make sure there's an open ticket. We can decide if we need to fix or fudge before christmas.
20:17 RabidGravy if I do a rakudobrew right now will it result in a working perl6?
20:17 [Coke] I have no idea. :)
20:18 [Coke] I'm doing a fresh build on OS X myself.
20:18 [Coke] I think I have finally extracted myself from $DAYJOB until post-christmas.
20:18 _nadim joined #perl6
20:18 RabidGravy DAMN THE TORPEDOES
20:20 jdv79 [Coke]: nice
20:22 nanis FROGGS: I am not going to be able to get to this before tomorrow, so please go ahead.
20:22 FROGGS nanis: k
20:23 nanis Thank you. Bye.
20:24 dalek rakudo/nom: f3e5bee | (Stefan Seifert)++ | / (5 files):
20:24 dalek rakudo/nom: Move code handling absolute paths to module into Repository::AbsolutePath
20:24 dalek rakudo/nom:
20:24 dalek rakudo/nom: Until now, require "/full/path/to/Module.pm" only worked when some
20:24 dalek rakudo/nom: CompUnit::Repository::FileSystem was in the $*REPO chain, even though it didn't
20:24 dalek rakudo/nom: matter at all which one.
20:24 dalek rakudo/nom:
20:24 dalek rakudo/nom: Now there's a CompUnit::Repository::AbsolutePath in the default chain for
20:24 dalek rakudo/nom: handling full path loading. Removed the corresponding code from FileSystem.
20:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f3e5bee284
20:25 shlomif joined #perl6
20:28 jnthn nine: Sounds like a neat solution...how does it interact with the head-of-the-chain precomp rule?
20:29 nine jnthn: it's pretty far at the end of the chain (before NQP and Perl5) and doesn't use a precomp repository. So I'd say, it doesn't interact at all ;)
20:30 jnthn cool
20:30 jnthn nine++
20:31 nine This is now the 5th Repository implementation. They proliferate fast :)
20:32 jnthn ;)
20:32 jnthn Well, suggests we found a uniform way to solve a bunch of problems.
20:33 masak this calls for... Object-Oriented Design! \o/
20:33 nine Seems like :) The more we use them, the better everything is
20:33 jdv79 weird.  i got a "Unhandled exception: Malformed UTF-8" and --ll-exception did give me a bt
20:33 jdv79 *didn't
20:34 masak nine: speaking of which...
20:34 masak nine: any news on https://rt.perl.org/Public/​Bug/Display.html?id=126827 ?
20:34 FROGGS jdv79: something non-utf8 in your env perhaps?
20:34 jnthn Shouldn't be it, we use utf8-c8 for the env.
20:35 jdv79 its probably coming from an async socket
20:35 dalek rakudo/nom: 616e549 | jnthn++ | src/Perl6/World.nqp:
20:35 dalek rakudo/nom: Don't use typed exceptions in setting compilation.
20:35 dalek rakudo/nom:
20:35 dalek rakudo/nom: If we need them at unfortunate points, we can get into loops of
20:35 dalek rakudo/nom: various kinds. Instead, just reliably dump the info that would have
20:35 dalek rakudo/nom: gone into the exception object.
20:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/616e54938a
20:35 jdv79 how do i throw that into "binary mode" again?
20:35 jnthn .Supply(:bin) instead of just .Supply to read
20:36 nine masak: nothing new on that front :( My debugging mojo seems to be asleep lately
20:36 FROGGS jnthn: what is utf8-c8?
20:36 [Coke] Also, further on the scheduling: "some time on the 25th". I'm not committing to a particular time.
20:36 jdv79 ah
20:37 jnthn FROGGS: https://github.com/MoarVM/MoarVM/bl​ob/master/src/strings/utf8_c8.c#L3
20:37 [Coke] masak: no, the compiler release is happening on Christmas.
20:38 lucasb [Coke]: when I was a kid, I opened my presents on 24th evening, but ok, I can wait a few more hours :)
20:38 [Coke] with all of the last minute changes and spec test failures, I certainly wasn't going to push it sooner.
20:39 moritz speaking of last minute changes
20:39 moritz what do you think of starting a feature freeze now, and doing only fixes up to the release?
20:41 dalek roast: 44e1bba | jnthn++ | S12-construction/new.t:
20:41 dalek roast: todo => skip for syntax we're NYI-ing.
20:41 dalek roast: review: https://github.com/perl6/roast/commit/44e1bbadcb
20:41 nine I would still like to remove CompUnit::RepositoryRegistry::load_module as removing it later would be backwards incompatible and it really doesn't belong there.
20:41 FROGGS jnthn: that's awesome
20:41 [Coke] moritz: that's pretty much what I've been saying, yes.
20:41 jnthn FROGGS: Has a bug somewhere too...
20:41 FROGGS :S
20:41 jnthn FROGGS: But yeah, it's a useful idea.
20:41 [Coke] everyone should keep an eye on what's going into nom. we shouldn't be pushing anything really new at this point.
20:42 FROGGS [Coke]: aye
20:42 [Coke] bugfixes, speedups, docs, things already ID'd by jnthn++ as for xmas, those are all easily on the table. Anything else, we should think about.
20:42 * jnthn only has one thing he's contemplating sneaking in, that will be isolated enough
20:42 n0tjack joined #perl6
20:42 [Coke] jnthn++ pretty much has a free pass at this point. :P
20:43 FROGGS *g*
20:43 jnthn In short: when I was writing the advent post, I realized there's one important missing thing in the supply block stuff
20:43 jnthn Which is basically that there's no way to do something appropraite when the tap is closed.
20:43 jnthn I've been pondering how to deal with that, and the clean way is a phaser.
20:43 * FROGGS .oO( What about going home? )
20:44 AlexDaniel joined #perl6
20:44 jnthn New phasers will be ambiguous with listops
20:44 [Coke] https://gist.github.com/coke/1f5ff064a85f13e13261 had a few failures, but same as TimToady - they either don't fail the second time, or they are long time flappers. :|
20:44 jnthn Thus why I'd rather get a solution for it in now
20:44 AlexDaniel m: my @test = «uno due tre»; say flat %(flat <one two three four> Z @test); # this seems to work
20:44 camelia rakudo-moar f3e5be: OUTPUT«(two => due three => tre one => uno)␤»
20:44 AlexDaniel m: my $test = «uno due tre»; say flat %(flat <one two three four> Z $test); # this doesn't
20:44 camelia rakudo-moar f3e5be: OUTPUT«(one => (uno due tre))␤»
20:45 AlexDaniel m: my $test = «uno due tre»; say flat %(flat <one two three four> Z | $test); # this one is even weirder
20:45 camelia rakudo-moar f3e5be: OUTPUT«(one => uno due => tre)␤»
20:45 dalek rakudo-star-daily: 24f1fa3 | coke++ | log/ (8 files):
20:45 dalek rakudo-star-daily: today (automated commit)
20:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/24f1fa30f2
20:45 AlexDaniel and that's a regression, this code was working one week ago
20:45 jnthn AlexDaniel: It's not a regression
20:45 jnthn It's a deliberate change
20:45 AlexDaniel oops, there's redundant flat in front
20:45 jnthn Z and X and their meta-forms failed to respect items
20:45 AlexDaniel jnthn: oh!
20:46 jnthn (roundrobin also)
20:46 firstdayonthejob joined #perl6
20:46 jnthn https://rt.perl.org/Ticket/Display.html?id=126522
20:46 grondilu joined #perl6
20:46 jnthn I was about to say didn't you submit that one, but no :)
20:47 AlexDaniel :D
20:47 AlexDaniel well, okay! But what's the right way to do it now?
20:47 dalek rakudo/nom: bd23b4a | jnthn++ | src/Perl6/Grammar.nqp:
20:47 dalek rakudo/nom: Mark autovivifying type objects as NYI.
20:47 dalek rakudo/nom:
20:47 dalek rakudo/nom: This reserves the syntax, which was previously parsing as a hash
20:47 dalek rakudo/nom: access on a type object, so we can later implement this feature.
20:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd23b4ab16
20:47 AlexDaniel m: my $test = «uno due tre»; say %(flat <one two three> Z | $test); # oh
20:47 camelia rakudo-moar f3e5be: OUTPUT«due => tre, one => uno␤»
20:47 jnthn AlexDaniel: If you want to keep a $ on the var? @$test
20:47 AlexDaniel m: my $test = «uno due tre»; say %(flat <one two three> Z @$test); # oh
20:48 camelia rakudo-moar f3e5be: OUTPUT«one => uno, three => tre, two => due␤»
20:48 jnthn Same as for @$foo { }
20:48 AlexDaniel riiiiight
20:48 AlexDaniel okay then, thanks!
20:48 jdv79 i can't repro it well yet but that's pretty disturbing that a failure to decode blows up that hard.
20:48 AlexDaniel m: my $test = «uno due tre»; say %(flat <one two three> Z |$test); # still I wonder what is happening here
20:48 camelia rakudo-moar f3e5be: OUTPUT«due => tre, one => uno␤»
20:48 jnthn jdv79: Well, it should push the decode failure down the supply chain, but I'm not sure that's happening correctly yet
20:49 AlexDaniel but whatever, I'll just add @ everywhere :)
20:49 * masak .oO( to the round batcave, roundrobin! )
20:49 jdv79 i'm not sure how to handle it best.  i'm in a react whenever sock.Supply.lines
20:49 Hotkeys how out of date is 2015.11 at the moment? not in terms of time but like
20:49 Hotkeys feature-wise/etc.
20:50 AlexDaniel Hotkeys: um, well, I think that the difference is huge
20:51 [Coke] it's pretty big; if you need something fresh, I recommend git for now
20:51 Hotkeys I'm on the current version but my friend runs an evalbot on another server and is using 2015.11 for his rakudo
20:51 sjn m: my @lazy = (1 .. Inf); say @lazy.hyper
20:51 camelia rakudo-moar bd23b4: OUTPUT«HyperSeq.new␤»
20:52 sjn docs say hyper returns an Iterable class
20:52 sjn outdated docs?
20:52 jnthn Iterable isn't a class, it's a role
20:52 jnthn m: HyperSeq ~~ Iterable
20:52 camelia rakudo-moar bd23b4: ( no output )
20:52 jnthn m: say HyperSeq ~~ Iterable
20:52 dalek rakudo/nom: 627838d | (Stefan Seifert)++ | src/core/CompUnit/RepositoryRegistry.pm:
20:52 camelia rakudo-moar bd23b4: OUTPUT«True␤»
20:52 dalek rakudo/nom: Remove defunct CompUnit::RepositoryRegistry::candidates
20:52 dalek rakudo/nom:
20:52 dalek rakudo/nom: This was a fossil of CompUnitRepo. It needs proper replacement, but until that
20:52 dalek rakudo/nom: arrives, no one is served by a failing method with a wrong interface.
20:52 sjn ah
20:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/627838d00a
20:52 jnthn If the docs say class then yeah, they're wrong :)
20:53 moritz outdated :-)
20:53 moritz pre-glr, Iterable was a class in Rakudo
20:53 jnthn True :)
20:53 sjn they say "role Iterable"
20:53 jnthn Ah, OK :)
20:54 jnthn We're down to 4 (four) RTs on the xmas list
20:55 masak jnthn: wow.
20:55 masak jnthn++ # massive work
20:55 bartolin_ \o/ jnthn++
20:55 sjn nice!
20:56 timotimo \o/
20:56 nine Back to less than one a day! jnthn++
20:56 jnthn And https://rt.perl.org/Ticket/Display.html?id=123272 is reported as "OK on MoarVM"
20:57 jnthn By hoelzro++ as of a few days ago
20:57 jnthn If somebody fancies writing us a test for it, then we can comfortably get down to 3 :)
20:59 lucasb so, about this t/spec/S32-array/adverbs.t, when it's run with plain perl6 it passes, but when it's run with 'perl t/harness' it fails. can someone explain why?
20:59 jnthn lucasb: No; I suspect being able to explain it would imply we could easily fix it :)
20:59 nine lucasb: what about PERL6LIB=lib perl6?
20:59 jnthn That's wroth a try
20:59 jnthn Also
21:00 jnthn Running it under valgrind is worth a try
21:00 dalek roast: 38f394d | usev6++ | S0 (2 files):
21:00 dalek roast: Skip some new Unicode related tests on JVM
21:00 dalek roast: review: https://github.com/perl6/roast/commit/38f394d603
21:00 jnthn TimToady: Is RT #125769 still something you're looking into, or should I sink a few tuits on it tomorrow?
21:00 nine Yes, -Ilib makes it fail
21:01 lucasb yes, I second, PERL6LIB=lib makes it fail :)
21:01 vike joined #perl6
21:02 nine perl6 -Ilibs is ok however, so it probably has something to do with the modules shipped with rakudo
21:02 masak vike: greetings, earthling.
21:02 nine The only module it loads from there is Test
21:03 bartolin_ lucasb: I submitted RT #126823 for that
21:04 dalek rakudo/nom: 4069889 | TimToady++ | src/Perl6/ (2 files):
21:04 dalek rakudo/nom: also notice () in sink context
21:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4069889dcd
21:04 lucasb bartolin_: ah, I didn't see that
21:04 lucasb jnthn, nine, bartolin_: thanks for the notes...
21:05 TimToady jnthn: if it's still open tomorrow, you can work on it :)
21:06 jnthn TimToady: OK. Did you decide any more on the UNDO in loops one than "possible nasal deamons"? :)
21:06 TimToady nothing more
21:06 jnthn TimToady: Also, while we're on phasers: any objections to a CLOSE phaser in supply blocks, which fires when the tap is closed?
21:06 jnthn TimToady: I realized while doing my advent post there was no nice way to attach the cleanup and have the correctly scoped state around.
21:07 jnthn (For example, if you establish a connection to something like a message queue, and want to close that on tap close)
21:07 TimToady I wonder if CLOSE is too apt to be confused with file closes
21:07 jnthn Maybe. I'm open to other suggestions. I've hunted around for non-phaser options but didn't really find one.
21:08 TimToady fine with the phaser part of the idea
21:08 TimToady SHUTDOWN might be more socketesque, though that can also be misconstrued
21:08 AlexDaniel 4 RTs left? Holy sh…
21:08 jnthn Mostly want to get it in 'cus (a) folks will notice they have no way to do resource management when they start writing production apps with this stuff, and (b) adding new phasers later will need a use v6.X; 'cus they'll be ambiguous with listops..
21:09 TimToady SHUTOFF
21:09 jnthn TimToady: Yeah, I went with CLOSE 'cus it matches $tap.close
21:09 masak CLOSE++
21:09 masak er, I mean +1 to CLOSE :)
21:10 TimToady I am only mildly suspicious of CLOSE
21:10 jnthn Yeah, I worried a bit over "too generally named" too
21:10 TimToady CLOSING?
21:10 jnthn Though, we so far have a rather relaxed phaser policy
21:11 jnthn Where we let you put any phaser on any block, so they're open to alternative processing by modules :)
21:11 jnthn CLOSING works too
21:11 sjn SHORT
21:11 sjn :)
21:11 TimToady doesn't work with 'will close' though
21:12 TimToady will shutdown would work better
21:12 nine TAPCLOSE or CLOSETAP?
21:12 jnthn Yeah, it just lacks the obvious link with .close
21:12 TimToady I mean, 'will closing' doesn't work
21:12 jnthn Right
21:13 TimToady will shutoff
21:13 jnthn will close doesn't read too bad, otoh
21:13 jnthn Except the overgeneralization issue
21:13 TimToady maybe .close is misnamed?
21:13 jnthn oh no! :P
21:13 jnthn I kinda like that it puns on .close with files, fwiw
21:13 TimToady I'm okay with CLOSE
21:14 jnthn Because if some day we have a construct that is a version of given that calls .close for you, like Python with or C# using for Java...I dunno what Java call it but it's probably verbose.
21:14 jnthn s/for/or/
21:15 jnthn Oh wow, it's just try :)
21:15 jnthn Java surprises me with brevity :)
21:16 jnthn I'll add it as CLOSE tomorrow :)
21:16 TimToady ()
21:16 TimToady m: ()
21:16 camelia rakudo-moar 406988: OUTPUT«WARNINGS for /tmp/zzEVgRtEbN:␤Useless use of () in sink context (line 1)␤»
21:16 jnthn All being well it'll be a 30 min patch
21:17 masak jnthn: note -- only Java 7 and above
21:17 jnthn masak: Ah, it's that recent.
21:17 jnthn That means it came after C# had using :P
21:17 squain joined #perl6
21:18 masak it did.
21:18 masak and C# got using after Python already had `with` :)
21:19 dalek rakudo/nom: 7c925a7 | TimToady++ | src/Perl6/Actions.nqp:
21:19 dalek rakudo/nom: also notice () in loop context
21:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c925a7a6d
21:20 lichtkind joined #perl6
21:20 dalek roast: 6f71a80 | TimToady++ | S32-exceptions/misc.t:
21:20 dalek roast: tests for Nil suggestion in loop context
21:20 dalek roast: review: https://github.com/perl6/roast/commit/6f71a8082d
21:25 moritz uhm
21:25 moritz I just got
21:25 moritz src/mast/compiler.c:1600:1: internal compiler error: Segmentation fault
21:25 pmurias joined #perl6
21:25 [Coke] urk
21:26 jnthn Congrats...what were you compiling?
21:26 * moritz tries again after a a git clean -xdf
21:26 moritz jnthn: just moarvm from git, with a straight  perl Configure.pl --gen-moar in an unpatched rakudo :-)
21:26 Skarsnik Not ICE me, senpai
21:30 cdg joined #perl6
21:32 * sjn tries to parallelize stuff
21:32 sjn m: .say (1 .. Inf).grep(&is-prime)[100]
21:32 camelia rakudo-moar 7c925a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U6T_gN48e0␤Two terms in a row␤at /tmp/U6T_gN48e0:1␤------> 3.say7⏏5 (1 .. Inf).grep(&is-prime)[100]␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        …»
21:32 RabidGravy fun time
21:32 * sjn tries to parallelize stuff
21:33 sjn argh. lag
21:33 sjn m: .say for (1 .. Inf).grep(&is-prime)[100];
21:33 camelia rakudo-moar 7c925a: OUTPUT«547␤»
21:33 sjn m: .say for (1 .. Inf).hyper.grep(&is-prime)[100];  # hangs
21:33 jnthn moritz: Very odd. If you manage to make it happen again, please valgrind it.
21:33 camelia rakudo-moar 7c925a: OUTPUT«(signal XCPU)»
21:35 skids .o(parallelized from the neck down)
21:36 * sjn is completely new to this (hence making what I'm sure is stupid mistakes)
21:39 lucasb bartolin_++ I learned from your RT ticket...
21:39 lucasb bartolin_: interesting that an wrong adverd on hashes dies the first time but not the others
21:39 lucasb and with arrays, it never dies
21:40 lizmat https://gist.github.com/li​zmat/c9aabb07ef76f472d0c2   # latest build on JVM cannot find Test
21:40 moritz jnthn: built fine the second time
21:41 lucasb and S32-hash/adverbs.t didn't failed for me... but S32-array/adverbs.t does
21:41 moritz jnthn: but what would you do with a gcc valgrind? :-)
21:41 lizmat sjn: looks like the hyper is reifying the infinite list
21:42 bartolin_ lucasb: I just added to the ticket. looks like it fails randomly :-/
21:42 jnthn hyper/race are forms of eager
21:42 sjn hm
21:42 lizmat jnthn: so you're saying you could *never* hyper an infinite list ?
21:42 bartolin_ lucasb: I think S32-hash/adverbs.t and S32-array.adverbs.t have the same problem there.
21:43 sjn that's no good :-\
21:44 jnthn lizmat: I won't say "never", but the design docs do, iirc, describe them as forms of eager, which implies not.
21:45 lizmat maybe we should die on .hyper/race ing a lazy list for now ?
21:46 lizmat m: .say for (1 .. 10).hyper.grep( { say "$_ in $*THREAD.id()"; is-prime($_) })[1] # something clearly amiss
21:46 camelia rakudo-moar 7c925a: OUTPUT«Nil␤»
21:47 lizmat so, it looks like it's not even getting into the grep ?
21:47 jnthn I think timotimo noticed something was up there
21:47 jnthn I didn't manage to look at it yet
21:48 * sjn apologizes for bugging people with stuff like this
21:48 jnthn Mebbe tomorrow :)
21:49 lizmat sjn: no worries
21:49 jnthn sjn: The story on .hyper and .race is that I did a prototype implementation of them to prove the API design while doing the GLR
21:49 TimToady nine: have a fix for your "useless use"
21:49 TimToady just testing now
21:49 jnthn sjn: And that's basically what's there now still.
21:49 * sjn is annoyed too. it almost seems that I attract bugs :-\
21:49 bartolin_ lizmat: I commented on your gist (c9aabb07ef). I compiled rakudo.jvm a few hours ago and can 'use Test' with -Ilib
21:49 jnthn sjn: Aside timotimo++ did a few bits on it
21:49 lizmat bartolin_: but that shouldn't be necessary. no ?
21:50 bartolin_ lizmat: well, I did not run 'make install' -- maybe that's, what broken on JVM?
21:50 lizmat if it would be, then any 'make test' file that has a 'use Test' should have a 'use lib' as well ?
21:52 dalek rakudo/nom: 8401e01 | TimToady++ | src/Perl6/Actions.nqp:
21:52 dalek rakudo/nom: vars used in roles/role args need wanting
21:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8401e01aa6
21:53 bartolin_ lizmat: at least t/harness (which is used for 'make spectest') has the following: $ENV{'PERL6LIB'} = join ',', qw/ lib . /;
21:53 masak hyper being a type of eager makes excellent sense.
21:53 lucasb bartolin_: just as another data point, I tried your 2 cmdlines (for run in {1..10}) in your last RT comment, and I consistently get 10 zeros everytime on both. My rakudo-moar is from a few commits ago today.
21:53 masak mostly because `hyper` and `lazy` are mutually exclusive concepts (not just because they sound like they are!)
21:54 lizmat so I guess you would need something like Supply.throttle after all then
21:54 masak `hyper` is saying "I don't mind if you kick things off faster than usual"
21:54 zjmarlow_ joined #perl6
21:54 nine TimToady: \o/
21:54 masak `lazy` is saying "I don't mind if you kick things off as late as possible"
21:55 lizmat I guess I have more a Supply.tap view on this
21:55 bartolin_ lucasb: oh, zeros? that's strange. what happens, if you leave the pipe to grep out?
21:55 nine QAST::WVal.new( :value($foo) ); # do I need to add $foo to $*W manually?
21:56 nine Never mind...rakduo just answered the question :)
21:57 bartolin_ lucasb: (or if you just run the command within the parens a few times?)
21:57 jnthn nine: Yes ;)
21:57 lucasb bartolin_: lol, sorry, forget what I just said. I made a mistake. I have reproduced just like your comment, you are right
21:58 bartolin_ lucasb: yw :-)
21:58 nine SC not yet resolved; lookup failed
22:00 jnthn That's...an unusual error to manage
22:01 dalek roast: aa25738 | usev6++ | S02-types/native.t:
22:01 dalek roast: Fudge some tests for native ints for JMV
22:01 dalek roast: review: https://github.com/perl6/roast/commit/aa25738cf1
22:01 nine jnthn: caused by this patch: https://gist.github.com/niner/caa8f988d9c52b169400
22:02 jnthn That may be too early
22:04 jnthn nine: Yeah, load_dependency_tasks run *before* we deserialize the SC of the current compilation unit.
22:05 jnthn So you can't access a WVal in the current compilation unit at that point.
22:06 nine jnthn: but why did it work for the %opts hash? self.add_object($_.value);
22:07 jnthn my $opt_hash := QAST::Op.new( :op('hash') );
22:07 jnthn It was constructing a QAST tree
22:07 jnthn That build up a hash
22:08 nine IOW I have to write the QAST Tree for creating the dependency specification manually
22:09 jnthn Yeah but...why is this happening?
22:09 jnthn I thought we resolved dependencies at the point of precompilation?
22:09 jnthn And then they were fixed?
22:09 jnthn So we didn't have to go searching again every module load.
22:11 timotimo sjn: yeah, .grep on a HyperSeq causes all the incoming values to disappear :(
22:12 nine jnthn: oh...that's a possibility that didn't occur to me.
22:13 dalek ecosystem: ae39cbb | (Zoffix Znet)++ | META.list:
22:13 dalek ecosystem: Move defunct Tree::Simple to eco SHELTER
22:13 dalek ecosystem:
22:13 dalek ecosystem: Per https://github.com/Takadonet/Tree--Si​mple/issues/8#issuecomment-165655432
22:13 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/ae39cbb3d0
22:13 dalek mu: 84eb01f | (Zoffix Znet)++ | misc/SHELTER/Tree--Simple/META.info:
22:13 dalek mu: Move defunct Tree::Simple to eco SHELTER
22:13 dalek mu:
22:13 dalek mu: Per https://github.com/Takadonet/Tree--Si​mple/issues/8#issuecomment-165655432
22:13 dalek mu: review: https://github.com/perl6/mu/commit/84eb01f527
22:13 nine jnthn: so instead of this dependency_task thing, I'd just have the PrecompilationRepository load all dependencies before the requested precomp file
22:13 jnthn nine: I thought it was in my original gist, but maybe I'm remembering wrong...
22:13 jnthn nine: Yes...which should improve load time somewhat too
22:14 nine jnthn: AFAIK the pieces where there but it was nowhere spelled out that we could use the information that way :)
22:14 jnthn Ah :)
22:15 jnthn "Since resolving dependency specifications to dependencies is a part of the compilation process, a cached precompilation directly identifies the cached precompilations it depends on. That is to say, the compiled effect of a use or need statement is not to resolve a dependency specification, but instead to identify a precise dependency to load."
22:16 nine And I need to read in the dependencies and even stat the files already to check if they are up to date. So it won't even be much new code
22:16 dalek mu: b0f90ba | (Zoffix Znet)++ | misc/SHELTER/README.md:
22:16 dalek mu: Reword the SHELTER"s purpose to soften the authors" stances toward these modules
22:16 dalek mu: review: https://github.com/perl6/mu/commit/b0f90baacd
22:16 jnthn That was the bit I intended to point in this direction :)
22:18 Zoffix Are we still interested in panda failures with "Cannot unbox a type object" when installing deps? It's aborted my R* install -_-
22:18 nine jnthn: ok, ok :) From where I stand now it clearly makes sense. I think I was about 2/3 through with the implementation when I finally understood the last pieces. So the full meaning was just not visible to me the 3 or 4 times I've read that.
22:18 dalek roast: bfe9372 | usev6++ | integration/advent2013-day15.t:
22:18 dalek roast: Fudge test returning 1 instead of True for JVM
22:18 dalek roast: review: https://github.com/perl6/roast/commit/bfe93723c8
22:18 Zoffix And also, am I getting rakudo's HEAD when I rakudobrew build moar or do I need to do something else?
22:19 jnthn Yeah, can understand that. It's a dense document that was written in a relative hurry, too...
22:19 Zoffix ==> Installing Debugger::UI::CommandLine [DISLOCATED MESSAGE] Useless use of enter_result__1 symbol in sink context
22:20 RabidGravy Zoffix, you always get rakudo's head but not that of nqp or moar
22:20 diakopter heh, a useless use of a result symbol
22:20 Zoffix k
22:21 TimToady rakudobrew triple is supposed to give you more control, but last I knew it couldn't find 'make'
22:21 nine jnthn: I really thought that I would just get some boring code moving tasks done, so you could later jump into the interesting bits without wasting time. I've never intended to do it all by myself :)
22:21 * Zoffix tries triple
22:21 jnthn nine: I'm very happy, and grateful, that you did. :-)
22:21 TimToady I keep having to go in and edit rakudobrew to just use 'make'...
22:22 diakopter TimToady: submit a PR; I can merge it
22:22 TimToady well, I don't know how portable my fix is
22:22 RabidGravy boo
22:23 nine jnthn: I guess it was a better way for me to contribute than just going through the xmas RTs again. Because I already went through all of them once and fixed the few where I had an idea on what would be required :)
22:23 diakopter aaaaand every Juniper router is backdoored
22:23 Zoffix Yup
22:23 Zoffix Since 2012 or something
22:24 bartolin_ . o O ( or since today (after applying the patch)? )
22:24 rurban joined #perl6
22:24 Zoffix TimToady, well, if the current state is it being definitely broken for some systems and a possible state of it being *maybe* broken for some systems, I think your PR would definitely be an improvement :P
22:24 diakopter bartolin_: true enough
22:24 nine Ok, I'll leave it be for tonight and have a go at this tomorrow. Good night!
22:24 zjmarlow_ joined #perl6
22:24 Zoffix night
22:24 jnthn nine: 'night o/
22:24 RabidGravy I thought Juniper was bought out about ten years ago
22:24 masak 'night, nine
22:25 Zoffix I thought Juniper was berries you brewed potions with in Skyrim.
22:25 jdv79 is it corrct that say "\xfffff" segfaults?
22:25 ollej joined #perl6
22:25 RabidGravy gin, you use it in gin
22:25 ollej left #perl6
22:25 Zoffix Doesn't in P5
22:25 diakopter m: say "\xfffff"
22:25 camelia rakudo-moar 8401e0: OUTPUT«(signal SEGV)»
22:26 diakopter m: say "\x0fffff"
22:26 camelia rakudo-moar 8401e0: OUTPUT«(signal SEGV)»
22:26 diakopter m: say " \x0fffff"
22:26 camelia rakudo-moar 8401e0: OUTPUT«(signal SEGV)»
22:26 TimToady jdv79: I dunno, I'll have to think about it...
22:26 jnthn No
22:26 jdv79 ok
22:26 jnthn m: say "\x10ffff"
22:26 camelia rakudo-moar 8401e0: OUTPUT«\x{10FFFF}␤»
22:26 TimToady m: say "\x110000"
22:26 camelia rakudo-moar 8401e0: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 1114112␤  in block <unit> at /tmp/IJkmk8vHHv:1␤␤»
22:26 AlexDaniel diakopter: nice!
22:27 jnthn m: say "\x110000"
22:27 camelia rakudo-moar 8401e0: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 1114112␤  in block <unit> at /tmp/mNI0ppTbV3:1␤␤»
22:27 Zoffix TimToady, I need your triple fix. I've no idea how to fix it on my own
22:27 Zoffix (which file? what do I change?)
22:27 jnthn Curious...wonder why the out of range check busts
22:27 jnthn Wonder if we should accept should a \x value in the first place, also
22:27 jnthn *such
22:28 geraud joined #perl6
22:28 kyclark joined #perl6
22:28 AlexDaniel jnthn: some kind of an overflow perhaps?
22:28 diakopter m: say "\xffffffffffffff"
22:28 camelia rakudo-moar 8401e0: OUTPUT«␀␤»
22:28 diakopter giggle
22:28 AlexDaniel m: say "\xfffffffffffffff"
22:28 camelia rakudo-moar 8401e0: OUTPUT«␀␤»
22:28 AlexDaniel m: say "\xffffffffffffffff"
22:28 camelia rakudo-moar 8401e0: OUTPUT«===SORRY!===␤chr codepoint cannot be negative␤»
22:28 AlexDaniel m: say "\xfffffffffffffffff"
22:28 camelia rakudo-moar 8401e0: OUTPUT«===SORRY!===␤chr codepoint cannot be negative␤»
22:28 Zoffix heh
22:28 diakopter lolz
22:28 AlexDaniel m: say "\xffffffffffffffffffffffffff"
22:28 camelia rakudo-moar 8401e0: OUTPUT«===SORRY!===␤chr codepoint cannot be negative␤»
22:28 kyclark m: my %foo = A => 2, B => 4; say %foo<A B C> »//» 0;
22:28 camelia rakudo-moar 8401e0: OUTPUT«(2 4 0)␤»
22:28 AlexDaniel m: say "\xffffffffffffffffffffffffffff​fffffffffffffffffffffffffffff"
22:28 camelia rakudo-moar 8401e0: OUTPUT«===SORRY!===␤chr codepoint cannot be negative␤»
22:28 kyclark m: my %foo = A ⇒ 2, B ⇒ 4; say %foo<A B C> »//» 0;
22:28 camelia rakudo-moar 8401e0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wTF2OZxw1U␤Bogus term␤at /tmp/wTF2OZxw1U:1␤------> 3my %foo = A 7⏏5⇒ 2, B ⇒ 4; say %foo<A B C> »//» 0;␤    expecting any of:␤        argument list␤        infix␤        infix stopper…»
22:29 kyclark Just curious if I could use a Unicode => in hash assignment, but I guess not?
22:29 Zoffix wtf... you can use ⇒ ?
22:29 Zoffix oh
22:29 * Zoffix now sees the error message :)
22:30 kyclark Seems like if the guillmets (sp?) work then the => might could ought to?
22:30 masak I'm not so fond of that idea.
22:30 TimToady Zoffix: I just use https://gist.github.com/Tim​Toady/0b68b598b74df83e1eee
22:31 masak kyclark: though if you want that in your own program, it's only a user-defined operator away
22:31 Zoffix m: sub infix:<⇒> ($k, $v) { Pair.new($k, $v); }; my %foo = A ⇒ 2, B ⇒ 4; say %foo<A B C> »//» 0;
22:31 camelia rakudo-moar 8401e0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ezgazX83ok␤Preceding context expects a term, but found infix ⇒ instead␤at /tmp/ezgazX83ok:1␤------> 3$v) { Pair.new($k, $v); }; my %foo = A ⇒7⏏5 2, B ⇒ 4; say %foo<A B C> »//» 0;␤»
22:31 jnthn .u ⇒
22:31 yoleaux U+21D2 RIGHTWARDS DOUBLE ARROW [Sm] (⇒)
22:31 Zoffix I'm guessing that needs 'is-tighter' somewhere but I don't know how to do that part
22:31 TimToady but it should probably probe for gmake on systems where make is ungmake
22:31 masak Zoffix: oh, right. can't depend on key auto-quoting anymore.
22:31 Zoffix TimToady, thanks
22:31 Zoffix ooooh :(
22:32 masak that would be a reason to make it core. though a weak one, IMO.
22:32 diakopter TimToady: or nmake on windows.. but why wouldn't it try to use the same one ....oh
22:32 jnthn masak: Could I do it with a macro? :D
22:33 Zoffix masak, I agree. I don't think real-life code will use that a lot and adding to core adds a bit of overhead IIUC
22:33 n0tjack joined #perl6
22:34 masak jnthn: benefiting from the code path that's already there for `=>` which auto-quotes identifiers in hash/pair key position? good question.
22:35 masak jnthn: a more young and naive me would answer "sure! macros can do *everything*!" -- but this stuff is hard.
22:35 diakopter let's find that younger and naiver masak
22:36 masak jnthn: especially intercepting things early enough in the parse and then release control flow back into an existing code path in the compiler.
22:36 masak releasing*
22:36 jnthn masak: yeah...
22:36 jnthn This one is easier slung I guess
22:36 masak aye
22:37 * masak .oO( they slung of brave heroes of yore )
22:37 Skarsnik damn my NC patch get merged. It's weird nobody complain about warning in some modules now x)
22:38 _nadim joined #perl6
22:40 * diakopter wonders how it would even be slung
22:41 nadim joined #perl6
22:42 masak diakopter: overriding `token fatarrow`
22:43 diakopter arrowshaming
22:44 diakopter hmm, gotta love these animated emoji in subject lines in Gmail
22:44 _nadim joined #perl6
22:44 * Zoffix is suddenly glad to not be using gmail
22:45 * Zoffix reads `man patch` to figure out how to apply TimToady's patch
22:45 masak 'night, #perl6
22:45 Zoffix "Copyright (C) ... Larry Wall"  :)
22:45 Zoffix You're just everywhere, aren't you? :)
22:45 Zoffix masak, night
22:45 jnthn Zoffix: If you have a git checkout of rakudobrew then you can just `git apply foo.patch`
22:46 jack_rabbit joined #perl6
22:46 jnthn rest well, masak
22:46 diakopter 󾔮 2015 TAX RELIEF NOW AVAILABLE 󾓣
22:46 Zoffix jnthn++ oh, awesome thanks :)
22:46 diakopter ^ raw email subject
22:46 Zoffix .u 󾔮
22:46 yoleaux No characters found
22:46 diakopter o_O
22:46 Zoffix That displays as nothing for me
22:46 diakopter m: say "󾔮 "
22:46 camelia rakudo-moar 8401e0: OUTPUT«󾔮 ␤»
22:46 Zoffix well, as boxes with character codes in them
22:46 jnthn m: say uniname('�')
22:46 camelia rakudo-moar 8401e0: OUTPUT«REPLACEMENT CHARACTER␤»
22:47 Zoffix m: say uniname('󾔮')
22:47 camelia rakudo-moar 8401e0: OUTPUT«<Plane 15 Private Use>␤»
22:47 jnthn Dance, you funky replacement character
22:47 diakopter weird
22:47 jnthn Well, private use is the right place if it's specific to gmail
22:47 diakopter the one on the riht is a dollar bill
22:48 diakopter the left one is an envelope flying into a red mailbox
22:48 diakopter four frames or so
22:48 TimToady Private means something else to google than it does to us...
22:51 timotimo perhaps it's only used between the html and the font rendering?
22:51 * lizmat is going to give her flu-ridden brane a rest
22:51 lizmat good night, #perl6!
22:51 timotimo get well soon, lizmat!
22:52 jnthn lizmat: 'night, hope the flu goes soon!
22:53 flussence App::uni says those are U+FE52E and U+FE4E3, which is kind of a silly thing to put in an email subject line
22:53 Zoffix App::uni?
22:54 espadrine joined #perl6
22:54 * Zoffix sees that neither on P6 nor P5 ecosystems
22:54 flussence s/u/U/
22:54 * Zoffix sees that on P5 ecosystem
22:58 Zoffix Hm, a whole ton of modules with .travis.yml but dist not enabled on travis
22:59 Zoffix Which also makes me realize caching travis results is futile even with the 24hr delay I put in
23:02 dalek modules.perl6.org: 97359e0 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Di​st/PostProcessor/TravisCI.pm:
23:02 dalek modules.perl6.org: Do not accept "unknown" Travis status as a valid cached result
23:02 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/97359e08ff
23:02 cpage_ joined #perl6
23:04 kyclark joined #perl6
23:05 _nadim joined #perl6
23:06 kid51 joined #perl6
23:10 dalek modules.perl6.org: 6f828ed | (Zoffix Znet)++ | t/02-db-builder/06-postprocessor-travis.t:
23:10 dalek modules.perl6.org: Test that "unkown" Travis statuses are not cached
23:10 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/6f828ed05d
23:11 kyclark joined #perl6
23:13 smls_ Did we ever get syntactic sugar for attribute default values that are evaluated on first access rather than class build time?
23:15 jnthn No, and that probably won't actually be done as attributes anyway
23:15 jnthn But rather as a method marked with "is cached", and that trait will imply state per instance.
23:15 jnthn Since in that use case the attribute is something of an implementation detail
23:15 smls_ ok
23:16 jnthn "is cached" was pushed off to a future language version, though
23:17 jnthn Maybe for Divali :)
23:17 Zoffix m: class Foo { has $.x = sub { say 42; $!x = 50; $!x }; }; my $x = Foo.new; say "uhum"; say $x.x; say $x.x
23:17 camelia rakudo-moar 8401e0: OUTPUT«uhum␤sub () { #`(Sub|63207208) ... }␤sub () { #`(Sub|63207208) ... }␤»
23:17 Zoffix :(
23:18 RabidGravy but it's open for an ecosystem implementation or stubbed as NYI?
23:18 jnthn RabidGravy: Open for ecosystem impl
23:18 jnthn RabidGravy: Quite deliberately.
23:18 RabidGravy cool
23:18 jnthn RabidGravy: Also due to lexical scoping, anyone using an ecosystem impl will have their import be more narrowly scoped than the built-in one
23:19 RabidGravy I have no feelings about it personally :)
23:19 jnthn (When the built-in one comes back)
23:19 Zoffix "is lazy" as an attribute is just itching to be there :/
23:19 jnthn So people who do use ecosystem ones won't find they get their code broken if the built-in one behaves difference :)
23:19 smls_ For now I do something like:
23:19 smls_ has $!x; method x { ($!x //= ...) }
23:19 jnthn Zoffix: I don't think it's really the right hook
23:19 Zoffix At least to my mind, coming of P5 land, where I've used it tons
23:20 RabidGravy this is why I love perl 6
23:20 jnthn Zoffix: Though it's module-able for anyone who wants it :)
23:20 Zoffix OTOH, I used it lots 'cause you can't set attributes using other attributes at construction time (at least with Moo/Mew)
23:20 jnthn Ah...which you can in Perl 6
23:20 jnthn Attribute defaults run in order
23:20 Zoffix yeah
23:21 TimToady which might be the wrong order for C structs, but then, you're not gonna get much laziness out of C types...
23:21 RabidGravy Zoffix, then it's make it with the semantics you want, simple for people to ignore it if they don't agree
23:22 Zoffix RabidGravy, parse error: "then it's make it"
23:22 Zoffix What do you mean?
23:23 RabidGravy "write code rather than expect others to do it"
23:23 Zoffix I don't know how :(
23:24 grondilu adding an instance variable for caching seems a bit ugly.  I'd do:  method x { (state %){self} //= ... }
23:24 RabidGravy right, I'm off. Have fun.
23:24 TimToady (%) should be sufficient
23:25 jnthn I can haz memory leak? :)
23:25 jnthn (Which is why "is cached" should do it by sneaking in an instance attribute)
23:26 Zoffix m: use experimental :cached; class Foo { has $!x; method x is cached { say 42; $!x = 50; $!x }; }; my $x = Foo.new; say "uhum"; say $x.x; say $x.x
23:26 camelia rakudo-moar 8401e0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6l4Er8E79s␤'is cached' on methods not yet implemented. Sorry. ␤at /tmp/6l4Er8E79s:1␤»
23:26 Zoffix awww
23:27 hankache joined #perl6
23:27 grondilu m: class A { method x { (%){self} //= rand }; my $a = A.new; say $a.x xx 3
23:27 camelia rakudo-moar 8401e0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KL1jAlGxPR␤Missing block␤at /tmp/KL1jAlGxPR:1␤------> 3//= rand }; my $a = A.new; say $a.x xx 37⏏5<EOL>␤    expecting any of:␤        postfix␤        statement end␤        statement modifier…»
23:28 grondilu m: class A { method x { (%){self} //= rand } }; my $a = A.new; say $a.x xx 3
23:28 camelia rakudo-moar 8401e0: OUTPUT«(0.279635064170307 0.279635064170307 0.279635064170307)␤»
23:28 grondilu m: class A { method x { (%){self} //= rand } }; my $a = A.new; say $a.x xx 3; say B.new.x
23:28 camelia rakudo-moar 8401e0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ewkLE_3TXi␤Undeclared name:␤    B used at line 1␤␤»
23:28 grondilu m: class A { method x { (%){self} //= rand } }; my $a = A.new; say $a.x xx 3; say A.new.x
23:28 camelia rakudo-moar 8401e0: OUTPUT«(0.180993913554 0.180993913554 0.180993913554)␤0.11693324519052␤»
23:28 TimToady has %!mycache handles 'CACHE-THIS'
23:28 TimToady as jnthn points out, that's only useful if your objects are permanent
23:29 * grondilu wonders if %{self} is syntactically ok
23:29 grondilu m: class A { method x { %{self} //= rand } }; my $a = A.new; say $a.x xx 3; say A.new.x
23:29 camelia rakudo-moar 8401e0: OUTPUT«Odd number of elements found where hash initializer expected␤  in method x at /tmp/sWVyb4bKLA:1␤  in block <unit> at /tmp/sWVyb4bKLA:1␤␤»
23:29 grondilu nope
23:29 pierre-vigier joined #perl6
23:30 grondilu m: say %{1, 2}.WHAT
23:30 camelia rakudo-moar 8401e0: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/DHDQgMw2_9:1␤␤»
23:30 cognominal joined #perl6
23:31 grondilu I don't know what %{something} is supposed to be
23:31 TEttinger joined #perl6
23:31 Zoffix hash initialized with {1, 2} ?
23:31 grondilu I thought that should be %(1, 2)
23:31 grondilu m: say %(1, 2).WHAT
23:31 camelia rakudo-moar 8401e0: OUTPUT«(Hash)␤»
23:32 Zoffix m: say {1, 2}.WHAT; say %(1, 2).WHAT;
23:32 camelia rakudo-moar 8401e0: OUTPUT«(Block)␤(Hash)␤»
23:32 Zoffix Well, it takes that block as "an element"
23:32 Zoffix m: say %({1, 2}, 2).WHAT;
23:32 camelia rakudo-moar 8401e0: OUTPUT«Block object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/EdcMsbg3sP:1␤(Hash)␤»
23:32 Zoffix Never mind
23:32 Zoffix Well... maybe
23:32 grondilu well it should really interepret it as (state %){somthing}, imho
23:33 grondilu nah I don't know.  seems complicated.
23:34 jdv79 so in the future will there be ways to soft fail a decoding?
23:34 grondilu I think that's a case where the parser should be allowed to die with a "confused" message.
23:34 jdv79 i encounted a iso08859-1 char today (194) and it just fails out hard
23:35 Zoffix m: say %({1, 2}).WHAT;
23:35 camelia rakudo-moar 8401e0: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/IJ1WX6QOoI:1␤␤»
23:35 jnthn jdv79: Yes; was on my wish list for 6.c, but didn't make it :(
23:36 jdv79 is there a workaround?
23:36 skids joined #perl6
23:36 jdv79 i guess i would wedge something in there...
23:37 jdv79 jnthn: ok, thanks.
23:37 jnthn Well, workaround is to receive binary and then explicitly use .decode calls on the Bufs
23:38 kyclark joined #perl6
23:38 jdv79 right
23:39 jnthn That may be the longer term answer anyway, except there will be a streaming decoder API so you can take advantage of the VM's existing handling of multi-byte sequences and so on.
23:39 jnthn But if you're doing iso08859-1 that's a non-issue.
23:39 Zoffix hm, seems the useless use stuff completely broke Template::Mojo
23:40 Zoffix (at least based on looking at its test results)
23:40 jdv79 well, this particular stream should be utf-8.  its just that someone jambed a random iso8859-1 char in there.
23:42 jnthn .oO( :enc<heck-knows-just-do-something>
23:42 jnthn )
23:42 jdv79 basically
23:43 jnthn Time for some rest...'night o/
23:43 Zoffix night
23:43 jdv79 goodnight
23:43 BenGoldberg joined #perl6
23:50 flussence joined #perl6
23:52 Zoffix nine, TimToady Inline::Perl5 still fails with the freshly-squeezed rakudobrew triple: https://gist.github.com/zoff​ixznet/7b1f4d6680517bd2ecc6
23:54 grondilu joined #perl6
23:56 Psyche^_ joined #perl6
23:58 skids Hrm I just installed it on 8401e01-*-* just fine.
23:59 skids Ergh still with the run_alt though :/

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo