Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-19

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 kyclark joined #perl6
00:05 jdv79 https://gist.github.com/anonymous/620a5fb5aff539264c1a
00:05 jdv79 what am i missing tere?
00:05 jdv79 *there
00:08 Ben_Goldberg joined #perl6
00:16 cdg joined #perl6
00:16 rhr joined #perl6
00:18 skids Anyone know what the failure observed in RT#122773 actually was?
00:18 skids erm sorry
00:18 skids RT#123272
00:20 skids 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:22 adhoc joined #perl6
00:41 roguelazer joined #perl6
00:43 pierre-vigier joined #perl6
00:52 jdv79 This representation (VMArray) cannot unbox to a native string
00:52 jdv79 sweet
00:53 jdv79 oh.  maybe its time for rest:(
00:53 jdv79 nevermind
00:54 zostay joined #perl6
01:05 Ben_Goldberg joined #perl6
01:16 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 #perl6
01:25 Hotkeys when using a named capture after matching does it matter if I do $<name> or $/<name> ?
01:25 Hotkeys they seem to produce the same result
01:26 TimToady doesn't matter
01:26 TimToady $<name> is just sugar for the $/<name>
01:31 dalek rakudo/nom: 1f09c1e | TimToady++ | src/Perl6/ (2 files):
01:31 dalek rakudo/nom: because it's Friday and I'm feeling expansive
01:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1f09c1e4f7
01:32 japhb TimToady++ # For the commit message alone
01:32 Hotkeys alright cool
01:35 cognominal to ∞ and beyond
01:38 dalek roast: 456134a | TimToady++ | S02-literals/numeric.t:
01:38 dalek roast: That's one small step for a language...
01:38 dalek roast:
01:38 dalek roast: one giant leap for the number line.
01:38 dalek roast: review: https://github.com/perl6/roast/commit/456134ac0b
01:43 xpen joined #perl6
01:44 dalek roast: f9d2d49 | TimToady++ | S06-operator-overloading/term.t:
01:44 dalek roast: test using aleph-zero instead of infinity
01:44 dalek roast: review: https://github.com/perl6/roast/commit/f9d2d4936d
01:48 Ben_Goldberg Heh
01:51 Ben_Goldberg m: my (\joy) := \(my $x=3); say ++joy
01:51 camelia rakudo-moar 1f09c1: OUTPUT«4␤»
01:52 Ben_Goldberg m: my (\joy) := \(my $x=3); say ++joy, ++joy, ++joy;
01:52 camelia rakudo-moar 1f09c1: OUTPUT«456␤»
02:03 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:04 jdv79 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:05 jdv79 so something liek a metacpan server will have to have every conceivable pre-req installed?  that' pure insanity.
02:11 molaf_ joined #perl6
02:24 zjmarlow_ joined #perl6
02:25 FROGGS_ joined #perl6
02:29 grondilu cuneiforms? jeez
02:29 grondilu m:  𒑡  × 𒑒
02:29 camelia rakudo-moar 1f09c1: OUTPUT«WARNINGS for /tmp/t2xCzGK_6E:␤Useless use of "×" in expression "𒑡  × 𒑒" in sink context (line 1)␤»
02:30 grondilu this messed up my terminal output in a way very difficult to describe
02:31 grondilu m:  𒑡  × *
02:31 camelia rakudo-moar 1f09c1: OUTPUT«WARNINGS for /tmp/K65hVGL5DE:␤Useless use of "×" in expression "𒑡  × *" in sink context (line 1)␤»
02:31 grondilu http://i.imgur.com/LRBctIi.png
02:32 grondilu m: say  𒑡  × *
02:32 camelia rakudo-moar 1f09c1: OUTPUT«WhateverCode.new␤»
02:33 grondilu msay :  𒑡  × 𒑒
02:34 grondilu m: say 𒑡
02:34 camelia rakudo-moar 1f09c1: OUTPUT«0.166667␤»
02:46 ilbot3 joined #perl6
02:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:53 TimToady somebody's been reading test files :)
02:55 zjmarlow joined #perl6
03:02 Hotkeys .u א₀
03:02 yoleaux U+05D0 HEBREW LETTER ALEF [Lo] (א)
03:02 yoleaux U+2080 SUBSCRIPT ZERO [No] (₀)
03:02 Hotkeys that right to left nonsense is weird
03:04 dalek rakudo/nom: c06c4c4 | TimToady++ | src/Perl6/Actions.nqp:
03:04 dalek rakudo/nom: at least annotate the suspect bind as sunk
03:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c06c4c4f16
03:05 * TimToady wonders if they write it ₀א over in those parts of the world...
03:06 Hotkeys is panda broken or is it just me
03:07 TimToady I suppose I should've used ℵ instead of א
03:07 Hotkeys oh
03:07 Hotkeys it's just taking ages to start doing things
03:09 dalek roast: 1e61fd2 | TimToady++ | S06-operator-overloading/term.t:
03:09 dalek roast: use the alef symbol rather than the letter
03:09 dalek roast: review: https://github.com/perl6/roast/commit/1e61fd25de
03:10 TimToady on first run it might be precompiling
03:10 TimToady (other modules)
03:11 TimToady dinner &
03:16 uruwi joined #perl6
03:21 cdg joined #perl6
03:26 noganex_ joined #perl6
03:28 AndyDee joined #perl6
03:28 cdg_ joined #perl6
03:53 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 #perl6
04:02 * lucs & # ZZ  mañana
04:06 colomon joined #perl6
04:07 awwaiid lucs: maybe you can't put a regex in for a char list
04:10 CQ2 joined #perl6
04:25 BenGoldberg_ joined #perl6
04:45 pierre-vigier joined #perl6
04:53 AlexDaniel Recently I've noticed that line numbers in error messages became wrong
04:54 AlexDaniel 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 AlexDaniel or even worse, line number of the return statement
04:54 AlexDaniel am I making it up or the problem is actually there?
04:55 TimToady fixed already
04:55 AlexDaniel ooooooh
04:56 AlexDaniel TimToady: thanks
04:56 TimToady if it's the bug I think it is
04:56 TimToady when did you last compile?
04:56 TimToady download/compile?
04:56 AlexDaniel yesterday
04:56 TimToady fixed today
04:57 TimToady probably
04:57 AlexDaniel well, we'll see :)
04:59 AlexDaniel 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 :)
04:59 TimToady don't sweat it
05:01 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 :)
05:03 grondilu with <a b> and <c d>, how can I make (('ac', 'ad'), ('bc', 'bd')) using metaoperators?
05:03 grondilu m: say <a b> X~ <c d> # flattens
05:03 camelia rakudo-moar c06c4c: OUTPUT«(ac ad bc bd)␤»
05:03 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…
05:04 flussence check the profiler output
05:04 AlexDaniel right
05:05 llfourn m: m: say <a b> X <c d>
05:05 camelia rakudo-moar c06c4c: OUTPUT«((a c) (a d) (b c) (b d))␤»
05:06 grondilu m: say <a b> X[X~] <c d> # flattens
05:06 camelia rakudo-moar c06c4c: OUTPUT«((ac) (ad) (bc) (bd))␤»
05:07 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)
05:07 camelia rakudo-moar c06c4c: OUTPUT«(((a c) (a d)) ((b c) (b d)))␤»
05:07 AlexDaniel DrForr: I think that it was decided to “release” on 19th so that we can release on 25th
05:07 TimToady m: say (<a b> X~ <c d>).rotor(2)
05:07 camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
05:07 llfourn ah yes .rotor!
05:08 llfourn winnar!
05:08 grondilu I was hoping not using rotor
05:08 AlexDaniel DrForr: if that's what you meant by your question, and if I got everything correctly :)
05:08 grondilu because the array can be of arbitrary size and I don't want to use it more than once.
05:09 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␤␤»
05:10 grondilu m: say <a b> X[X~] (<c d>,)
05:10 camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
05:10 grondilu ah ah
05:10 grondilu m: say <a b> X~ (<c d>,)
05:10 camelia rakudo-moar c06c4c: OUTPUT«(ac d bc d)␤»
05:10 llfourn oh nice :)
05:10 grondilu X[X~] it is :)
05:10 TimToady mUm: say <a b> XX~ (<c d>,)
05:11 TimToady m: say <a b> XX~ (<c d>,)
05:11 camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
05:11 AlexDaniel mum?
05:11 TimToady don't really need the brackets
05:11 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 #perl6
05:13 AlexDaniel OK here goes 3 minute precompilation again… That's like half of the time required to build rakudo? :)
05:14 grondilu m: say <a b> XX~ <c d>,
05:14 camelia rakudo-moar c06c4c: OUTPUT«((ac ad) (bc bd))␤»
05:14 grondilu neither the parens
05:14 AlexDaniel nice!
05:15 AlexDaniel m: say <a b> XZ~ <c d>
05:15 camelia rakudo-moar c06c4c: OUTPUT«((ac) (ad) (bc) (bd))␤»
05:18 AlexDaniel TimToady: yes, my problem disappeared after updating. Thank you
05:52 flaviusb joined #perl6
05:52 psy_ joined #perl6
05:53 Possum joined #perl6
05:56 secwang joined #perl6
06:05 psy_ joined #perl6
06:08 psy_ joined #perl6
06:15 pierre-vigier joined #perl6
06:17 secwang joined #perl6
06:19 vividsnow joined #perl6
06:21 snarkyboojum joined #perl6
06:29 szabgab joined #perl6
06:30 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: http://cpansearch.perl.org/src/SZABGAB/Syntax-Highlight-Engine-Kate-0.10/lib/Syntax/Highlight/Engine/Kate/Perl6.pm looks more like a Perl 5 highlighter, no?
06:31 TEttinger Ven is usually online around now...
06:32 TEttinger https://github.com/vendethiel appears to be the veninator
06:32 TimToady ven usually prefers to just go by vendethiel
06:33 TimToady dunno why there's two N's in the article, offhand
06:33 nige1 joined #perl6
06:38 dalek roast: 040bac7 | skids++ | S10-packages/precompilation.t:
06:38 dalek roast: Add passing test for RT#123272 verified not passing on <= 59f7cb9
06:38 dalek roast:
06:38 dalek roast:   This seems to adequately represent the since-fixed ABC precomp issues
06:38 dalek roast:
06:38 dalek roast:   Note that it runs into run_alt problems when run directly from roast
06:38 dalek roast:   where there is no t/spec/packages directory unless you link said
06:38 dalek roast:   path to the roast packages/ directory.  Will ensure it works from
06:38 dalek roast:   make spectest after this commit.
06:38 dalek roast: review: https://github.com/perl6/roast/commit/040bac7781
06:38 dalek roast: cee6b12 | skids++ | packages/Example2/ (15 files):
06:38 dalek roast: Files for previous commit
06:38 dalek roast: review: https://github.com/perl6/roast/commit/cee6b1283e
06:47 szabgab thanks for the links
06:56 skids darn.  The run_alt issue still kills those tests under "make spectest"
07:05 TimToady maybe you found the flapper?
07:07 skids Well, the fact that it seems to care what directory .precomp is in seems maybe to be a clue.
07:14 skids Huh, now it doesn't and the link trick doesn;t work anymore.  Just always run_alt. Sigh.
07:15 skids Up way to late to deal with this, though.
07:23 CIAvash joined #perl6
07:26 secwang joined #perl6
07:29 dalek rakudo/nom: 28ab83f | TimToady++ | src/ (2 files):
07:29 dalek rakudo/nom: restricted subset of regex for INTERPOLATE
07:29 dalek rakudo/nom:
07:29 dalek rakudo/nom: Nothing that can execute arbitrary code is allowed into regex
07:29 dalek rakudo/nom: interplations now.  Probably.  Maybe.
07:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28ab83f947
07:31 TimToady where's Mrs Tables when you need her?
07:34 molaf joined #perl6
07:36 TimToady m: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> /
07:36 camelia rakudo-moar c06c4c: OUTPUT«pwned␤»
07:41 dalek roast: 20d3fc8 | TimToady++ | S05-metasyntax/litvar.t:
07:41 dalek roast: fix test new restricted regex caught
07:41 dalek roast: review: https://github.com/perl6/roast/commit/20d3fc8312
07:43 RabidGravy joined #perl6
07:43 aindilis joined #perl6
07:51 hankache joined #perl6
07:55 TEttinger you know, I bet interplations isn't even a typo if you go into technical enough jargon
07:55 TEttinger "it's the jargon called You Know What I Mean"
07:56 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 }␤»
07:57 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")}␤»
07:58 TimToady anyway, everyone feel free to try to break into it :)
07:58 TEttinger j: "foo" ~~ / <{ '$(say "trivially pwned")' }> /
07:58 camelia rakudo-jvm 6c0f93: ( no output )
07:59 TEttinger j: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> /
07:59 camelia rakudo-jvm 6c0f93: OUTPUT«pwned␤»
07:59 TimToady hasn't recompiled
07:59 TEttinger I can dream
08:00 hankache good morning #perl6
08:00 TimToady why, so it is...I should go to bed
08:05 labster joined #perl6
08:12 labster Well, it looks like all of my modules broke right before Christmas.  So I guess it's time to fix them.
08:13 darutoko joined #perl6
08:13 hankache labster good luck
08:14 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 labster at /Users/brent/code/rakudo/install/share/perl6/sources/37AE7E5299896B2ED5DA605854BE14140B241038:13
08:14 labster Exception details:
08:14 labster Could not find symbol '&bool'
08:24 Woodi TimToady++ # (security++)++
08:25 Woodi hi today #perl6 :)
08:30 labster good morning Woodi
08:34 TimToady labster: you have to rm the install dir to clear that one
08:36 hankache anyone having problems installing Terminal::ANSIColor?
08:37 hankache 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)
08:37 * hankache needs coffee
08:38 Woodi hankache++ ;)
08:38 hankache morning Woodi
08:40 labster Worked, thanks TimToady
08:44 _nadim Good morning all
08:44 Woodi hi _nadim
08:45 hankache morning _nadim
08:46 RabidGravy marnin
08:46 xpen joined #perl6
08:47 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:49 Woodi 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:50 hankache morning RabidGravy
08:52 hankache newbie question: I want to store html+javascript in a variable so i can output it in bailador
08:53 hankache the html and javascript in on multiple lines, how can i do it?
08:54 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
08:57 Woodi hankache: so that text in varible is already escaped for html output ?
08:58 hankache Woodi no
08:59 hankache i saw something for perl5 and don't remember it well, q{} or qq{} something close
09:00 labster In the future, we will put the entire program in a string, and put EVAL in front.
09:02 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 #perl6
09:03 TEttinger joined #perl6
09:04 Woodi hankache: so you need to add all that &xxxxxx things ?
09:06 _nadim http://doc.perl6.org/language/quoting
09:07 dalek rakudo/nom: 6942dc1 | TimToady++ | src/Perl6/Actions.nqp:
09:07 dalek rakudo/nom: inside of gather is a sink context
09:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6942dc16df
09:09 pmurias joined #perl6
09:12 hankache _nadim thanks
09:12 hankache Woodi no not for thi example
09:12 hankache this**
09:12 RabidGravy hankache, maybe a "here document" http://doc.perl6.org/language/quoting#Heredocs%3A_%3Ato ?
09:13 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:14 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 :)
09:15 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␤␤»
09:15 RabidGravy oof
09:15 RabidGravy but the simple cast works
09:16 RabidGravy m: say SeekType(0)
09:16 camelia rakudo-moar 6942dc: OUTPUT«SeekFromBeginning␤»
09:16 nige1 joined #perl6
09:17 hankache Woodi I want to put this https://gist.github.com/hankache/b1d39936f6bfba178709 in a variable
09:18 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␤»
09:18 hahainternet hankache: RabidGravy gave you the right link, this: http://doc.perl6.org/language/quoting#Heredocs%3A_%3Ato
09:18 labster lol thanks error message.
09:22 hankache hahainternet Woodi RabidGravy _nadim thanks everyone
09:23 smls joined #perl6
09:24 dalek rakudo/nom: 19d84be | TimToady++ | src/Perl6/Grammar.nqp:
09:24 dalek rakudo/nom: regex interpolation falsely rejected <alpha>
09:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19d84be006
09:25 cognominal m: EVAL "say q:to<END>\nhi hankache\nEND"
09:25 camelia rakudo-moar 6942dc: OUTPUT«hi hankache␤␤»
09:27 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 TimToady too late to do it tonight though...
09:27 smls ooh, so we have safe interpolation now?
09:28 smls s/safe/safer/
09:28 TimToady m: "foo" ~~ / <{ '$(say "trivially pwned")' }> /
09:28 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")}␤»
09:28 hankache m: say "salut cognominal"
09:28 camelia rakudo-moar 6942dc: OUTPUT«salut cognominal␤»
09:28 TimToady m: "foo" ~~ / <{ ' foo }; { say "pwned" }; regex { foo ' }> /
09:28 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 }␤»
09:31 TimToady m: "foo" ~~ / <{ '<alpha>' }> /
09:31 camelia rakudo-moar 19d84b: ( no output )
09:31 TimToady m: say "foo" ~~ / <{ '<alpha>' }> /
09:31 camelia rakudo-moar 19d84b: OUTPUT«「f」␤»
09:31 TimToady that's the one I just fixed, was bailing out too early
09:32 TimToady 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 #perl6
09:32 TimToady that's illegal though
09:32 TimToady m: say "foo" ~~ / <{ '<foo::bar>' }> /
09:32 camelia rakudo-moar 19d84b: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol foo␤»
09:32 TimToady that's legal
09:32 hankache so the html+javascript that we put in a scalar using heredoc is being used correclty by bailador.
09:32 TimToady m: say "foo" ~~ / <{ '<foo::bar:baz(42)>' }> /
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::bar7⏏5:baz(42)>}␤»
09:32 TimToady that's not
09:33 TimToady m: say "foo" ~~ / <{ ' "oo" ' }> /
09:33 camelia rakudo-moar 19d84b: OUTPUT«「oo」␤»
09:33 hankache the only issue being <script src="library.js"></script> is not being picked up
09:33 TimToady m: say "foo" ~~ / <{ ' "o{say 'gotcha'}o" ' }> /
09:33 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…»
09:33 TimToady m: say "foo" ~~ / <{ ' "o{say q/gotcha/}o" ' }> /
09:33 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␤»
09:33 hankache although it is in the same folder
09:34 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␤»
09:34 Woodi hankache: what request Bailador is getting from client ?
09:34 TimToady not sure why that one fails, probably overkill
09:37 Woodi ' "$_" ' should't be just "literal": "$_"   ?
09:38 Woodi Woodi: should and that's the problem ?
09:48 hankache joined #perl6
09:48 TimToady ah well, won't get that one fixed tonight either...
09:48 TimToady zzz &
09:50 hankache Woodi: i am not really sure i understand the question. This is the first time i use bailador
09:52 hankache i loaded the html+javascript using heredoc and bailador outputs it correctly. the only issue is this line <script src="library.js"></script>
09:53 kaare_ joined #perl6
09:53 hankache bailador can't find it
09:53 hankache *can't find the .js
09:55 Woodi hankache: bailador sends web page to client and client should ask for library.js in subsequent request
09:56 Woodi I was asking what request bailador got for library.js
09:59 hankache Woodi: here is my code https://gist.github.com/hankache/b1d39936f6bfba178709
10:00 pmurias hankache: do you have Chart.js somewhere?
10:01 rindolf joined #perl6
10:01 hankache pmurias yes in the same directory where i call the pl6 file containing the code
10:02 firstdayonthejob joined #perl6
10:02 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 hankache works*
10:02 hankache but when run using bailador, it can't figure out the path to it
10:03 spider-mario joined #perl6
10:03 pmurias hankache: the simplest option would be to just replace src="Chart.js" with src="https://cdnjs.com/libraries/chart.js"
10:03 hankache pmurias of course it works then
10:04 hankache pmurias but i was trying to provision for offline use
10:05 pmurias hankache: looking at the Bailador source code it doesn't seem to read files by default
10:06 pmurias so you would have to add a route for Char.js that reads the file and sends it
10:09 pmurias something like get 'Chart.js' => sub { slurp 'Char.js' };
10:09 * pmurias didn't test that
10:10 hankache pmurias thanks dear
10:10 hankache pmurias: i'll see what can be done.
10:10 hankache hope slurp works
10:14 pmurias hankache: maybe it should be get '/Chart.js' => sub { slurp 'Char.js' };
10:15 pmurias do we have a Perl 6 framework other than Bailador?
10:16 hankache pmurias not that i know of
10:16 AlexDaniel pmurias: I don't think so
10:17 AlexDaniel pmurias: is there something wrong with Bailador, by the way?
10:17 AlexDaniel pmurias: because I am using it for rather simple stuff and it works just fine
10:17 hankache eureka!!
10:17 hankache pmurias: get '/Chart.js' => sub { slurp 'Char.js' }; did the job
10:17 AlexDaniel aaaah
10:17 hankache pmurias: thanks a lot
10:17 AlexDaniel hankache: yeah, that's what I do too :)
10:18 hankache AlexDaniel :)
10:18 hankache AlexDaniel I am just starting to learn how to use bailador
10:19 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
10:19 AlexDaniel hankache: well kinda, what if you want to serve a binary file?
10:19 pmurias AlexDaniel: I haven't used it so I don't have a strong opinion, seems to look a bit like a quick hack
10:20 hankache AlexDaniel no idea :)
10:20 hankache pmurias: at least i can keep going for the moment. thanks again
10:21 AlexDaniel hankache: you might also need this kind of thing
10:21 AlexDaniel get ‘/raw’ => sub { header(‘Content-Type’, ‘text/plain’); return ‘some text here’ };
10:21 AlexDaniel hankache: for JS stuff too, I think.
10:22 AlexDaniel though it is not going to be text/plain
10:22 hankache ok
10:23 AlexDaniel pmurias: yeah. Well, my problem with Bailador is that it seems to look a bit like a half-dead project
10:24 AlexDaniel some commits now and then but no real development
10:25 AlexDaniel for me it's OK if it is somewhat hacky, but it's not OK if things are not moving forward…
10:25 AlexDaniel hankache: ah yeah, if you are going to need POST params then read this: https://github.com/tadzik/Bailador/pull/44
10:26 Skarsnik joined #perl6
10:26 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:27 AlexDaniel 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 AlexDaniel so the original pull request is fine, it is just that it does not work with the current code base…
10:28 AlexDaniel oops I meant “psgi”
10:28 hankache aha
10:29 AlexDaniel good ni… *! o/
10:29 hankache good night AlexDaniel
10:32 RabidGravy off out to laugh at the desperate masses, ttfn.
10:37 labster joined #perl6
10:41 smls Did Rakudo nom somehow become three times slower since yesterday?
10:43 smls s/three times/1.5 times/
10:46 rurban joined #perl6
11:06 eyck joined #perl6
11:06 masak good noon, #perl6
11:10 Begi joined #perl6
11:12 vividsnow joined #perl6
11:16 Skarsnik Hello
11:16 masak \o
11:25 psy_ joined #perl6
11:26 psy_ joined #perl6
11:34 hankache joined #perl6
11:34 lizmat good *, #perl6!
11:34 lizmat smls: spectest seemed slower the past days, yes
11:34 hankache hiya lizmat!
11:34 lizmat hankache o/
11:38 dalek rakudo/nom: 5e0c0ca | (Sylvain Colinet)++ | lib/NativeCall.pm6:
11:38 dalek rakudo/nom: Change the way you can specify the API/ABI version in NC. previous implementation would fail under win32 because based on a : separator
11:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e0c0cabca
11:38 dalek rakudo/nom: 29c460d | lizmat++ | lib/NativeCall.pm6:
11:38 dalek rakudo/nom: Merge pull request #641 from Skarsnik/nom
11:38 dalek rakudo/nom:
11:38 dalek rakudo/nom: Change the way you can specify the API/ABI version in NC.
11:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29c460dec9
11:39 hankache is there a way of making all class attributes rw instead of saying is rw for each attribute?
11:40 Skarsnik class A is rw
11:40 hankache thanks Skarsnik
11:41 Skarsnik thx lizmat x)
11:41 hankache thanks lizmagic
11:42 hankache ;D
11:47 Skarsnik oh wait I forget to commit the test file :(
12:03 timotimo yawn
12:03 timotimo not feeling so great today :\
12:03 vividsnow joined #perl6
12:03 timotimo and then somebody says rakudo got 1.5x slower, that's bad news
12:04 eyck joined #perl6
12:06 timotimo smls: did you have some code that measures the slowdown somewhat directly?
12:07 smls timotimo: not golfed
12:09 eyck joined #perl6
12:09 kid51 joined #perl6
12:10 dalek rakudo/nom: 522e03c | (Sylvain Colinet)++ | t/04-nativecall/17-libnames.t:
12:10 dalek rakudo/nom: Add the missing test file related to NC api version stuff
12:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/522e03c3f5
12:10 dalek rakudo/nom: f7adf8f | lizmat++ | t/04-nativecall/17-libnames.t:
12:10 dalek rakudo/nom: Merge pull request #642 from Skarsnik/nom
12:10 dalek rakudo/nom:
12:10 dalek rakudo/nom: Add the missing test file related to NC api version stuff
12:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f7adf8faa7
12:11 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 lizmat ^^^ on a cold machine...   wallclock and CPU are about 1.5 to what I was used to until earlier this week
12:12 timotimo huh
12:13 lizmat yes, some tests were added, but not that many
12:13 timotimo it's not the great sink refactor, is it?
12:14 smls Can I safely downgrade Rakudo with rakudobrew?
12:14 lizmat timotimo: I would hope not.... but fear that it is...
12:15 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
12:16 timotimo it's a little bit of extra data, but it's only compilation overhead
12:16 timotimo though on the other hand ... spec tests is almost dominated by compilation
12:17 timotimo i think it'd be interesting to actually measure that exactly
12:17 timotimo like, hack stagestats to write to a file and collect the whole combined output for all of the spec test suite
12:17 smls The difference I saw in my script was run-time, though, as measured by  «my $time = now; ...; note $time - now»
12:18 timotimo OK
12:18 timotimo are you on the MOAR_REVISION or on moar master?
12:18 timotimo NQP_REVISION, likewise
12:18 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.
12:19 jnthn Not for such a large factor
12:19 jnthn Spectest seems slower here too
12:19 smls timotimo: Whatever "rakudobrew build moar" decided to build ;)
12:20 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)
12:20 timotimo yeah, the :foo triggers it, right?
12:21 Skarsnik Useless use of ":TEST" in sink context (line 3)
12:21 moritz m: use Test :ALL;
12:21 camelia rakudo-moar 29c460: ( no output )
12:21 moritz m:  NativeCall :ALL;
12:21 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␤»
12:21 timotimo could already be fixed
12:21 timotimo m: use NativeCall :ALL;
12:21 camelia rakudo-moar 29c460: ( no output )
12:21 timotimo seems like. Skarsnik you can update :)
12:22 Skarsnik it's like from 2-3 days ago x)
12:22 timotimo right now, our velocity of changes is pretty big
12:23 Skarsnik If it's fixed it's alright ^^
12:23 timotimo yeah, seems like it is
12:25 lizmat FWIW, wrt to slowdown, it doesn't seem to come from bare startup
12:26 lizmat m: use Test; say now - BEGIN now
12:26 camelia rakudo-moar 29c460: OUTPUT«0.0140953␤»
12:26 lizmat m: use Test; say now - BEGIN now
12:26 camelia rakudo-moar 29c460: OUTPUT«0.013673␤»
12:26 lizmat $ time perl6 -e 'use Test'
12:26 lizmat real0m0.482s
12:27 lizmat almost *500* msecs to load Test ?
12:27 lizmat perhaps it's not precomped ?
12:27 timotimo hm, isn't precomping built-in modules part of "make install" now?
12:28 jnthn m: say now - BEGIN now; use Test; # otherwise we used it before the BEGIN
12:28 camelia rakudo-moar 29c460: OUTPUT«0.4339159␤»
12:28 lizmat ah, duh
12:28 timotimo good catch
12:28 lizmat so, loading a precomped Test.pm is taking 3.5 times as long as loading the precomped settings ?
12:29 * jnthn suggests --profile-compile
12:29 lizmat just checked with RAKUDO_MODULE_DEBUG=1 that Test is loaded from precomp
12:29 lizmat SET RMD: going to load Test: {}
12:29 lizmat SET RMD: Loading precompiled /Users/liz/.perl6/2015.11-673-g19d84be/precomp/1DAE02D8B6FD637CEF34FD20C67DEB9295F3BD75.1450524878.91246/80/80C98A14C9019B13A73CF13AB9D6DEE5E285B127
12:30 jnthn The precomp file is pretty small too
12:30 timotimo .o( those filenames )
12:34 jnthn perl6-m --profile -e "require Test" # spits out a 6MB profile?!
12:34 timotimo o_O
12:34 jdv79 is there any chance the filenames could be made readable?
12:35 jdv79 its pretty frustrating to try to figure out what a trace means with them in it
12:35 timotimo or a profile
12:35 jdv79 yeah
12:39 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:40 timotimo IO::Handle's get method
12:40 Skarsnik I think the backtrace should try to gather the name of the compiled stuff
12:41 timotimo it's only called 9 times ...
12:42 jnthn Hm, my --profile for "uest Test" shows get called 15 times
12:42 jnthn But what's really odd
12:42 jnthn 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
12:42 timotimo okay, so could the slowdown in spec tests come from accidentally recompiling Test for every single .t file?
12:43 jnthn Not sure
12:43 Woodi can be that Test build into compiler ? :)
12:44 timotimo no, please not
12:44 timotimo the core setting is already bursting at the seams
12:44 pmurias Woodi: no
12:45 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?
12:46 pmurias Woodi: different people like different test modules
12:46 timotimo 0.2ms exclusive, but 12.8% inclusive
12:46 timotimo ah, it uses a grammar
12:46 jnthn For me it's called 3 times and used 46%
12:46 jnthn *uses
12:46 Woodi pmurias: include test during compiler compilation ?
12:46 moritz "panda --force install Inline::Python" failed here: http://perlpunks.de/paste/show/567551ac.13a4.20f
12:47 moritz 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 #perl6
12:47 aristotle https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001948.html
12:47 pmurias Woodi: the Test module should be precompiled yes, I hope it doesn't need to be treate magically
12:47 timotimo could it be "require" just can't properly do the precomp dance yet? or something?
12:48 aristotle ^^ static vs dynamic discussed in the context of Apple’s Swift
12:48 aristotle left #perl6
12:53 masak we should think about having a sufficient slowdown percentage counting as "breaking the build" and being reported by Travis CI.
12:54 Begi joined #perl6
12:54 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 Actualeyes joined #perl6
12:54 jnthn smls: Slower to run, or slower to compile?
12:54 smls run time
12:54 _nadim joined #perl6
12:54 jnthn OK, then we shouldn't be looking at module loading
12:55 smls I'll try to golf it down a little, but here's the whole script + input files: https://gist.github.com/smls/9adf4b6707938445c050
12:56 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 ?
12:56 lizmat I think before
12:56 jnthn lizmat: It's not the loading
12:57 jnthn lizmat: Well, let me put that better
12:57 jnthn It's not what happens from the point we say "OK, that .moarvm file"
12:57 lizmat ok
12:57 jnthn The actual bytecode load/deserialize of the module is way down the profile
12:57 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 #perl6
12:57 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:58 lizmat .lines pessimisation is from 2015-11-14, so before the 2015.11 release
12:58 jnthn nine: Yeah, I just noticed that
12:58 jnthn lizmat: OK, then it ain't that.
12:58 lizmat and it's something that happened in the past few days
12:58 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?
12:58 nine moritz: that's an...interesting error
12:59 jnthn timotimo: Not this close to release
12:59 timotimo oh, ohai nine :)
12:59 timotimo jnthn: aye
12:59 jnthn nine: (makes sense, too)
12:59 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 #perl6
12:59 * jnthn does see a big difference between first perl6 -e "use Test" and second
13:00 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:02 kid51 joined #perl6
13:04 dalek roast: b4b75e1 | jnthn++ | S17-supply/syntax.t:
13:04 dalek roast: Try a more robust way to de-flappy this test.
13:04 dalek roast: review: https://github.com/perl6/roast/commit/b4b75e16ff
13:05 zengargoylew joined #perl6
13:07 timotimo computer messages
13:08 pmurias should rakudobrew build-panda install me a panda?
13:10 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: https://gist.github.com/smls/c51b5d7b328e1fdf8c08
13:12 hankache joined #perl6
13:13 geever joined #perl6
13:14 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
13:14 jnthn (Which eliminates the I/O)
13:14 vendethiel hi pmurias
13:15 masak vendethiel++ # https://perl6advent.wordpress.com/2015/12/19/day-19-introspection/
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
13:15 vendethiel okay, that sounds good :-)
13:15 hankache vendethiel++ #adebt post
13:16 hankache #advent****
13:16 hankache which module should i use for json?
13:16 pmurias vendethiel: it also seems to be that if nqp-runtime gets loaded multiple time in independent places loads of stuff will break
13:20 vendethiel ah, that's very possible, yeah..
13:20 vendethiel then just forget about it I guess :)
13:21 smls jnthn: Yes, in fact the difference got larger... https://gist.github.com/smls/5626453188e4e20eef2b
13:22 rurban joined #perl6
13:23 _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
13:24 timotimo i wonder if we should put an oxford comma into the descriptions on perl6.org
13:24 timotimo Object-oriented programming including generics, roles [oxford comma here?] and multiple dispatch
13:24 _nadim jnthn: where "Capture" is ?
13:24 Skarsnik Oxford comma is dumb, but yes, it should probably be here
13:24 jnthn _nadim: Coercing an object to a Capture is used for destructuring.
13:24 _nadim timotimo: Yes, Oxford comma
13:25 timotimo Skarsnik: it's dumb?
13:26 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
13:26 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?
13:27 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 a3r0 joined #perl6
13:27 jnthn t\04-nativecall\17-libnames.t is explodey on Windows
13:27 timotimo yeah, it's a very ... candid image :)
13:28 _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:29 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
13:29 Skarsnik jnthn, is does not get skipped?
13:29 sammers joined #perl6
13:29 vendethiel timotimo: fixeth
13:29 vendethiel i did
13:29 timotimo :)
13:30 timotimo _nadim: https://www.youtube.com/watch?v=Xecz3VdPixM - this kind of destruction?
13:31 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␤»
13:32 jnthn The nested signature there is bound against $s.Capture
13:32 jnthn m: class Steak { has $.cookedness; has $.sauce; }; my $s = Steak.new(cookedness => 'medium', sauce => 'gorgonzola'); say $s.Capture;
13:32 camelia rakudo-moar f7adf8: OUTPUT«\(:cookedness("medium"), :sauce("gorgonzola"))␤»
13:32 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
13:34 jnthn 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:35 dalek nqp/js-cps: b76959f | (Pawel Murias)++ | src/vm/js/ (3 files):
13:35 dalek nqp/js-cps: [js] Implement --cps=off compiler flag to avoid emitting code to support continuations.
13:35 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/b76959f575
13:36 smls jnthn: Better golfed script, with a strange result: https://gist.github.com/smls/a78edfd46a70e9f1010c
13:36 smls 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
13:37 smls Even though the @input constructionh is not part of the measured time interval
13:37 smls But somehow it affects the following loop
13:38 jnthn In the profile I'm seeing, the calls to postcircumfix:<[ ]> now seem to always miss the multi-dispatch cache
13:39 jnthn It's worse than that
13:39 jnthn The infix +< and so forth do also
13:39 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
13:39 jnthn The multi-dispatch cache being missed would easily cause an epic regression
13:40 _nadim jnthn: thanks, timotimo ... lol!
13:41 dalek rakudo/nom: 650c228 | jnthn++ | src/ (3 files):
13:41 dalek rakudo/nom: Implement CLOSE phaser for supply blocks.
13:41 dalek rakudo/nom:
13:41 dalek rakudo/nom: This provides a way to do resource management when a tap is closed (or
13:41 dalek rakudo/nom: the supply otherwise completes). For example, a supply block that
13:41 dalek rakudo/nom: establishes a connection to, say, a message queue can disconnect from
13:41 dalek rakudo/nom: it in the CLOSE block.
13:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/650c228c64
13:41 dalek roast: 31be61e | jnthn++ | S17-supply/syntax.t:
13:41 dalek roast: Tests for CLOSE phaser in supply blocks.
13:41 dalek roast: review: https://github.com/perl6/roast/commit/31be61e389
13:41 jnthn I think we can call that the last feature before xmas :)
13:43 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:44 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?
13:44 jnthn 1..7
13:44 jnthn ok 1 - # SKIP 7
13:44 jnthn # Looks like you planned 7 tests, but ran 1
13:44 jnthn 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.
13:45 nine 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.
13:45 dalek rakudo/nom: 9b40ea6 | jnthn++ | t/04-nativecall/17-libnames.t:
13:45 dalek rakudo/nom: Fix skipping.
13:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b40ea64c4
13:46 Skarsnik skip-rest?
13:46 lizmat nine: sounds like a plan to me
13:46 jnthn Skarsnik: Looks at the plan and how many tests have been run, and does the right number of skips :)
13:46 jnthn Skarsnik: So if you update the test file later and also the plan, no need to fix the number elsewhere
13:46 jnthn nine: Sounds reasonable, yes.
13:47 smls jnthn: How do you explain my last result though? ("|" vs "flat" influencing the loop performance on nom but not 2015.11)
13:47 nige1 joined #perl6
13:47 jnthn smls: | and flat are quite different code paths.
13:48 jnthn smls: I can easily imagine flat hitting multi-dispatches and | not
13:48 jnthn (And it flattens lazily)
13:48 smls Yeah but they happen before the benchmarked loop
13:48 _nadim jnthn: I think the example you gave above would make an interesting advent entry, specially if there is some "handles" examples too.
13:48 jnthn smls: Well, you could look at the profiler to get answers instead of asking me to guess. :P
13:49 jnthn 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.
13:49 jnthn _nadim: How old was the presentation? :)
13:49 jnthn _nadim: I don't know of any holes in it
13:50 smls jnthn: It's not a small difference either. About factor 4 difference depending on wich of the "@input = ..." lines is uncommented in https://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 #perl6
13:51 Skarsnik I am confused according to http://doc.perl6.org/language/testing#Skipping_tests skip-rest will skip what come after
13:51 cygx joined #perl6
13:51 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
13:52 * 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
13:52 jnthn smls: Yeah, I can reproduce it
13:53 jnthn 5a0c386d68880
13:53 jnthn _nadim: ^
13:54 jnthn cygx: Probably throw since they'd normally return an array
13:54 jnthn cygx: Well, a Seq
13:55 jnthn cygx: And so you could end up accidentally iterating over the failure
13:55 jnthn (as an item)
13:56 jnthn 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
13:56 smls ok
13:58 jnthn lunch first, though :)
14:01 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 smls 1) The slow version has 10% specialized frames, the fast version has none.
14:01 smls 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 #perl6
14:03 smls s/larger/large/
14:05 pmurias nine: re unlinking outdated reverse dependencies, isn't that only a heuristic
14:05 pmurias ?
14:10 pmurias 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:12 Skarsnik look at modules.perl6.org
14:12 jvcakg ok
14:12 jvcakg I would like to stamp my name here
14:13 mspo isn't mojo templating built-in?
14:14 adhoc joined #perl6
14:15 Skarsnik There are already like 6 templates modules
14:18 jvcakg nice
14:19 jvcakg 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 #perl6
14:20 _nadim jnthn: are you sure it is 5a0c38.... can't seem to find that commit
14:35 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 nine pmurias: So unlinking them if the file changes should be quite safe
14:43 cdg joined #perl6
14:45 cygx https://github.com/rakudo/rakudo/pull/643 # running a spectest right now
14:47 RabidGravy joined #perl6
14:47 andreoss masak: could there be a role which would separate scalars from arrays? like `class Val::Int does Val does Val::Scalar { ... }`
14:48 masak andreoss: hm, 007 doesn't really have the concept of "scalar"...
14:48 masak andreoss: there's only values. there are no sigils, and there's no flattening.
14:48 dalek doc: 52c4358 | Adriaan++ | .travis.yml:
14:48 dalek doc: add graphviz
14:48 dalek doc: review: https://github.com/perl6/doc/commit/52c4358a58
14:48 dalek doc: dbbce3e | Adriaan++ | / (2 files):
14:48 dalek doc: travis runs make html
14:48 dalek doc: review: https://github.com/perl6/doc/commit/dbbce3e577
14:48 dalek doc: 4b23aca | moritz++ | / (2 files):
14:48 dalek doc: Merge pull request #250 from sylvarant/master
14:48 dalek doc:
14:48 dalek doc: Travis runs make html
14:48 dalek doc: review: https://github.com/perl6/doc/commit/4b23acad7b
14:49 andreoss masak: [1,2] xx 2 == [[1,2], [1,2]] or [1,2,1,2]?
14:49 masak the latter. :)
14:49 andreoss but that's flattening, isn't it?
14:49 masak but not because of flattening, just because of the way the operator is defined.
14:50 masak no. :) well, you could call it that, but that's not what Perl usually means by "flattening".
14:51 masak 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 masak or arrays interacting with arguments/parameters somehow.
14:51 masak neither of which is true in 007.
14:51 andreoss okay
14:52 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:53 andreoss if they are all values, why don't refactor Val::Array.elements to .value?
14:54 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 vendethiel m: say [] x 3; #that's just for strings
14:54 camelia rakudo-moar 9b40ea: OUTPUT«␤»
14:54 vendethiel so the flattening makes it strictly less powerful than a non-existing non-flattening one
14:54 smls m: dd [1,2] xx 2
14:54 camelia rakudo-moar 9b40ea: OUTPUT«List $var = $([1, 2], [1, 2])␤»
14:55 andreoss m: ((1,2) xx 2).perl.say
14:55 camelia rakudo-moar 9b40ea: OUTPUT«((1, 2), (1, 2))␤»
14:55 andreoss m: ((1;2) xx 2).perl.say
14:55 camelia rakudo-moar 9b40ea: OUTPUT«((1, 2), (1, 2))␤»
14:55 cdg joined #perl6
14:56 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 hankache joined #perl6
14:56 pmurias_ joined #perl6
14:57 masak vendethiel: the semantix of 007's infix:<xx> is closer to Python's infix:<*> for arrays
14:57 masak semantics*
14:57 masak >>> [1, 2] * 3
14:57 masak [1, 2, 1, 2, 1, 2]
14:57 vendethiel kk
14:58 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?
14:58 andreoss what about ::?  [1,2] :: [1,2] == [[1,2], 1,2] ?
14:58 hankache m: say my $datajson = to-json((data => [28, 48, 40, 19, 86, 27, 90]));
14:58 camelia rakudo-moar 9b40ea: OUTPUT«{␤  "data" : [␤    28,␤    48,␤    40,␤    19,␤    86,␤    27,␤    90␤  ]␤}␤»
14:59 masak andreoss: that looks correct.
14:59 hankache how come this works^^^^ without "use JSON::Tiny"??
14:59 masak andreoss: in other words, the semantics is `scalar :: list ==> list`
14:59 moritz hankache: rakudo has a built-in json implementation for reading META.info files etc.
15:00 moritz hankache: which is based on JSON::Tiny iirc
15:00 nine pmurias_: it's all in the CompUnit:: namespace. Especially CompUnit::PrecompilationRepository
15:00 pmurias nine: in rakudo nom?
15:00 nine yes
15:00 hankache ok so i can use to-json and from-json without using any module?
15:02 hankache 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
15:02 smls m: say to-json [4, 6]
15:02 camelia rakudo-moar 9b40ea: OUTPUT«[␤  4,␤  6␤]␤»
15:02 smls Huh, I didn't know that.
15:02 Skarsnik I will say, don't use it x)
15:02 jnthn That needs to move to Rakudo::Internals.
15:03 moritz jnthn: so it's not part of the public API, right?
15:03 jnthn Right
15:03 hankache so to be on the safe side i should "use JSON::Tiny" ?
15:03 moritz hankache: yes
15:04 hankache moritz thanks
15:06 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!
15:09 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:10 nine 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:11 moritz that sounds decidedly less-than-awesome
15:12 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:13 nine I seriously wonder how this could have worked so well so far
15:18 vividsnow joined #perl6
15:30 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…»
15:30 Skarsnik interesting x)
15:31 grondilu I wish this was working
15:33 Skarsnik There is no plan for translation stuff in the specs? it left as a module to do it?
15:33 vendethiel joined #perl6
15:34 smls Translation?
15:34 ashevchuk joined #perl6
15:35 Skarsnik yeah stuff for i18n
15:36 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)␤»
15:36 pmurias Skarsnik: why put that in core?
15:36 smls Skarsnik: Yeah, that's for modules to solve.
15:37 Skarsnik To have translation in the core (like for error messages)?
15:38 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)␤»
15:39 smls grondilu: ^^ User code (or modules) can add that ;)
15:39 dalek nqp/js-cps: 2258177 | (Pawel Murias)++ | src/vm/js/bin/run_tests.pl:
15:39 dalek nqp/js-cps: [js] Run the qregex.t test with continuations disabled
15:39 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/22581776fb
15:39 dalek nqp/js-cps: b5463a5 | (Pawel Murias)++ | / (2 files):
15:39 dalek nqp/js-cps: [js] Add a test for the continuation support we have.
15:39 dalek nqp/js-cps: review: https://github.com/perl6/nqp/commit/b5463a5c91
15:40 grondilu if I were to add a "ordinal" method to Int, I would have to do MONKEY-TYPING though.
15:41 grondilu 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.
15:42 smls s/Ranges/Sequences/ I guess?
15:44 Skarsnik well you can write it, we are like 20 modules away for 500 for x-mas x)
15:45 ggoebel9 joined #perl6
15:48 cygx jnthn: another thing that hasn't been decided yet: what should happen to open(:bin)
15:50 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:53 raiph joined #perl6
15:55 skids joined #perl6
15:55 dalek rakudo/nom: 13e8b21 | (Stefan Seifert)++ | src/core/CompUnit/Repository (2 files):
15:55 dalek rakudo/nom: Fix passing the repo-chain to the precomp process
15:55 dalek rakudo/nom:
15:55 dalek rakudo/nom: We have to make sure that the process precompiling one of our dependencies
15:55 dalek rakudo/nom: uses exactly the same repository chain as the process trying to load the module.
15:55 dalek rakudo/nom: For that we skip the normal repository setup and instead serialize the parent's
15:55 dalek rakudo/nom: repositories into an environment variable and restore them later.
15:55 dalek rakudo/nom:
15:55 dalek rakudo/nom: The special purpose repository implementations AbsolutePath, NQP and Perl5 did
15:55 dalek rakudo/nom: not register their path-spec prefixes properly with the RepositoryRegistry, so
15:55 dalek rakudo/nom: on deserialization we believed them to be FileSystem repositories, thereby
15:55 dalek rakudo/nom: altering the repository chain and ending up generating different precomp-ids.
15:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/13e8b219cc
15:56 nine Ok, that ^^^ was the real reason for different precomp-ids. With this the "sleep 1" failures seem to be fixed.
15:59 TimToady joined #perl6
15:59 moritz nine++
15:59 moritz that sounds like some serious debugging was required :-)
16:00 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:05 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.
16:06 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 ashevchuk left #perl6
16:08 mst agh
16:09 mst rakudobrew still hard to find, http://rakudo.org/how-to-get-rakudo/ in the wrong order
16:10 mst tadzik: would you object if I cpanified rakudobrew?
16:10 mst tadzik: not being able to get it from cpan -sucks-
16:12 RabidGravy mst, +1 on that :)
16:12 mst argh, and no POD
16:12 mst oh, there's a README.md
16:12 mst I love how we've taken github centric development and used it to be as hostile as possible to newbies
16:13 tadzik mst: no objections
16:13 mst tadzik: note, this is me griping as I go along
16:13 mst I will totally try and fix stuff
16:13 jdv79 do people get perlbrew from cpan?
16:13 Juerd My README.md says to go look for the POD :)
16:14 moritz jdv79: I usually don't
16:14 mst I usually do
16:14 jdv79 that's why i asked.  cause i've always gotten it from its site.
16:14 jdv79 huh
16:14 mst though, also, I usually use Perl::Build
16:14 mst since perlbrew is a big set of extra moving parts I don't want or need
16:15 xpen joined #perl6
16:15 mst ok, rakudobrew init is trying to add an element to my $PATH that's already in my $PATH
16:15 mst and defining a shell function that looks completely weird
16:15 zengargoyle joined #perl6
16:15 mst I ... don't understand
16:16 * mst tries 'rakudobrew build moar', wonders what'll happen
16:17 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
16:18 mst I've just no idea what the point is
16:18 mst tadzik: is there an explanation of what the shell function actually does somewhere? :)
16:19 mst 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 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
16:20 jdv79 cool
16:20 mst I'm basically the canary for most of the modern perl stack on cygwin at this point
16:20 mst the only other name who uses cygwin is reini, and he mostly doesn't use any of the modules I care about
16:20 * geekosaur has kinda given up on *brew portability, since making the mistake of trying to use perlbrew on solaris
16:21 mst geekosaur: if Perl::Build doesn't work on solaris I would like to help you debug that.
16:22 pmurias why is panda throwing "Dynamic variable $*REPO not found"?
16:23 zengargo1le joined #perl6
16:25 mst well, that was ... suboptimal
16:25 pmurias mst: what happened?
16:27 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: http://paste.scsys.co.uk/503137
16:27 mst geekosaur: that's why I asked about Perl::Build
16:27 mst geekosaur: which is a single fatpacked perl script
16:27 mst geekosaur: which is why I use that, because perlbrew is a bunch of extra overly clever crap that tends to be linux kiddie only
16:27 mst I'm ok with the linux kiddies liking it
16:27 mst but not my thing
16:27 geekosaur actually I think I did get that far and it was again running some linux specific shell stuff
16:28 geekosaur I didn['t spend much time on it, maybe I'll spin up a solaris vm and try again with logging
16:28 geekosaur (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 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␤␤»
16:31 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␤␤»
16:31 andreoss m: my &say = { $*SPEC.devnull.IO.spurt: $_ }; say "hi";
16:31 camelia rakudo-moar 13e8b2: ( no output )
16:32 jdv79 was there a serious install slowdown y'day?  or was i just immagining things?
16:32 khw joined #perl6
16:33 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␤␤»
16:33 nine .tell pmurias are you doing something strange, using an outdated panda or did I screw something up?
16:33 yoleaux nine: I'll pass your message to pmurias.
16:34 Skarsnik joined #perl6
16:35 lucs Re. that ^^ code: something similar works in a grammar.
16:38 lucs ^^ https://gist.github.com/lucs/c062e3b8e0d72b54f395
16:38 rurban joined #perl6
16:38 mst tadzik: thoughts on where I should start debugging http://paste.scsys.co.uk/503137 ?
16:42 pmurias joined #perl6
16:42 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?
16:42 mst hrmf
16:42 mst are there instructions for building everything the long way?
16:43 TimToady INSTALL.txt
16:44 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:45 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:46 TimToady .oO(Q: What's my new job title?  A: Guinea Canary.  Q: How's that different from a Guinea Pig?  A: ...)
16:46 TimToady 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
16:47 mst I already tried unsuccessfully with rakudobrew calling it
16:47 mst I should -probably- try the rakudo sugar directly next, sure
16:47 mst but I'm annoyed now, so that means "time to go the cranky minimalist route so everything else that goes wrong is my fault"
16:48 Skarsnik perl Configure.pl should work?
16:48 TimToady lovely word, "should"
16:48 pmurias mst: you can tell rakudo to build you an nqp
16:48 mst pmurias: yes. but it didn't.
16:48 mst ah, here we go
16:48 mst 3rdparty/libuv/include/uv-unix.h:152:9: error: unknown type name ‘pthread_barrier_t’
16:49 mst right, so, is that unfixable or can I mallet it ... *looks*
16:49 TimToady cool, now that almost looks like a real error :)
16:50 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"
16:50 mst pmurias: which I just found
16:50 firstdayonthejob joined #perl6
16:50 mst buggereth.
16:51 mst and apparently they're not sure how well their general mingw support works either
16:51 mst this is going to be a "get a proper windows toolchain, do a windows build, call it from cygwin" job, I suspect
16:51 TimToady soundeth like
16:52 cygx mst: you can build and run rakudo on mingw (eg using Strawberry perl)
16:52 cygx the tests are not clean but it 'works' otherwise
16:52 mst yeah, I think I'll try that next rather than gazing into the abyss that is visual studio
16:55 mst that or build perl6 on a proper box
16:55 mst and write the cygwin part in Tcl
16:57 * mst decides to start off by getting a build on a proper box
17:01 * masak .oO( is "buggerth" some kind of Lisp dialect? )
17:02 pmurias the lisp dialect gimp used before switching to proper scheme should have been called so
17:04 flussence df
17:04 flussence whoops, ww
17:05 mst ah, and then the executable requires ./perl6
17:14 pmurias is it possible to turn off newline translation in nqp?
17:18 dalek rakudo/nom: fc29540 | cygx++ | src/core/IO/Path.pm:
17:18 dalek rakudo/nom: Simplify some Cool methods on IO::Path
17:18 dalek rakudo/nom:
17:18 dalek rakudo/nom: Let's them throw on failed .open instead of returning a
17:18 dalek rakudo/nom: handled failure as they formerly did
17:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fc2954033d
17:18 dalek rakudo/nom: 8d6581a | lizmat++ | src/core/IO/Path.pm:
17:18 dalek rakudo/nom: Merge pull request #643 from cygx/cool-path
17:18 dalek rakudo/nom:
17:18 dalek rakudo/nom: Simplify some Cool methods on IO::Path
17:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8d6581a575
17:30 Skarsnik_ joined #perl6
17:30 bbkr_ joined #perl6
17:30 noganex joined #perl6
17:30 cygx_ joined #perl6
17:31 bapa1 joined #perl6
17:31 baest_ joined #perl6
17:31 aindilis` joined #perl6
17:32 * flussence is staring in despair at a shell command I wrote that ends in ’)}”"'
17:32 dalek nqp: 2aeefe9 | (Pawel Murias)++ | tools/build/ (2 files):
17:32 dalek nqp: [js] Improve ugly build hack.
17:32 dalek nqp: review: https://github.com/perl6/nqp/commit/2aeefe9d77
17:32 dalek nqp: 3a2f9cd | (Pawel Murias)++ | tools/build/ (2 files):
17:32 dalek nqp: [js] Install the tap module.
17:32 dalek nqp: review: https://github.com/perl6/nqp/commit/3a2f9cda63
17:34 smls m:  sub foo { say "expensive computation here"; 42 };  say [||] 5, 10, foo;
17:34 camelia rakudo-moar 8d6581: OUTPUT«5␤»
17:34 smls ^^ wow, nice
17:34 * TimToady bows
17:34 smls TimToady++
17:35 TimToady that's all the thunkity stuff that went in last week
17:36 dalek roast: 905dcc3 | TimToady++ | S32-exceptions/misc.t:
17:36 dalek roast: test sinking of gather
17:36 dalek roast: review: https://github.com/perl6/roast/commit/905dcc322c
17:37 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
17:39 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:40 TimToady and on Windows, I'd expect \r\r\n to turn into the synthetic grapheme CRLF, mebbe
17:40 TimToady or \r\n from a socket
17:41 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...
17:41 TimToady well, perhaps that is a bug
17:41 TimToady jnthn: ^^
17:42 dalek rakudo/nom: 96e407c | TimToady++ | src/Perl6/Actions.nqp:
17:42 dalek rakudo/nom: undetach useless Pair messages
17:42 dalek rakudo/nom:
17:42 dalek rakudo/nom: Also, suppress useless Pair symbol messages when part of a Pair.new
17:42 dalek rakudo/nom: we should have caught earlier.  (Also, catch it earlier... :)
17:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96e407c6ff
17:45 TimToady m: say "foo" ~~ / <{ q{ $_ } }> /
17:45 camelia rakudo-moar 8d6581: OUTPUT«「foo」␤»
17:45 TimToady m: say "foo" ~~ / <{ q{ "$_" } }> /
17:45 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␤»
17:46 TimToady I think simple variable interpolation in double-quotes is okay, but how to allow that without also allowing "$_{YOUR AD HERE}"...
17:47 TimToady can't just check after the parse, since that doesn't prevent "$_{ BEGIN say 'pwned' }"
17:47 TimToady so I need a simplevar escape, or some such
17:48 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 #perl6
17:48 TimToady we're only including it into a double-quote string as text
17:49 smls yes, wrong word :)
17:49 smls I mean, accessing the variable's contents
17:49 TimToady it's true that any "foo $_ bar" could be rewritten as "foo " $_ " bar"
17:50 TimToady well, certainly accessing backreferences is safe-ish
17:50 smls true
17:50 TimToady and we'd probably want to disallow dynvar introspection
17:53 TimToady m: say "foo" ~~ / (\w) <{ q{ $0 } }> /
17:53 camelia rakudo-moar 96e407: OUTPUT«Nil␤»
17:54 TimToady m: say "foo" ~~ / (o) <{ q{ $0 } }> /
17:54 camelia rakudo-moar 96e407: OUTPUT«Nil␤»
17:54 TimToady doesn't have access to outer $/ anyway
17:54 TimToady m: say "foo" ~~ / (o) <{ q{ $CALLER::0 } }> /
17:54 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 }␤»
17:55 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> }␤»
17:56 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
17:57 smls perl -E 'my $x = "secret";  my $input = "$x";  "secret" =~ m/$input/;  say $&'  # no match
17:57 smls not even with   use re 'eval';
17:58 flussence smls: try qr// instead of m//
17:58 smls err, in the second line,  "$x" was meant to be  "\$x"
17:59 TimToady m: say "foo" ~~ / <{ q{ (o) $0 } }> /
17:59 camelia rakudo-moar 96e407: OUTPUT«「oo」␤»
17:59 TimToady m: say "foodie" ~~ / <{ q{ (o) $0 "die" } }> /
17:59 camelia rakudo-moar 96e407: OUTPUT«「oodie」␤»
18:00 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␤»
18:00 TimToady but nothing like that
18:01 TimToady m: say "foodie" ~~ / <{ q{ (o) $0[abc] "die" } }> /  # should warn
18:01 camelia rakudo-moar 96e407: OUTPUT«Nil␤»
18:01 roboticus joined #perl6
18:01 TimToady m: say "foodie" ~~ / <{ q{ (o) $0[die] } }> /  # should warn
18:01 camelia rakudo-moar 96e407: OUTPUT«「oodie」␤»
18:01 TimToady hmm
18:01 smls perl -E 'my $input = "\\1";  my $r = qr/^(_)$input$/;  "__" =~ $r; say $&'
18:01 smls ^^ matches
18:01 TimToady m: say "foodie" ~~ / (o) $0[die] /  # should warn
18:01 camelia rakudo-moar 96e407: OUTPUT«「oodie」␤ 0 => 「o」␤»
18:01 TimToady m: say "foodie" ~~ / (o) $0[42] /  # should warn
18:01 camelia rakudo-moar 96e407: OUTPUT«Nil␤»
18:02 TimToady hmm, where'd that warning go?
18:05 TimToady 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:09 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 #perl6
18:09 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
18:10 tadzik mst: and no indication that moar was built at all
18:10 mst tadzik: I was ass-u-me-ing that you had nqp build it, and nqp did that silently for whatever reason
18:11 tadzik mst: yeah, that's the idea
18:11 tadzik I mean, that nqp is responsible
18:12 jnthn We should probably make Moar's configure blow up immediately on cygwin
18:12 jnthn Since it's never going to work out.
18:12 jnthn At least, not until libuv supports it.
18:13 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:14 Ven joined #perl6
18:14 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 jnthn That is, input translation is
18:14 jnthn Output translation of \n -> \r\n only happens on Windows
18:15 jnthn 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-
18:15 jnthn Exactly.
18:15 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
18:16 mst 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 :)
18:16 mst tadzik: if you want me to run specific tests later, throw 'em into /msg
18:17 mst 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.
18:18 TimToady jnthn: didn't get to the binding vs binding bug, fixed regex interpolation instead :)
18:19 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:20 * 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
18:21 TimToady and I tried to grok the statement isolation down in codegen but didn't get far enough
18:22 cdg joined #perl6
18:23 TimToady I think now I need to add some kind of MONKEY-MUMBLE to be equiv to p5's use re 'eval'
18:23 TimToady and maybe attach it to EVAL as well
18:26 jnthn Yeah, I was thinking of throwing the Nil in
18:26 jnthn "lacks a context"?
18:26 TimToady getlexrel or some such
18:27 TimToady iirc
18:27 jnthn Odd...I may be able to figure that out
18:28 jnthn m: say :(Int $a, Str $b) === :(Int $a, Str $b)
18:28 camelia rakudo-moar 96e407: OUTPUT«False␤»
18:28 TimToady lemme try it again here
18:28 jnthn m: say :(Int $a, Str $b) eqv :(Int $a, Str $b)
18:28 camelia rakudo-moar 96e407: OUTPUT«True␤»
18:28 jnthn TimToady: The other xmas RT left that actually needs a decision is https://rt.perl.org/Ticket/Display.html?id=124393
18:28 jnthn Basically, can you stub multis in roles
18:29 jnthn Since we already have signature equivalence implemented, we could do something here I think
18:31 Ven joined #perl6
18:31 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 nanis joined #perl6
18:33 TimToady sounds like a go then
18:34 jnthn Alrighty. With luck it'll be an hour or two's effort.
18:35 TimToady huh, adding the Nil seems to have worked this time, go figure...
18:35 TimToady better test everything though
18:35 pmurias jnthn: is it possible to turn the \r\n conversion off?
18:36 jnthn pmurias: Read the file as binary and .decode it yourself.
18:36 jnthn (Only the decoders attached to handles do it)
18:37 jnthn I suspect in the future we may also offer an option for this
18:37 jnthn For now it's a more useful default.
18:38 jnthn nomming &
18:39 _nadim joined #perl6
18:42 abraxxa joined #perl6
18:43 [Tux] almost X-mas
18:45 vendethiel joined #perl6
18:48 * DrForr cues the Mannheim Steamroller.
18:48 [Tux] \o/ no more run_alt
18:49 sjn_phone joined #perl6
18:49 [Tux] but a lot of tests now fail on EOL. Have to investigate
18:49 [Tux] all \r\n return as \n
18:49 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:53 nanis Also, does t\spec\S17-supply\throttle.t hang for anyone else? (Windows 10, MSVS2013)
18:55 TimToady jnthn: the problem with just blithely appending Nil is that it blows up KEEP/UNDO, which should work even in sink context
18:56 [Tux] *massive* slowdown since last succesful timing :(
18:56 [Tux] test             50000    40.615    40.503
18:56 [Tux] test-t           50000    47.886    47.774
18:57 ellybelly joined #perl6
18:58 TimToady I think that one's a :'(
18:58 flussence lot of people having a bad day today :/
19:04 [Tux] https://gist.github.com/Tux/c6a0c794293b729a78a2 full timing table. not to be happy about
19:12 jnthn TimToady: Um, in sink context where to KEEP/REDO get a value to test from?
19:14 jnthn [Tux]: Something recent seems to have busted multi-dispatch caching; didn't bisect it down to an individual commit yet.
19:14 jnthn (Also it's not in all cases)
19:15 lizmat [Tux]: glad to see you're confirming what we found earlier today
19:16 lizmat [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
19:18 lizmat [Tux]: looks like the last one you posted was on 14 Dec
19:20 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>'}}␤»
19:20 [Tux] 2015-12-14   13.856
19:21 [Tux] 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 #perl6
19:22 [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?
19:22 TimToady if we did get a fix, we could retrofit older versions to bisect with
19:23 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
19:23 lizmat but that's judging from the git log, not from the backlog
19:23 TimToady bartolin_: that is known to fail due to the new regex policy
19:24 bartolin_ TimToady: ah, thanks!
19:24 TimToady and we don't yet have a MONKEY-SEE-NO-EVAL
19:25 masak these MONKEY pragmas are just getting more and more ridiculous
19:26 masak 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)
19:27 TimToady 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")
19:27 camelia rakudo-moar 96e407: ( no output )
19:27 TimToady don't just look at this from the developer's perspective
19:27 [Tux] still randomly segfaults
19:28 TimToady I don't want thousands of companies depending on insecure code by default
19:29 TimToady people *will* use these features by accident on untrustworthy data
19:30 TimToady and every one of them is a zero-day exploit-in-waiting
19:30 eyck joined #perl6
19:30 TimToady and if the ecosystem is already heavily depending on EVAL, it only proves the point
19:31 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 #perl6
19:32 TimToady certainly EVAL is easier to scan for, but people won't by default
19:34 TimToady 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:35 TimToady 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
19:36 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
19:37 [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 ?
19:37 [Tux] too tired after helping a friend DIY
19:38 masak [Tux]: how can you *help* someone else to do it yourself? :P
19:39 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:40 masak m: sub EVAL($) { say "OH OOPS" }; EVAL("say 2 + 2")
19:40 camelia rakudo-moar 96e407: OUTPUT«OH OOPS␤»
19:41 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)
19:41 TimToady that's not a problem, since the check is in the built-in
19:41 masak ok
19:42 TimToady s/is/would be/
19:42 TimToady as it is in <{ " $(say 'pwned') " }>
19:44 lizmat ok, I reverted rakudo until before last [Tux] test-t, and it's still bad
19:44 lizmat which means to me, the slowdown is either in nqp or moar
19:45 TimToady |Tux|: you didn't happen to leave any DISABLE envvars sitting around, did you?
19:46 lizmat alas, plenty of stuff in nqp / moar that could have caused the slowdown :-(
19:47 * Woodi had some problems with glibc in last 2 days...
19:48 dalek rakudo/nom: 97020cb | usev6++ | src/core/Pair.pm:
19:48 dalek rakudo/nom: Avoid NullPointerException in S02-types/baghash.t
19:48 dalek rakudo/nom:
19:48 dalek rakudo/nom: the following code resulted in a NPE on JVM
19:48 dalek rakudo/nom:
19:48 dalek rakudo/nom: my $b = BagHash.new( (a=>"b") ); $b.keys[0] ~~ ("a" => "b")
19:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97020cb342
19:48 dalek rakudo/nom: 8456169 | lizmat++ | src/core/Pair.pm:
19:48 dalek rakudo/nom: Merge pull request #644 from usev6/NPE_baghash
19:48 dalek rakudo/nom:
19:48 dalek rakudo/nom: Avoid NullPointerException in S02-types/baghash.t
19:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/84561690c4
19:51 dalek rakudo/nom: 09aaf93 | TimToady++ | src/Perl6/Actions.nqp:
19:51 dalek rakudo/nom: assume final bind statement in sink is True
19:51 dalek rakudo/nom:
19:51 dalek rakudo/nom: This is so that we don't accidentally throw a failure in sink context
19:51 dalek rakudo/nom: after binding a failure.  Part of the fix for RT #125769.
19:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09aaf935db
19:54 vendethiel TimToady: at least, for us, SEQ(0; EVAL) means the same as EVAL :P
19:54 vendethiel 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 #perl6
19:56 TimToady for dev purposes, we could also have something in the environment that overrides monkeys
19:57 TimToady and EVAL could certainly be allowed in REPLy spots
19:57 [Tux] my constant $opt_v = %*ENV<PERL6_VERBOSE> // 1;
19:57 [Tux] that is the only ENV in my code
19:58 TimToady just a thought
19:58 vendethiel TimToady: allowing something in the environment seems like a really nice WTF factor though
20:00 TimToady yeah, there's a waterbed here somewhere
20:00 uruwi joined #perl6
20:01 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:02 TimToady but by default perl6 should wake up in production mode, not dev mode
20:02 lizmat TimToady: agree with you there
20:02 TimToady I think . config.status is sufficient
20:03 TimToady but my one and only bisect has scrolled off to a land faraway...
20:03 vendethiel masak: also I disagree
20:04 vendethiel JS' cleanup of their eval mess *involves* a pragma ;-)
20:05 TimToady or maybe a galaxy faraway...
20:05 TimToady well, not for another million years or so, I guess, if you count speed of light
20:06 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!
20:07 DrForr Doesn't matter, the expansion (much like the Force) is all around us :)
20:07 TimToady m: say ∞ ** ∞
20:07 camelia rakudo-moar 96e407: OUTPUT«Inf␤»
20:07 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 #perl6
20:11 TimToady is there a way to grep the ecosystem, or at least Task::Star?
20:12 dj_goku ack?
20:12 TimToady well, but it's in a bunch of repos, ain't it?
20:13 TimToady does panda leave source code around?
20:13 dj_goku good question
20:14 mspo sounds like a crawler + indexer is in order
20:14 TimToady doesn't look like it
20:14 flussence moritz has an all-in-one repo for doing that kind of thing
20:15 dj_goku brew/moar-nom/panda
20:15 dj_goku johnny5:panda dj_goku$ ls ~/.rakudobrew/moar-nom/panda/ext/
20:15 dj_goku lol whoops
20:15 flussence perl6-community-modules or something like that
20:16 dj_goku ahh whoops the ext are external depenedencies panda needs.
20:17 TimToady well, it's mostly only to satisfy my curiousity about our current exposure; probably doesn't actually bear on the decision itself
20:19 dj_goku more ~/.rakudobrew/moar-nom/install/share/perl6/site/panda/state
20:20 yqt joined #perl6
20:20 dj_goku that shows a list of modules installed.
20:20 telex joined #perl6
20:21 regreg joined #perl6
20:21 TimToady lunch &
20:21 rurban joined #perl6
20:22 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 ;-).
20:23 CIAvash Is there a way to reset a subroutine's cache, when `is cached` is used?
20:23 jack_rabbit joined #perl6
20:23 grondilu I doubt it.  Also notice that the 'cached' trait is now considered experimental.
20:23 * masak .oO( ...naming and CIAvash invalidation... )
20:26 lizmat CIAvash: no there wasn't
20:26 lizmat but if you look at the implementation of "is cached" inside lib/experimental.pm
20:27 lizmat you will see it's trivial to make your own, according to your own wished
20:27 lizmat *wishes
20:28 CIAvash OK, thanks
20:31 CIAvash masak: ?
20:31 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:34 eyck joined #perl6
20:36 timotimo lizmat: someone here http://news.perlfoundation.org/2015/12/perl-6-release-goals-first-gra.html asked if it's possible to just contribute "a few hours worth of money"; can you post a little something there?
20:37 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 #perl6
20:38 lizmat there's a "Make a donation" button at the bottom
20:38 lizmat and "Perl 6 Development" is mentioned as one of the options
20:38 timotimo if it's enough to just point that out, that'd be fine by me
20:41 rurban_ joined #perl6
20:43 lizmat posted a comment, now being vetted I guess  :-(
20:44 lucasb joined #perl6
20:44 timotimo yeah, it's moderated
20:44 timotimo but that's probably a good thing
20:44 timotimo raiph: did you see my comment about the post on perl6 on cpan on reddit?
20:45 raiph timotimo: looking
20:45 timotimo you fell prey to a spam blog :(
20:45 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.
20:45 * jnthn back
20:46 raiph timotimo: post deleted
20:47 raiph timotimo++
20:47 timotimo glad to help
20:47 raiph (raiph--)
20:47 hankache joined #perl6
20:48 DrForr Heh, rebuild fixed it.
20:51 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)
20:52 flussence if I could build anything newer than 2015.11 on gentoo, I'd offer to do that...
20:54 uruwi joined #perl6
20:55 lizmat lucasb: no, I haven't
20:55 lizmat jnthn: bisecting the slowdown
20:56 lizmat checking out 680da780fb42b3a8d33bc2 now
20:56 dalek joined #perl6
20:56 jnthn lizmat: OK, cool. I'm seeing if I can do something about RT #124393
20:57 lucasb lizmat: http://irclog.perlgeek.de/perl6/2015-12-18#i_11740717
20:58 lizmat lucasb: I think that's an oldy, but worth of rakudobugging
20:58 lizmat m: /o/
20:58 camelia rakudo-moar 09aaf9: OUTPUT«getlexrelcaller needs a context␤  in block <unit> at /tmp/QLMMuEYEvw:1␤␤»
20:58 lizmat m: { /o/ }
20:58 camelia rakudo-moar 09aaf9: ( no output )
20:58 lizmat only happens if you do that in the mainline
20:58 lizmat brb
20:58 pierre-vigier joined #perl6
20:59 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␤»
20:59 grondilu m: sub f(@a where 3) { say "ok, argument is 3 elems" }; f rand xx 5
20:59 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 #perl6
20:59 * grondilu wonders if that's ok to specify an array length constraint like this
21:00 lizmat m: my @a = ^3; say 3 ~~ @a
21:00 camelia rakudo-moar 09aaf9: OUTPUT«False␤»
21:00 lizmat m: my @a = ^3; say @a ~~ 3
21:00 camelia rakudo-moar 09aaf9: OUTPUT«True␤»
21:01 jnthn grondilu: Sure, if a little odd to read :)
21:01 lizmat m: my @a = ^2; say @a ~~ 3
21:01 camelia rakudo-moar 09aaf9: OUTPUT«False␤»
21:01 lizmat grondilu: yup sure
21:01 jnthn It just falls out of smartmatch against a number .Numeric-ing the thing on the left
21:01 masak grondilu: note that it's also working for you in your own examples.
21:01 jnthn I suspect grondilu was more asking if it was liable to break in the future :)
21:01 masak m: my @a = ^3; say @a ~~ 3.0
21:01 camelia rakudo-moar 09aaf9: OUTPUT«True␤»
21:02 lizmat wouldn't think so, right ?
21:02 masak m: my @a = ^3; say @a ~~ "3"
21:02 camelia rakudo-moar 09aaf9: OUTPUT«False␤»
21:02 masak m: my @a = ^3; say @a ~~ 3+0i
21:02 camelia rakudo-moar 09aaf9: OUTPUT«True␤»
21:02 masak lizmat: no, not liable to break in the future :)
21:02 grondilu jnthn: that crossed my mind indeed
21:02 jnthn Anyway, it's reliable
21:03 jnthn 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:05 CIAvash joined #perl6
21:08 grondilu m: say 1e6.fmt("%e")
21:08 camelia rakudo-moar 09aaf9: OUTPUT«10.000000e+05␤»
21:08 grondilu ^seems wrong to me
21:09 grondilu $ printf "%e" 1000000
21:09 grondilu 1.000000e+06
21:09 timotimo Skarsnik: https://github.com/coke/rakudo-star-daily
21:09 timotimo [Coke]: the rakudo-star-daily readme says it builds a rakudo-star for parrot still
21:09 timotimo may want to update that
21:11 timotimo grondilu: well, it's not wrong per se. just weird
21:13 masak grondilu: please submit a rakudobug
21:14 lizmat b422f44e6741a92b5 isn't it either
21:14 grondilu masak: ok I will
21:14 masak grondilu++
21:15 lizmat checking ec18f24d27ce61fa71d177 now
21:17 * jnthn suspects that gets it down to just one or two bumps
21:20 dalek rakudo/nom: fde3d62 | jnthn++ | src/ (2 files):
21:20 dalek rakudo/nom: Mechanism to configure multi-sig comparator.
21:20 dalek rakudo/nom:
21:20 dalek rakudo/nom: Will be used for improving role multi-method interaction.
21:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fde3d620bf
21:27 Skarsnik well eveything fail in https://github.com/coke/rakudo-star-daily/blob/master/log/MoarVM-test-modules.log x)
21:37 rurban joined #perl6
21:37 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:38 TimToady 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 :)
21:38 jnthn Cool
21:39 jnthn Making progress on the multi/role thing
21:39 lizmat testing 1f09c1e4f760a138208d now
21:40 vike joined #perl6
21:40 lucasb m: { say ?/o/ }  # happens inside block too, but needs explicit bool context
21:40 camelia rakudo-moar fde3d6: OUTPUT«getlexrelcaller needs a context␤  in block <unit> at /tmp/JWEY1Dyrzo:1␤␤»
21:41 lizmat lucasb: afaik, this is about ooking fro $/ and not finding one
21:41 lizmat I'll look into it after bisecting
21:42 lucasb lizmat: thanks
21:44 AlexDaniel joined #perl6
21:44 xfix joined #perl6
21:44 AlexDaniel m: say ∞
21:44 camelia rakudo-moar fde3d6: OUTPUT«Inf␤»
21:45 AlexDaniel okay!
21:45 AlexDaniel what now, hmmm…
21:45 AlexDaniel we have superscripts, fractions, inf, school grade operators…
21:46 timotimo emoji haven't really been explored too much
21:47 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…»
21:47 ilmari .u ✕
21:47 yoleaux U+2715 MULTIPLICATION X [So] (✕)
21:47 lizmat ok, seems 1f09c1e4f760a138208d is the first commit I tried that slows down everything by 2x
21:47 masak m: sub infix:<✕>($l, $r) { $l * $r }; say 5 ✕ 2
21:47 camelia rakudo-moar fde3d6: OUTPUT«10␤»
21:47 lizmat testing the one before that
21:47 lizmat aka 8401e01aa60ce2754bce0
21:48 xfix ⚠ could make a neat alias for "warn" function (don't do it).
21:48 labster Acme::Warn?
21:48 lucasb why the multiplication sign didn't work? didn't it got added in a recent commit?
21:49 lizmat I think it did ?
21:49 AlexDaniel lucasb: it's a wrong one
21:49 AlexDaniel ×
21:49 ilmari m: say 5 × 2
21:49 camelia rakudo-moar fde3d6: OUTPUT«10␤»
21:49 ilmari .u ×
21:49 yoleaux U+00D7 MULTIPLICATION SIGN [Sm] (×)
21:49 AlexDaniel .u ✕×
21:49 yoleaux U+00D7 MULTIPLICATION SIGN [Sm] (×)
21:49 yoleaux U+2715 MULTIPLICATION X [So] (✕)
21:49 masak tricky :)
21:49 ilmari unicode--
21:49 timotimo damn.
21:49 xfix m: my \Linux™ = "Linux"; say Linux™;
21:49 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™;␤»
21:49 lucasb so many signs, much confused
21:49 masak clearly the right one is in the "math" category, though
21:49 xfix Hm, if ™ was a word character...
21:49 jnthn That moment when all the tests you wrote pass, but you didn't change something you were sure you needed to...
21:50 ilmari .u ✖
21:50 yoleaux U+2716 HEAVY MULTIPLICATION X [So] (✖)
21:50 jnthn That'd be a good metal band name...
21:50 timotimo :D
21:50 timotimo i'd listen to that
21:50 xfix m: sub term:<Linux™> { "Linux" }; say Linux™
21:50 camelia rakudo-moar fde3d6: OUTPUT«Linux␤»
21:51 AlexDaniel well, I'm happy that now I can do this:
21:51 AlexDaniel m: say (* × *)(2, 5)
21:51 camelia rakudo-moar fde3d6: OUTPUT«10␤»
21:51 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).
21:52 AlexDaniel xfix: please leave that for custom operators :)
21:52 AlexDaniel and terms
21:52 lizmat m: sub postfix:<™>(\a) { a ~ "™" }; my $a = "Linux"; say $a™
21:52 camelia rakudo-moar fde3d6: OUTPUT«Linux™␤»
21:52 sjn_phone joined #perl6
21:52 AlexDaniel as well as ☠ ⚠
21:53 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 ☠  { }
21:53 timotimo .u star
21:53 yoleaux U+0001 START OF HEADING [Cc] (␁)
21:53 yoleaux U+0002 START OF TEXT [Cc] (␂)
21:53 yoleaux U+0086 START OF SELECTED AREA [Cc] (<control>)
21:53 timotimo ugh
21:53 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...
21:53 AlexDaniel lucasb: yeah, thousands of star symbols
21:54 lizmat .oO( APL anyone?  :)
21:54 timotimo did you know we can regex-match on full unicode name of a symbol?
21:54 AlexDaniel jnthn: it would be enough if you just made a top ten list :)
21:54 timotimo just allow anything that has a « star » in its name
21:54 jnthn Well, yeah, I was just realizing "all" might take me a while :)
21:55 lucasb ok, I'll stop suggesting awful ideas :(
21:55 timotimo m: for (1 .. 100000).map( *.uniname ).grep(/ « star » /).say
21:55 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␤»
21:55 timotimo m: (1 .. 100000).map( *.uniname ).grep(/ « star » /).say
21:55 camelia rakudo-moar fde3d6: OUTPUT«()␤»
21:55 timotimo oh, :i
21:55 timotimo m: (1 .. 100000).map( *.uniname ).grep(/ « STAR » /).map( *.say )
21:55 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…»
21:55 labster I give lucasb a GOLD STAR anyway.
21:56 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̶.̶
21:56 AlexDaniel m: say (0..0x1FFFF ==> grep { .uniname ~~ m/‘STAR’/ })».chr
21:56 * flussence is surprised that worked in urxvt
21:56 timotimo AlexDaniel: that also gives you "START OF *" and such
21:56 lizmat wow, quite a few of those stars didn't render for me
21:57 lizmat .u  🟀   # first one
21:57 yoleaux U+0020 SPACE [Zs] ( )
21:57 yoleaux U+0023 NUMBER SIGN [Po] (#)
21:57 yoleaux U+0065 LATIN SMALL LETTER E [Ll] (e)
21:57 timotimo haha
21:57 xfix Fiveof them didn't render to me.
21:57 xfix I need better fonts.
21:57 timotimo i only saw a single star in that line
21:57 yoleaux U+0001 START OF HEADING [Cc] (␁)
21:57 yoleaux U+0086 START OF SELECTED AREA [Cc] (<control>)
21:57 yoleaux U+0096 START OF GUARDED AREA [Cc] (<control>)
21:57 xfix That explains some of that...
21:57 xfix .u ˜𐫰
21:57 yoleaux U+0098 START OF STRING [Cc] (<control>)
21:57 timotimo m: say (0..0x1FFFF ==> grep { .uniname ~~ m/ « STAR »/ })».chr
21:57 timotimo i told you, homeboy
21:58 xfix And...
21:58 camelia rakudo-moar fde3d6: OUTPUT«(٭ ≛ ⋆ ⍟ ⍣ ★ ☆ ☪ ⚝ ✡ ✦ ✧ ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰ ✴ ✵ ✶ ✷ ✸ ✹ ❂ ⭐ ⭑ ⭒ 𐫰 🌟 🌠 🔯 🟀 🟁 🟂 🟃 🟄 🟅 🟆 🟇 🟈 🟉 🟊 🟋 🟌 🟍 🟎 🟏 🟐 🟑 🟒 🟓 🟔)␤»
21:58 Skarsnik Good night #perl6
21:58 lizmat checking 627838d00ae509a78da
21:58 timotimo you can't match this.
21:58 AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniname ~~ m/‘STAR’/ })».chr
21:58 AlexDaniel ok, that's all of them
21:58 xfix .u U+10AF0
21:58 yoleaux No characters found
21:58 AlexDaniel http://irclog.perlgeek.de/perl6/2015-12-19 look at that!
21:59 AlexDaniel this message is hidden from irclog!
21:59 AlexDaniel why?
21:59 xfix So, I cannot render U+10AF0. I wonder what font does have it...
22:00 xfix http://www.fileformat.info/info/unicode/block/manichaean/fontsupport.htm
22:00 xfix That's sure useful, not.
22:00 dalek rakudo/nom: b6f0532 | jnthn++ | src/core/Parameter.pm:
22:00 dalek rakudo/nom: A little simplification in Parameter.perl.
22:00 dalek rakudo/nom:
22:00 dalek rakudo/nom: Means we avoid .WHICH on invocant parameters, which is icky if we're
22:00 dalek rakudo/nom: trying to .perl a method signature (for example, to include in an
22:00 dalek rakudo/nom: error).
22:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b6f0532c2b
22:00 dalek rakudo/nom: c102648 | jnthn++ | src/Perl6/Metamodel/RoleToClassApplier.nqp:
22:00 dalek rakudo/nom: Respect multi's sigs in role composition.
22:00 dalek rakudo/nom:
22:00 dalek rakudo/nom: This means that a multi foo(Int $x) { ... } in a role will require an
22:00 dalek rakudo/nom: exactly matching candidate be provided. Prior to this, you'd get an
22:00 dalek rakudo/nom: ambiguous dispatch. Further, a multi in a role with a matching name
22:00 dalek rakudo/nom: and signature with one in a class will now hide the one from the role;
22:00 dalek rakudo/nom: this was also previously an ambiguous dispatch.
22:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c10264830c
22:00 dalek roast: 97e3ee4 | jnthn++ | S14-roles/composition.t:
22:00 dalek roast: Tests for/around RT #124393.
22:00 dalek roast: review: https://github.com/perl6/roast/commit/97e3ee49ca
22:00 AlexDaniel xfix: what is U+10AF0?
22:00 geekosaur .u 10AF0
22:00 AlexDaniel ah I see now
22:00 yoleaux No characters found
22:00 xfix Manichaean Punctuation Star
22:01 AlexDaniel xfix: ok, it is rendered here
22:01 AlexDaniel xfix: unifont has it
22:02 AlexDaniel basically unifont has everything
22:02 dalek roast: 3c3ac2a | jnthn++ | S14-roles/stubs.t:
22:02 dalek roast: Unfudge now-passing role stub tests.
22:02 dalek roast: review: https://github.com/perl6/roast/commit/3c3ac2aa2a
22:02 AlexDaniel hmm
22:02 sjn_phone joined #perl6
22:03 xfix [23:02:03] <AlexDaniel> basically unifont has everything
22:03 xfix That's... interesting.
22:03 xfix I don't like bitmap fonts myself, but I guess it's better than seeing squares.
22:03 AlexDaniel xfix: exactly
22:03 yoleaux U+0001 START OF HEADING [Cc] (␁)
22:04 geekosaur sounds like a bug :)
22:04 AlexDaniel it is
22:05 lucasb AlexDaniel: the message shows on the other irclogger... colabti
22:05 AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘STAR’/ })».chr)[1..*]
22:06 camelia rakudo-moar fde3d6: OUTPUT«†–˜٭۞༌≛⋆⍟⍣␁␂★☆☪⚝✡✦✧✩✪✫✬✭✮✯✰✴✵✶✷✸✹❂⧦⭐⭑⭒𐫰🌃🌟🌠🍮🔯🝒🟀🟁🟂🟃🟄🟅🟆🟇🟈🟉🟊🟋🟌🟍🟎🟏🟐🟑🟒🟓🟔␤»
22:06 AlexDaniel xfix: well, here's a screenshot of that: https://files.progarm.org/2015-12-20-000621_900x82_scrot.png
22:06 xfix I just realized that I had Xorg configuration disabling all bitmap fonts. Fun.
22:07 AlexDaniel xfix: so yes, it is not pretty, but at least I don't have to see annoying squares.
22:08 AlexDaniel 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...)
22:09 AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘SIGN’/ })».chr)[1..*]
22:09 camelia rakudo-moar fde3d6: OUTPUT«$%+<=>¢£¤¥§©¬®°±µ¶×÷˖˗̟̠͇ʹ͵ЪЬъь҂҈҉Ҍҍ֍֎֏؀؁؃؄؉؊؋؎؏ٜؐؑؒؓؔٚٛ٪۽۾ࠜࠝࠞࠟࠠࠡࠢࠣࠥࠦࠧࠩࠪࠫࠬऀँंःऺऻ़ऽािीुूृॄॅॆेैॉॊोौ्ॎॏ॒॑ॕॖॗॢॣ…»
22:09 AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘LOVE’/ })».chr)[1..*]
22:09 camelia rakudo-moar fde3d6: OUTPUT«🏩💌␤»
22:09 sjn_phone joined #perl6
22:09 AlexDaniel .u 🏩💌
22:09 yoleaux U+1F3E9 LOVE HOTEL [So] (🏩)
22:09 yoleaux U+1F48C LOVE LETTER [So] (💌)
22:09 AlexDaniel love hotel, there you go
22:10 AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/‘HEART’/ })».chr)[1..*]
22:10 camelia rakudo-moar fde3d6: OUTPUT«♡♥❣❤❥❦❧⺖⺗⼼🂱🂲🂳🂴🂵🂶🂷🂸🂹🂺🂻🂼🂽🂾🎔💑💓💔💕💖💗💘💙💚💛💜💝💞💟😍😻␤»
22:13 AlexDaniel m: say join ‘’, ((0..0x1FFFF ==> grep { .uniname ~~ m/^‘SQUARE’/ })».chr)[1..*]
22:13 camelia rakudo-moar c10264: OUTPUT«⊏⊐⊑⊒⊓⊔⊞⊟⊠⊡⋤⋥⌑⏍▤▥▦▧▨▩◧◨◩◪⚿⛝⛶⟎⟏⧄⧅⧆⧇⧈⧠⫍⫎⬒⬓⬔⬕⯐⸬㋌㋍㋎㌀㌁㌂㌃㌄㌅㌆㌇㌈㌉㌊㌋㌌㌍㌎㌏㌐㌑㌒㌓㌔㌕㌖㌗㌘㌙㌚㌛㌜㌝㌞㌟㌠㌡㌢㌣㌤㌥㌦…»
22:13 AlexDaniel oh well ㎀㎁㎂㎃㎄㎅㎆㎇㎈㎉㎊㎋㎌㎍㎎㎏㎐㎑㎒㎓㎔㎕㎖㎗㎘㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㎣㎤㎥㎦㎧㎨㎩㎪㎫㎬㎭㎮㎯㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎺㎻㎼㎽㎾㎿㏀㏁㏂㏃㏄㏅㏆㏇㏈㏉㏊㏋㏌㏍㏎㏏㏐㏑㏒㏓㏔㏕㏖㏗㏘㏙㏚㏛㏜㏝㏞㏟㏿
22:14 AlexDaniel anyway, enough unicode spam for now
22:14 DrForr I'm surprised my terminal survived.
22:16 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.
22:16 AlexDaniel DrForr: have you been here the last time I was doing the same kind of lookups for zalgo text?
22:16 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
22:17 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 #perl6
22:17 AlexDaniel flussence: https://files.progarm.org/2015-12-20-001748_640x86_scrot.png
22:18 jnthn Anyway, that'll be one more off the xmas list.
22:18 AlexDaniel flussence: that's urxvt
22:18 AlexDaniel .u ㏿
22:18 yoleaux U+33FF SQUARE GAL [So] (㏿)
22:18 AlexDaniel .u 🄰
22:18 yoleaux U+1F130 SQUARED LATIN CAPITAL LETTER A [So] (🄰)
22:19 AlexDaniel flussence: ooohh!! You are right!
22:19 AlexDaniel flussence: I wonder why
22:19 sjn_phone joined #perl6
22:20 AlexDaniel flussence: I've never noticed it… Damn, that's not good
22:20 lizmat m: say "\x1F139\x1F135"
22:20 camelia rakudo-moar c10264: OUTPUT«🄹🄵␤»
22:20 lizmat m: say "\x1F138\x1F134"
22:20 camelia rakudo-moar c10264: OUTPUT«🄸🄴␤»
22:20 lizmat hmmm...
22:22 AlexDaniel m: say join ‘’, ‘lizmat’.comb.map((*.ord + ‘🄰’.ord).chr)
22:22 camelia rakudo-moar c10264: OUTPUT«🆜🆙🆪🆝🆑🆤␤»
22:22 AlexDaniel whoops…
22:24 AlexDaniel m: say join ‘’, ‘lizmat’.ords.map((* + ‘🄰’.ord - ‘a’.ord).chr)
22:24 camelia rakudo-moar c10264: OUTPUT«🄻🄸🅉🄼🄰🅃␤»
22:24 jnthn Time for some rest; 'night perl6
22:24 lizmat good night, jnthn
22:25 timotimo gnite jnthn
22:25 ChristopherBotto joined #perl6
22:26 DrForr Does .perl enforce any kind of ordering on keys?
22:27 timotimo yes
22:27 DrForr Cool. I'm writng tests for a pretty printer.
22:27 AlexDaniel timotimo: so it just sorts them?
22:28 timotimo https://github.com/rakudo/rakudo/blob/nom/src/core/Map.pm#L59-L64
22:28 AlexDaniel timotimo: right! Thanks
22:28 _nadim joined #perl6
22:32 * 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 skids joined #perl6
22:32 DrForr Check out Tickit for perl5.
22:33 Begi joined #perl6
22:33 vike joined #perl6
22:36 ilmari tickit is a terminal ui kit
22:36 ilmari there's pangoterm by the same guy
22:36 ilmari which built on libvterm, which he also wrote
22:36 ilmari LeoNerd++
22:38 ilmari random speed comparison: AlexDaniel's hearts finder takes takes 25s on my laptop, the equivalent perl 5 takes 1m55
22:38 ilmari perl -mcharnames -E 'say join " ", map chr, grep charnames::viacode($_) =~ /HEART/, 0..0x1FFFF'
22:45 AlexDaniel .u CHRIST
22:45 yoleaux U+1F384 CHRISTMAS TREE [So] (🎄)
22:45 yoleaux U+1F385 FATHER CHRISTMAS [So] (🎅)
22:51 ilmari rakudo does use a lot more memory, though. 90MB vs 27MB
22:53 timotimo yeah, but an empty rakudo already takes a bunch of memory anyway
22:53 lizmat .tell jnthn commit c040a076e64c3420f322 is causing the slowdown
22:53 yoleaux lizmat: I'll pass your message to jnthn.
22:53 timotimo 67 megabytes of ram used for "say '1'"
22:55 lizmat well, now that I have found the commit causing the slowdown, I'm going to get some rest
22:55 lizmat good night, #perl6
22:56 ghost_ joined #perl6
22:58 skids o/
22:58 TimToady okay, so that's probably just something blowing the jit
22:59 TimToady "just", he sez...
23:04 lucasb INSTALL.txt mentions --with-moar and -with-nqp but it seems Configure.pl don't use these options
23:05 lucasb I know there is --sdkroot, but I think --with-foo=PATH is more common in other build systems
23:07 dalek nqp: 03e729e | (Pawel Murias)++ | src/vm/js/nqp-runtime/code-ref.js:
23:07 dalek nqp: [js] Remove debugging console.log.
23:07 dalek nqp: review: https://github.com/perl6/nqp/commit/03e729ebdb
23:07 dalek nqp: fb74f7c | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
23:07 dalek nqp: [js] Fix matching negated charclass at end of string.
23:07 dalek nqp: review: https://github.com/perl6/nqp/commit/fb74f7c89b
23:13 lucasb it seems there was --with-parrot and --with-nqp in the past, but they are gone
23:18 diakopter .tell nanis I don't see an answer to your question: anyway, here it is: perl Configure.pl --gen-moar=master
23:18 dalek rakudo/nom: 091ee75 | TimToady++ | src/Perl6/ (2 files):
23:18 dalek rakudo/nom: fix for 125769, binding in sink context throws
23:18 dalek rakudo/nom:
23:18 dalek rakudo/nom: The wanter now notices such binds at the ends of blocks and
23:18 dalek rakudo/nom: install an extra True value afterwards to shield the binding
23:18 yoleaux diakopter: I'll pass your message to nanis.
23:18 dalek rakudo/nom: from autothrow semantics.  In addition, if/else/with/without
23:18 dalek rakudo/nom: now propagage sinkness properly to the then/else clauses, which
23:18 dalek rakudo/nom: exposed the fact that lots of instances of $_ weren't wanted yet.
23:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/091ee75074
23:18 dalek roast: 734565c | TimToady++ | S05-interpolation/regex-in-variable.t:
23:18 dalek roast: untodo tests for #100232
23:18 dalek roast: review: https://github.com/perl6/roast/commit/734565c16e
23:18 dalek roast: 8b97aa4 | TimToady++ | S32-exceptions/misc.t:
23:18 dalek roast: test for #125769, if at end of block throws bind
23:18 dalek roast:
23:18 dalek roast: (plus additional failure modes caught while fixing this one)
23:18 dalek roast: review: https://github.com/perl6/roast/commit/8b97aa4f61
23:21 dalek doc/un-unspace: 85fd191 | (Brock Wilcox)++ | htmlify.p6:
23:21 dalek doc/un-unspace: Remove some unneeded unspace
23:21 dalek doc/un-unspace: review: https://github.com/perl6/doc/commit/85fd191557
23:23 dalek doc: 85fd191 | (Brock Wilcox)++ | htmlify.p6:
23:23 dalek doc: Remove some unneeded unspace
23:23 dalek doc: review: https://github.com/perl6/doc/commit/85fd191557
23:23 dalek doc: d5a77e6 | (Zoffix Znet)++ | htmlify.p6:
23:23 dalek doc: Merge pull request #251 from perl6/un-unspace
23:23 dalek doc:
23:23 dalek doc: Remove some unneeded unspace
23:23 dalek doc: review: https://github.com/perl6/doc/commit/d5a77e612f
23:24 Begi2 joined #perl6
23:25 awwaiid would it make sense to have all =head* things added to the search index for doc.perl6.org?
23:26 skids aww I was kinda hoping my RT would be the last one on the fixmas list :-)
23:28 diakopter which one was yours
23:29 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
23:30 vendethiel awwaiid: what kind?
23:30 awwaiid when :(Str $ where /^The \s \S+ \s \w+$/) { ... } # what is the ":" for?
23:30 vendethiel awwaiid: signature
23:30 vendethiel it's like a multi... but inside a given
23:31 awwaiid hm. so the given is a list, and this is like a destructure match
23:32 awwaiid wow... NEAT!
23:32 masak yes, but ISTR that $/ doesn't get set properly... :/
23:33 masak m: given "foo" { when :(Str $ where /f(..)/) { say $0 } }
23:33 camelia rakudo-moar 091ee7: ( no output )
23:33 masak hm.
23:34 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␤»
23:34 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«Type check failed in binding $b; expected Int but got Str␤  in block <unit> at /tmp/hLAH6o8tp6:1␤␤»
23:34 stmuk awwaiid: 'git grep' in the doc and roast repos sometimes helps with syntax
23:35 dalek nqp: f787663 | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
23:35 dalek nqp: [js] Replace \r\n with \n when reading in files.
23:35 dalek nqp: review: https://github.com/perl6/nqp/commit/f7876634f5
23:35 dalek nqp: 9a0fb49 | (Pawel Murias)++ | t/nqp/19-file-ops.t:
23:35 dalek nqp: Test that readallfh convert \r\n. Skip the readlinefh tests skipped on moar on js.
23:35 dalek nqp: review: https://github.com/perl6/nqp/commit/9a0fb491b3
23:37 dalek roast: 1becd7c | TimToady++ | S05-interpolation/regex-in-variable.t:
23:37 dalek roast: bunch more tests for #100232
23:37 dalek roast: review: https://github.com/perl6/roast/commit/1becd7c9b4
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
23:37 diakopter (and it's taking far longer to JIT now)
23:37 masak 'night, #perl6
23:38 awwaiid gnight masak!
23:38 diakopter masak: g'n
23:38 diakopter someone could test by comparing to rakudo-j run times
23:39 lucasb m: given \('foo') { when :(Str $ where /(.+)/) { say "<$0>" } }
23:39 camelia rakudo-moar 091ee7: OUTPUT«<foo>␤»
23:39 lucasb m: given :('foo') { when :(Str $ where /(.+)/) { say "<$0>" } }
23:39 camelia rakudo-moar 091ee7: OUTPUT«Use of Nil in string context  in block  at /tmp/Q6B1H_omlA:1␤<>␤»
23:39 awwaiid m: my @stuff = "fish", 42; say @stuff ~~ :(Str, Int), @stuff ~~ :(Str, Str)
23:39 camelia rakudo-moar 091ee7: OUTPUT«TrueFalse␤»
23:39 awwaiid so cool
23:40 awwaiid There is so much awesome in Perl6 that documenting it sanely is very challenging, I'm finding
23:41 lichtkind joined #perl6
23:41 diakopter staying sane while documenting?
23:41 diakopter or writing things that keep people sane when reading?
23:41 awwaiid hehe
23:42 awwaiid yes!
23:43 diakopter so.. both
23:43 awwaiid m: say :writer|:reader # Any
23:43 camelia rakudo-moar 091ee7: OUTPUT«any(writer => True, reader => True)␤»
23:45 pochi .say for (^5).pick(), (^5).pick(1), (^5).head(), (^5).head(1)
23:45 pochi m: .say for (^5).pick(), (^5).pick(1), (^5).head(), (^5).head(1)
23:45 camelia rakudo-moar 091ee7: OUTPUT«3␤(2)␤(0)␤(0)␤»
23:46 pochi shouldn't .head() be more like pick()?
23:46 pmurias joined #perl6
23:49 dalek nqp: 2d13ef7 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (3 files):
23:49 dalek nqp: [js] Drop the iconv-lite dependency.
23:49 dalek nqp: review: https://github.com/perl6/nqp/commit/2d13ef7463
23:51 lucasb m: say ().pick
23:51 camelia rakudo-moar 091ee7: OUTPUT«Nil␤»
23:52 lucasb m: say ().pick(1)
23:52 camelia rakudo-moar 091ee7: OUTPUT«()␤»
23:52 lucasb same thing for .roll
23:52 lucasb I would like if .pick and .pick(1) meant the same thing
23:54 lucasb pochi: and yes, I like your suggestion too
23:54 pochi the same goes for .tail as well
23:57 Begi2 lucasb : good question. .roll() and .roll(1) should mean the same thing no ?
23:58 cdg joined #perl6
23:58 dalek doc: 12d8242 | (Brock Wilcox)++ | doc/Language/syntax.pod:
23:58 dalek doc: Document signature literals
23:58 dalek doc: review: https://github.com/perl6/doc/commit/12d82422ca
23:58 lucasb Begi: yes, I would have expected so
23:59 masak ...before I go to bed... :)

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

Perl 6 | Reference Documentation | Rakudo