»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by masak on 28 November 2015.
00:00 espadrine left 00:01 Psyche^ left 00:02 kyclark joined 00:04 kyclark left
jdv79 gist.github.com/anonymous/620a5fb5aff539264c1a 00:05
what am i missing tere?
*there
00:08 Ben_Goldberg joined, firstdayonthejob left 00:10 BenGoldberg left 00:11 geraud left 00:16 cdg joined, rhr joined
skids Anyone know what the failure observed in RT#122773 actually was? 00:18
erm sorry
RT#123272
As it stands, I had to add a "unit" keyword and after that I can get a "Could not find ABC::Grammar in:" but I don't know if that was what was originally going on. 00:20
00:21 adhoc left 00:22 adhoc joined, kaare_ left 00:24 hankache left 00:26 Zoffix left 00:37 smls_ left 00:41 roguelazer joined 00:43 pierre-vigier joined 00:48 pierre-vigier left
jdv79 This representation (VMArray) cannot unbox to a native string 00:52
sweet
oh. maybe its time for rest:( 00:53
nevermind
00:54 zostay joined 01:04 Ben_Goldberg left 01:05 Ben_Goldberg joined
TimToady m: () while 0 01:16
camelia rakudo-moar 8401e0: OUTPUT«WARNINGS for /tmp/IfJNqYLBY5:␤Useless use of () in sink context (use Nil instead to suppress this warning) (line 1)␤»
01:23 xpen joined
Hotkeys when using a named capture after matching does it matter if I do $<name> or $/<name> ? 01:25
they seem to produce the same result
TimToady doesn't matter 01:26
$<name> is just sugar for the $/<name>
dalek kudo/nom: 1f09c1e | TimToady++ | src/Perl6/ (2 files):
because it's Friday and I'm feeling expansive
01:31
japhb TimToady++ # For the commit message alone 01:32
Hotkeys alright cool
cognominal to ∞ and beyond 01:35
dalek ast: 456134a | TimToady++ | S02-literals/numeric.t:
That's one small step for a language...

one giant leap for the number line.
01:38
01:39 davercc` left 01:42 xpen left 01:43 xpen joined
dalek ast: f9d2d49 | TimToady++ | S06-operator-overloading/term.t:
test using aleph-zero instead of infinity
01:44
Ben_Goldberg Heh 01:48
m: my (\joy) := \(my $x=3); say ++joy 01:51
camelia rakudo-moar 1f09c1: OUTPUT«4␤»
Ben_Goldberg m: my (\joy) := \(my $x=3); say ++joy, ++joy, ++joy; 01:52
camelia rakudo-moar 1f09c1: OUTPUT«456␤»
01:52 pat_js left 02:00 zjmarlow_ left
jdv79 i have a feeling this whole requiring installing of a dist to render pod is gonna turn out to be a "really bad idea" 02:03
for instance i can't render pod for Audio::Libshout right now because the install fails because it can't find libshout, a prereq. 02:04
so something liek a metacpan server will have to have every conceivable pre-req installed? that' pure insanity. 02:05
02:11 molaf_ joined 02:15 molaf left 02:24 zjmarlow_ joined 02:25 FROGGS_ joined 02:28 Sqirrel left, FROGGS left
grondilu cuneiforms? jeez 02:29
m: 𒑡 × 𒑒
camelia rakudo-moar 1f09c1: OUTPUT«WARNINGS for /tmp/t2xCzGK_6E:␤Useless use of "×" in expression "𒑡 × 𒑒" in sink context (line 1)␤»
grondilu this messed up my terminal output in a way very difficult to describe 02:30
02:30 zjmarlow_ left
grondilu m: 𒑡 × * 02:31
camelia rakudo-moar 1f09c1: OUTPUT«WARNINGS for /tmp/K65hVGL5DE:␤Useless use of "×" in expression "𒑡 × *" in sink context (line 1)␤»
grondilu i.imgur.com/LRBctIi.png
m: say 𒑡 × * 02:32
camelia rakudo-moar 1f09c1: OUTPUT«WhateverCode.new␤»
grondilu msay : 𒑡 × 𒑒 02:33
m: say 𒑡 02:34
camelia rakudo-moar 1f09c1: OUTPUT«0.166667␤»
02:38 kid51 left 02:45 ilbot3 left 02:47 ilbot3 joined
TimToady somebody's been reading test files :) 02:53
02:55 zjmarlow joined 03:00 yqt left 03:01 zjmarlow left
Hotkeys .u א₀ 03:02
yoleaux U+05D0 HEBREW LETTER ALEF [Lo] (א)
U+2080 SUBSCRIPT ZERO [No] (₀)
Hotkeys that right to left nonsense is weird
dalek kudo/nom: c06c4c4 | TimToady++ | src/Perl6/Actions.nqp:
at least annotate the suspect bind as sunk
03:04
TimToady wonders if they write it ₀א over in those parts of the world... 03:05
Hotkeys is panda broken or is it just me 03:06
TimToady I suppose I should've used ℵ instead of א 03:07
Hotkeys oh
it's just taking ages to start doing things
dalek ast: 1e61fd2 | TimToady++ | S06-operator-overloading/term.t:
use the alef symbol rather than the letter
03:09
TimToady on first run it might be precompiling 03:10
(other modules)
dinner & 03:11
03:13 xpen left 03:16 uruwi joined 03:21 cdg left, cdg joined 03:26 noganex_ joined 03:28 AndyDee joined, cdg_ joined 03:29 noganex left 03:32 cdg left, cdg_ left 03:49 colomon left
lucs m: my regex bar { <[\w]> }; my regex foo { <+ bar - [0..9]> <bar>* }; "asdf" ~~ / <foo> /; # Help? 03:53
camelia rakudo-moar c06c4c: OUTPUT«Method 'bar' not found for invocant of class 'Cursor'␤ in regex foo at /tmp/LpynmEE83s:1␤ in block <unit> at /tmp/LpynmEE83s:1␤␤»
04:00 vendethiel joined
lucs & # ZZ mañana 04:02
04:06 colomon joined
awwaiid lucs: maybe you can't put a regex in for a char list 04:07
04:10 CQ2 joined 04:12 CQ left, CQ2 is now known as CQ 04:25 BenGoldberg_ joined 04:27 Ben_Goldberg left 04:30 lichtkind left 04:34 BenGoldberg_ left 04:40 flaviusb left 04:45 pierre-vigier joined 04:50 pierre-vigier left
AlexDaniel Recently I've noticed that line numbers in error messages became wrong 04:53
instead of saying the number of the offending line it says the line number of the sub declaration (where I have “sub Foo {”) 04:54
or even worse, line number of the return statement
am I making it up or the problem is actually there?
TimToady fixed already 04:55
AlexDaniel ooooooh
TimToady: thanks 04:56
TimToady if it's the bug I think it is
when did you last compile?
download/compile?
AlexDaniel yesterday
TimToady fixed today
probably 04:57
AlexDaniel well, we'll see :)
by the way, there are a bunch of warnings during the compilation of MoarVM. Is there any reason not to fix those? Or am I the only one who is seeing them? 04:59
TimToady the devs would rather see the warnings than fix them by cluttering things up :)
don't sweat it
AlexDaniel ah ok then. Though the latter option is possible too because I am on debian unstable and recently I've noticed a bunch of cases when it makes nice warning messages when earlier it did nothing. 05:01
TimToady the windows compiler is not so picky, I gather :)
grondilu with <a b> and <c d>, how can I make (('ac', 'ad'), ('bc', 'bd')) using metaoperators? 05:03
m: say <a b> X~ <c d> # flattens
camelia rakudo-moar c06c4c: OUTPUT«(ac ad bc bd)␤»
AlexDaniel hm, is there any way to know if rakudo was compiled with JIT support (i.e. non 32-bit stuff)? I am having an interesting case when the kernel is 64-bit but everything else is not…
flussence check the profiler output 05:04
AlexDaniel right
llfourn m: m: say <a b> X <c d> 05:05
camelia rakudo-moar c06c4c: OUTPUT«((a c) (a d) (b c) (b d))␤»
grondilu m: say <a b> X[X~] <c d> # flattens 05:06
camelia rakudo-moar c06c4c: OUTPUT«((ac) (ad) (bc) (bd))␤»
llfourn grondilu: you'd need to group them after the first X somehow 05:07
TimToady m: say (<a b> X <c d>).rotor(2)
camelia rakudo-moar c06c4c: OUTPUT«(((a c) (a d)) ((b c) (b d)))␤»
AlexDaniel DrForr: I think that it was decided to “release” on 19th so that we can release on 25th
TimToady m: say (<a b> X~ <c d>).rotor(2)
camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
llfourn ah yes .rotor!
winnar! 05:08
grondilu I was hoping not using rotor
AlexDaniel DrForr: if that's what you meant by your question, and if I got everything correctly :)
grondilu because the array can be of arbitrary size and I don't want to use it more than once.
llfourn m: m: say (<a b> X~ <c d>).rotor(*) 05:09
camelia rakudo-moar c06c4c: OUTPUT«Cannot call Real(Whatever: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/YidXjExZFc:1␤␤»
grondilu m: say <a b> X[X~] (<c d>,) 05:10
camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
grondilu ah ah
m: say <a b> X~ (<c d>,)
camelia rakudo-moar c06c4c: OUTPUT«(ac d bc d)␤»
llfourn oh nice :)
grondilu X[X~] it is :)
TimToady mUm: say <a b> XX~ (<c d>,)
m: say <a b> XX~ (<c d>,) 05:11
camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
AlexDaniel mum?
TimToady don't really need the brackets
05:11 vendethiel left
TimToady m: say <a b> XX (<c d>,) 05:11
camelia rakudo-moar c06c4c: OUTPUT«(((a c) (a d)) ((b c) (b d)))␤»
05:12 Actualeyes joined
AlexDaniel OK here goes 3 minute precompilation again… That's like half of the time required to build rakudo? :) 05:13
grondilu m: say <a b> XX~ <c d>, 05:14
camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
grondilu neither the parens
AlexDaniel nice!
m: say <a b> XZ~ <c d> 05:15
camelia rakudo-moar c06c4c: OUTPUT«((ac) (ad) (bc) (bd))␤»
AlexDaniel TimToady: yes, my problem disappeared after updating. Thank you 05:18
05:37 molaf_ left 05:52 flaviusb joined, psy_ joined, Possum left 05:53 Possum joined 05:56 secwang joined 06:03 psy_ left 06:05 psy_ joined 06:06 psy_ left 06:08 psy_ joined 06:11 secwang left 06:15 pierre-vigier joined 06:17 secwang joined 06:19 vividsnow joined 06:21 snarkyboojum joined 06:29 szabgab joined
szabgab Hi, could someone tell me who is venndethiel (full name, link to some home page)? So I can properly attribute the links in the Perl Weekly. 06:30
yoleaux 6 Nov 2015 18:30Z <[Coke]> szabgab: cpansearch.perl.org/src/SZABGAB/Syn...e/Perl6.pm looks more like a Perl 5 highlighter, no?
TEttinger Ven is usually online around now... 06:31
github.com/vendethiel appears to be the veninator 06:32
06:32 cpage_ left
TimToady ven usually prefers to just go by vendethiel 06:32
dunno why there's two N's in the article, offhand 06:33
06:33 nige1 joined
dalek ast: 040bac7 | skids++ | S10-packages/precompilation.t:
Add passing test for RT#123272 verified not passing on <= 59f7cb9

   This seems to adequately represent the since-fixed ABC precomp issues
   Note that it runs into run_alt problems when run directly from roast
   where there is no t/spec/packages directory unless you link said
   path to the roast packages/ directory. Will ensure it works from
   make spectest after this commit.
06:38
ast: cee6b12 | skids++ | packages/Example2/ (15 files):
Files for previous commit
06:44 secwang left, khw left
szabgab thanks for the links 06:47
06:51 pierre-vigier left
skids darn. The run_alt issue still kills those tests under "make spectest" 06:56
TimToady maybe you found the flapper? 07:05
skids Well, the fact that it seems to care what directory .precomp is in seems maybe to be a clue. 07:07
Huh, now it doesn't and the link trick doesn;t work anymore. Just always run_alt. Sigh. 07:14
Up way to late to deal with this, though. 07:15
07:16 szabgab left 07:23 CIAvash joined 07:26 skids left, secwang joined
dalek kudo/nom: 28ab83f | TimToady++ | src/ (2 files):
restricted subset of regex for INTERPOLATE

Nothing that can execute arbitrary code is allowed into regex interplations now. Probably. Maybe.
07:29
TimToady where's Mrs Tables when you need her? 07:31
07:34 molaf joined
TimToady m: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> / 07:36
camelia rakudo-moar c06c4c: OUTPUT«pwned␤»
dalek ast: 20d3fc8 | TimToady++ | S05-metasyntax/litvar.t:
fix test new restricted regex caught
07:41
07:43 RabidGravy joined, aindilis joined 07:51 hankache joined
TEttinger you know, I bet interplations isn't even a typo if you go into technical enough jargon 07:55
"it's the jargon called You Know What I Mean"
TimToady m: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> / 07:56
camelia rakudo-moar 28ab83: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { foo }7⏏5; { say "pwned" }; regex { foo }␤»
TimToady m: "foo" ~~ / <{ '$(say "trivially pwned")' }> / 07:57
camelia rakudo-moar 28ab83: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex {7⏏5 $(say "trivially pwned")}␤»
TimToady anyway, everyone feel free to try to break into it :) 07:58
TEttinger j: "foo" ~~ / <{ '$(say "trivially pwned")' }> /
camelia ( no output )
TEttinger j: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> / 07:59
camelia rakudo-jvm 6c0f93: OUTPUT«pwned␤»
TimToady hasn't recompiled
TEttinger I can dream
hankache good morning #perl6 08:00
TimToady why, so it is...I should go to bed
08:05 labster joined 08:06 raiph left
labster Well, it looks like all of my modules broke right before Christmas. So I guess it's time to fix them. 08:12
08:13 darutoko joined
hankache labster good luck 08:13
labster although make install is failing at this step: ./perl6-m tools/build/install-core-dist.pl An exception occurred while evaluating a constant 08:14
at /Users/brent/code/rakudo/install/share/perl6/sources/37AE7E5299896B2ED5DA605854BE14140B241038:13
Exception details:
Could not find symbol '&bool'
08:17 nige1 left
Woodi TimToady++ # (security++)++ 08:24
hi today #perl6 :) 08:25
labster good morning Woodi 08:30
TimToady labster: you have to rm the install dir to clear that one 08:34
hankache anyone having problems installing Terminal::ANSIColor? 08:36
lol it's already installed. 08:37
Woodi I wonder do we have to much numeric types... maybe int and Int could be same thing in int-range ? (if they arn't already)
hankache needs coffee
Woodi hankache++ ;) 08:38
hankache morning Woodi
labster Worked, thanks TimToady 08:40
_nadim Good morning all 08:44
Woodi hi _nadim
hankache morning _nadim 08:45
RabidGravy marnin 08:46
08:46 xpen joined
Woodi about OO Design :) : so, looks by now we discovred basic atoms and electrons and we are like physics in XIX century - "we know everything! rest is about just measuremen accuracy" :) 08:47
assuming that's true then next inventions will just group basic objects into bigger things like family of objects -> clans -> tribes -> nations and finally global objects ! ;) 08:49
hankache morning RabidGravy 08:50
newbie question: I want to store html+javascript in a variable so i can output it in bailador 08:53
the html and javascript in on multiple lines, how can i do it?
Woodi hankache: newbie answer: $string or @list ? 08:54
hankache knowing that the string has quotes, backslashes etc. and escaping them is not an alternative
Woodi hankache: so that text in varible is already escaped for html output ? 08:57
hankache Woodi no 08:58
i saw something for perl5 and don't remember it well, q{} or qq{} something close 08:59
labster In the future, we will put the entire program in a string, and put EVAL in front. 09:00
Woodi labster: I heard once some company used LDAP database to keep thousand of SQL queries ;) 09:02
_nadim hankache: Q<<{ your text on multiline }>>
09:02 cpage_ joined, TEttinger left 09:03 TEttinger joined
Woodi hankache: so you need to add all that &xxxxxx things ? 09:04
_nadim doc.perl6.org/language/quoting 09:06
dalek kudo/nom: 6942dc1 | TimToady++ | src/Perl6/Actions.nqp:
inside of gather is a sink context
09:07
09:09 pmurias joined
hankache _nadim thanks 09:12
Woodi no not for thi example
this**
RabidGravy hankache, maybe a "here document" doc.perl6.org/language/quoting#Heredocs%3A_%3Ato ?
labster ah, so IO::Handle.seek no longer accepts the Int argument for whence. And the design docs are wrong. What is happening to the world when we can't use confusing integer flags in our code? :P 09:13
hankache RabidGravy thanks 09:14
Woodi hankache: problem is: I don't quite know what input format you have and what output format you are expecting... so human-fpga can't help a lot, just heurestics :)
labster m: SeekType.new(0).say 09:15
camelia rakudo-moar 6942dc: OUTPUT«Cannot unbox a type object␤ in block <unit> at /tmp/UqQM8bcq3Z:1␤␤»
RabidGravy oof
but the simple cast works
m: say SeekType(0) 09:16
camelia rakudo-moar 6942dc: OUTPUT«SeekFromBeginning␤»
09:16 nige1 joined
hankache Woodi I want to put this gist.github.com/hankache/b1d39936f6bfba178709 in a variable 09:17
labster m: SeekType.new(0).perl 09:18
camelia rakudo-moar 6942dc: OUTPUT«Use of uninitialized value $!key of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/9W3xtoluRZ:1␤»
hahainternet hankache: RabidGravy gave you the right link, this: doc.perl6.org/language/quoting#Heredocs%3A_%3Ato
labster lol thanks error message.
hankache hahainternet Woodi RabidGravy _nadim thanks everyone 09:22
09:23 smls joined
dalek kudo/nom: 19d84be | TimToady++ | src/Perl6/Grammar.nqp:
regex interpolation falsely rejected <alpha>
09:24
cognominal m: EVAL "say q:to<END>\nhi hankache\nEND" 09:25
camelia rakudo-moar 6942dc: OUTPUT«hi hankache␤␤»
TimToady note wrt regex interpolation, S05-metasyntax/angle-brackets.t is known to fail because it is violating the rules; we need a monkey pragma to enable bypassing the rules for testing 09:27
too late to do it tonight though...
smls ooh, so we have safe interpolation now?
s/safe/safer/ 09:28
TimToady m: "foo" ~~ / <{ '$(say "trivially pwned")' }> /
camelia rakudo-moar 6942dc: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex {7⏏5 $(say "trivially pwned")}␤»
hankache m: say "salut cognominal"
camelia rakudo-moar 6942dc: OUTPUT«salut cognominal␤»
TimToady m: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> /
camelia rakudo-moar 6942dc: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { foo }7⏏5; { say "pwned" }; regex { foo }␤»
TimToady m: "foo" ~~ / <{ '<alpha>' }> / 09:31
camelia ( no output )
TimToady m: say "foo" ~~ / <{ '<alpha>' }> /
camelia rakudo-moar 19d84b: OUTPUT«「f」␤»
TimToady that's the one I just fixed, was bailing out too early
m: say "foo" ~~ / <{ '<foo("anything")>' }> / 09:32
camelia rakudo-moar 19d84b: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { <foo(7⏏5"anything")>}␤»
09:32 Sqirrel joined
TimToady that's illegal though 09:32
m: say "foo" ~~ / <{ '<foo::bar>' }> /
camelia rakudo-moar 19d84b: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol foo␤»
TimToady that's legal
hankache so the html+javascript that we put in a scalar using heredoc is being used correclty by bailador.
TimToady m: say "foo" ~~ / <{ '<foo::bar:baz(42)>' }> /
camelia rakudo-moar 19d84b: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { <foo::bar7⏏5:baz(42)>}␤»
TimToady that's not
m: say "foo" ~~ / <{ ' "oo" ' }> / 09:33
camelia rakudo-moar 19d84b: OUTPUT«「oo」␤»
hankache the only issue being <script src="library.js"></script> is not being picked up
TimToady m: say "foo" ~~ / <{ ' "o{say 'gotcha'}o" ' }> /
camelia rakudo-moar 19d84b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BWtWGDLTAJ␤Two terms in a row␤at /tmp/BWtWGDLTAJ:1␤------> 3say "foo" ~~ / <{ ' "o{say '7⏏5gotcha'}o" ' }> /␤ expecting any of:␤ infix␤ infix stopper␤ statement end…»
TimToady m: say "foo" ~~ / <{ ' "o{say q/gotcha/}o" ' }> /
camelia rakudo-moar 19d84b: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { "o7⏏5{say q/gotcha/}o" }␤ expecting any of:␤ double quotes␤»
hankache although it is in the same folder
TimToady m: say "foo" ~~ / <{ ' "$_" ' }> / 09:34
camelia rakudo-moar 19d84b: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { "7⏏5$_" }␤ expecting any of:␤ double quotes␤»
Woodi hankache: what request Bailador is getting from client ?
TimToady not sure why that one fails, probably overkill
Woodi ' "$_" ' should't be just "literal": "$_" ? 09:37
09:38 FROGGS_ left
Woodi Woodi: should and that's the problem ? 09:38
09:48 hankache left, hankache joined
TimToady ah well, won't get that one fixed tonight either... 09:48
zzz &
09:49 secwang left, cognominal left
hankache Woodi: i am not really sure i understand the question. This is the first time i use bailador 09:50
i loaded the html+javascript using heredoc and bailador outputs it correctly. the only issue is this line <script src="library.js"></script> 09:52
09:53 kaare_ joined
hankache bailador can't find it 09:53
*can't find the .js
Woodi hankache: bailador sends web page to client and client should ask for library.js in subsequent request 09:55
I was asking what request bailador got for library.js 09:56
hankache Woodi: here is my code gist.github.com/hankache/b1d39936f6bfba178709 09:59
09:59 xpen left, nige1 left
pmurias hankache: do you have Chart.js somewhere? 10:00
10:01 rindolf joined
hankache pmurias yes in the same directory where i call the pl6 file containing the code 10:01
10:02 firstdayonthejob joined
hankache so if i copy/paste the content of $html in a .html file and save it in the same directory it wors 10:02
works*
but when run using bailador, it can't figure out the path to it
10:03 spider-mario joined
pmurias hankache: the simplest option would be to just replace src="Chart.js" with src="cdnjs.com/libraries/chart.js" 10:03
hankache pmurias of course it works then
pmurias but i was trying to provision for offline use 10:04
pmurias hankache: looking at the Bailador source code it doesn't seem to read files by default 10:05
so you would have to add a route for Char.js that reads the file and sends it 10:06
something like get 'Chart.js' => sub { slurp 'Char.js' }; 10:09
pmurias didn't test that
hankache pmurias thanks dear 10:10
pmurias: i'll see what can be done.
hope slurp works
pmurias hankache: maybe it should be get '/Chart.js' => sub { slurp 'Char.js' }; 10:14
do we have a Perl 6 framework other than Bailador? 10:15
hankache pmurias not that i know of 10:16
AlexDaniel pmurias: I don't think so
pmurias: is there something wrong with Bailador, by the way? 10:17
pmurias: because I am using it for rather simple stuff and it works just fine
hankache eureka!!
pmurias: get '/Chart.js' => sub { slurp 'Char.js' }; did the job
AlexDaniel aaaah
hankache pmurias: thanks a lot
AlexDaniel hankache: yeah, that's what I do too :)
hankache AlexDaniel :) 10:18
AlexDaniel I am just starting to learn how to use bailador
AlexDaniel hankache: not sure if that's the right way to do it, but oh well, it works 10:19
hankache AlexDaniel if it works, it works
AlexDaniel hankache: well kinda, what if you want to serve a binary file?
pmurias AlexDaniel: I haven't used it so I don't have a strong opinion, seems to look a bit like a quick hack
hankache AlexDaniel no idea :) 10:20
pmurias: at least i can keep going for the moment. thanks again
AlexDaniel hankache: you might also need this kind of thing 10:21
get ‘/raw’ => sub { header(‘Content-Type’, ‘text/plain’); return ‘some text here’ };
hankache: for JS stuff too, I think.
though it is not going to be text/plain 10:22
hankache ok
AlexDaniel pmurias: yeah. Well, my problem with Bailador is that it seems to look a bit like a half-dead project 10:23
some commits now and then but no real development 10:24
for me it's OK if it is somewhat hacky, but it's not OK if things are not moving forward… 10:25
hankache: ah yeah, if you are going to need POST params then read this: github.com/tadzik/Bailador/pull/44
10:26 Skarsnik joined
AlexDaniel hankache: long story short: you have to apply this patch in the pull request, then apply my fix, then it is going to work 10:26
I did not submit a pull request because it looks like it has to be named “p6sgi”, feels like it was just forgotten 10:27
so the original pull request is fine, it is just that it does not work with the current code base…
oops I meant “psgi” 10:28
hankache aha
10:28 labster left
AlexDaniel good ni… *! o/ 10:29
hankache good night AlexDaniel
RabidGravy off out to laugh at the desperate masses, ttfn. 10:32
10:34 AlexDaniel left 10:36 RabidGravy left 10:37 labster joined
smls Did Rakudo nom somehow become three times slower since yesterday? 10:41
s/three times/1.5 times/ 10:43
10:46 rurban joined 10:54 hankache left 10:56 labster left 11:03 psy_ left 11:05 eyck left 11:06 eyck joined
masak good noon, #perl6 11:06
11:10 Begi joined 11:11 vividsnow left 11:12 vividsnow joined 11:13 bpmedley left
Skarsnik Hello 11:16
masak \o
11:25 psy_ joined 11:26 psy_ left, psy_ joined 11:34 hankache joined
lizmat good *, #perl6! 11:34
smls: spectest seemed slower the past days, yes
hankache hiya lizmat!
lizmat hankache o/
dalek kudo/nom: 5e0c0ca | (Sylvain Colinet)++ | lib/NativeCall.pm6:
Change the way you can specify the API/ABI version in NC. previous implementation would fail under win32 because based on a : separator
11:39
kudo/nom: 29c460d | lizmat++ | lib/NativeCall.pm6:
Merge pull request #641 from Skarsnik/nom

Change the way you can specify the API/ABI version in NC.
hankache is there a way of making all class attributes rw instead of saying is rw for each attribute?
Skarsnik class A is rw 11:40
hankache thanks Skarsnik
Skarsnik thx lizmat x) 11:41
11:41 _nadim left
hankache thanks lizmagic 11:41
;D 11:42
Skarsnik oh wait I forget to commit the test file :( 11:47
12:02 vividsnow left
timotimo yawn 12:03
not feeling so great today :\
12:03 vividsnow joined
timotimo and then somebody says rakudo got 1.5x slower, that's bad news 12:03
12:04 eyck left, eyck joined
timotimo smls: did you have some code that measures the slowdown somewhat directly? 12:06
smls timotimo: not golfed 12:07
12:08 eyck left 12:09 eyck joined, kid51 joined
dalek kudo/nom: 522e03c | (Sylvain Colinet)++ | t/04-nativecall/17-libnames.t:
Add the missing test file related to NC api version stuff
12:10
kudo/nom: f7adf8f | lizmat++ | t/04-nativecall/17-libnames.t:
Merge pull request #642 from Skarsnik/nom

Add the missing test file related to NC api version stuff
lizmat Files=1092, Tests=51291, 349 wallclock secs (15.65 usr 4.17 sys + 2273.45 cusr 175.97 csys = 2469.24 CPU) 12:11
^^^ on a cold machine... wallclock and CPU are about 1.5 to what I was used to until earlier this week
timotimo huh 12:12
lizmat yes, some tests were added, but not that many 12:13
timotimo it's not the great sink refactor, is it?
smls Can I safely downgrade Rakudo with rakudobrew? 12:14
lizmat timotimo: I would hope not.... but fear that it is...
timotimo you can nuke your moar first, smls 12:15
lizmat I mean, adding just a little bit of overhead to each line, e.g. all of that wanted stuff
timotimo it's a little bit of extra data, but it's only compilation overhead 12:16
though on the other hand ... spec tests is almost dominated by compilation
i think it'd be interesting to actually measure that exactly 12:17
like, hack stagestats to write to a file and collect the whole combined output for all of the spec test suite
smls The difference I saw in my script was run-time, though, as measured by «my $time = now; ...; note $time - now»
timotimo OK 12:18
are you on the MOAR_REVISION or on moar master?
NQP_REVISION, likewise
jnthn Various bits of code-gen also look out for a wider range of register types due to the sized stuff, but I'd rather doubt that's to blame.
Not for such a large factor 12:19
Spectest seems slower here too
smls timotimo: Whatever "rakudobrew build moar" decided to build ;)
timotimo i think unless you use "rakudobrew triple nom master master" you get the "recommended" revisions 12:20
Skarsnik I get sink warning with use NativeCall :ALL; (or :something) is that normal? x)
timotimo yeah, the :foo triggers it, right?
Skarsnik Useless use of ":TEST" in sink context (line 3) 12:21
moritz m: use Test :ALL;
camelia ( no output )
moritz m: NativeCall :ALL;
timotimo could already be fixed
camelia rakudo-moar 29c460: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yTkuPFA3uW␤You can't adverb NativeCall␤at /tmp/yTkuPFA3uW:1␤------> 3NativeCall :ALL7⏏5;␤ expecting any of:␤ pair value␤»
timotimo m: use NativeCall :ALL;
camelia ( no output )
timotimo seems like. Skarsnik you can update :)
Skarsnik it's like from 2-3 days ago x) 12:22
timotimo right now, our velocity of changes is pretty big
Skarsnik If it's fixed it's alright ^^ 12:23
timotimo yeah, seems like it is
lizmat FWIW, wrt to slowdown, it doesn't seem to come from bare startup 12:25
m: use Test; say now - BEGIN now 12:26
camelia rakudo-moar 29c460: OUTPUT«0.0140953␤»
lizmat m: use Test; say now - BEGIN now
camelia rakudo-moar 29c460: OUTPUT«0.013673␤»
lizmat $ time perl6 -e 'use Test'
real0m0.482s
almost *500* msecs to load Test ? 12:27
perhaps it's not precomped ?
timotimo hm, isn't precomping built-in modules part of "make install" now?
jnthn m: say now - BEGIN now; use Test; # otherwise we used it before the BEGIN 12:28
camelia rakudo-moar 29c460: OUTPUT«0.4339159␤»
lizmat ah, duh
timotimo good catch
lizmat so, loading a precomped Test.pm is taking 3.5 times as long as loading the precomped settings ?
jnthn suggests --profile-compile 12:29
lizmat just checked with RAKUDO_MODULE_DEBUG=1 that Test is loaded from precomp
SET RMD: going to load Test: {}
SET RMD: Loading precompiled /Users/liz/.perl6/2015.11-673-g19d84be/precomp/1DAE02D8B6FD637CEF34FD20C67DEB9295F3BD75.1450524878.91246/80/80C98A14C9019B13A73CF13AB9D6DEE5E285B127
jnthn The precomp file is pretty small too 12:30
timotimo .o( those filenames )
jnthn perl6-m --profile -e "require Test" # spits out a 6MB profile?! 12:34
timotimo o_O
jdv79 is there any chance the filenames could be made readable?
its pretty frustrating to try to figure out what a trace means with them in it 12:35
timotimo or a profile
jdv79 yeah
timotimo jnthn: i have the profile actually loaded in my browser now. i don't dare click a header to sort the routine list, but looking through it shows 71.68% inclusive as well as exclusive is spent in get 12:39
IO::Handle's get method 12:40
Skarsnik I think the backtrace should try to gather the name of the compiled stuff
timotimo it's only called 9 times ... 12:41
jnthn Hm, my --profile for "uest Test" shows get called 15 times 12:42
But what's really odd
Is that even though I'd assume it should be loading it from pre-comp, it seems to actually want to compile it first time also
timotimo okay, so could the slowdown in spec tests come from accidentally recompiling Test for every single .t file?
jnthn Not sure 12:43
Woodi can be that Test build into compiler ? :)
timotimo no, please not 12:44
the core setting is already bursting at the seams
pmurias Woodi: no
Woodi timotimo: but looks test module is as standard as object and grammars thes days... 12:45
jnthn timotimo: Does your profile show from-json using a lot of time?
pmurias Woodi: different people like different test modules 12:46
timotimo 0.2ms exclusive, but 12.8% inclusive
ah, it uses a grammar
jnthn For me it's called 3 times and used 46%
*uses
Woodi pmurias: include test during compiler compilation ?
moritz "panda --force install Inline::Python" failed here: perlpunks.de/paste/show/567551ac.13a4.20f
is that a rakudobug or a pandabug? 12:47
timotimo in total, require Test used up 1739ms and from-json only took 211.9 of those
12:47 aristotle joined
aristotle lists.swift.org/pipermail/swift-ev...01948.html 12:47
pmurias Woodi: the Test module should be precompiled yes, I hope it doesn't need to be treate magically
timotimo could it be "require" just can't properly do the precomp dance yet? or something?
aristotle ^^ static vs dynamic discussed in the context of Apple’s Swift 12:48
12:48 aristotle left, Begi left 12:50 Actualeyes left
masak we should think about having a sufficient slowdown percentage counting as "breaking the build" and being reported by Travis CI. 12:53
12:54 Begi joined
smls timotimo: Switching between "moar-2015.11" and "moar-nom" with rakudobrew, I can confirm that my script is about 1.5 times slower with the latter. :( 12:54
12:54 Actualeyes joined
jnthn smls: Slower to run, or slower to compile? 12:54
smls run time
12:54 _nadim joined
jnthn OK, then we shouldn't be looking at module loading 12:54
smls I'll try to golf it down a little, but here's the whole script + input files: gist.github.com/smls/9adf4b6707938445c050 12:55
jnthn lizmat: Was the .lines pessimization before or after 2015.11? 12:56
lizmat jnthn: but still, loading a precomped Test.pm taking 3.5 times as long as loading the precomped settings ?
I think before
jnthn lizmat: It's not the loading
lizmat: Well, let me put that better 12:57
It's not what happens from the point we say "OK, that .moarvm file"
lizmat ok
jnthn The actual bytecode load/deserialize of the module is way down the profile
timotimo smls: to be fair, 2015.11 is "a long time" ago now in terms of commits, but it's still good you still had that around :)
12:57 vendethiel joined
nine We do precompile on install but usually also have to precompile on first load because there's the user-repo ahead in the chain 12:57
lizmat .lines pessimisation is from 2015-11-14, so before the 2015.11 release 12:58
jnthn nine: Yeah, I just noticed that
lizmat: OK, then it ain't that.
lizmat and it's something that happened in the past few days
12:58 kid51 left
vendethiel TimToady: "venndethiel" was used because "vendethiel" was already taken -- that's the issue when using an elvish name generator ;-). So I pun'd "ven" to "venn", which means "friend" in swedish/finnish/.. IIRC 12:58
timotimo jnthn: i wonder if i should make an effort to get my JSON::Fast code included inside rakudo to replace the grammar-based one?
nine moritz: that's an...interesting error
jnthn timotimo: Not this close to release 12:59
timotimo oh, ohai nine :)
jnthn: aye
jnthn nine: (makes sense, too)
lizmat nine: on first load: that implies if I do it again right after that, it should have the precomped one now ?
12:59 Ven joined
jnthn does see a big difference between first perl6 -e "use Test" and second 12:59
Ven Computer, messages 13:00
yoleaux 18 Dec 2015 16:43Z <ZoffixW> 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
13:00 Ven left 13:02 kid51 joined, hankache left
dalek ast: b4b75e1 | jnthn++ | S17-supply/syntax.t:
Try a more robust way to de-flappy this test.
13:04
13:05 zengargoylew joined
timotimo computer messages 13:07
pmurias should rakudobrew build-panda install me a panda? 13:08
nine I'm currently working on loading precomped dependencies directly using the precomp id from the .deps file. That will remove quite a bit of JSON loading (except for the modules use'd by the top level compunit) 13:10
smls Simpler script, which takes 15 sec on 2015.11 and 21 sec on nom: gist.github.com/smls/c51b5d7b328e1fdf8c08
13:12 hankache joined 13:13 geever joined
jnthn smls: Can you reproduce the difference with just for ('127.0.0.1', '127.0.0.1', 'foo') xx 10000 { ... } ? 13:14
pmurias vendethiel: hi
jnthn (Which eliminates the I/O)
vendethiel hi pmurias
masak vendethiel++ # perl6advent.wordpress.com/2015/12/...ospection/ 13:15
pmurias vendethiel: re github dicussion I'm planning to cleanup the array handling in nqp-js at some time in the future and get rid of all the hacks
vendethiel okay, that sounds good :-)
hankache vendethiel++ #adebt post
#advent**** 13:16
which module should i use for json?
pmurias vendethiel: it also seems to be that if nqp-runtime gets loaded multiple time in independent places loads of stuff will break
13:17 sammers left, rurban left
vendethiel ah, that's very possible, yeah.. 13:20
then just forget about it I guess :)
smls jnthn: Yes, in fact the difference got larger... gist.github.com/smls/5626453188e4e20eef2b 13:21
13:22 rurban joined
_nadim Hi, I have a method that uses a set of properties. Those properties are part of the class. One can pass, to the method call, a bunch of overrides that are valid during the call only. how would you handle that? 13:23
jnthn Maybe something like my %effective-props = self.Capture.hash, %overrides; # then look in %effective-props
timotimo i wonder if we should put an oxford comma into the descriptions on perl6.org 13:24
Object-oriented programming including generics, roles [oxford comma here?] and multiple dispatch
_nadim jnthn: where "Capture" is ?
Skarsnik Oxford comma is dumb, but yes, it should probably be here
jnthn _nadim: Coercing an object to a Capture is used for destructuring.
_nadim timotimo: Yes, Oxford comma 13:25
timotimo Skarsnik: it's dumb?
Skarsnik It only make sense for english native probably. And I know lot of english speaking people that does not really like it x) 13:26
jnthn _nadim: The default is to put all of the attribute with accessors into a hash so they can be unpacked as nameds
timotimo vendethiel: but ('a'..'z').pick(50) doesn't actually create a string for you ... you're relying on the list to stringify to its values with spaces in between, eh?
jnthn Skarsnik: I never really cared until I saw that "We invited the strippers, JFK and Stalin" poster, and never forgot about it since :P 13:27
13:27 a3r0 joined
jnthn t\04-nativecall\17-libnames.t is explodey on Windows 13:27
timotimo yeah, it's a very ... candid image :)
_nadim jnthn: OK, I got it, access the hash that is, behind the curtain, containing all attributes with accessor via Capture. Would you, shortly, or via a link, tell me a bit about the Capture and destruction dance? 13:28
hankache json::Tiny or json::Fast ?? 13:29
vendethiel timotimo: uhm, I thought I edited the blogpost, but apparently I only changed my testfile :| whoops
Skarsnik jnthn, is does not get skipped?
13:29 sammers joined
vendethiel timotimo: fixeth 13:29
i did
timotimo :)
_nadim: www.youtube.com/watch?v=Xecz3VdPixM - this kind of destruction? 13:30
jnthn m: class Steak { has $.cookedness; has $.sauce; }; my $s = Steak.new(cookedness => 'medium', sauce => 'gorgonzola'); sub describe($steak (:$cookedness, :$sauce)) { say "A $cookedness steak with $sauce sauce" }; describe($s) 13:31
camelia rakudo-moar f7adf8: OUTPUT«A medium steak with gorgonzola sauce␤»
jnthn The nested signature there is bound against $s.Capture 13:32
m: class Steak { has $.cookedness; has $.sauce; }; my $s = Steak.new(cookedness => 'medium', sauce => 'gorgonzola'); say $s.Capture;
camelia rakudo-moar f7adf8: OUTPUT«\(:cookedness("medium"), :sauce("gorgonzola"))␤»
jnthn I've not seen folks take advantage of this much yet, but you can even write a custom Capture method to describe how your own objects can be unpacked
Anyway, for your case I was just taking advantage of this to get a hash of the properties, and then relying on hash concatenation taking the latest value it sees for a key. 13:34
dalek p/js-cps: b76959f | (Pawel Murias)++ | src/vm/js/ (3 files):
[js] Implement --cps=off compiler flag to avoid emitting code to support continuations.
13:35
smls jnthn: Better golfed script, with a strange result: gist.github.com/smls/a78edfd46a70e9f1010c 13:36
The result is that with the "flat" line it's fast on both versions, but with the "|" line is fast on 2015.11 and slow on nom
Even though the @input constructionh is not part of the measured time interval 13:37
But somehow it affects the following loop
jnthn In the profile I'm seeing, the calls to postcircumfix:<[ ]> now seem to always miss the multi-dispatch cache 13:38
It's worse than that 13:39
The infix +< and so forth do also
nine We often need a second run for precompilation because mtime has seconds granularity and we think a precomp file is out-dated because it was compiled in the same second as a dependency
jnthn The multi-dispatch cache being missed would easily cause an epic regression
_nadim jnthn: thanks, timotimo ... lol! 13:40
dalek kudo/nom: 650c228 | jnthn++ | src/ (3 files):
Implement CLOSE phaser for supply blocks.

This provides a way to do resource management when a tap is closed (or the supply otherwise completes). For example, a supply block that establishes a connection to, say, a message queue can disconnect from it in the CLOSE block.
13:41
ast: 31be61e | jnthn++ | S17-supply/syntax.t:
Tests for CLOSE phaser in supply blocks.
jnthn I think we can call that the last feature before xmas :)
nine I think it would actually be better to just delete all rev-deps when we encounter an outdated precomp file (we already delete the file itself). We have all the information there. 13:43
lizmat re precomping within the same second: perhaps add a global counter to the mtime? 13:44
Skarsnik jnthn, how does t/17-libname explode on win32?
jnthn 1..7
ok 1 - # SKIP 7
# Looks like you planned 7 tests, but ran 1
skip 7; # that doesn't do what you think it does :P 13:45
nine lizmat: I compare the mtimes of a precomp files dependencies with the precomp file to detect when it has become outdated. The state of the global counter would have to be kept within the precomp store, so other processes use the same counter.
Actually: why don't we unlink all rev-deps when _writing_ a precomp file? That's what Repository::Installation does on install already and there should be no reason to keep outdated files around at all. They can only hurt.
dalek kudo/nom: 9b40ea6 | jnthn++ | t/04-nativecall/17-libnames.t:
Fix skipping.
Skarsnik skip-rest? 13:46
lizmat nine: sounds like a plan to me
jnthn Skarsnik: Looks at the plan and how many tests have been run, and does the right number of skips :)
Skarsnik: So if you update the test file later and also the plan, no need to fix the number elsewhere
nine: Sounds reasonable, yes.
smls jnthn: How do you explain my last result though? ("|" vs "flat" influencing the loop performance on nom but not 2015.11) 13:47
13:47 nige1 joined
jnthn smls: | and flat are quite different code paths. 13:47
smls: I can easily imagine flat hitting multi-dispatches and | not 13:48
(And it flattens lazily)
smls Yeah but they happen before the benchmarked loop
_nadim jnthn: I think the example you gave above would make an interesting advent entry, specially if there is some "handles" examples too.
jnthn smls: Well, you could look at the profiler to get answers instead of asking me to guess. :P
That's how I found out it's seemingly a multi-cache regression. 13:49
_nadim aprpos "handles", is it completely implemented, I read in one of jnth's presentation, tha some parts were not in Rakudo yet.
jnthn _nadim: How old was the presentation? :)
_nadim: I don't know of any holes in it
smls jnthn: It's not a small difference either. About factor 4 difference depending on wich of the "@input = ..." lines is uncommented in gist.github.com/smls/a78edfd46a70e9f1010c 13:50
jnthn added some extra handles tests yesterday to make sure a handles in a role is composed
13:50 ellybelly joined
Skarsnik I am confused according to doc.perl6.org/language/testing#Skipping_tests skip-rest will skip what come after 13:51
13:51 cygx joined
cygx o/ 13:51
_nadim jnthn: don't remember which one but I remember that you wrote that regexes in "handles" was not there yet
cygx is still waiting for a decision on whether IO::Path.lines/split/comb/... should fail or throw... 13:52
_nadim jnthn: what commit wasit you put tests in, maybe I can look at those for examples
jnthn smls: Yeah, I can reproduce it
5a0c386d68880 13:53
_nadim: ^
cygx: Probably throw since they'd normally return an array 13:54
cygx: Well, a Seq
13:55 hankache left
jnthn cygx: And so you could end up accidentally iterating over the failure 13:55
(as an item)
smls: I'll look into the multi-dispatch cache miss issue, from the earlier benchmark, and maybe that helps the second one also 13:56
cygx so I'll need to update my moar/nqp/rakudo, and will submit a new pull request
smls ok
jnthn lunch first, though :) 13:58
smls I'm not sure what to look for in these profile outputs, but the two most obvious differences from the first two tabs are: 14:01
1) The slow version has 10% specialized frames, the fast version has none.
2) The slow version spends a pretty larger percentage of exclusive time in &sink-all and <anon>; The fast version much more in &pull-one.
14:03 jvcakg joined
smls s/larger/large/ 14:03
pmurias nine: re unlinking outdated reverse dependencies, isn't that only a heuristic 14:05
?
nine: would using both mtimes and a checksum solve false positives caused by mtime low resolution? 14:10
jvcakg any templating development for perl6? web?
14:11 llfourn left
Skarsnik look at modules.perl6.org 14:12
jvcakg ok
I would like to stamp my name here 14:13
14:13 adhoc left
mspo isn't mojo templating built-in? 14:13
14:14 adhoc joined
Skarsnik There are already like 6 templates modules 14:15
jvcakg nice 14:18
what are they I don't want to go to the list 14:19
Skarsnik search template in the search field?
14:20 andreoss joined
_nadim jnthn: are you sure it is 5a0c38.... can't seem to find that commit 14:20
14:24 vividsnow left 14:30 jvcakg left 14:34 dwarring left
nine pmurias: during a process' runtime, precomp files are only loaded from a single store. So removing outdated files from that store is safe enough. We also know all precomp files in that store that depend on a certain file. 14:35
pmurias: So unlinking them if the file changes should be quite safe
14:37 rurban left 14:43 cdg joined
cygx github.com/rakudo/rakudo/pull/643 # running a spectest right now 14:45
14:46 nige1 left 14:47 RabidGravy joined
andreoss masak: could there be a role which would separate scalars from arrays? like `class Val::Int does Val does Val::Scalar { ... }` 14:47
masak andreoss: hm, 007 doesn't really have the concept of "scalar"... 14:48
14:48 cdg left
masak andreoss: there's only values. there are no sigils, and there's no flattening. 14:48
dalek c: 52c4358 | Adriaan++ | .travis.yml:
add graphviz
c: dbbce3e | Adriaan++ | / (2 files):
travis runs make html
c: 4b23aca | moritz++ | / (2 files):
Merge pull request #250 from sylvarant/master

Travis runs make html
andreoss masak: [1,2] xx 2 == [[1,2], [1,2]] or [1,2,1,2]? 14:49
masak the latter. :)
andreoss but that's flattening, isn't it?
masak but not because of flattening, just because of the way the operator is defined.
no. :) well, you could call it that, but that's not what Perl usually means by "flattening". 14:50
flattening would be something like `my a1 = [1, 2]; my a2 = [3, 4]; my a3 = [a1, a2]; say(a3);` resulting in "[1, 2, 3, 4]" 14:51
or arrays interacting with arguments/parameters somehow.
neither of which is true in 007.
andreoss okay
masak I am toying with the idea of introducing some kind of Iterable base type, so that user-defined types can participate in `for` loops. but it's very much not on a critical path, so it doesn't even have an issue right now 14:52
andreoss if they are all values, why don't refactor Val::Array.elements to .value? 14:53
vendethiel masak: uhm, I don't see how that's not flattening, if xx is defined as "repeat". unless it's defined as "repeat values"? 14:54
m: say [] x 3; #that's just for strings
camelia rakudo-moar 9b40ea: OUTPUT«␤»
vendethiel so the flattening makes it strictly less powerful than a non-existing non-flattening one
smls m: dd [1,2] xx 2
camelia rakudo-moar 9b40ea: OUTPUT«List $var = $([1, 2], [1, 2])␤»
andreoss m: ((1,2) xx 2).perl.say 14:55
camelia rakudo-moar 9b40ea: OUTPUT«((1, 2), (1, 2))␤»
andreoss m: ((1;2) xx 2).perl.say
camelia rakudo-moar 9b40ea: OUTPUT«((1, 2), (1, 2))␤»
14:55 cdg joined
masak andreoss: .value would be the only reason to call Val::Int and Val::Str scalars :) but it doesn't hold up completely, because Val::None doesn't have (or need) a .value, being empty/featureless 14:56
14:56 hankache joined, pmurias_ joined
masak vendethiel: the semantix of 007's infix:<xx> is closer to Python's infix:<*> for arrays 14:57
semantics*
>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
vendethiel kk
masak vendethiel: it's the lack of flattening in the language that necessitates starting with an array on the lhs. not doing so is a type error. 14:58
pmurias_ nine: where can I find the current precompile code?
andreoss what about ::? [1,2] :: [1,2] == [[1,2], 1,2] ?
hankache m: say my $datajson = to-json((data => [28, 48, 40, 19, 86, 27, 90]));
camelia rakudo-moar 9b40ea: OUTPUT«{␤ "data" : [␤ 28,␤ 48,␤ 40,␤ 19,␤ 86,␤ 27,␤ 90␤ ]␤}␤»
masak andreoss: that looks correct. 14:59
hankache how come this works^^^^ without "use JSON::Tiny"??
masak andreoss: in other words, the semantics is `scalar :: list ==> list`
moritz hankache: rakudo has a built-in json implementation for reading META.info files etc.
hankache: which is based on JSON::Tiny iirc 15:00
15:00 pmurias left
nine pmurias_: it's all in the CompUnit:: namespace. Especially CompUnit::PrecompilationRepository 15:00
15:00 pmurias_ is now known as pmurias
pmurias nine: in rakudo nom? 15:00
nine yes
hankache ok so i can use to-json and from-json without using any module?
and this behavior is supposed to be supported in the future? 15:02
moritz hankache: it seems to work, but it's neither documented nor tested in roast, so it's more of an easter egg
smls m: say to-json [4, 6]
camelia rakudo-moar 9b40ea: OUTPUT«[␤ 4,␤ 6␤]␤»
smls Huh, I didn't know that.
Skarsnik I will say, don't use it x)
jnthn That needs to move to Rakudo::Internals.
moritz jnthn: so it's not part of the public API, right? 15:03
jnthn Right
hankache so to be on the safe side i should "use JSON::Tiny" ?
moritz hankache: yes
hankache moritz thanks 15:04
nine I slowly get the impression that precompilation as it is now only works exactly due to the mtime race condition. Adding a sleep 1; after precompiling a file breaks install-core-dist.pl 15:06
mspo nine: sounds like a feature!
nine Source of this mess is that precomp ids include the identity of the part of the chain following the repo we install to. Repos typically are home,site,vendor,perl6,/. We want to install into perl6, so the precomp id contains the "/" 15:09
Now we precompile a file and encounter a use statement. So we fire off another process to do the precompilation. In this process, we again have the full home,site,vendor,perl6,/ chain, i.e. we get a different id 15:10
moritz that sounds decidedly less-than-awesome 15:11
nine I can also hardly always use the full $*REPO chain's id, because the id of an Installation repo changes when its contents changes. 15:12
I seriously wonder how this could have worked so well so far 15:13
15:14 vendethiel left 15:18 vividsnow joined
grondilu m: say ("one", "two" ... "ten") 15:30
camelia rakudo-moar 9b40ea: OUTPUT«(one two twn twm twl twk twj twi twh twg twf twe twd twc twb twa tvz tvy tvx tvw tvv tvu tvt tvs tvr tvq tvp tvo tvn tvm tvl tvk tvj tvi tvh tvg tvf tve tvd tvc tvb tva tuz tuy tux tuw tuv tuu tut tus tur tuq tup tuo tun tum tul tuk tuj tui tuh tug tuf tue…»
Skarsnik interesting x)
grondilu I wish this was working 15:31
Skarsnik There is no plan for translation stuff in the specs? it left as a module to do it? 15:33
15:33 vendethiel joined
smls Translation? 15:34
15:34 ashevchuk joined
Skarsnik yeah stuff for i18n 15:35
hankache m: my \one := 1; my \two := 2; my \ten := 10; say (one, two ... ten); 15:36
camelia rakudo-moar 9b40ea: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
pmurias Skarsnik: why put that in core?
smls Skarsnik: Yeah, that's for modules to solve.
Skarsnik To have translation in the core (like for error messages)? 15:37
smls m: multi infix:<...> ("one", "ten") { <one two three four five six seven eight nine ten> }; say "one"..."ten"; 15:38
camelia rakudo-moar 9b40ea: OUTPUT«(one two three four five six seven eight nine ten)␤»
smls grondilu: ^^ User code (or modules) can add that ;) 15:39
dalek p/js-cps: 2258177 | (Pawel Murias)++ | src/vm/js/bin/run_tests.pl:
[js] Run the qregex.t test with continuations disabled
p/js-cps: b5463a5 | (Pawel Murias)++ | / (2 files):
[js] Add a test for the continuation support we have.
grondilu if I were to add a "ordinal" method to Int, I would have to do MONKEY-TYPING though.
sorry, meant "cardinal". 15:41
smls grondilu: I imagine a Lingua::EN::Ranges module that adds support for all kinds of words ranges like "one"..."twenty"; "Mon".."Fri"; etc.
s/Ranges/Sequences/ I guess? 15:42
Skarsnik well you can write it, we are like 20 modules away for 500 for x-mas x) 15:44
15:45 ggoebel9 joined
cygx jnthn: another thing that hasn't been decided yet: what should happen to open(:bin) 15:48
RabidGravy Skarsnik, for the localisation of errors maybe some $*LANG or something that provides a class that has the messages, but a bastarding big job 15:50
15:53 raiph joined 15:55 skids joined
dalek kudo/nom: 13e8b21 | (Stefan Seifert)++ | src/core/CompUnit/Repository (2 files):
Fix passing the repo-chain to the precomp process

We have to make sure that the process precompiling one of our dependencies uses exactly the same repository chain as the process trying to load the module. For that we skip the normal repository setup and instead serialize the parent's repositories into an environment variable and restore them later.
The special purpose repository implementations AbsolutePath, NQP and Perl5 did not register their path-spec prefixes properly with the RepositoryRegistry, so on deserialization we believed them to be FileSystem repositories, thereby altering the repository chain and ending up generating different precomp-ids.
15:55
nine Ok, that ^^^ was the real reason for different precomp-ids. With this the "sleep 1" failures seem to be fixed. 15:56
15:57 TimToady left 15:59 TimToady joined
moritz nine++ 15:59
that sounds like some serious debugging was required :-)
nine Pages and pages of debug output. But I don't mind. It's one of the problems where that will eventually get you to the bottom. I wish I had already found a working strategy for run_alt :/ 16:00
Juerd Why is the 1st dimension of a shaped array called dimension 1, instead of dimension 0? 16:05
nine Truth is, that I could have avoided the whole bug by finding out what we need those path-spec thingies for. But I'm lazy an impatient, so I just added methods that looked good.
Skarsnik I am pondering of adding some check on type parameter of sub declared as native with NC (Like I do in my NC::Typediag module) in NC itself to avoid people mistakes ~~ 16:06
16:06 ashevchuk left
mst agh 16:08
16:09 hankache left
mst rakudobrew still hard to find, rakudo.org/how-to-get-rakudo/ in the wrong order 16:09
tadzik: would you object if I cpanified rakudobrew? 16:10
tadzik: not being able to get it from cpan -sucks-
RabidGravy mst, +1 on that :) 16:12
mst argh, and no POD
oh, there's a README.md
I love how we've taken github centric development and used it to be as hostile as possible to newbies
tadzik mst: no objections 16:13
mst tadzik: note, this is me griping as I go along
I will totally try and fix stuff
jdv79 do people get perlbrew from cpan?
Juerd My README.md says to go look for the POD :)
moritz jdv79: I usually don't 16:14
16:14 zengargoyle left, Skarsnik left
mst I usually do 16:14
jdv79 that's why i asked. cause i've always gotten it from its site.
huh
mst though, also, I usually use Perl::Build
since perlbrew is a big set of extra moving parts I don't want or need
16:15 xpen joined
mst ok, rakudobrew init is trying to add an element to my $PATH that's already in my $PATH 16:15
and defining a shell function that looks completely weird
16:15 zengargoyle joined
mst I ... don't understand 16:15
mst tries 'rakudobrew build moar', wonders what'll happen 16:16
RabidGravy don't worry I don't understand a lot of things most of the time 16:17
mst I understand exactly what it's doing
I've just no idea what the point is 16:18
tadzik: is there an explanation of what the shell function actually does somewhere? :)
jdv79: my usual bootstrap is "get local::lib, get a basic set of tools like App::Ack, get Perl::Build, use perl-build to build a more recent perl" 16:19
16:19 xpen left
mst note that I'm trying rakudobrew on cygwin. I am not going to consider it anybody's fault if this blows up horribly, but I figured I may's well find out 16:19
pmurias mst: +1 cpanify rakudobrew
jdv79 cool 16:20
mst I'm basically the canary for most of the modern perl stack on cygwin at this point
the only other name who uses cygwin is reini, and he mostly doesn't use any of the modules I care about
geekosaur has kinda given up on *brew portability, since making the mistake of trying to use perlbrew on solaris
mst geekosaur: if Perl::Build doesn't work on solaris I would like to help you debug that. 16:21
pmurias why is panda throwing "Dynamic variable $*REPO not found"? 16:22
16:23 zengargoyle left, zengargo1le joined
mst well, that was ... suboptimal 16:25
pmurias mst: what happened?
geekosaur I don't think I reached that point. the bootstrap script was a bash script that knew that it was a /bin/sh script running on an all GNU system 16:27
mst pmurias: paste.scsys.co.uk/503137
geekosaur: that's why I asked about Perl::Build
geekosaur: which is a single fatpacked perl script
geekosaur: which is why I use that, because perlbrew is a bunch of extra overly clever crap that tends to be linux kiddie only
I'm ok with the linux kiddies liking it
but not my thing
geekosaur actually I think I did get that far and it was again running some linux specific shell stuff
I didn['t spend much time on it, maybe I'll spin up a solaris vm and try again with logging 16:28
(I didn't really have tome to debug at the time, was trying to set up a reproduction environment for a customer reported bug)
16:30 pmurias left
andreoss m: my &say = { $*SPEC.devnull.IO.spurt: * }; say "hi"; 16:30
camelia rakudo-moar 13e8b2: OUTPUT«Cannot call spurt(IO::Path: Whatever); none of these signatures match:␤ (IO::Path:D $: Blob $contents, :$bin, |c is raw)␤ (IO::Path:D $: Cool $contents, :$bin, |c is raw)␤ in block <unit> at /tmp/8JGWqJHczS:1␤␤»
andreoss m: my &say = -> { $*SPEC.devnull.IO.spurt: $_ }; say "hi"; 16:31
camelia rakudo-moar 13e8b2: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in block <unit> at /tmp/9XZlMTjHQW:1␤␤»
andreoss m: my &say = { $*SPEC.devnull.IO.spurt: $_ }; say "hi";
camelia ( no output )
jdv79 was there a serious install slowdown y'day? or was i just immagining things? 16:32
16:32 khw joined
lucs m: my regex bar { <[\w]> }; my regex foo { <+ bar - [0..9]> <bar>* }; "asdf" ~~ / <foo> /; # Help? 16:33
camelia rakudo-moar 13e8b2: OUTPUT«Method 'bar' not found for invocant of class 'Cursor'␤ in regex foo at /tmp/TndWYP__mo:1␤ in block <unit> at /tmp/TndWYP__mo:1␤␤»
nine .tell pmurias are you doing something strange, using an outdated panda or did I screw something up?
yoleaux nine: I'll pass your message to pmurias.
16:34 Skarsnik joined
lucs Re. that ^^ code: something similar works in a grammar. 16:35
16:37 geever left
lucs ^^ gist.github.com/lucs/c062e3b8e0d72b54f395 16:38
16:38 rurban joined
mst tadzik: thoughts on where I should start debugging paste.scsys.co.uk/503137 ? 16:38
16:40 andreoss left 16:42 pmurias joined
pmurias nine: a old rakudo was in my $PATH 16:42
yoleaux 16:33Z <nine> pmurias: are you doing something strange, using an outdated panda or did I screw something up?
mst hrmf
are there instructions for building everything the long way?
TimToady INSTALL.txt 16:43
16:43 vividsnow left
mst ah, I think the nqp-m thing might be an indicator the moar build didn't 16:44
mst goes to kick moar first
16:44 Actualeyes left
mst TimToady: I figure if I go repo by repo and do moar, then nqp, then rakudo, without using their sugar for building the lower levels, I'm more likely to understand what breaks if it breaks 16:45
TimToady
.oO(Q: What's my new job title? A: Guinea Canary. Q: How's that different from a Guinea Pig? A: ...)
16:46
I'd at least let it try once, to put things in the right place, then you can cd down into nqp or nqp/MoarVM to do it by hand
mst I already tried unsuccessfully with rakudobrew calling it 16:47
I should -probably- try the rakudo sugar directly next, sure
but I'm annoyed now, so that means "time to go the cranky minimalist route so everything else that goes wrong is my fault"
Skarsnik perl Configure.pl should work? 16:48
TimToady lovely word, "should"
pmurias mst: you can tell rakudo to build you an nqp
16:48 firstdayonthejob left
mst pmurias: yes. but it didn't. 16:48
ah, here we go
3rdparty/libuv/include/uv-unix.h:152:9: error: unknown type name ‘pthread_barrier_t’
right, so, is that unfixable or can I mallet it ... *looks* 16:49
TimToady cool, now that almost looks like a real error :)
pmurias mst: there is a closed libuv issue with "we don't support cygwin" :/ 16:50
mst yep, and it leads me to "UV is unsupported on cygwin because it doesn't have enough of a pthread implementation"
pmurias: which I just found
16:50 firstdayonthejob joined
mst buggereth. 16:50
and apparently they're not sure how well their general mingw support works either 16:51
this is going to be a "get a proper windows toolchain, do a windows build, call it from cygwin" job, I suspect
TimToady soundeth like
cygx mst: you can build and run rakudo on mingw (eg using Strawberry perl) 16:52
the tests are not clean but it 'works' otherwise
mst yeah, I think I'll try that next rather than gazing into the abyss that is visual studio
that or build perl6 on a proper box 16:55
and write the cygwin part in Tcl
mst decides to start off by getting a build on a proper box 16:57
masak .oO( is "buggerth" some kind of Lisp dialect? ) 17:01
pmurias the lisp dialect gimp used before switching to proper scheme should have been called so 17:02
flussence df 17:04
whoops, ww
mst ah, and then the executable requires ./perl6 17:05
pmurias is it possible to turn off newline translation in nqp? 17:14
dalek kudo/nom: fc29540 | cygx++ | src/core/IO/Path.pm:
Simplify some Cool methods on IO::Path

Let's them throw on failed .open instead of returning a handled failure as they formerly did
17:18
kudo/nom: 8d6581a | lizmat++ | src/core/IO/Path.pm:
Merge pull request #643 from cygx/cool-path

Simplify some Cool methods on IO::Path
17:31 aindilis left 17:32 Skarsnik_ joined, bbkr_ joined, noganex joined, cygx_ joined, _nadim left, bapa1 joined, baest_ joined, aindilis` joined
flussence is staring in despair at a shell command I wrote that ends in ’)}”"' 17:32
dalek p: 2aeefe9 | (Pawel Murias)++ | tools/build/ (2 files):
[js] Improve ugly build hack.
p: 3a2f9cd | (Pawel Murias)++ | tools/build/ (2 files):
[js] Install the tap module.
17:33 noganex_ left
smls m: sub foo { say "expensive computation here"; 42 }; say [||] 5, 10, foo; 17:34
camelia rakudo-moar 8d6581: OUTPUT«5␤»
17:34 Skarsnik left, cygx left, baest left
smls ^^ wow, nice 17:34
TimToady bows
smls TimToady++
TimToady that's all the thunkity stuff that went in last week 17:35
dalek ast: 905dcc3 | TimToady++ | S32-exceptions/misc.t:
test sinking of gather
17:36
17:37 cdg left
pmurias is reading a file always expected to turn \r\n into \n on linux? 17:37
mst I thought it turned it into a thing-representing-platform-newline
TimToady I don't think linux does any IO-based newline translation, so \r\n oughta turn into a grapheme there, distinct from \n 17:39
and on Windows, I'd expect \r\r\n to turn into the synthetic grapheme CRLF, mebbe 17:40
or \r\n from a socket
17:41 Begi left
pmurias nqp-m is reading \r\n in as \n on linux 17:41
TimToady amazing how a teeny tiny decision way in the past can have such repercussions...
well, perhaps that is a bug
jnthn: ^^
dalek kudo/nom: 96e407c | TimToady++ | src/Perl6/Actions.nqp:
undetach useless Pair messages

Also, suppress useless Pair symbol messages when part of a Pair.new we should have caught earlier. (Also, catch it earlier... :)
17:42
17:42 cygx_ left 17:44 Skarsnik_ is now known as Skarsnik
TimToady m: say "foo" ~~ / <{ q{ $_ } }> / 17:45
camelia rakudo-moar 8d6581: OUTPUT«「foo」␤»
TimToady m: say "foo" ~~ / <{ q{ "$_" } }> /
camelia rakudo-moar 8d6581: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { "7⏏5$_" }␤ expecting any of:␤ double quotes␤»
TimToady I think simple variable interpolation in double-quotes is okay, but how to allow that without also allowing "$_{YOUR AD HERE}"... 17:46
can't just check after the parse, since that doesn't prevent "$_{ BEGIN say 'pwned' }" 17:47
so I need a simplevar escape, or some such
smls Isn't a variable invocation still a security risk if the regex is user-supplied? 17:48
TimToady we're not invoking the variable
17:48 FROGGS joined
TimToady we're only including it into a double-quote string as text 17:48
smls yes, wrong word :) 17:49
I mean, accessing the variable's contents
TimToady it's true that any "foo $_ bar" could be rewritten as "foo " $_ " bar"
well, certainly accessing backreferences is safe-ish 17:50
smls true
TimToady and we'd probably want to disallow dynvar introspection
17:53 vendethiel left
TimToady m: say "foo" ~~ / (\w) <{ q{ $0 } }> / 17:53
camelia rakudo-moar 96e407: OUTPUT«Nil␤»
TimToady m: say "foo" ~~ / (o) <{ q{ $0 } }> / 17:54
camelia rakudo-moar 96e407: OUTPUT«Nil␤»
TimToady doesn't have access to outer $/ anyway
m: say "foo" ~~ / (o) <{ q{ $CALLER::0 } }> /
camelia rakudo-moar 96e407: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Variable '$CALLER' is not declared␤at /home/camelia/EVAL_0:1␤------> 3anon regex { 7⏏5$CALLER::0 }␤»
TimToady m: say "foo" ~~ / (o) <{ q{ $CALLER::<0> } }> / 17:55
camelia rakudo-moar 96e407: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Variable '$CALLER' is not declared␤at /home/camelia/EVAL_0:1␤------> 3anon regex { 7⏏5$CALLER::<0> }␤»
flussence uh oh: «==> Installing Linenoise␤===SORRY!===␤Type check failed in assignment to $!dist-id; expected Str but got Any␤» 17:56
smls perl -E 'my $x = "secret"; my $input = "$1"; "__" =~ m/^(_)$input$/; say $&' # no match
perl -E 'my $x = "secret"; my $input = "$x"; "secret" =~ m/$input/; say $&' # no match 17:57
not even with use re 'eval';
flussence smls: try qr// instead of m// 17:58
smls err, in the second line, "$x" was meant to be "\$x"
TimToady m: say "foo" ~~ / <{ q{ (o) $0 } }> / 17:59
camelia rakudo-moar 96e407: OUTPUT«「oo」␤»
TimToady m: say "foodie" ~~ / <{ q{ (o) $0 "die" } }> /
camelia rakudo-moar 96e407: OUTPUT«「oodie」␤»
TimToady m: say "foodie" ~~ / <{ q{ (o) "$0die" } }> / 18:00
camelia rakudo-moar 96e407: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex { (o) "7⏏5$0die" }␤ expecting any of:␤ double quotes␤»
TimToady but nothing like that
m: say "foodie" ~~ / <{ q{ (o) $0[abc] "die" } }> / # should warn 18:01
camelia rakudo-moar 96e407: OUTPUT«Nil␤»
18:01 roboticus joined
TimToady m: say "foodie" ~~ / <{ q{ (o) $0[die] } }> / # should warn 18:01
camelia rakudo-moar 96e407: OUTPUT«「oodie」␤»
TimToady hmm
smls perl -E 'my $input = "\\1"; my $r = qr/^(_)$input$/; "__" =~ $r; say $&'
^^ matches
TimToady m: say "foodie" ~~ / (o) $0[die] / # should warn
camelia rakudo-moar 96e407: OUTPUT«「oodie」␤ 0 => 「o」␤»
TimToady m: say "foodie" ~~ / (o) $0[42] / # should warn
camelia rakudo-moar 96e407: OUTPUT«Nil␤»
TimToady hmm, where'd that warning go? 18:02
m: my $foo; / $foo[42] / 18:05
camelia rakudo-moar 96e407: OUTPUT«Potential difficulties:␤ Apparent subscript will be treated as regex␤ at /tmp/nWCxf94fLZ:1␤ ------> 3my $foo; / $foo7⏏5[42] /␤getlexrelcaller needs a context␤ in block <unit> at /tmp/nWCxf94fLZ:1␤␤»
18:06 bbkr_ left
tadzik mst: huh, weird 18:09
mst tadzik: moar failed because libuv doesn't support cygwin and the error disappeared somewhere
18:09 nige1 joined
mst tadzik: nothing wrong with rakudobrew, I think the bug, if any, is that nqp's auto-build-of-moar throws away errors 18:10
tadzik mst: I'm confused why there is totally no error message in your paste
mst: and no indication that moar was built at all
mst tadzik: I was ass-u-me-ing that you had nqp build it, and nqp did that silently for whatever reason
tadzik mst: yeah, that's the idea 18:11
I mean, that nqp is responsible
jnthn We should probably make Moar's configure blow up immediately on cygwin 18:12
Since it's never going to work out.
At least, not until libuv supports it.
mst but then looking at nqp's Configure.pl and tools/lib/NQP/Configure.pm I don't see anything that would've eaten that output 18:13
18:14 Ven joined
jnthn pmurias, TimToady: \r\n translation is done on file handles cross-platform, otherwise the moment a file written on Windows shows up on Linux you'll get bustage 18:14
That is, input translation is
Output translation of \n -> \r\n only happens on Windows
This like iteration 3 of things, I'm not doing an iteration 4 :) 18:15
mst every possible combination of behaviours is going to confuse -somebody-
jnthn Exactly.
mst I particularly like perl5's approach for source code of hard-coding a C-level source filter for every file that strips the \r
it's both utterly beautiful, and very very perl5, for better and for worse ;) 18:16
jnthn We have the compiler and runtime running on the same VM, using the same I/O layer, so we get consistent semantics over the two for free :)
mst tadzik: if you want me to run specific tests later, throw 'em into /msg
dinner with a girlfriend now so & 18:17
jnthn Ah, and on the newline thing: no, we don't do any translation when it's a socket.
TimToady jnthn: didn't get to the binding vs binding bug, fixed regex interpolation instead :) 18:18
jnthn I did CLOSE, did a bunch of paperwork, went for a walk, came back feeling rotten and slept for a while...so I didn't get to it yet either. 18:19
jnthn should probably eat... 18:20
TimToady I tried just adding a Nil when I notice it in unwanted, but that lacks a context somehow
and I tried to grok the statement isolation down in codegen but didn't get far enough 18:21
18:22 cdg joined, roboticus left
TimToady I think now I need to add some kind of MONKEY-MUMBLE to be equiv to p5's use re 'eval' 18:23
and maybe attach it to EVAL as well
jnthn Yeah, I was thinking of throwing the Nil in 18:26
"lacks a context"?
TimToady getlexrel or some such
iirc 18:27
jnthn Odd...I may be able to figure that out
m: say :(Int $a, Str $b) === :(Int $a, Str $b) 18:28
camelia rakudo-moar 96e407: OUTPUT«False␤»
18:28 Ven left
TimToady lemme try it again here 18:28
jnthn m: say :(Int $a, Str $b) eqv :(Int $a, Str $b)
camelia rakudo-moar 96e407: OUTPUT«True␤»
jnthn TimToady: The other xmas RT left that actually needs a decision is rt.perl.org/Ticket/Display.html?id=124393
Basically, can you stub multis in roles
Since we already have signature equivalence implemented, we could do something here I think 18:29
18:30 bapa1 is now known as bapa 18:31 Ven joined
jnthn Without trying it, I don't see a downside. The current semantics are useless (you get the stub in the candidate list, and then end up with ambiguous dispatch) 18:31
18:31 nanis joined
TimToady sounds like a go then 18:33
jnthn Alrighty. With luck it'll be an hour or two's effort. 18:34
TimToady huh, adding the Nil seems to have worked this time, go figure... 18:35
better test everything though
pmurias jnthn: is it possible to turn the \r\n conversion off?
jnthn pmurias: Read the file as binary and .decode it yourself. 18:36
(Only the decoders attached to handles do it)
I suspect in the future we may also offer an option for this 18:37
For now it's a more useful default.
nomming & 18:38
18:39 _nadim joined 18:40 smls left 18:42 abraxxa joined 18:43 abraxxa left
[Tux] almost X-mas 18:43
18:45 vendethiel joined 18:48 pmurias left
DrForr cues the Mannheim Steamroller. 18:48
[Tux] \o/ no more run_alt
18:49 sjn_phone joined
[Tux] but a lot of tests now fail on EOL. Have to investigate 18:49
all \r\n return as \n
nanis Hope this question makes sense: How do I ensure `perl Configure.pl` from a fresh rakudo clone picks up the most recent MoarVM commit?
18:51 nige1 left
nanis Also, does t\spec\S17-supply\throttle.t hang for anyone else? (Windows 10, MSVS2013) 18:53
TimToady jnthn: the problem with just blithely appending Nil is that it blows up KEEP/UNDO, which should work even in sink context 18:55
[Tux] *massive* slowdown since last succesful timing :( 18:56
test 50000 40.615 40.503
test-t 50000 47.886 47.774
18:57 ellybelly left, ellybelly joined
TimToady I think that one's a :'( 18:58
flussence lot of people having a bad day today :/
18:59 rurban left
[Tux] gist.github.com/Tux/c6a0c794293b729a78a2 full timing table. not to be happy about 19:04
19:10 nanis left
jnthn TimToady: Um, in sink context where to KEEP/REDO get a value to test from? 19:12
[Tux]: Something recent seems to have busted multi-dispatch caching; didn't bisect it down to an individual commit yet. 19:14
(Also it's not in all cases)
lizmat [Tux]: glad to see you're confirming what we found earlier today 19:15
[Tux]: when was the last successful timing ? 19:16
jnthn I'll be away for the next hour or so...if anyone wants to do some bisecting, it'd be helpful
lizmat [Tux]: looks like the last one you posted was on 14 Dec 19:18
bartolin_ m: my $counter = 0; my $subrule = '{$counter++; \'<alpha>\'}'; 'abc' ~~ /<$subrule>/; # aborting test file S05-metasyntax/angle-brackets.t 19:20
camelia rakudo-moar 96e407: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Malformed regex interpolation␤at /home/camelia/EVAL_0:1␤------> 3anon regex {7⏏5 {$counter++; '<alpha>'}}␤»
[Tux] 2015-12-14 13.856
in between I wasn't able to test due to the run_alt issue 19:21
masak hopes the slowdown is due to something we can revert easily
19:21 nige1 joined
[Tux] lizmat, any idea what causes the EOL fail's with Text::CSV? 19:22
TimToady did we actually get a run_alt fix, or did you just lucky this time?
if we did get a fix, we could retrofit older versions to bisect with
lizmat afaik, there has not been an run_alt fix yet 19:23
bartolin_ the error in S05-metasyntax/angle-brackets.t might be related to commit 19d84be006
lizmat but that's judging from the git log, not from the backlog
TimToady bartolin_: that is known to fail due to the new regex policy
bartolin_ TimToady: ah, thanks! 19:24
TimToady and we don't yet have a MONKEY-SEE-NO-EVAL
masak these MONKEY pragmas are just getting more and more ridiculous 19:25
as is the fearmongering around EVAL... :/ 19:26
TimToady jnthn: fix appears to be to append True instead (but only if the final thing was a bind)
well, the alternative is to introduce a 'use strict' for anything remotely attached to the web 19:27
[Tux] m: my Str$s=Buf.new(^2048 .map({256.rand.Int})).decode("utf8-c8")
camelia ( no output )
TimToady don't just look at this from the developer's perspective
[Tux] still randomly segfaults
TimToady I don't want thousands of companies depending on insecure code by default 19:28
19:28 Ven left
TimToady people *will* use these features by accident on untrustworthy data 19:29
and every one of them is a zero-day exploit-in-waiting 19:30
19:30 eyck left, eyck joined
TimToady and if the ecosystem is already heavily depending on EVAL, it only proves the point 19:30
flussence I'll agree the regex interpolation thing *really* needed that fix, it's not obvious at all that it's a "run arbitrary code in string" vector 19:31
TimToady Fear-mongering is justified when there's something to be justifiably afraid of...
19:31 gauss joined
TimToady certainly EVAL is easier to scan for, but people won't by default 19:32
whereas MONKEY puts a positive roadblock (yes it's inconvenient for us) in place that might just slow people down and make them think, as well as something generic to scan for, if you want a rough corporate policy of 'No MONKEY without authorization' 19:34
JS is only now cleaning up their eval mess, and I'd just as soon not get into one in the first place 19:35
lizmat [Tux]: I have an idea re EOL fails, but focusing on the slowdown atm
masak TimToady: I don't think we will be able to statically detect that people aren't using EVAL. 19:36
TimToady that's not the point
[Tux] I'll have a look tomorrow 19:37
lizmat TimToady: since EVAL depends on nqp::getcomp, maybe nqp would need a MONKEY as well ?
[Tux] too tired after helping a friend DIY
masak [Tux]: how can you *help* someone else to do it yourself? :P 19:38
TimToady the point is to avoid an attractive nuisance that accidentally opens security holes, not to prevent people from cheating when they need to be clever in their own code, and know what they're doing 19:39
masak m: sub EVAL($) { say "OH OOPS" }; EVAL("say 2 + 2") 19:40
camelia rakudo-moar 96e407: OUTPUT«OH OOPS␤»
TimToady we've been sheltered up till now, but we're entering the era when people will actively abuse any foot cannons we install in other people's code 19:41
masak TimToady: JS's cleanup of their eval mess does not involve hiding it behind a pragma (what we're doing) -- it involves disallowing overriding of the eval function (which we still allow)
TimToady that's not a problem, since the check is in the built-in
masak ok
TimToady s/is/would be/ 19:42
as it is in <{ " $(say 'pwned') " }>
lizmat ok, I reverted rakudo until before last [Tux] test-t, and it's still bad 19:44
which means to me, the slowdown is either in nqp or moar
TimToady |Tux|: you didn't happen to leave any DISABLE envvars sitting around, did you? 19:45
lizmat alas, plenty of stuff in nqp / moar that could have caused the slowdown :-( 19:46
Woodi had some problems with glibc in last 2 days... 19:47
dalek kudo/nom: 97020cb | usev6++ | src/core/Pair.pm:
Avoid NullPointerException in S02-types/baghash.t

the following code resulted in a NPE on JVM
my $b = BagHash.new( (a=>"b") ); $b.keys[0] ~~ ("a" => "b")
19:48
kudo/nom: 8456169 | lizmat++ | src/core/Pair.pm:
Merge pull request #644 from usev6/NPE_baghash

Avoid NullPointerException in S02-types/baghash.t
kudo/nom: 09aaf93 | TimToady++ | src/Perl6/Actions.nqp:
assume final bind statement in sink is True

This is so that we don't accidentally throw a failure in sink context after binding a failure. Part of the fix for RT #125769.
19:51
vendethiel TimToady: at least, for us, SEQ(0; EVAL) means the same as EVAL :P 19:54
to be clear, JS' eval is still an insane mess. The fact that `eval(..)` and `(0, eval)(..)` are different is totally crazy
19:55 labster joined
TimToady for dev purposes, we could also have something in the environment that overrides monkeys 19:56
and EVAL could certainly be allowed in REPLy spots 19:57
[Tux] my constant $opt_v = %*ENV<PERL6_VERBOSE> // 1;
that is the only ENV in my code
19:58 uruwi left
TimToady just a thought 19:58
vendethiel TimToady: allowing something in the environment seems like a really nice WTF factor though 19:59
TimToady yeah, there's a waterbed here somewhere 20:00
20:00 uruwi joined 20:01 gauss left
lizmat so, if I checkout a certain commit in rakudo, is it enough to nuke nqp and install to get the right MoarVM/nqp for that rakudo checkout ? 20:01
TimToady but by default perl6 should wake up in production mode, not dev mode 20:02
lizmat TimToady: agree with you there
TimToady I think . config.status is sufficient
but my one and only bisect has scrolled off to a land faraway... 20:03
vendethiel masak: also I disagree 20:04
JS' cleanup of their eval mess *involves* a pragma ;-)
20:04 uruwi left
TimToady or maybe a galaxy faraway... 20:05
well, not for another million years or so, I guess, if you count speed of light
DrForr Longer than that, you'll have to outrun the expansion of the universe :) 20:06
TimToady I didn't say it had to get to all galaxies!
DrForr Doesn't matter, the expansion (much like the Force) is all around us :) 20:07
TimToady m: say ∞ ** ∞
camelia rakudo-moar 96e407: OUTPUT«Inf␤»
hoelzro I just noticed that linenoise fails to install since nine's change to panda yesterday; I have to drive back to Chicago now, but I'll try to fix it when I arrive
20:09 uruwi joined
TimToady is there a way to grep the ecosystem, or at least Task::Star? 20:11
dj_goku ack? 20:12
TimToady well, but it's in a bunch of repos, ain't it?
does panda leave source code around? 20:13
dj_goku good question
mspo sounds like a crawler + indexer is in order 20:14
TimToady doesn't look like it
flussence moritz has an all-in-one repo for doing that kind of thing
dj_goku brew/moar-nom/panda 20:15
johnny5:panda dj_goku$ ls ~/.rakudobrew/moar-nom/panda/ext/
lol whoops
flussence perl6-community-modules or something like that
dj_goku ahh whoops the ext are external depenedencies panda needs. 20:16
TimToady well, it's mostly only to satisfy my curiousity about our current exposure; probably doesn't actually bear on the decision itself 20:17
20:18 telex left 20:19 uruwi left
dj_goku more ~/.rakudobrew/moar-nom/install/share/perl6/site/panda/state 20:19
20:19 darutoko left 20:20 yqt joined
dj_goku that shows a list of modules installed. 20:20
20:20 telex joined, krunen left 20:21 regreg joined
TimToady lunch & 20:21
20:21 rurban joined
masak vendethiel: heh -- that's missing the point. in JS, `eval` is available both before and after "use strict;" is applied 20:22
vendethiel masak: yes, yes ;-).
CIAvash Is there a way to reset a subroutine's cache, when `is cached` is used? 20:23
20:23 jack_rabbit joined
grondilu I doubt it. Also notice that the 'cached' trait is now considered experimental. 20:23
masak .oO( ...naming and CIAvash invalidation... )
lizmat CIAvash: no there wasn't 20:26
but if you look at the implementation of "is cached" inside lib/experimental.pm
you will see it's trivial to make your own, according to your own wished 20:27
*wishes
CIAvash OK, thanks 20:28
masak: ? 20:31
20:31 cdg left
timotimo [Tux]: the utf8-c8 thing doesn't randomly segfault; it only(?) segfaults when an invalid utf8 thing is at the very start of the thing. no time actually spent on making it work yet, though. but it's been golfed and it is known 20:31
20:34 eyck left, eyck joined
timotimo lizmat: someone here news.perlfoundation.org/2015/12/per...t-gra.html asked if it's possible to just contribute "a few hours worth of money"; can you post a little something there? 20:36
lizmat argh, there should be a donate button there somewhere :-( 20:37
labster I was going to say, I feel like I've donated to this grant before.
20:37 cdg joined
lizmat there's a "Make a donation" button at the bottom 20:38
and "Perl 6 Development" is mentioned as one of the options
timotimo if it's enough to just point that out, that'd be fine by me
20:41 rurban_ joined
lizmat posted a comment, now being vetted I guess :-( 20:43
20:44 lucasb joined
timotimo yeah, it's moderated 20:44
but that's probably a good thing
raiph: did you see my comment about the post on perl6 on cpan on reddit?
20:45 nige1 left
raiph timotimo: looking 20:45
timotimo you fell prey to a spam blog :(
DrForr Test.pm may have broken again, rebuilding Rakudo &c just to make sure. - I'm seeing 't/01-print.t line 1' for 4 tests in a row, all on different lines.
jnthn back
raiph timotimo: post deleted 20:46
timotimo++ 20:47
timotimo glad to help
raiph (raiph--)
20:47 hankache joined, regreg left
DrForr Heh, rebuild fixed it. 20:48
lucasb lizmat: hi, sorry to bother you. did you see my comment about a tiny regex bug? 20:51
Skarsnik Is there some dayly build of rakudo-star to see if there is some issue with modules? x)
flussence if I could build anything newer than 2015.11 on gentoo, I'd offer to do that... 20:52
20:54 uruwi joined 20:55 dalek left
lizmat lucasb: no, I haven't 20:55
jnthn: bisecting the slowdown
checking out 680da780fb42b3a8d33bc2 now 20:56
20:56 dalek joined, ChanServ sets mode: +v dalek
jnthn lizmat: OK, cool. I'm seeing if I can do something about RT #124393 20:56
lucasb lizmat: irclog.perlgeek.de/perl6/2015-12-18#i_11740717 20:57
lizmat lucasb: I think that's an oldy, but worth of rakudobugging 20:58
m: /o/
camelia rakudo-moar 09aaf9: OUTPUT«getlexrelcaller needs a context␤ in block <unit> at /tmp/QLMMuEYEvw:1␤␤»
lizmat m: { /o/ }
camelia ( no output )
lizmat only happens if you do that in the mainline
brb
20:58 pierre-vigier joined
grondilu m: sub f(@a where 3) { say "ok, argument is 3 elems" }; f rand xx 3 20:59
camelia rakudo-moar 09aaf9: OUTPUT«ok, argument is 3 elems␤»
grondilu m: sub f(@a where 3) { say "ok, argument is 3 elems" }; f rand xx 5
camelia rakudo-moar 09aaf9: OUTPUT«Constraint type check failed for parameter '@a'␤ in sub f at /tmp/GghPOC1KVl:1␤ in block <unit> at /tmp/GghPOC1KVl:1␤␤»
20:59 Ven joined
grondilu wonders if that's ok to specify an array length constraint like this 20:59
20:59 _nadim left
lizmat m: my @a = ^3; say 3 ~~ @a 21:00
camelia rakudo-moar 09aaf9: OUTPUT«False␤»
lizmat m: my @a = ^3; say @a ~~ 3
camelia rakudo-moar 09aaf9: OUTPUT«True␤»
jnthn grondilu: Sure, if a little odd to read :) 21:01
lizmat m: my @a = ^2; say @a ~~ 3
camelia rakudo-moar 09aaf9: OUTPUT«False␤»
lizmat grondilu: yup sure
jnthn It just falls out of smartmatch against a number .Numeric-ing the thing on the left
masak grondilu: note that it's also working for you in your own examples.
jnthn I suspect grondilu was more asking if it was liable to break in the future :)
masak m: my @a = ^3; say @a ~~ 3.0
camelia rakudo-moar 09aaf9: OUTPUT«True␤»
lizmat wouldn't think so, right ? 21:02
masak m: my @a = ^3; say @a ~~ "3"
camelia rakudo-moar 09aaf9: OUTPUT«False␤»
masak m: my @a = ^3; say @a ~~ 3+0i
camelia rakudo-moar 09aaf9: OUTPUT«True␤»
masak lizmat: no, not liable to break in the future :)
grondilu jnthn: that crossed my mind indeed
jnthn Anyway, it's reliable
If you expect people to declare their dimensions, then @a[3] works in a signature, but like other type-y things it's a matter of declaration, not structure. 21:03
21:04 CIAvash left 21:05 CIAvash joined 21:06 skids left
grondilu m: say 1e6.fmt("%e") 21:08
camelia rakudo-moar 09aaf9: OUTPUT«10.000000e+05␤»
grondilu ^seems wrong to me
21:08 cdg left
grondilu $ printf "%e" 1000000 21:09
1.000000e+06
timotimo Skarsnik: github.com/coke/rakudo-star-daily
[Coke]: the rakudo-star-daily readme says it builds a rakudo-star for parrot still
may want to update that
21:10 hankache left
timotimo grondilu: well, it's not wrong per se. just weird 21:11
21:12 CIAvash left
masak grondilu: please submit a rakudobug 21:13
lizmat b422f44e6741a92b5 isn't it either 21:14
grondilu masak: ok I will
masak grondilu++
lizmat checking ec18f24d27ce61fa71d177 now 21:15
jnthn suspects that gets it down to just one or two bumps 21:17
21:17 vike left 21:19 rurban left
dalek kudo/nom: fde3d62 | jnthn++ | src/ (2 files):
Mechanism to configure multi-sig comparator.

Will be used for improving role multi-method interaction.
21:20
Skarsnik well eveything fail in github.com/coke/rakudo-star-daily/...odules.log x) 21:27
21:37 rurban joined
TimToady jnthn: I think I have this one nailed, though turns out I had to go the extra mile for if/unless modifiers, which don't have a Stmts, so I had to make one to poke the extra node into, but it works; except now that if/unless propagate sink, I've got more spurious useless to chase down... 21:37
it already flushed out the fact that 'when' wasn't marking the succeed, which is a good thing to have learned, after the fact :) 21:38
jnthn :)
Cool
Making progress on the multi/role thing 21:39
lizmat testing 1f09c1e4f760a138208d now
21:40 vike joined
lucasb m: { say ?/o/ } # happens inside block too, but needs explicit bool context 21:40
21:40 sjn_phone left
camelia rakudo-moar fde3d6: OUTPUT«getlexrelcaller needs a context␤ in block <unit> at /tmp/JWEY1Dyrzo:1␤␤» 21:40
lizmat lucasb: afaik, this is about ooking fro $/ and not finding one 21:41
I'll look into it after bisecting
lucasb lizmat: thanks 21:42
21:44 AlexDaniel joined, xfix joined
AlexDaniel m: say ∞ 21:44
camelia rakudo-moar fde3d6: OUTPUT«Inf␤» 21:45
AlexDaniel okay!
what now, hmmm…
we have superscripts, fractions, inf, school grade operators…
timotimo emoji haven't really been explored too much 21:46
ilmari m: say 5 ✕ 2 21:47
camelia rakudo-moar fde3d6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tEdphEQYZ7␤Confused␤at /tmp/tEdphEQYZ7:1␤------> 3say 57⏏5 ✕ 2␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modifie…»
ilmari .u ✕
yoleaux U+2715 MULTIPLICATION X [So] (✕)
lizmat ok, seems 1f09c1e4f760a138208d is the first commit I tried that slows down everything by 2x
masak m: sub infix:<✕>($l, $r) { $l * $r }; say 5 ✕ 2
camelia rakudo-moar fde3d6: OUTPUT«10␤»
lizmat testing the one before that
aka 8401e01aa60ce2754bce0
xfix ⚠ could make a neat alias for "warn" function (don't do it). 21:48
labster Acme::Warn?
lucasb why the multiplication sign didn't work? didn't it got added in a recent commit?
lizmat I think it did ? 21:49
AlexDaniel lucasb: it's a wrong one
×
ilmari m: say 5 × 2
camelia rakudo-moar fde3d6: OUTPUT«10␤»
ilmari .u ×
yoleaux U+00D7 MULTIPLICATION SIGN [Sm] (×)
AlexDaniel .u ✕×
yoleaux U+00D7 MULTIPLICATION SIGN [Sm] (×)
U+2715 MULTIPLICATION X [So] (✕)
masak tricky :)
ilmari unicode--
timotimo damn.
xfix m: my \Linux™ = "Linux"; say Linux™;
camelia rakudo-moar fde3d6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fWboxkH84K␤Term definition requires an initializer␤at /tmp/fWboxkH84K:1␤------> 3my \Linux7⏏5™ = "Linux"; say Linux™;␤»
lucasb so many signs, much confused
masak clearly the right one is in the "math" category, though
xfix Hm, if ™ was a word character...
jnthn That moment when all the tests you wrote pass, but you didn't change something you were sure you needed to...
ilmari .u ✖ 21:50
yoleaux U+2716 HEAVY MULTIPLICATION X [So] (✖)
jnthn That'd be a good metal band name...
timotimo :D
i'd listen to that
xfix m: sub term:<Linux™> { "Linux" }; say Linux™
camelia rakudo-moar fde3d6: OUTPUT«Linux␤»
AlexDaniel well, I'm happy that now I can do this: 21:51
m: say (* × *)(2, 5)
camelia rakudo-moar fde3d6: OUTPUT«10␤»
21:51 vike left
AlexDaniel though maybe I'd love to see a special character for whatever star 21:51
xfix ☑ could be true, and ◻ could be false (still terrible ideas).
AlexDaniel xfix: please leave that for custom operators :) 21:52
and terms
lizmat m: sub postfix:<™>(\a) { a ~ "™" }; my $a = "Linux"; say $a™
camelia rakudo-moar fde3d6: OUTPUT«Linux™␤»
21:52 sjn_phone joined
AlexDaniel as well as ☠ ⚠ 21:52
lucasb AlexDaniel: yes, I think there are a cool star symbol in unicode that could be an alias for Whatever 21:53
timotimo sub foobar($a, $b) is ☠ { }
.u star
yoleaux U+0001 START OF HEADING [Cc] (␁)
U+0002 START OF TEXT [Cc] (␂)
U+0086 START OF SELECTED AREA [Cc] (<control>)
timotimo ugh
jnthn Sometimes I think I should mine this channel for all the really awful ideas suggested over the years, and make a toy language that implements all of them...
AlexDaniel lucasb: yeah, thousands of star symbols
lizmat
.oO( APL anyone? :)
21:54
timotimo did you know we can regex-match on full unicode name of a symbol?
AlexDaniel jnthn: it would be enough if you just made a top ten list :)
timotimo just allow anything that has a « star » in its name
jnthn Well, yeah, I was just realizing "all" might take me a while :)
lucasb ok, I'll stop suggesting awful ideas :( 21:55
timotimo m: for (1 .. 100000).map( *.uniname ).grep(/ « star » /).say
camelia rakudo-moar fde3d6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gRam7vV3ob␤Missing block␤at /tmp/gRam7vV3ob:1␤------> 3.map( *.uniname ).grep(/ « star » /).say7⏏5<EOL>␤ expecting any of:␤ block or pointy block␤»
timotimo m: (1 .. 100000).map( *.uniname ).grep(/ « star » /).say
camelia rakudo-moar fde3d6: OUTPUT«()␤»
timotimo oh, :i
m: (1 .. 100000).map( *.uniname ).grep(/ « STAR » /).map( *.say )
camelia rakudo-moar fde3d6: OUTPUT«ARABIC FIVE POINTED STAR␤STAR EQUALS␤STAR OPERATOR␤APL FUNCTIONAL SYMBOL CIRCLE STAR␤APL FUNCTIONAL SYMBOL STAR DIAERESIS␤BLACK STAR␤WHITE STAR␤STAR AND CRESCENT␤OUTLINED WHITE STAR␤STAR OF DAVID␤BLACK FOUR POINTED STAR␤WHITE FOUR POI…»
labster I give lucasb a GOLD STAR anyway.
timotimo so really, you can use "Whatever Star" you like. 21:56
xfix T̶h̶e̶ ̶b̶e̶s̶t̶ ̶w̶a̶y̶ ̶t̶o̶ ̶w̶r̶i̶t̶e̶ ̶w̶h̶a̶t̶e̶v̶e̶r̶ ̶s̶t̶a̶r̶ ̶i̶s̶ ̶¯̶\̶_̶(̶ツ̶)̶_̶/̶¯̶,̶ ̶o̶b̶v̶i̶o̶u̶s̶l̶y̶.̶
AlexDaniel m: say (0..0x1FFFF ==> grep { .uniname ~~ m/‘STAR’/ })».chr
camelia rakudo-moar fde3d6: OUTPUT«( ٭ ۞ ༌ ≛ ⋆ ⍟ ⍣ ␁ ␂ ★ ☆ ☪ ⚝ ✡ ✦ ✧ ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰ ✴ ✵ ✶ ✷ ✸ ✹ ❂ ⧦ ⭐ ⭑ ⭒ 𐫰 🌃 🌟 🌠 🍮 🔯 🝒 🟀 🟁 🟂 🟃 🟄 🟅 🟆 🟇 🟈 🟉 🟊 🟋 🟌 🟍…»
flussence is surprised that worked in urxvt
timotimo AlexDaniel: that also gives you "START OF *" and such
lizmat wow, quite a few of those stars didn't render for me
.u 🟀 # first one 21:57
yoleaux U+0020 SPACE [Zs] ( )
U+0023 NUMBER SIGN [Po] (#)
U+0065 LATIN SMALL LETTER E [Ll] (e)
timotimo haha
xfix Fiveof them didn't render to me.
I need better fonts.
timotimo i only saw a single star in that line
xfix .u 𐫰
yoleaux U+0001 START OF HEADING [Cc] (␁)
U+0086 START OF SELECTED AREA [Cc] (<control>)
U+0096 START OF GUARDED AREA [Cc] (<control>)
xfix That explains some of that...
.u 𐫰
yoleaux U+0098 START OF STRING [Cc] (<control>)
timotimo m: say (0..0x1FFFF ==> grep { .uniname ~~ m/ « STAR »/ })».chr
i told you, homeboy 21:58
xfix And...
Skarsnik Good night #perl6
camelia rakudo-moar fde3d6: OUTPUT«(٭ ≛ ⋆ ⍟ ⍣ ★ ☆ ☪ ⚝ ✡ ✦ ✧ ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰ ✴ ✵ ✶ ✷ ✸ ✹ ❂ ⭐ ⭑ ⭒ 𐫰 🌟 🌠 🔯 🟀 🟁 🟂 🟃 🟄 🟅 🟆 🟇 🟈 🟉 🟊 🟋 🟌 🟍 🟎 🟏 🟐 🟑 🟒 🟓 🟔)␤»
lizmat checking 627838d00ae509a78da
timotimo you can't match this.
AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniname ~~ m/‘STAR’/ })».chr
camelia rakudo-moar fde3d6: OUTPUT«٭۞༌≛⋆⍟⍣␁␂★☆☪⚝✡✦✧✩✪✫✬✭✮✯✰✴✵✶✷✸✹❂⧦⭐⭑⭒𐫰🌃🌟🌠🍮🔯🝒🟀🟁🟂🟃🟄🟅🟆🟇🟈🟉🟊🟋🟌🟍🟎🟏🟐🟑🟒🟓🟔␤»
AlexDaniel ok, that's all of them
21:58 Skarsnik left
xfix .u U+10AF0 21:58
yoleaux No characters found
AlexDaniel irclog.perlgeek.de/perl6/2015-12-19 look at that!
this message is hidden from irclog! 21:59
why?
xfix So, I cannot render U+10AF0. I wonder what font does have it...
www.fileformat.info/info/unicode/bl...upport.htm 22:00
That's sure useful, not.
dalek kudo/nom: b6f0532 | jnthn++ | src/core/Parameter.pm:
A little simplification in Parameter.perl.

Means we avoid .WHICH on invocant parameters, which is icky if we're trying to .perl a method signature (for example, to include in an error).
kudo/nom: c102648 | jnthn++ | src/Perl6/Metamodel/RoleToClassApplier.nqp:
Respect multi's sigs in role composition.

This means that a multi foo(Int $x) { ... } in a role will require an exactly matching candidate be provided. Prior to this, you'd get an ambiguous dispatch. Further, a multi in a role with a matching name and signature with one in a class will now hide the one from the role; this was also previously an ambiguous dispatch.
AlexDaniel xfix: what is U+10AF0?
dalek ast: 97e3ee4 | jnthn++ | S14-roles/composition.t:
Tests for/around RT #124393.
AlexDaniel ah I see now
geekosaur .u 10AF0
yoleaux No characters found
xfix Manichaean Punctuation Star
AlexDaniel xfix: ok, it is rendered here 22:01
xfix: unifont has it
basically unifont has everything 22:02
dalek ast: 3c3ac2a | jnthn++ | S14-roles/stubs.t:
Unfudge now-passing role stub tests.
AlexDaniel hmm
mm is this message hidden from irclog?
22:02 sjn_phone left, sjn_phone joined
xfix [23:02:03] <AlexDaniel> basically unifont has everything 22:03
That's... interesting.
AlexDaniel Nice! So that's how you can hide messages!
xfix I don't like bitmap fonts myself, but I guess it's better than seeing squares.
AlexDaniel xfix: exactly
.u
yoleaux U+0001 START OF HEADING [Cc] (␁)
22:04 pierre-vigier left
geekosaur sounds like a bug :) 22:04
AlexDaniel it is
22:04 Ven left
lucasb AlexDaniel: the message shows on the other irclogger... colabti 22:05
AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘STAR’/ })».chr)[1..*]
camelia rakudo-moar fde3d6: OUTPUT«٭۞༌≛⋆⍟⍣␁␂★☆☪⚝✡✦✧✩✪✫✬✭✮✯✰✴✵✶✷✸✹❂⧦⭐⭑⭒𐫰🌃🌟🌠🍮🔯🝒🟀🟁🟂🟃🟄🟅🟆🟇🟈🟉🟊🟋🟌🟍🟎🟏🟐🟑🟒🟓🟔␤» 22:06
22:06 raiph left
AlexDaniel xfix: well, here's a screenshot of that: files.progarm.org/2015-12-20-00062..._scrot.png 22:06
xfix I just realized that I had Xorg configuration disabling all bitmap fonts. Fun.
22:07 RabidGravy left
AlexDaniel xfix: so yes, it is not pretty, but at least I don't have to see annoying squares. 22:07
xfix: after installing unifont I rarely see squares. Now I see ugly characters instead! Which is way better 22:08
xfix I will need to figure out how to enable Unifont without enabling ugly Arch Linux's Xorg bitmap fonts (especially "Clean" one...)
AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘SIGN’/ })».chr)[1..*] 22:09
camelia rakudo-moar fde3d6: OUTPUT«$%+<=>¢£¤¥§©¬®°±µ¶×÷˖˗̟̠͇ʹ͵ЪЬъь҂҈҉Ҍҍ֍֎֏؀؁؃؄؉؊؋؎؏ٜؐؑؒؓؔٚٛ٪۽۾ࠜࠝࠞࠟࠠࠡࠢࠣࠥࠦࠧࠩࠪࠫࠬऀँंःऺऻ़ऽािीुूृॄॅॆेैॉॊोौ्ॎॏ॒॑ॕॖॗॢॣ…»
AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘LOVE’/ })».chr)[1..*]
22:09 sjn_phone left, inokenty left
camelia rakudo-moar fde3d6: OUTPUT«🏩💌␤» 22:09
22:09 sjn_phone joined
AlexDaniel .u 🏩💌 22:09
yoleaux U+1F3E9 LOVE HOTEL [So] (🏩)
U+1F48C LOVE LETTER [So] (💌)
AlexDaniel love hotel, there you go
m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘HEART’/ })».chr)[1..*] 22:10
camelia rakudo-moar fde3d6: OUTPUT«♡♥❣❤❥❦❧⺖⺗⼼🂱🂲🂳🂴🂵🂶🂷🂸🂹🂺🂻🂼🂽🂾🎔💑💓💔💕💖💗💘💙💚💛💜💝💞💟😍😻␤»
AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/^‘SQUARE’/ })».chr)[1..*] 22:13
camelia rakudo-moar c10264: OUTPUT«⊏⊐⊑⊒⊓⊔⊞⊟⊠⊡⋤⋥⌑⏍▤▥▦▧▨▩◧◨◩◪⚿⛝⛶⟎⟏⧄⧅⧆⧇⧈⧠⫍⫎⬒⬓⬔⬕⯐⸬㋌㋍㋎㌀㌁㌂㌃㌄㌅㌆㌇㌈㌉㌊㌋㌌㌍㌎㌏㌐㌑㌒㌓㌔㌕㌖㌗㌘㌙㌚㌛㌜㌝㌞㌟㌠㌡㌢㌣㌤㌥㌦…»
AlexDaniel oh well ㎀㎁㎂㎃㎄㎅㎆㎇㎈㎉㎊㎋㎌㎍㎎㎏㎐㎑㎒㎓㎔㎕㎖㎗㎘㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㎣㎤㎥㎦㎧㎨㎩㎪㎫㎬㎭㎮㎯㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎺㎻㎼㎽㎾㎿㏀㏁㏂㏃㏄㏅㏆㏇㏈㏉㏊㏋㏌㏍㏎㏏㏐㏑㏒㏓㏔㏕㏖㏗㏘㏙㏚㏛㏜㏝㏞㏟㏿
anyway, enough unicode spam for now 22:14
22:14 CQ left
DrForr I'm surprised my terminal survived. 22:14
masak was gonna say 22:16
jnthn TimToady: So, I fixed RT #124393, but the test I forgot to write was that now we pay attention to signatures for hiding and requirements, we also should for conflicts/resolution.
AlexDaniel DrForr: have you been here the last time I was doing the same kind of lookups for zalgo text?
22:16 adhoc left
jnthn TimToady: So, got failing tests for those now locally, but a bit tired fixing them so will look at that tomorrow. 22:16
AlexDaniel DrForr: it was about 300 combiners on one letter
flussence huh, looks like urxvt just doesn't support things > 0xFFFF regardless of the fonts I feed it... 22:17
jnthn uh, bit tired to be fixing them :)
22:17 adhoc joined
AlexDaniel flussence: files.progarm.org/2015-12-20-00174..._scrot.png 22:17
jnthn Anyway, that'll be one more off the xmas list. 22:18
AlexDaniel flussence: that's urxvt
.u ㏿
yoleaux U+33FF SQUARE GAL [So] (㏿)
AlexDaniel .u 🄰
yoleaux U+1F130 SQUARED LATIN CAPITAL LETTER A [So] (🄰)
AlexDaniel flussence: ooohh!! You are right! 22:19
22:19 sjn_phone left
AlexDaniel flussence: I wonder why 22:19
22:19 sjn_phone joined
AlexDaniel flussence: I've never noticed it… Damn, that's not good 22:20
lizmat m: say "\x1F139\x1F135"
camelia rakudo-moar c10264: OUTPUT«🄹🄵␤»
lizmat m: say "\x1F138\x1F134"
camelia rakudo-moar c10264: OUTPUT«🄸🄴␤»
lizmat hmmm...
AlexDaniel m: say join ‘’, ‘lizmat’.comb.map((*.ord + ‘🄰’.ord).chr) 22:22
camelia rakudo-moar c10264: OUTPUT«🆜🆙🆪🆝🆑🆤␤»
AlexDaniel whoops…
m: say join ‘’, ‘lizmat’.ords.map((* + ‘🄰’.ord - ‘a’.ord).chr) 22:24
camelia rakudo-moar c10264: OUTPUT«🄻🄸🅉🄼🄰🅃␤»
jnthn Time for some rest; 'night perl6
lizmat good night, jnthn
timotimo gnite jnthn 22:25
22:25 ChristopherBotto joined
DrForr Does .perl enforce any kind of ordering on keys? 22:26
timotimo yes 22:27
22:27 jack_rabbit left
DrForr Cool. I'm writng tests for a pretty printer. 22:27
AlexDaniel timotimo: so it just sorts them?
timotimo github.com/rakudo/rakudo/blob/nom/...pm#L59-L64 22:28
AlexDaniel timotimo: right! Thanks
22:28 _nadim joined
flussence has half a mind to go learn C and write a terminal emulator that doesn't suck... knowing full well that's impossible 22:32
22:32 skids joined
DrForr Check out Tickit for perl5. 22:32
22:33 Begi joined, vike joined
ilmari tickit is a terminal ui kit 22:36
there's pangoterm by the same guy
which built on libvterm, which he also wrote
LeoNerd++
22:37 lsm-desktop left
ilmari random speed comparison: AlexDaniel's hearts finder takes takes 25s on my laptop, the equivalent perl 5 takes 1m55 22:38
perl -mcharnames -E 'say join " ", map chr, grep charnames::viacode($_) =~ /HEART/, 0..0x1FFFF'
AlexDaniel .u CHRIST 22:45
yoleaux U+1F384 CHRISTMAS TREE [So] (🎄)
U+1F385 FATHER CHRISTMAS [So] (🎅)
ilmari rakudo does use a lot more memory, though. 90MB vs 27MB 22:51
timotimo yeah, but an empty rakudo already takes a bunch of memory anyway 22:53
lizmat .tell jnthn commit c040a076e64c3420f322 is causing the slowdown
yoleaux lizmat: I'll pass your message to jnthn.
timotimo 67 megabytes of ram used for "say '1'"
lizmat well, now that I have found the commit causing the slowdown, I'm going to get some rest 22:55
good night, #perl6
22:56 ghost_ joined
skids o/ 22:58
TimToady okay, so that's probably just something blowing the jit
"just", he sez... 22:59
lucasb INSTALL.txt mentions --with-moar and -with-nqp but it seems Configure.pl don't use these options 23:04
I know there is --sdkroot, but I think --with-foo=PATH is more common in other build systems 23:05
dalek p: 03e729e | (Pawel Murias)++ | src/vm/js/nqp-runtime/code-ref.js:
[js] Remove debugging console.log.
23:07
p: fb74f7c | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] Fix matching negated charclass at end of string.
lucasb it seems there was --with-parrot and --with-nqp in the past, but they are gone 23:13
23:17 spider-mario left
diakopter .tell nanis I don't see an answer to your question: anyway, here it is: perl Configure.pl --gen-moar=master 23:18
yoleaux diakopter: I'll pass your message to nanis.
dalek kudo/nom: 091ee75 | TimToady++ | src/Perl6/ (2 files):
fix for 125769, binding in sink context throws

The wanter now notices such binds at the ends of blocks and install an extra True value afterwards to shield the binding from autothrow semantics. In addition, if/else/with/without now propagage sinkness properly to the then/else clauses, which exposed the fact that lots of instances of $_ weren't wanted yet.
ast: 734565c | TimToady++ | S05-interpolation/regex-in-variable.t:
untodo tests for #100232
ast: 8b97aa4 | TimToady++ | S32-exceptions/misc.t:
test for #125769, if at end of block throws bind

  (plus additional failure modes caught while fixing this one)
c/un-unspace: 85fd191 | (Brock Wilcox)++ | htmlify.p6:
Remove some unneeded unspace
23:21
c: 85fd191 | (Brock Wilcox)++ | htmlify.p6:
Remove some unneeded unspace
23:23
c: d5a77e6 | (Zoffix Znet)++ | htmlify.p6:
Merge pull request #251 from perl6/un-unspace

Remove some unneeded unspace
23:23 kaare_ left 23:24 Begi2 joined
awwaiid would it make sense to have all =head* things added to the search index for doc.perl6.org? 23:25
23:26 Begi left
skids aww I was kinda hoping my RT would be the last one on the fixmas list :-) 23:26
diakopter which one was yours 23:28
skids 125769 23:29
awwaiid it is frustrating to read through htmlify.p6 from doc looking for ways to improve indexing, only to find syntax that I don't understand and can't look up
vendethiel awwaiid: what kind? 23:30
awwaiid when :(Str $ where /^The \s \S+ \s \w+$/) { ... } # what is the ":" for?
vendethiel awwaiid: signature
it's like a multi... but inside a given
awwaiid hm. so the given is a list, and this is like a destructure match 23:31
wow... NEAT! 23:32
masak yes, but ISTR that $/ doesn't get set properly... :/
m: given "foo" { when :(Str $ where /f(..)/) { say $0 } } 23:33
camelia ( no output )
masak hm.
skids m: my $a; my $b; :(Int $b, $a) := { 4,"foo" }(); $b.say; # also works for return values 23:34
camelia rakudo-moar 091ee7: OUTPUT«4␤»
skids m: my $a; my $b; :(Int $b, $a) := { "4","foo" }(); $b.say; # also works for return values
camelia rakudo-moar 091ee7: OUTPUT«Type check failed in binding $b; expected Int but got Str␤ in block <unit> at /tmp/hLAH6o8tp6:1␤␤»
stmuk awwaiid: 'git grep' in the doc and roast repos sometimes helps with syntax
dalek p: f787663 | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
[js] Replace \r\n with \n when reading in files.
23:35
p: 9a0fb49 | (Pawel Murias)++ | t/nqp/19-file-ops.t:
Test that readallfh convert \r\n. Skip the readlinefh tests skipped on moar on js.
23:36 ChristopherBotto left
dalek ast: 1becd7c | TimToady++ | S05-interpolation/regex-in-variable.t:
bunch more tests for #100232
23:37
diakopter I'm guessing the slowdown is due to tipping-point JIT op implementation, which is now causing massively greater portions of stuff to be JITted
(and it's taking far longer to JIT now)
masak 'night, #perl6
awwaiid gnight masak! 23:38
diakopter masak: g'n
someone could test by comparing to rakudo-j run times
lucasb m: given \('foo') { when :(Str $ where /(.+)/) { say "<$0>" } } 23:39
camelia rakudo-moar 091ee7: OUTPUT«<foo>␤»
lucasb m: given :('foo') { when :(Str $ where /(.+)/) { say "<$0>" } }
camelia rakudo-moar 091ee7: OUTPUT«Use of Nil in string context in block at /tmp/Q6B1H_omlA:1␤<>␤»
awwaiid m: my @stuff = "fish", 42; say @stuff ~~ :(Str, Int), @stuff ~~ :(Str, Str)
camelia rakudo-moar 091ee7: OUTPUT«TrueFalse␤»
awwaiid so cool
There is so much awesome in Perl6 that documenting it sanely is very challenging, I'm finding 23:40
23:41 lichtkind joined
diakopter staying sane while documenting? 23:41
or writing things that keep people sane when reading?
awwaiid hehe
yes! 23:42
diakopter so.. both 23:43
awwaiid m: say :writer|:reader # Any
camelia rakudo-moar 091ee7: OUTPUT«any(writer => True, reader => True)␤»
23:44 xfix left
pochi .say for (^5).pick(), (^5).pick(1), (^5).head(), (^5).head(1) 23:45
m: .say for (^5).pick(), (^5).pick(1), (^5).head(), (^5).head(1)
camelia rakudo-moar 091ee7: OUTPUT«3␤(2)␤(0)␤(0)␤»
pochi shouldn't .head() be more like pick()? 23:46
23:46 pmurias joined 23:47 TEttinger left
dalek p: 2d13ef7 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (3 files):
[js] Drop the iconv-lite dependency.
23:49
lucasb m: say ().pick 23:51
camelia rakudo-moar 091ee7: OUTPUT«Nil␤» 23:52
lucasb m: say ().pick(1)
camelia rakudo-moar 091ee7: OUTPUT«()␤»
lucasb same thing for .roll
I would like if .pick and .pick(1) meant the same thing
pochi: and yes, I like your suggestion too 23:54
pochi the same goes for .tail as well
23:56 pmurias left, MadcapJake left
Begi2 lucasb : good question. .roll() and .roll(1) should mean the same thing no ? 23:58
23:58 Begi2 is now known as Begi, cdg joined
dalek c: 12d8242 | (Brock Wilcox)++ | doc/Language/syntax.pod:
Document signature literals
23:58
lucasb Begi: yes, I would have expected so
23:59 cdg left
masak ...before I go to bed... :) 23:59