Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-09

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:06 Sysaxed timotimo: okay, gonna free some space. Thanks
00:06 telex joined #perl6
00:08 timotimo the quickstart command just builds everything that comes after 2014.01
00:08 timotimo which may have been just fine 6 month ago :P
00:09 timotimo 80d904ef (Geoffrey Broadwell 2014-10-28 19:06:06 -0700  28)                $tag ~~ /^ \d**4\.\d**2 $/ && $tag ge '2014.01'
00:09 timotimo that's even more than 6 months ago actually
00:10 Sysaxed timotimo: that's good, I think
00:10 Sysaxed just gonna take a while
00:10 timotimo verily
00:19 kurahaupo1 joined #perl6
00:28 cygx left #perl6
00:29 fhelmberger joined #perl6
00:32 japhb timotimo: You're welcome to change the start time to e.g. 2015.01.  The 2014.01 date was chosen because it happened to be the start of moarvm support as just another backend in nom, IIRC, plus also happened to be the start of a year, so it fits the shape of people's brains.
00:33 japhb Also, wouldn't 'make clean' remove the results of 'make install'?
00:33 japhb Sysaxed: if you have a slow system, expect a quickstart run to take a LONG TIME.
00:34 japhb I wish I had more perl6-shaped tuits right now.  :-(
00:34 timotimo make clean should not remove the results of make install
00:35 Sysaxed that's fine, I'll just leave it overnight
00:35 Sysaxed or maybe even another night...
00:35 japhb heh
00:35 japhb Well, at least you'll end up with a pretty comprehensive history ....
00:35 timotimo yeah
00:36 Akagi201 joined #perl6
00:38 lizmat joined #perl6
00:43 rba_ joined #perl6
00:44 aborazmeh joined #perl6
00:44 aborazmeh joined #perl6
00:57 ][Sno][ joined #perl6
01:15 TimToady joined #perl6
01:31 Zoffix joined #perl6
01:39 aborazmeh joined #perl6
01:39 aborazmeh joined #perl6
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
01:55 aborazmeh joined #perl6
01:55 aborazmeh joined #perl6
02:10 FROGGS joined #perl6
02:12 noganex_ joined #perl6
02:25 rmgk_ joined #perl6
02:32 aborazmeh joined #perl6
02:32 aborazmeh joined #perl6
02:43 rba_ joined #perl6
03:11 nbdsp joined #perl6
03:12 jack_rabbit joined #perl6
03:15 nbdsp Greetings! In the latest version of Rakudo navigation keys (left, right, home, end ) and even Escape key are no longer working in the REPL console. Could someone advise please is there some tweak to get them working? I'm using Linux,Bash,Vi mode.
03:16 timotimo line editor functionality has been moved from inside rakudo to a module; LineNoise
03:16 labster Same is happening in OSX REPL (though let me rebuild to see if that is still the case)
03:19 nbdsp timotimo: is this module needed to be installed with Panda? when I 'use LineNoise;' in the command line, the module is not found.
03:19 timotimo correct
03:20 nbdsp thanks
03:20 timotimo you may have to install "linenoise" system-wide so that the .so file gets found
03:24 timotimo i mean the package from your package manager
03:25 nakajima joined #perl6
03:27 xinming joined #perl6
03:27 Sqirrel joined #perl6
03:30 nbdsp Well, the panda has ceased to work as well: "SORRY! No candidate found for 'panda'." Don't know what it means. I pulled panda from git, and it failed to bootstrap: "Method 'name' not found for invocant of class 'Any'"
03:31 timotimo where does that occur?
03:32 timotimo your panda and rakudo are up to date, i expect?
03:34 nbdsp I update Rakudo yesterday, and pulled panda from git now. The error happens during installing File::Find at in method revdeps at /mnt/lib/perl6/panda/lib/Panda/Ecosystem.pm:148
03:35 timotimo i didn't even realize the revdeps thing already gets used
03:36 timotimo did you rebootstrap or bootstrap?
03:38 nbdsp I did bootstrap. Will try rebootstrap now.
03:39 aborazmeh joined #perl6
03:39 aborazmeh joined #perl6
03:39 timotimo rebootstrap has the good property of cleaning stuff up before bootstrapping, but also re-installing everything you had installed before that
03:42 timotimo (but the bootstrap would clean out the info rebootstrap would use for the reinstallation)
03:43 nbdsp Is rebootstrap only for 'emergency' cases? What is normally recommended?
03:43 timotimo i always rebootstrap
03:43 rba_ joined #perl6
03:44 timotimo it'll automatically drop down to bootstrap if it detects there's no benefit to rebootstrapping
03:46 nbdsp If I installed some other stuff with panda will it be needed to reinstall in both cases or only with rebootstrap?
03:48 dalek roast: 8ce998e | (Nick Logan)++ | S32-io/IO-Socket-Async.t:
03:48 dalek roast: syntax typo correction
03:48 dalek roast:
03:48 dalek roast: should pass now
03:48 dalek roast: review: https://github.com/perl6/roast/commit/8ce998e050
03:49 nbdsp Rebootstrap seems to work OK. Thanks! Will search for linenoise package.
03:54 timotimo rebootstrap will do the reinstallation for you automatically
03:54 timotimo bootstrap will not
03:55 timotimo on my fedora system the linenoise package is just called "linenoise"
03:55 timotimo but i also see now that Linenoise comes with some C files it compiles
03:55 timotimo so maybe it ships its own copy of linenoise?
03:57 vendethiel joined #perl6
04:04 nbdsp I see that MoarVM is shipped with linenoise in 3rdparty directory. Can it somehow be used?
04:04 aborazmeh joined #perl6
04:04 aborazmeh joined #perl6
04:05 nbdsp Or this is remained from the previous version.
04:06 timotimo from the previous version, most likely
04:11 nbdsp I installed Linenoise with panda and will install linenoise to my ArchLinux. Will be using rebootstrap instead of bootstrap. Thanks for helping!
04:11 timotimo you're quite welcome
04:53 raydiak I wonder...could you somehow call the actions for a match tree resulting from an earlier .parse?
04:54 Erendis42d joined #perl6
04:58 nbdsp joined #perl6
05:01 tinyblak joined #perl6
05:02 raydiak if you could, Match can be used as a sort of AST, and if jnthn++'s Grammar::Generative were working, you'd have more-or-less the beginnings of parsing, AST, and generating, just by writing a grammar
05:02 rba_ joined #perl6
05:03 raydiak if not, somebody should make something like that some other way :)
05:33 cognominal joined #perl6
05:34 * TimToady home again, but not via Yosemite, which closed again due to snow
05:36 raydiak welcome back
05:52 kaare__ joined #perl6
06:08 araujo joined #perl6
06:12 kurahaupo1 joined #perl6
06:21 aindilis joined #perl6
06:23 jack_rabbit joined #perl6
06:23 bjz joined #perl6
06:29 Ulti joined #perl6
06:34 Ulti just tried that nbdsp PoS file into a hash one liner on my laptop with an ssd and it took 40s and used over a gigabyte of RAM for a 3.9MB file :(
06:35 Ulti the slowness is maybe not quite as worrying as the 300x memory use in relation to the file size
06:41 Ulti cygx nqp native typed version used 173MB and took 2s that is quite some difference
06:48 kurahaupo joined #perl6
06:48 domidumont joined #perl6
06:49 mr-foobar joined #perl6
06:51 [Tux] Whoooosh Nil ain't silently dropped no more in list context
06:51 Ulti on the upside translating cygx to the exact same pure Perl 6 without any nqp doodads is almost the same perf
06:52 Ulti https://gist.github.com/Mat​tOates/4c9b27980d59d021761e 6s 178MB
06:53 Ulti so it's not so much the optimiser or anything else its perhaps the implementation of some of those builtins or just the semantics of what the one liner is really doing
06:53 domidumont joined #perl6
06:54 Ulti other than guessing native types on arbitrary text input which feels a bit unlikely
06:55 [Tux] Hmm, many old(er) perl6 scripts/programs will have to fix their code because of that
06:55 timotimo the dynamic optimizer would be able to remove boxing and unboxing if there's basically nothing in-between
06:55 timotimo and if there's a method call on a Str, for example, and that Str gets created with p6box_s, the method call could be inlined and no Str instance would have to be created
06:55 timotimo if we're lucky ;)
06:56 Ulti perhaps split with a string literal could do the same substr/index stuff if it isn't already
06:56 Ulti I imagine that is the big difference if any
06:56 [Tux] tony-o, it also broke your CSV::Parser - badly
06:57 timotimo split with a string index should be pretty good already, but i should verify
06:57 Ulti no I mean if you are splitting a string using some builtin that can take a regex what happens if you give "\t" instead
06:57 Ulti is that just used as a regex?
06:58 timotimo there is a variant that uses a Str to split
06:58 Ulti ahh ok
06:58 timotimo and another variant that uses a Regex
06:59 timotimo it's in Str.pm line 871 if you're interested
06:59 timotimo hmm. synbot could generate links to the source on github
07:01 * timotimo has a look at the synbot6 source
07:03 Ulti that would be a neat feature
07:04 timotimo it'd also be cool if the RT bug lookup would also try to grab the title of the bug
07:07 Ulti hmm wonder why a map {} is used in that function rather than a more loopy loop
07:08 Ulti thats the only real difference to the cygx code
07:09 diana_olhovik joined #perl6
07:15 timotimo does rt.perl.org not expose the REST api?
07:20 moritz m: class A { has $.x = 4; say $.y = 2 * $.x }; say A.new(x => 5).y
07:20 camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7XeFI5PlPJ␤Variable $.y used where no 'self' is available␤at /tmp/7XeFI5PlPJ:1␤------> 3class A { has $.x = 4; say $.y7⏏5 = 2 * $.x }; say A.new(x => 5).y␤    expecting any of:␤        argument …»
07:20 moritz m: class A { has $.x = 4; say $.y = 2 * self.x }; say A.new(x => 5).y
07:20 camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aAHPcGOMFG␤Variable $.y used where no 'self' is available␤at /tmp/aAHPcGOMFG:1␤------> 3class A { has $.x = 4; say $.y7⏏5 = 2 * self.x }; say A.new(x => 5).y␤    expecting any of:␤        argume…»
07:20 moritz m: class A { has $.x = 4; has $.y = 2 * $.x }; say A.new(x => 5).y
07:20 camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JEDgBd7aPr␤Virtual call $.x may not be used on partially constructed objects␤at /tmp/JEDgBd7aPr:1␤------> 3class A { has $.x = 4; has $.y = 2 * $.x7⏏5 }; say A.new(x => 5).y␤    expecting any of:…»
07:20 moritz m: class A { has $.x = 4; has $.y = 2 * self.x }; say A.new(x => 5).y
07:20 camelia rakudo-moar 3b8b31: OUTPUT«10␤»
07:21 moritz m: class A { has $.x = 4; has $.y = 2 * $!x }; say A.new(x => 5).y
07:21 camelia rakudo-moar 3b8b31: OUTPUT«10␤»
07:22 timotimo should i mail perlbug-admin about the REST interface?
07:25 dalek roast: b62c8ee | usev6++ | S05-capture/caps.t:
07:25 dalek roast: Unfudge two passing tests for rakudo.jvm
07:25 dalek roast: review: https://github.com/perl6/roast/commit/b62c8ee446
07:25 vendethiel joined #perl6
07:27 rindolf joined #perl6
07:31 dalek doc: 0c94ad7 | moritz++ | lib/Language/classtut.pod:
07:31 dalek doc: Mention build-time attribute defaults in classtut.
07:31 dalek doc:
07:31 dalek doc: Closes #79
07:31 dalek doc: review: https://github.com/perl6/doc/commit/0c94ad71dd
07:32 Sqirrel joined #perl6
07:35 mr-fooba_ joined #perl6
07:35 RabidGravy joined #perl6
07:37 mr-foobar joined #perl6
07:40 domidumont joined #perl6
07:41 dalek perl6-examples: d6a50ce | paultcochrane++ | t/categories/cookbook/03dates-and-times.t:
07:41 dalek perl6-examples: [cookbook] add tests for 03-dates-and-times subcategory
07:41 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/d6a50cedb6
07:41 dalek perl6-examples: a8c21c8 | paultcochrane++ | / (6 files):
07:41 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
07:41 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/a8c21c8e65
07:41 dalek perl6-examples: 478bb7f | paultcochrane++ | t/categories/euler.t:
07:41 dalek perl6-examples: [euler] update test plan
07:41 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/478bb7f69e
07:41 dalek perl6-examples: 092185a | paultcochrane++ | categories/euler/prob09 (2 files):
07:41 dalek perl6-examples: Strip trailing whitespace
07:41 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/092185a827
07:41 dalek perl6-examples: 6fea02c | paultcochrane++ | categories/euler/prob09 (2 files):
07:41 dalek perl6-examples: Add vim coda
07:41 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/6fea02cee5
07:41 dalek perl6-examples: f7704d1 | paultcochrane++ | categories/euler/prob09 (2 files):
07:41 dalek perl6-examples: Wrap description text for readability
07:41 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/f7704d1b17
07:42 darutoko joined #perl6
07:55 dalek roast: 88920f4 | FROGGS++ | S05-modifier/ignoremark.t:
07:55 dalek roast: add tests for ignoremark + character classes
07:55 dalek roast: review: https://github.com/perl6/roast/commit/88920f48cc
07:56 moritz is ignoremark in nom already?
07:56 dalek roast: 97b0db4 | usev6++ | S02-types/lists.t:
07:56 dalek roast: Use unique ticket number for similiar tests
07:56 dalek roast: review: https://github.com/perl6/roast/commit/97b0db4220
07:56 dalek roast: 629b80d | usev6++ | S16-filehandles/io.t:
07:56 dalek roast: Unfudge three passing tests for rakudo.jvm
07:56 dalek roast: review: https://github.com/perl6/roast/commit/629b80d6ee
07:57 moritz m: say 'foo' for Ni
07:57 camelia rakudo-moar 3b8b31: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Pi2KqVvOxW␤Undeclared name:␤    Ni used at line 1␤␤»
07:57 moritz m: say 'foo' for Nil
07:57 camelia rakudo-moar 3b8b31: OUTPUT«foo␤»
08:00 _mg_ joined #perl6
08:02 dalek rakudo/nom: 9b5c02d | moritz++ | docs/ChangeLog:
08:02 dalek rakudo/nom: Mention changed Nil semantics in changelog
08:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b5c02d9cc
08:11 Erendis42d joined #perl6
08:20 FROGGS joined #perl6
08:20 cygx joined #perl6
08:21 cygx o/
08:21 cygx Ulti: https://gist.github.com/cygx/c1d​06377387178097c58#file-bench-p6
08:21 cygx (or anyone else interested in rakudo performance)
08:22 cygx nbdsp: ^^^
08:23 timotimo you're not posting the results? :P
08:24 cygx timotimo: 1.6s, 7.1s, 136.6s
08:27 masak good antenoon, #perl6
08:28 tgt joined #perl6
08:31 tgt joined #perl6
08:36 Isp-sec joined #perl6
08:40 domidumont joined #perl6
08:44 cygx m: sub foo(\self) { self }; foo(42)
08:44 camelia rakudo-moar 9b5c02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LkfgbewhwU␤'self' used where no object is available␤at /tmp/LkfgbewhwU:1␤------> 3sub foo(\self) {7⏏5 self }; foo(42)␤    expecting any of:␤        term␤»
08:44 cygx ^ should that work?
08:48 dalek roast: 2de2765 | usev6++ | S03-operators/reduce-le1arg.t:
08:48 dalek roast: Use unique ticket number for similiar tests
08:48 dalek roast: review: https://github.com/perl6/roast/commit/2de27651b0
08:50 raydiak just confirmed locally that my \self, my &self, and sub self, our &self, and our sub self all do the same
08:50 RabidGravy cygx, probably not - "self" is a specially defined term
08:50 raydiak ::('self') works though
08:50 raydiak if it's a sub, self() also works
08:52 masak m: sub self() { say "don't define a sub called 'self'" }; self()
08:52 camelia rakudo-moar 9b5c02: OUTPUT«don't define a sub called 'self'␤»
08:52 masak m: sub self() { say "don't define a sub called 'self'" }; self
08:52 camelia rakudo-moar 9b5c02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3AspCGK9H1␤'self' used where no object is available␤at /tmp/3AspCGK9H1:1␤------> 3ay "don't define a sub called 'self'" };7⏏5 self␤    expecting any of:␤        term␤»
09:01 * raydiak wonders why self needs to be more special-cased than a lexical like normal parameters
09:03 raydiak maybe just because it's a bad idea so we want to stop people from doing it easily at all?
09:05 RabidGravy it's probably not helpful to think of it as a variable at all, it's a special term who's value is the invocant of a method
09:07 raydiak being part of the signature really feels counter to that notion
09:08 raydiak m: class { method m { } }.^lookup("m").signature.perl.say
09:08 camelia rakudo-moar 9b5c02: OUTPUT«:(<anon> $: *%_)␤»
09:08 raydiak maybe it doesn't mean it's really a lexical name when you're in the sub body, but it's rather suggestive anyway if you ask me
09:09 RabidGravy of course you can get the invocant in a variable like that
09:10 RabidGravy m: class A { method a(A:d $self:) { say $self } }; A.new.a;
09:10 camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context  in block <unit> at /tmp/XC3TwZIXLu:1␤␤A.new␤»
09:11 RabidGravy eh?
09:11 RabidGravy (works fine here)
09:11 raydiak ah got it, the <anon> means there is no name, and I should think of self as meaning something completely different
09:11 raydiak recent glr churn, maybe you haven't rakudobrewed today?
09:12 lizmat joined #perl6
09:12 RabidGravy possibly. but it's the typoed lower case 'd' wot dun it
09:13 RabidGravy should of course be upper case
09:13 raydiak here's a correct example I saw a few minutes ago, then...
09:14 raydiak m: class { method m { } }.^lookup("m").signature.^methods.perl.say
09:14 camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context␤use of uninitialized value of type Empty in string context␤use of uninitialized value of type Empty in string context␤use of uninitialized value of type Empty in string context␤(ForeignCode…»
09:14 RabidGravy boo! bad bot. bad! bad!
09:14 raydiak I've seen it here and there, figured it'll go away when more of the changes are done :)
09:17 RabidGravy the construct I showed is used in some core classes (I'm looking at Channel.list here) to give the invocant to places where it needs to be given to something that wouldn't like the term form
09:18 raydiak oh, yeah, I know all about that, I was musing about whether or not self should be overridable by a lexical name
09:19 raydiak but figured we probably disallowed it on purposed after a question like this was pondered
09:22 RabidGravy I may be wide of the mark here, but my reading of the grammar is that it's not so much explicitly disallowed as that it can't be over-ridable because of the way the grammar is formulated
09:23 raydiak m: class { method m { my \self = 42 } } # it even claims to be a lexical
09:23 camelia rakudo-moar 9b5c02: OUTPUT«===SORRY!===␤Lexical 'self' already declared␤»
09:26 Erendis42d joined #perl6
09:27 raydiak I think my meaningful productivity is used up for the night, time to rest...was nice chattin
09:27 raydiak g'night #perl6
09:27 RabidGravy nighty night
09:34 masak g'night, antipolad raydiak
09:34 masak er, antipodal*
09:42 baest_ joined #perl6
09:46 yqt joined #perl6
09:50 masak \o/ https://github.com/tadzik/synopsebot/pull/6
09:50 masak tadzik++
09:50 tadzik masak++ :)
09:50 tadzik I like the creative use of grammars in code that has even remotely something to do with parsing
09:50 tadzik also, this whole thing is now very easy to test
09:51 masak I was going to write a blog post about developing this patch. it was a perfect storm of nice things.
09:52 masak tadzik: easy, to test, but I'd get rid of the `say $e` late in the method, instead giving the class a logger attribute.
09:52 masak s/, //
09:53 masak you want me to PR that too?
09:53 tadzik masak: yeah, I looked through the code, saw the say and thought "oh look, masak forgot some debugging code"
09:53 masak wasn't mine.
09:53 tadzik then I read the diff more carefully, "oh..."
09:53 tadzik yeah :)
09:53 masak I just preserved it from before.
09:53 masak I thought it was used for something.
09:53 tadzik yeah, I assume so
09:53 masak if it isn't, then even easier is to remove it.
09:53 tadzik then again, it's not my code either :P
09:53 masak heh.
09:53 masak just your repo :P
09:53 Erendis42d left #perl6
09:53 tadzik yeah :)
09:55 perl6ware joined #perl6
09:57 perl6ware Hello, is there a channel to report typo mistake on this page? http://design.perl6.org/Differences.html
09:57 masak yes, this channel! :)
09:57 masak welcome :)
09:58 perl6ware thank you :)
09:59 perl6ware in the sigils part, $fruit[0] should be $fruits[0]
09:59 perl6ware that's it.
09:59 masak oh!
10:00 masak yes.
10:00 perl6ware also..  say @fruit[0]; should be...   say @fruits[0];
10:01 masak the original seems to be in mu:docs/Perl6/Perl5/Differences.pod
10:01 masak fixing.
10:01 masak perl6ware++
10:01 dalek mu: 7fb834e | (Carl Masak)++ | docs/Perl6/Perl5/Differences.pod:
10:01 dalek mu: correct s/fruit/fruits/ typo
10:01 dalek mu: review: https://github.com/perl6/mu/commit/7fb834e1c7
10:02 masak it will probably take a little while for the HTML page to update.
10:02 perl6ware great :)
10:03 perl6ware thanks for fixing it that quickly.
10:03 eiro joined #perl6
10:04 masak it was an easy fix ;)
10:08 masak https://github.com/tadzik/synopsebot/pull/7
10:15 Ulti cygx cool I did a bit more on it https://gist.github.com/Mat​tOates/77b425166a3acc8dd314
10:20 Vlavv joined #perl6
10:20 Ulti I might try ripping out that map locally and see if it changes that little benchmark at all
10:20 perl6ware Perl 6 is considerably slower than Perl 5 as for now. is it just me?
10:21 Ulti perl6ware well as that benchmark points out it can vary by a factor of 320x depending on how you write your Perl 6
10:22 Ulti doing the most shiny expressive thing is rarely the most efficient in any language
10:22 perl6ware time ./perl6 -e 'my $s; for 1..10000 {$s+=1e0/$_**2};say $s'
10:22 Ulti perl6ware add some native type information and run it again
10:23 rba_ joined #perl6
10:26 Ulti perl6ware: time ./perl6 -e 'my num $s; for 1..10000 -> num $i {$s+=1e0/$i**2};say $s'
10:26 Ulti that is 2x faster for me
10:26 perl6ware let me try.
10:27 Ulti though I get NaN :S
10:28 perl6ware oh yes it's NaN
10:29 Ulti :'(
10:29 perl6ware output should be 1.64492406689824
10:29 Ulti yeah
10:30 perl6ware time ./perl6 -e 'my $s; for 1..100000 {$s+=1e0/$_**2};say $s'    <-- this works but slower than Perl 5 , i think Perl 6 need a little more time to evolve
10:32 Ulti well if you want it as evolved as Perl 5 you will be waiting another decade
10:33 perl6ware The Three Stages of Program Development:      First, make it run     Second, make it run right.     Finally, make it run fast.  Perhaps Perl6 is still in the second stage.
10:33 Ulti well it runs right
10:33 Ulti the make it fast part is the native stuff
10:33 cygx (mostly right)
10:33 cygx ;)
10:34 Ulti though I am surprised that NaN popped up I've done stuff just like that relatively recently and it was fine -___-
10:35 masak m: my num $i = 10000; say 1e0 / $i ** 2
10:35 Ulti is it just a precision thing? I tried the widest native num
10:35 camelia rakudo-moar 9b5c02: OUTPUT«This type cannot unbox to a native number␤  in block <unit> at /tmp/hAlD80qseH:1␤␤»
10:35 masak m: my num $i = 10000e0; say 1e0 / $i ** 2
10:35 camelia rakudo-moar 9b5c02: OUTPUT«1e-08␤»
10:35 Ulti aha
10:36 masak Perl 6 doesn't really have a numeric tower.
10:36 Ulti also perl6ware that was actually quite fast to begin with :P its not like you waited 546s to process a relatively small text file
10:38 Ulti in fact I would go as far to say I bet the difference between P5 and P6 is startup time
10:38 perl6ware Yes i think so, i am sure we will see a lot of improvements.
10:38 Ulti errr wat
10:39 Ulti I would rather IO was fast for most idioms than startup is 1ms faster
10:40 cygx perl6ware: arguably, if you want a fair comparison, you'd have to add a `use Moose` to your Perl5
10:40 Ulti perl6ware: add in a -MMoose to the perl one liner and get back to us ;P
10:40 cygx ;)
10:41 Ulti I am working on a little moose app at work that has a git style command line interface and deligates to an object based on the command... the startup is 3s without doing anything
10:41 perl6ware Thanks guys i will try that. Thanks for all your answers for my curious question.
10:41 Ulti just the MAIN stuff in Perl 6 makes all of that 3s go away
10:43 cygx however, the parsing speed of Perl6 is still less than stellar
10:43 Ulti the problem with comparing perl 5 to 6 is everyone is focussed on benchmarks of things in isolation and not common use cases of day to day work... IO and list manipulation are the things that have stood out for me for the last couple of years as holding me back
10:43 cygx ie if your command line thingy grows beyond a certain size, you'll have to factor out modules and precompile those
10:45 Ulti cygx yeah the 3s is only since Moose now has to reflect on a bigger list of classes
10:53 rindolf joined #perl6
11:00 lizmat joined #perl6
11:04 grondilu joined #perl6
11:05 Ulti ahhh >> still does the random sort thing that might explain some of the epic slowness
11:17 BenGoldberg joined #perl6
11:18 tadzik ugexe: ping
11:21 tadzik ugexe: I poked you about rakudobrew's windows compatibility in your (closed) PR
11:34 xinming joined #perl6
11:34 larion joined #perl6
11:36 FROGGS joined #perl6
11:37 dalek ecosystem: 44b5feb | cygx++ | META.list:
11:37 dalek ecosystem: Add Uni63 to the ecosystem
11:37 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/44b5feb25d
11:37 dalek ecosystem: 2a09827 | moritz++ | META.list:
11:37 dalek ecosystem: Merge pull request #43 from cygx/patch-1
11:37 dalek ecosystem:
11:37 dalek ecosystem: Add Uni63 to the ecosystem
11:37 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/2a09827bde
11:38 diana_olhovik_ joined #perl6
11:39 cygx moritz++
11:39 moritz cygx: if you accept the invitation I just sent you, you can push directly
11:40 moritz and to a few other repos as well :-)
11:41 tadzik who and where is running synbot6?
11:42 nwc10 FROGGS: our train set off 91 minutes late, and arrived about "63" minutes late.
11:42 tadzik and can we rename it to synopsebot, now that it's the thing we use? :)
11:42 nwc10 problems with the Škoda :-)
11:42 nwc10 however, I did discover that it had Czech beer, but at Hungarian prices.
11:43 FROGGS nwc10: I am one train away from Berlin, which is nice
11:43 nwc10 (I am not sure how accuate that 63 really was, as that's what the board was telling me, and I didn't stop to measure it accurately)
11:43 cygx moritz: thanks
11:43 * cygx now afk
11:43 nwc10 that train exists? or is a bus?
11:43 FROGGS nwc10: it actually is an ICE
11:44 nwc10 with a driver?
11:44 FROGGS looks like
11:44 nwc10 \o/
11:44 FROGGS :o)
11:44 nwc10 For The Win.
11:44 nwc10 I hope that this celebration is not premature.
11:45 FROGGS it will be 10 minutes late so it seems to be real
11:46 eli-se joined #perl6
11:46 eli-se left #perl6
11:47 yqt joined #perl6
11:56 Isp-sec joined #perl6
12:03 _mg_ joined #perl6
12:15 FROGGS joined #perl6
12:16 telex joined #perl6
12:34 tadzik URI fails tests?
12:35 tadzik where are daily smokes these days?
12:36 FROGGS tadzik: coke/star-roast-data?
12:37 tadzik FROGGS: hmm, only https://github.com/coke/rakudo-star-da​ily/blob/master/log/MoarVM-version.log looks updated
12:37 tadzik rest is a month old or more
12:37 tadzik something must've broken
12:37 tadzik I hope it's not panda
12:38 tadzik but there was also a webservice that colomon++ was running, irc
12:38 tadzik iirc
12:38 colomon http://smoke.perl6.org/report
12:38 colomon something’s badly broken at the moment
12:39 tadzik URI looks clean though
12:40 FROGGS wasnt there an URI PR that depends on a rakudo commit from two days ago?
12:40 FROGGS about Empty/Nil?
12:40 FROGGS cannot look right now
12:40 tadzik hm
12:41 dalek roast: 88954b0 | usev6++ | S06-other/anon-hashes-vs-blocks.t:
12:41 dalek roast: Unfudge passing test for rakudo.jvm
12:41 dalek roast: review: https://github.com/perl6/roast/commit/88954b01cd
12:42 tadzik FROGGS: there's one, yes
12:42 * tadzik checks it out
12:42 tadzik it fixes stuff, yes :)
12:46 FROGGS :o)
12:46 * FROGGS really knows stuff
12:57 * colomon doesn't
12:58 xinming joined #perl6
13:00 dalek roast: e8859ce | usev6++ | S32-num/power.t:
13:00 dalek roast: Change some fudged tests for JVM from 'skipped' to 'todo'
13:00 dalek roast: review: https://github.com/perl6/roast/commit/e8859cead8
13:00 dalek roast: 8e3489c | usev6++ | S16-io/getc.t:
13:00 dalek roast: Unfudge passing test for rakudo.jvm
13:00 dalek roast: review: https://github.com/perl6/roast/commit/8e3489cff3
13:00 dalek rakudo/nom: 9047503 | lizmat++ | src/core/Mu.pm:
13:00 dalek rakudo/nom: Fix Empty warning on classes without attributes
13:00 dalek rakudo/nom:
13:00 dalek rakudo/nom: Spotted by arnsholt++
13:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9047503671
13:01 lizmat m: (class {}).new.say
13:01 camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context␤<anon>.new␤»
13:01 Sysaxed timotimo: Could not open timing file '/home/alex/git/perl6-bench/tim​ings/rakudo-moar/2014.01.json': No such file or directory at /home/alex/git/perl6-bench/analyze line 218.
13:01 Sysaxed timotimo: what?
13:04 dalek roast: cde72ee | usev6++ | S32-num/power.t:
13:04 dalek roast: Fix fudging (todo instead of skip)
13:04 dalek roast:
13:04 dalek roast: ... does what commit e8859ce was supposed to do
13:04 dalek roast: review: https://github.com/perl6/roast/commit/cde72eefb6
13:06 dalek roast: 7e2a68a | usev6++ | S32-num/power.t:
13:06 dalek roast: Fix quoting for fudging
13:06 dalek roast: review: https://github.com/perl6/roast/commit/7e2a68a90d
13:06 bartolin sorry for the noise ...
13:07 espadrine_ joined #perl6
13:17 lizmat m: (1 if 0).Str   # golfed down the Empty warning
13:17 camelia rakudo-moar 9b5c02: OUTPUT«use of uninitialized value of type Empty in string context␤»
13:19 lizmat m: Empty.Str   # even shorter golf?
13:19 camelia rakudo-moar 904750: OUTPUT«use of uninitialized value of type Empty in string context␤»
13:23 aborazmeh joined #perl6
13:23 aborazmeh joined #perl6
13:30 dalek roast: dc34eea | usev6++ | S06-macros/quasi-blocks.t:
13:30 dalek roast: Unfudge passing test for rakudo.jvm
13:30 dalek roast: review: https://github.com/perl6/roast/commit/dc34eeacfd
13:34 dalek roast: e4252cd | usev6++ | S06-macros/unquoting.t:
13:34 dalek roast: Unfudge passing test for rakudo.jvm
13:34 dalek roast: review: https://github.com/perl6/roast/commit/e4252cd33a
13:40 dalek roast: 6a71064 | usev6++ | S04-statements/loop.t:
13:40 dalek roast: Unfudge passing test for rakudo.jvm
13:40 dalek roast: review: https://github.com/perl6/roast/commit/6a71064e8d
13:52 tony-o [Tux]: csv::parser updated
13:54 dalek roast: 5232641 | usev6++ | S04-phasers/keep-undo.t:
13:54 dalek roast: Change fudged test for JVM from 'skipped' to 'todo'
13:54 dalek roast: review: https://github.com/perl6/roast/commit/52326411a8
13:54 dalek roast: cac9919 | usev6++ | S04-phasers/in-eval.t:
13:54 dalek roast: Unfudge 2 passing tests for rakudo.jvm
13:54 dalek roast: review: https://github.com/perl6/roast/commit/cac9919391
13:55 colomon hmmm, Inline::Python is failing with
13:55 colomon ===SORRY!===
13:55 colomon unable to find Inline/pyhelper.so IN @*INC
13:55 colomon (many times)
13:56 tadzik is that the panda .so problem that someone mentioned?
13:57 tadzik I get https://gist.github.com/ta​dzik/390b6c6ecbc9ac39f6d3 with Inline::Perl5
13:57 lizmat Inline::Python probably needs a temporary fix like f6e299335b30f398f533e in Inline::Perl5
13:57 tadzik and it clearly fails to build stuff, but thinks it succeeded
13:58 tadzik so LibraryMake/Build.pm itself are wrong
13:58 lizmat https://github.com/niner/Inline-Perl5/commi​t/f6e299335b30f398f533e29f56f01e7da5be1730
14:02 colomon tadzik: hmm…?  my guess would be it builds it, but then doesn’t know where to find what it has built
14:02 skids joined #perl6
14:02 colomon If I run Inline::Python’s configure.pl6 by hand, it definitely is building pyhelper.so
14:04 tadzik colomon: do you get a similar error?
14:04 tadzik ah, alright
14:08 lizmat colomon tadzik : it probably needs a similar patch to the one I did to Inline::Perl5
14:08 * skids reminds tadzik of the Grammar::BNF PRs
14:09 tadzik skids: I think I responded to both :)
14:09 tadzik lizmat: that's Inline::Perl5 I was building :)
14:09 tadzik but for me it failed, so that's different
14:09 lizmat ok
14:11 colomon lizmat: https://github.com/niner/Inline-Python​/blob/master/lib/Inline/Python.pm6#L13 seems to be the Inline::Python version?
14:11 colomon is the .substr(5) needed to skip by the file# bit?
14:11 lizmat yup
14:11 skids tadzik: Oh, hey you jut did! :-) I'm fine with bugs being assigned to me, and can help with Grammar::BNF proper, e.g. the package could use some POD and such.
14:11 lizmat it *is* a temporary hack
14:11 skids *just
14:12 tadzik skids: so we put both in one repo?
14:12 dalek roast: a99c96f | usev6++ | S02-literals/radix.t:
14:12 dalek roast: Join fudges for Moar und JVM to single line
14:12 dalek roast: review: https://github.com/perl6/roast/commit/a99c96f641
14:12 dalek roast: 0959146 | usev6++ | S32-str/words.t:
14:12 dalek roast: Change fudged tests for JVM from 'skipped' to 'todo'
14:13 dalek roast: review: https://github.com/perl6/roast/commit/0959146a6f
14:13 dalek roast: aacaa5e | usev6++ | S17-supply/list.t:
14:13 dalek roast: Unfudge passing tests for rakudo.jvm
14:13 dalek roast: review: https://github.com/perl6/roast/commit/aacaa5e9ab
14:16 lizmat battery&
14:17 skids tadzik: It's a matter of taste;  I'm not a big fan of microslicing myself.
14:17 tadzik skids: alright :)
14:18 tadzik skids: you're now a collaborator of Grammar::BNF
14:20 skids Cool.  I'll work some more on it tommorrow.
14:20 tadzik I also updated the repo description(s)
14:20 tadzik awesome, thanks :)
14:23 colomon okay, I can confirm that adding the .substr(5) makes Inline::Python pass all tests again.
14:23 tadzik skids: do you want to be 'skids' in LICENSE or some other name?
14:24 tadzik it's actually the first time I thought about this
14:25 skids tadzik: something is up with panda and the source-url field.  I'll massage the license, don't worry.
14:25 tadzik hm
14:26 tadzik oh, I see it
14:27 tadzik so it never worked:)
14:29 skids Hrm weird I just fixed a small thing that failed t/abnf, but I remember it working.  But turns out it wasn't a rakudo change of behavior.  bizarre.
14:32 lizmat joined #perl6
14:32 dalek roast: a5397a6 | usev6++ | S05-mass/properties-general.t:
14:32 dalek roast: Unfudge passing tests for rakudo.jvm
14:32 dalek roast: review: https://github.com/perl6/roast/commit/a5397a6a09
14:32 tadzik skids: json of META.info is apparently invalid
14:32 tadzik but I don't see it at all
14:33 skids oh, my fault.
14:33 tadzik ahhh
14:33 tadzik no comma
14:33 tadzik I'll fix it
14:33 tadzik or did you
14:34 skids nope.  Saw you say so first.
14:34 tadzik ok, now it's fixed
14:34 tadzik or so I hope :)
14:36 tadzik we'll have to wait for ecosystem-api to pick it up
14:36 lizmat if the problem is not caused by the @*INC changes, maybe it's caused by the Empty/Nil changes ?
14:36 skids Ah I was just about to ask whether there was a delay.
14:36 tadzik yeah, I think it's hourly updated
14:36 tadzik I don't think I ever taught panda to install stuff from github repos
14:37 tadzik oh yeah, I did :)
14:37 tadzik you can do panda install git://github.com/tadzik/Grammar-BNF.git
14:37 skids Yeah, otherwise it wouldn't have broken so immediately
14:38 skids I'll work on that new "Empty" warning in the t/abnf results later tonight.
14:38 skids But it installs now so \o/
14:39 lizmat m: Empty.Str
14:39 camelia rakudo-moar 904750: OUTPUT«use of uninitialized value of type Empty in string context␤»
14:39 lizmat I still don't understand that one
14:39 tadzik skids: yeah, awesome :)
14:41 skids tadzik++  Anyway, late, have to run.
14:43 dalek roast: c9e7946 | usev6++ | S05-mass/properties-derived.t:
14:43 dalek roast: Unfudge passing tests for rakudo.jvm
14:43 dalek roast: review: https://github.com/perl6/roast/commit/c9e7946599
14:44 _mg_ joined #perl6
14:45 timotimo o/
14:51 tadzik hello timotimo
14:51 jnthn o/ timotimo
14:52 tadzik can someone IO-savvy tell me something about the method used in https://github.com/tadzik/File-Find/pull/5/files?
14:52 tadzik calling .relative as a mens of converting slashes feels a bit weird
14:54 dalek mu: d3b2d38 | usev6++ | misc/rt.perl.org/cleanup_n​yc_hackathon_tickets.txt:
14:54 dalek mu: Keep track of merged and resolved tickets
14:54 dalek mu: review: https://github.com/perl6/mu/commit/d3b2d38025
14:57 tadzik is argumentless .relative a no-op?
15:04 * timotimo AFK again
15:06 raydiak looks like without an arg it makes it relative to the cwd, and it returns a string, so never a no-op per se
15:07 raydiak .IO.Str might be closer to what was intended if you want my guess
15:07 tadzik right, I'll have to get ahold of jnthn's laptop to see if it does what it should :)
15:08 tadzik unless someone can check it for me on windows
15:08 [Tux] I got this error, and aside what I did wrong, it could be more specific, like the rest of the errors:
15:08 [Tux] ===SORRY!===
15:08 [Tux] This type does not support positional operations
15:08 [Tux] What type? What line?
15:08 jnthn That looks like an internal compiler error, rather than one with your program.
15:09 lizmat also with --ll-exception ?
15:10 [Tux] https://gist.github.com/Tux/dfdab139e0d3b3befa5b
15:13 FROGGS joined #perl6
15:15 moritz seems I killed the www server :(
15:15 raydiak tadzik: at least as of our last star release (2015.03), I guess .Str just gives you back the string you started with, separators unchanged (tested under win 7)
15:15 raydiak .relative works though
15:15 * FROGGS finally arrived at home! /o/
15:16 raydiak welcome home FROGGS :)
15:16 FROGGS :o)
15:16 [Tux] lizmat, jnthn. do you want me to try to golf that?
15:16 lizmat yes, please
15:16 jnthn [Tux]: Please, I don't immediately see what's going on from the backtrace
15:16 * [Tux] hoped a "no, I already know what it is" :/
15:16 lizmat we have no idea
15:17 jnthn [Tux]: Sorry, I did try to make the ansewr that...
15:17 [Tux] (writing tests)--; # takes you off-track
15:17 jnthn Alas, don't see what it could obviously be.
15:18 ugexe m: my @a = 42; try { CATCH { default {} }; @a.clone }; say "alive" # from raydiak a few days ago
15:18 camelia rakudo-moar 904750: OUTPUT«This type does not support elems␤  in block <unit> at /tmp/OnSQFbb_5V:1␤␤»
15:22 raydiak #125109 I think we determined that it's from try not sinking hard enough, irclog link in the RT has the discussion
15:22 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125109
15:28 tadzik raydiak: that's silly
15:28 tadzik raydiak: how about .IO.path.Str?
15:28 moritz ok, turns out that the network config files on www had syntax errors
15:29 moritz and so after a reboot, it didn't configured any interface except for the loopback one
15:30 moritz and now it works again, except that logging in over IPv6 takes 5.5s
15:30 moritz whereas over IPv4 it's < 0.5s
15:30 raydiak tadzik: yep seems silly to me too...probably faster or something; same result inserting .path
15:30 tadzik 3>:(
15:31 tadzik can we have .normalize?
15:31 * tadzik off for now
15:31 raydiak \o
15:31 FROGGS m: say "foo\\bar".IO.path.Str
15:31 camelia rakudo-moar 904750: OUTPUT«foo\bar␤»
15:31 FROGGS m: say "foo\\bar".IO..cleanup.path.Str
15:31 camelia rakudo-moar 904750: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iQXUW_E57m␤Undeclared routine:␤    cleanup used at line 1␤␤»
15:31 FROGGS m: say "foo\\bar".IO.cleanup.path.Str
15:31 camelia rakudo-moar 904750: OUTPUT«foo\bar␤»
15:31 FROGGS m: say "foo\\bar".IO.cleanup.Str
15:31 camelia rakudo-moar 904750: OUTPUT«foo\bar␤»
15:32 FROGGS hmmm
15:32 lizmat end of day one at the OSDC.no&
15:32 [Tux] This also stinks: https://gist.github.com/Tux/626e1b6de467f7eec4f0
15:32 moritz if anybody finds a problem with our WWW server, please tell me ASAP (here or via email)
15:32 FROGGS moritz: k
15:32 moritz until then, I consider the current incident resolved :-)
15:36 berekuk_ joined #perl6
15:38 yqt joined #perl6
15:40 berekuk_ joined #perl6
15:40 coffee` joined #perl6
15:41 [Tux] jnthn, here you go:
15:41 [Tux] m: my%h=A:(1),B:(2);
15:41 camelia rakudo-moar 904750: OUTPUT«===SORRY!===␤This type does not support positional operations␤»
15:41 TimToady joined #perl6
15:42 [Tux] of course that should have been :A(1), :B(2)
15:42 [Tux] but the error didn't really help
15:43 masak er.
15:43 raydiak std: my%h=A:(1),B:(2);
15:43 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared names:␤       'A' used at line 1␤     'B' used at line 1␤Check failed␤FAILED 00:00 141m␤»
15:43 masak yeah, that's a better error, perhaps.
15:43 masak interestingly, STD doesn't parsefail on that.
15:44 * [Tux] thinks he found that pretty fast :)
15:45 raydiak .msg camelia help
15:45 yoleaux raydiak: Sorry, this command is admin-only.
15:45 raydiak .msg camelia usage
15:45 yoleaux raydiak: Sorry, this command is admin-only.
15:45 raydiak erm
15:47 masak today's autopun spotting: https://twitter.com/silverstar​22b/status/596885876795318272
15:47 * raydiak thought we had some kinda deparse but doesn't see it and could be confused again
15:47 raydiak hah
15:48 TimToady masak: yes, that's just a name extended with a pair to STD; making rakudo parse those is on my todo list
15:57 mst masak: I've trained my phone to produce 'autocockwreck'
15:59 tony-o m: sub a { caller.subname.say; }; sub b { a; }; b; #should this work? https://github.com/perl6/roast/blo​b/feeea523467f32716459dd65402bc734​41ceba7b/S06-advanced/caller.t#L10
15:59 camelia rakudo-moar 904750: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DxcPRNJ7Pu␤Undeclared routine:␤    caller used at line 1␤␤»
16:01 ugexe m: "foo\\bar".IO.resolve.say
16:01 camelia rakudo-moar 904750: OUTPUT«/home/camelia/foo\bar␤»
16:02 tony-o m: $*SPEC.catpath('foo','bar').IO.resolve.say
16:02 camelia rakudo-moar 904750: OUTPUT«Too few positionals passed; expected 4 arguments but got 3␤  in block <unit> at /tmp/L0TJ2y4q0H:1␤␤»
16:02 tony-o m: $*SPEC.catpath('', 'foo','bar').IO.resolve.say
16:02 camelia rakudo-moar 904750: OUTPUT«/home/camelia/foo/bar␤»
16:02 TimToady if we renamed Path to Fish, we could have .catfish
16:03 tony-o lol
16:03 TimToady "fishing in the filesystem"
16:03 tony-o perl6 a language of double entendres
16:04 TimToady .oO("you can tuna filesystem, but you can't tuna fish")
16:05 TimToady we really need a listop 'tuna' too
16:05 [Tux] crap^hb
16:06 tony-o m: sub a { b(); }; sub b { caller.subname; }; say a();
16:06 TimToady cra^tp if you have twiddle
16:06 camelia rakudo-moar 904750: OUTPUT«5===SORRY!5=== Error while compiling /tmp/t59tBby3bu␤Undeclared routine:␤    caller used at line 1␤␤»
16:06 tony-o is that NYI or is the roast out of date ?
16:07 TimToady callframe?
16:08 raydiak m: say callframe
16:08 camelia rakudo-moar 904750: OUTPUT«CallFrame.new(level => 2, annotations => {:file("/tmp/evXdmF9xo0"), :line("1")}<>, my => EnumMap.new("\$_" => Mu, :GLOBALish(Mu), "\$!" => Mu, "!UNIT_MARKER" => Mu, "\$?PACKAGE" => Mu, :EXPORT(Mu), "::?PACKAGE" => Mu, "\$/" => Mu, "\$=pod" => Mu))␤»
16:08 tony-o i was looking at this file: https://github.com/perl6/roast/b​lob/master/S06-advanced/caller.t
16:09 _mg_ joined #perl6
16:09 diana_olhovik joined #perl6
16:10 tony-o m: sub a { b(); }; sub b { callframe(1).perl; }; say a();
16:10 camelia rakudo-moar 904750: OUTPUT«CallFrame.new(level => 3, annotations => {:file("/tmp/Vnqtyhw70E"), :line("1")}<>, my => EnumMap.new("\$/" => Mu, "\$_" => Mu, "\$!" => Mu, "\&?ROUTINE" => Mu, :RETURN(Mu), "\$*DISPATCHER" => Mu))␤»
16:11 raydiak looks like caller is still speculated at S06:2651
16:11 synbot6 Link: http://design.perl6.org/S06.html#line_2651
16:11 FROGGS TimToady: do you think we should improve :P5 regexes this year?
16:11 [Tux] FROGGS, improve speed instead :P
16:12 FROGGS [Tux]: that's not my expertise :o)
16:12 FROGGS and tbh, I don't really care... it is fast enough
16:12 TimToady I think if we improve P6 regexes, P5 will also get better
16:12 TimToady P65 regexes are not fast enough yet
16:12 FROGGS TimToady: I meant feature wise
16:12 TimToady P6
16:12 [Tux] IMHO speeding up P6 regexes would really help
16:13 [Tux] I think currently the speed of P6 regexes is my bottleneck
16:13 * [Tux] is really impressed by the non-overhead of using objects
16:14 [Tux] adding a layer almost adds no extra time
16:17 raydiak regex interpolations sure would be nice to improve, speed-wise
16:17 FROGGS and sanity wise...
16:17 FROGGS though, I have no idea how to get rid of that EVAL
16:18 raydiak interpolations are done via EVAL?
16:19 tony-o m: sub a { my $r; b; $r.say; }; sub b { callframe(1).my<$r> = 'sup perl6'; }; a;
16:19 camelia rakudo-moar 904750: OUTPUT«sup perl6␤»
16:19 tony-o that's pretty cool
16:20 FROGGS m: my $regex = "a+"; say "aaaaabbb" ~~ / <$regex> / # raydiak: in this case yes
16:20 camelia rakudo-moar 904750: OUTPUT«use of uninitialized value of type Empty in string context␤「aaaaa」␤»
16:20 FROGGS O.o
16:20 FROGGS that warning is new I guess
16:21 raydiak ah
16:21 TimToady raydiak: yes, getting rid of that EVAL is also in my todo list, but the right way to do it involves parsing a restricted subset of regex to avoid injections
16:22 [Tux] 95% of my regex use is of that type I guess
16:23 FROGGS ewww
16:23 TimToady arguably it'd be okay if Empty stringifies to ''
16:25 thou joined #perl6
16:26 TimToady but we'll need to check what's really going on there, to see if it's a mild braino
16:26 FROGGS that might even solve:
16:26 FROGGS m: say EnumMap.new.perl
16:26 camelia rakudo-moar 904750: OUTPUT«EnumMap.new(Nil)␤»
16:26 Vlavv joined #perl6
16:26 raydiak yeah I've been seeing that warning around a lot...since Nil stringified that way, and () did too, was wondering why it's not allowed for Empty
16:26 FROGGS ohh, perhaps not
16:26 TimToady m: say ~Nil
16:26 camelia rakudo-moar 904750: OUTPUT«␤»
16:26 TimToady hmm
16:26 raydiak m: class { method m { } }.^lookup("m").signature.^methods.perl.say
16:26 camelia rakudo-moar 904750: OUTPUT«(ForeignCode.new(), ForeignCode.new(), ForeignCode.new(), ForeignCode.new(), method arity (Signature $: *%_) { #`(Method|35827392) ... }, method count (Signature $: *%_) { #`(Method|35827544) ... }, method params (Signature $: *%_) { #`(Method|35827696) ..…»
16:27 raydiak ^ that one's fixed already too I guess
16:27 TimToady from Nil.pm: method Str(*@) { '' }       # XXX still needs warning
16:28 TimToady perhaps now that Empty is split out, Nil can warn, and Empty not, if we decide that makes sense
16:28 TimToady but EnumMap.new(Nil) seems wrongish
16:28 dalek roast: fa77e08 | usev6++ | S16-filehandles/io.t:
16:28 dalek roast: Change fudged tests from 'skipped' to 'todo'
16:28 dalek roast: review: https://github.com/perl6/roast/commit/fa77e08a7e
16:29 TimToady m: say EnumMap.new(Nil).perl
16:29 camelia rakudo-moar 904750: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/QXRUCvVAtC:1␤␤»
16:29 TimToady doesn't even round-trip right
16:29 tony-o that's what broke CSV::Parser ^
16:30 TimToady m: say EnumMap.new(Empty).perl
16:30 camelia rakudo-moar 904750: OUTPUT«EnumMap.new(Nil)␤»
16:30 tony-o m: say EnumMap.new.perl
16:30 camelia rakudo-moar 904750: OUTPUT«EnumMap.new(Nil)␤»
16:31 TimToady oh, it's the dratted randomization, which I've been pulling out of the .perls as fast as I see them
16:31 TimToady .perl doesn't need randomization
16:32 TimToady .perl should prefer canonicalization to sorted
16:33 TimToady testing a fix
16:33 masak +1
16:34 RabidGravy joined #perl6
16:36 tony-o m: sub a { my $r; b; $r.say; }; sub b { callframe(Sub).my<$r> = 'sup perl6'; }; a;
16:36 camelia rakudo-moar 904750: OUTPUT«Type check failed in binding $level; expected 'Int' but got 'Sub'␤  in sub b at /tmp/SwENu3uNpM:1␤  in sub a at /tmp/SwENu3uNpM:1␤  in block <unit> at /tmp/SwENu3uNpM:1␤␤»
16:36 dalek rakudo/nom: ba654d8 | TimToady++ | src/core/EnumMap.pm:
16:36 dalek rakudo/nom: EnumMap.perl should sort, not shuffle
16:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ba654d8d01
16:37 FROGGS m: say ().pick
16:37 camelia rakudo-moar 904750: OUTPUT«Nil␤»
16:37 FROGGS TimToady: that's also wrong, no?
16:38 TimToady yes
16:38 TimToady it's assuming that .pick(1) is some kind of minimum
16:39 TimToady you wanna fix it, or shall I
16:40 FROGGS I tried to fix it and failed, so.... :o)
16:40 TimToady wait, that one's okay, it's .pick(*) that should not return Nil
16:40 FROGGS m: say ().pick(*)
16:40 camelia rakudo-moar 904750: OUTPUT«Nil␤»
16:40 FROGGS aha, okay
16:40 FROGGS now I even understand the issue
16:40 TimToady since .pick defaults to 1
16:41 * TimToady will backlog, and revisit if you don't get to it
16:44 kaare__ joined #perl6
16:45 raydiak m: (?*).perl.say
16:45 camelia rakudo-moar 904750: ( no output )
16:45 raydiak m: say ?*
16:45 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:45 TimToady weird
16:46 TimToady m: say (?*).Str
16:46 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:46 TimToady m: say (?*).gist
16:46 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:46 raydiak m: say (?*).foobar
16:46 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:46 TimToady ah
16:47 TimToady m: say ((?*)).perl
16:47 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:47 TimToady m: ((?*)).perl.say
16:47 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:48 TimToady m: .perl.say given ?*
16:48 camelia rakudo-moar 904750: OUTPUT«WhateverCode.new()␤»
16:49 timotimo %)
16:49 timotimo infectious
16:50 * raydiak was thinking the other day about lazy values that are infections like whatever/whatevercode
16:51 raydiak though now that I think about it you could probably write them *as* whatevercode and be done :)
16:51 TimToady well, you'd have to call them implicitly at some FETCHish point
16:52 timotimo well, WhateverCode is strictly syntactic
16:53 dalek roast: 45947e0 | usev6++ | S02-types/array.t:
16:53 dalek roast: Change fudged test from 'skipped' to 'todo'
16:53 dalek roast: review: https://github.com/perl6/roast/commit/45947e02c1
16:53 dalek roast: 43e86ad | usev6++ | S06-signature/definite-return.t:
16:53 dalek roast: Use unique ticket number for similiar tests
16:53 dalek roast: review: https://github.com/perl6/roast/commit/43e86ade71
16:53 raydiak m: my $a = Whatever; say $a + 1
16:53 camelia rakudo-moar ba654d: OUTPUT«use of uninitialized value of type Whatever in numeric context␤1␤»
16:53 raydiak m: my $a = *; say $a + 1
16:54 camelia rakudo-moar ba654d: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/cVNiu6H4K_:1␤␤»
16:54 raydiak ah sad
16:55 raydiak guess it'd be better as a proxy
16:55 TimToady one could imagine a Lazy type outside of Any that "autothreads" to a FETCH
16:55 raydiak Ah, so it collapses at the same points as junctions?
16:56 TimToady nod
16:56 raydiak I like it...
16:57 TimToady I think of Mu as really meaning "concept", where Any is the particular concept of a single object
16:57 tony-o m: sub a { my $r; await start { sleep .1; b; } $r.say; }; sub b { callframe(1).my<$r> = 'sup perl6'; }; a;
16:57 camelia rakudo-moar ba654d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qsQ7KI_dUh␤Strange text after block (missing semicolon or comma?)␤at /tmp/qsQ7KI_dUh:1␤------> 3 a { my $r; await start { sleep .1; b; }7⏏5 $r.say; }; sub b { callframe(1).my<$r> ␤    expecting an…»
16:58 tony-o m: sub a { my $r; await start { sleep .1; b; }; $r.say; }; sub b { callframe(1).my<$r> = 'sup perl6'; }; a;
16:58 camelia rakudo-moar ba654d: OUTPUT«===SORRY!===␤Cannot modify an immutable Any␤»
16:58 TimToady I suppose we could go as far as to define a Concept type under Mu, and put Junctions under that, along with any other concepts that go there, like Each or Lazy
16:59 TimToady then we could do things like $type ~~ Concept without getting false positives on Any ~~ Mu
17:03 TimToady otoh, we can always say !~~ Any currently, so I suppose we should ask ourselves whether anything can exist under Mu that is neither an object nor a concept
17:04 raydiak could we put all the "autothreading"/FETCH stuff in Concept and subclass it?  if that behavior weren't so tied up in Junction specifically, we'd have implemented Each by now b/c it'd be far easier, and this Lazy idea, etc
17:04 raydiak or maybe that's a subclass of Concept, even
17:06 FROGGS m: sub foo { return }; say foo # is that correct?
17:06 camelia rakudo-moar ba654d: OUTPUT«Nil␤»
17:06 raydiak I tried to look in Junction to see how hard it'd be to make Each a long time ago, but was pretty lost and moved on to other things
17:07 TimToady FROGGS: I've been vacillating on that one; it might depend on whether the --> is listy
17:09 FROGGS TimToady: the .pick(*) issue boils down to that
17:14 TimToady testing a fix that does return ()
17:15 TimToady (there and in .roll)
17:17 raydiak .oO( wonder if Concept would instead be Abstract or something, since we already established that Any is a concept too, just a particular case of one )
17:20 TimToady well, we do use 'conceptual' to mean 'not concrete' already
17:20 TimToady though we already have non-concrete types inside Any, go figure
17:21 TimToady but those are platonic concepts, not aristotelian concepts :)
17:21 tony-o m: sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; EVAL "b({ c; });"; }; a;
17:21 camelia rakudo-moar ba654d: OUTPUT«c␤5===SORRY!5=== Error while compiling EVAL_0␤Calling b(Bool) will never work with declared signature ($r)␤at EVAL_0:1␤------> 3<BOL>7⏏5b(True);␤»
17:21 raydiak wouldn't be Perl if there weren't exceptions to the rule :)
17:22 raydiak but yeah, true that Concept does already have a pretty heavy "abstract" implication when you put it that way
17:22 tony-o sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; b({ c; });}; a;
17:22 tony-o m: sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; b({ c; });}; a;
17:22 camelia rakudo-moar ba654d: OUTPUT«b␤c␤»
17:23 tony-o hm
17:25 raydiak m: sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; EVAL 'b({ c; });'; }; a;
17:25 camelia rakudo-moar ba654d: OUTPUT«b␤c␤»
17:25 tony-o sub a { sub b(Callable $r) { "b".say; $r(); }; sub c() { "c".say; }; EVAL "b({ c; });"; }; a; #ugexe
17:25 _mg_ joined #perl6
17:26 raydiak "{ ... }" interpolates
17:26 tony-o duh
17:26 tony-o thanks raydiak
17:26 raydiak you're welcome :)
17:29 * raydiak wonders if he wants to bus across town again today to pull a water pump from the junkyard to fix the car for the 3rd time in the past month
17:30 * TimToady wonders if the last two fixes were to the water pump as well... :)
17:31 raydiak the bussing part isn't so bad, it's the walking around with engine grime up to your elbows carrying tools and parts between busses and destinations that's the least fun part
17:31 TimToady take a can of that degreaser stuff
17:32 raydiak nope...last was a worn tire that decided to go flat all at once...one before that was the radiator blowing up because the radiator fan failed a day or two before it turned nice and I got stuck in stop & go traffic on an on-ramp
17:32 TimToady water pump electrical or mechanical?
17:33 raydiak degreaser stuff...now that is something I'd keep around if I were thinking ahead.  or even behind.
17:33 raydiak mechanical, timing belt drives it
17:33 TimToady so unlikely to have raced it when radiator was empty...
17:33 TimToady well, there's worse things to replace
17:34 TimToady water pumps are usually pretty easy
17:34 raydiak actually, on this one, the accessory drive belt drives the water pump, which saves me a *ton* of work not taking the timing cover off and the timing belt and all that fiddly stuff
17:35 raydiak but yeah the radiator thing probably helped induce the water pump, but it's been failing for a year, I just forgot because it settled down when it got cold, didn't start rattling again until the day before it broke
17:36 TimToady maybe we should rename this channel to #cartalk so that nothing is OT...oh wait, that's already true...
17:36 meisl joined #perl6
17:36 TimToady well, have the appropriate amount of fun
17:37 raydiak them guys are hilarious :)  and know what they're talking about at the same time, it's cool
17:38 raydiak thanks, will do...at least I got paid for a site I did so if I feel too sorry for myself this time I can pay a friend for a ride or maybe a cab or something
17:41 dalek rakudo/nom: 8139c05 | TimToady++ | src/core/List.pm:
17:41 dalek rakudo/nom: don't return Nil from listy .pick or .roll
17:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8139c05415
17:45 molaf joined #perl6
17:45 tony-o i think my rib came dislodged
17:45 tony-o oops
17:47 raydiak I don't feel so bad about bussing now, at least all my ribs are where they belong :)
17:47 tony-o i did mine riding a bike so don't do that :-)
17:48 TimToady when that happened to Adam he ended up with Eve :)
17:48 meisl hi all, I'm stuck with building an NQP with moar backend on Win XP - anyone to the rescue?
17:48 tony-o all i got was some road rash a 'Did Not Finish' on my race card
17:49 raydiak tony-o: heh guess it's good I don't have one...but ouch sorry to hear it :P
17:49 FROGGS meisl: I can help
17:49 TimToady meisl: several of our devs work on Windows, so should be some help available, if you can be more specific
17:49 meisl (oh, and I once broke a rib in a bike accident, too)
17:49 tony-o meisl: how are you trying to build moar/nqp?
17:49 meisl thx a lot
17:50 meisl i have rakudo* 2015-03 installed from msi, and cloned the NQP repo
17:50 FROGGS meisl: why do you want to (re)build nqp when you have rakudo star installed?
17:51 meisl FROGGS: I want to explore the toolchain, ie make a compiler for my own toy language
17:51 kaare__ joined #perl6
17:52 meisl maybe I don't even need NQP if I have Rakudo*?
17:52 tony-o you can use the NQP that came with it?
17:53 meisl tony-o: I tried to `use NQPHLL` and then subclass HLL::Grammar but it isn't found
17:53 meisl (NQPHLL is but HLL::Grammar isn't)
17:56 FROGGS nqp-m: use NQPHLL
17:56 camelia nqp-moarvm: ( no output )
17:56 FROGGS meisl: 'nqp-m.exe -e "use NQPHLL"' should work
17:57 meisl FROGGS: yes, this works, but as I said I cannot use HLL::Grammar which I think should be in there
17:57 dalek rakudo/nom: 92aed8b | TimToady++ | src/core/Mu.pm:
17:57 dalek rakudo/nom: remove useless parens
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/92aed8be9f
17:58 FROGGS nqp-m: use NQPHLL; class Foo is HLL::Grammar { }
17:58 camelia nqp-moarvm: ( no output )
17:58 FROGGS meisl: see, the symbol is available
17:58 meisl (I've just read jnthns http://edumentab.github.io/rakudo-and-​nqp-internals-course/slides-day1.pdf)
17:58 meisl oh...
17:59 FROGGS m: use NQPHLL:from<NQP>; say HLL::Grammar
17:59 camelia rakudo-moar ba654d: OUTPUT«Method 'gist' not found for invocant of class 'HLL::Grammar'␤  in block <unit> at /tmp/gdVG1RJ9ny:1␤␤»
18:00 FROGGS it is available that way too, but then you have trouble crossing the NQP<->Perl 6 language barrier
18:01 meisl hmm, yes. I've done quite some stuff in P6 already but it's becoming too slow
18:02 meisl so maybe I should switch to NQP entirely
18:03 meisl FROGGS: what is the :from<NQP> doing/saying?
18:04 FROGGS meisl: the module loader is pluggable, and :from says to use such a plugin
18:05 meisl aha, so can I say this in P6, too?
18:09 meisl yes, I can! That's great :)
18:09 meisl ok, that actually solves my initial problem - THX a lot!
18:09 FROGGS the pluggable module loader is in rakudo only
18:09 FROGGS :o)
18:11 meisl I was only trying to build NQP because I couldn't get hold of HLL::Grammer / Actions / Compiler
18:11 FROGGS I see
18:11 meisl but what did you mean by problems with crossing language barrier, exactly?
18:12 FROGGS meisl: you might want to look at https://github.com/arnsholt/snake
18:13 FROGGS meisl: you can load NQP modules, and inherit from NQP classes, but these are not quite Perl 6ish
18:13 FROGGS so you need to high level-ize stuff you get from NQP, and do the opposite when passing stuff to NQP
18:14 tony-o https://gist.github.com/to​ny-o/0f8539d44a452d3765a8
18:15 domidumont joined #perl6
18:16 meisl sure, no .gist as we've seen. But I don't (yet) want to interoperate with P6, just see if I can push it to be self-hosting
18:16 domidumont joined #perl6
18:16 meisl thx for the github link, seems helpful
18:17 meisl the other thing is that I've got quite a bunch of tests (in P6) already. How would I go porting them to NQP?
18:18 meisl anything like Test.pm / prove in NQP?
18:24 bartolin I'm looking at S06-signature/unspecified.t in roast and I wonder what's the right way to compare signatures.
18:24 bartolin can I rely on using .perl on a signature?
18:25 bartolin m: sub positional { @_[0] }; say so &positional.signature.perl eq ':(*@_)'
18:25 camelia rakudo-moar 92aed8: OUTPUT«True␤»
18:26 bartolin I tried ~~ but it didn't work as expected
18:26 bartolin m: sub named { %_<bravo> }; say so &named.signature.perl ~~ :(*%_)
18:26 camelia rakudo-moar 92aed8: OUTPUT«False␤»
18:27 bartolin m: sub named { %_<bravo> }; say so &named.signature ~~ :(*%_)
18:27 camelia rakudo-moar 92aed8: OUTPUT«False␤»
18:27 bartolin ^^ that's what I meant
18:27 tony-o m: sub named { %_<bravo>; }; say &named.signature;
18:27 camelia rakudo-moar 92aed8: OUTPUT«(*%_)␤»
18:27 tony-o m: sub named { %_<bravo>; }; say &named.signature.^methods;
18:27 camelia rakudo-moar 92aed8: OUTPUT«<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist␤»
18:27 tony-o m: sub named { %_<bravo>; }; say &named.signature.params;
18:27 camelia rakudo-moar 92aed8: OUTPUT«*%_␤»
18:28 tony-o m: sub named { %_<bravo>; }; say &named.signature.params ~~ :(*%_);
18:28 camelia rakudo-moar 92aed8: OUTPUT«False␤»
18:28 tony-o m: sub named { %_<bravo>; }; say &named.signature.params.WHAT;
18:28 camelia rakudo-moar 92aed8: OUTPUT«(List)␤»
18:28 tony-o m: sub named { %_<bravo>; }; say &named.signature.params ~~ (*%_);
18:28 camelia rakudo-moar 92aed8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/22HNf3UrS3␤Undeclared name:␤    _ used at line 1␤␤»
18:29 bartolin m: sub positional { @_[0] }; say so &positional.signature ~~ :(*@_)  # seems to work for positional parameters
18:29 camelia rakudo-moar 92aed8: OUTPUT«True␤»
18:29 bartolin m: sub positional { @_[0] }; say so :(*@_) ~~ &positional.signature
18:29 camelia rakudo-moar 92aed8: OUTPUT«True␤»
18:31 meisl FROGGS, tony-o: a great big THX for your help, you got me stupid going again :D
18:32 tony-o m: sub named { @_[0]; }; say &named.signature.params ~~ :(*@_);
18:32 camelia rakudo-moar 92aed8: OUTPUT«True␤»
18:32 FROGGS *g*
18:32 tony-o m: sub named { %_<hi>; }; say &named.signature.params ~~ :(*%_);
18:32 camelia rakudo-moar 92aed8: OUTPUT«False␤»
18:32 tony-o m: sub named { %_<hi>; }; say &named.signature.params;
18:32 camelia rakudo-moar 92aed8: OUTPUT«*%_␤»
18:33 tony-o m: sub named { %_<hi>; }; say &named.signature.params.^methods;
18:33 camelia rakudo-moar 92aed8: OUTPUT«new to from fmt flat list lol flattens Capture Parcel Supply eager elems gimme iterator munch pick pop shift plan roll reverse rotate splice sort uniq unique squish rotor REIFY FLATTENABLE_LIST FLATTENABLE_HASH reduce sink STORE_AT_POS combinations permuta…»
18:33 FROGGS meisl: NQP has is() and ok() built in
18:34 FROGGS nqp-m: plan 42; is(11, 12, 'huh')
18:34 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "plan 42; i"␤   at gen/moar/stage2/NQPHLL.nqp:516  (/home/camelia/rakudo-inst-2/share​/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:921  (/home/camelia/rakudo-inst-2/share/​nqp/lib/nqp.moarvm:comp_unit:872)␤ from gen/…»
18:34 FROGGS nqp-m: plan(42); is(11, 12, 'huh')
18:34 camelia nqp-moarvm: OUTPUT«1..42␤Cannot invoke this object (REPR: Null, cs = 0)␤   at /tmp/VSHXg0Xz7j:1  (<ephemeral file>:<mainline>:34)␤ from gen/moar/stage2/NQPHLL.nqp:1289  (/home/camelia/rakudo-inst-2/share​/nqp/lib/NQPHLL.moarvm:eval:190)␤ from gen/moar/stage2/NQPHLL.nqp:1487  …»
18:34 meisl FROGGS: is() coerces to Str (or str?) and then does eq?
18:34 FROGGS nqp-m: plan(42); ok(11 == 12, 'huh')
18:34 camelia nqp-moarvm: OUTPUT«1..42␤not ok 1 - huh␤»
18:34 FROGGS meisl: just figured that there is no is(), just ok()
18:35 meisl ;) just guessed
18:35 meisl but that's fine, I can build on that
18:37 meisl hmm, but how come there isn't some infrastructure? I mean, maybe I should take a look at how NQP is tested, right?
18:39 yqt joined #perl6
18:41 FROGGS meisl: right
18:41 FROGGS meisl: in one of the test files is an is() sub I think
18:46 meisl FROGGS: https://github.com/perl6/nqp/blob/5a33762ac9f04​46cb14cea39308ac767660d2372/t/hll/06-sprintf.t
18:47 meisl but expects str s and simply does eq - anyways, I never felt comfortable with this auto-coercion in tests, quite often doing `cmp_ok ..., '===', ...` or similar
18:48 FROGGS aye
18:48 dalek specs: 221b27d | (Steve Mynott)++ | S99-glossary.pod:
18:48 dalek specs: typos and whitespace fixes
18:48 dalek specs: review: https://github.com/perl6/specs/commit/221b27df6c
18:49 meisl there seems to be a plan(), though
18:49 meisl (never a bad thing to have `plan`)
18:51 moritz I don't see is() coercion any more or less critical than infix:<eq>, infix:<==> coercing
18:52 krakan_ at the OSDC.no panel debate yesterday there was an argument whether Perl6 was released or not
18:52 krakan_ one criteria baing that there was no Debian package other than on Ubuntu
18:53 krakan_ I then offered to make sure to change that
18:53 dalek roast: 2e6f3e1 | usev6++ | S06-signature/unspecified.t:
18:53 dalek roast: Use .perl to compare signatures; tests are passing now
18:53 dalek roast: review: https://github.com/perl6/roast/commit/2e6f3e1695
18:54 meisl moritz: in tests, otherwise it's fine. but maybe it's just that I'm not used to it (I worked P5 for quite a time but started doing tests only later and elsewhere)
18:54 krakan_ but as there is in fact such a package since a couple of years I've instead contacted the maintainers to offer help in updating the packages
18:54 moritz ++krakan_
18:55 moritz also, is_eqv exists
18:55 moritz erm, is_deeply
18:55 FROGGS krakan_: make sure to talk to domidumont
18:57 meisl moritz: well, `is_deeply` just does `is` recursively, doesn't it?
18:57 nebuchadnezzar krakan_: https://bugs.debian.org/750837 in NEW queue https://ftp-master.debian.org/new.html
18:57 meisl moritz: (same coercion going on, I mean)
18:59 moritz meisl: no, it uses infix:<eqv>
19:00 krakan_ nebuchadnezzar: yes, I saw that - makes it a bit easier :)
19:00 meisl moritz: oh, didn't know, thx
19:00 krakan_ FROGGS: OK, will do - is he working on that as well?
19:06 meisl hmm, again re tests: seems I'm doing things as inefficient as can be ... I'm using P5's (!) `prove`: `C:\Perl\bin\prove "perl6-m -Ilib" ...`
19:08 meisl time ago I couldn't figure any other way, but now I have to speed this up - the whole suit is now over 10 min!
19:08 moritz meisl: you might want to precompile your modules for testing
19:08 moritz ufo && make test
19:08 moritz https://github.com/masak/ufo
19:08 moritz (be sure to read the README)
19:09 meisl moritz: yes I do want to precompile them, but wasn't able to (looking at ufo now)
19:10 domidumont krakan_: yes, I'm the sponsor of these package (I.e I'm the Debian Developer that review and upload the packages). Unfortunately, I lack time to be more active
19:10 * nebuchadnezzar receives a uninterruptible SIGSTOMAC, see you
19:10 meisl (still choking on the README...)
19:12 zakharyas joined #perl6
19:13 brrt joined #perl6
19:14 brrt \o
19:15 krakan_ domidumont: OK, cool! I have some time to spend on this so I hope I can help.
19:24 dalek rakudo/nom: 6c5d82c | TimToady++ | src/core/Nil.pm:
19:24 dalek rakudo/nom: Empty should stringify to '' without complaint
19:24 dalek rakudo/nom:
19:24 dalek rakudo/nom: (Nil.Str *should* warn, but that's a different issue, with associated breakage.)
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c5d82c044
19:24 dalek rakudo/nom: 16ba247 | TimToady++ | src/core/Mu.pm:
19:24 dalek rakudo/nom: restore use of 'if' now that Empty.Str is ''
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16ba247496
19:27 brrt abbreviated adverb form. wow
19:27 meisl moritz: sounds all great, so I did `panda install ufo`, then `ufo & nmake test` (on WinXP) - and got `Syntax error: mkdir -p blib`
19:28 meisl moritz: I know what the -p is for, just have to adapt it for Win - where?
19:29 moritz meisl: uhm, no idea, never worked with Perl 6 + Windows
19:29 moritz sorry
19:29 TimToady there's a very odd bug if we make Nil.Str warn; a $setting_name ne 'CORE' issues the warning despite both $setting_name and 'CORE' being defined
19:30 mr_ron joined #perl6
19:30 meisl moritz: not a problem at all, many thx for the hint. If I find a workaround I'll pull-request :)
19:31 moritz meisl: as a workaround, 'panda install .' will also precompile and run the tests. Plus installing the module, that is :-)
19:31 meisl oh, never thought about this...
19:31 moritz fwiw rakudo's Makefile uses `perl -MExtUtils::Command -e mkpath $dir' instead of `mkdir -p $dir'
19:32 meisl that should be it, that'd be a fix rather than a workaround
19:33 _mg_ joined #perl6
19:33 timotimo brrt: you mean like :6perl?
19:33 brrt like that
19:33 meisl moritz: aye, line 14 in bin/ufo - to be tried
19:38 mr_ron m: my regex divider { x }; 'aaaxbbbxccc'.split(&divider).say; my token d2 { x }; 'aaaxbbbxccc'.split(&d2).say # why won't token split
19:38 camelia rakudo-moar 92aed8: OUTPUT«aaa bbb ccc␤aaaxbbbxccc␤»
19:41 meisl moritz: it's strange, hackily changing it in c:\rakudo\languages\perl6\site\bin\ufo - had no effect...?! Anyways, I'll investigate and thx :)
19:42 mr_ron m: my token divider { x }; 'aaaxbbbxccc'.split(&divider, 2).say;
19:42 camelia rakudo-moar 92aed8: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Null, cs = 0)␤»
19:42 mr_ron m: my regex divider { x }; 'aaaxbbbxccc'.split(&divider, 2).say;
19:42 camelia rakudo-moar 92aed8: OUTPUT«aaa bbbxccc␤»
19:43 vendethiel joined #perl6
19:44 dalek roast: 99a3eed | usev6++ | S02-literals/quoting.t:
19:44 dalek roast: Fix and unfudge 3 tests
19:44 dalek roast: review: https://github.com/perl6/roast/commit/99a3eed0f0
19:47 vendethiel o/, #perl6
19:47 bartolin std: EVAL("(q\0foo bar\0)")
19:47 camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
19:49 bartolin m: say EVAL("(q\0foo bar\0)")
19:49 camelia rakudo-moar 16ba24: OUTPUT«foo bar␤»
19:57 muraiki joined #perl6
20:01 mr_ron Why don't tokens work with split.  Wouldn't one want them for better perf than regex?
20:03 FROGGS mr_ron: I bet that's a bug
20:03 masak got an example?
20:03 FROGGS m: my token divider { x }; 'aaaxbbbxccc'.split(&divider, 2).say;
20:03 camelia rakudo-moar 16ba24: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Null, cs = 0)␤»
20:03 FROGGS like ten lines ago
20:04 FROGGS m: my token divider { x }; 'aaaxbbbxccc'.split(/<&divider>/, 2).say;
20:04 camelia rakudo-moar 16ba24: OUTPUT«aaa bbbxccc␤»
20:10 silug joined #perl6
20:11 lizmat joined #perl6
20:14 masak even if it maybe shouldn't work in the first way, the message feels like it could be improved.
20:14 lizmat m: say ().pick(1)
20:14 camelia rakudo-moar 16ba24: OUTPUT«␤»
20:15 lizmat m: say ().pick(1).WHAT
20:15 camelia rakudo-moar 16ba24: OUTPUT«(Parcel)␤»
20:15 lizmat m: say ().pick().WHAT
20:15 camelia rakudo-moar 16ba24: OUTPUT«Nil␤»
20:15 lizmat I would argue that the former should also be Nil
20:15 mr_ron if you are including it inside a regex like /<&divider>/  are you getting any perf benefit from no backtracking or just re-use?
20:15 FROGGS lizmat: yes, I think so too
20:16 lizmat m: say ().pick(3).WHAT  # should be Empty, I think
20:16 camelia rakudo-moar 16ba24: OUTPUT«(Parcel)␤»
20:16 dalek perl6-examples: 9ba959a | (Steve Mynott)++ | categories/cookbook/01strings/01-0 (2 files):
20:16 dalek perl6-examples: correct name
20:16 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/9ba959ab3f
20:16 FROGGS mr_ron: I dunno, I did not benchmark it yet
20:18 lizmat TimToady: why would one return () instead of Empty ?
20:18 lizmat TimToady: especially since the scalar case returns Nil ?
20:19 mr_ron thanks for looking at my under informed questions.  I was playing with the split words hash example from yesterday.
20:26 lizmat TimToady: re https://github.com/rakudo/raku​do/commit/ba654d8d013eeaaee9cb : if .perl is for roundtripping, why should the pairs be ordered at all?
20:26 lizmat I can see that for .gist
20:27 lizmat the reason it had a .pick(*) at all, was to simulate irreproducible hash order
20:27 lizmat which we now have, so I think EnumMap should neither .pick(*) or .sort at all
20:35 mr_ron left #perl6
20:38 Sysaxed joined #perl6
20:39 Sysaxed timotimo: hey, yesterday perl6-bench failed half way through
20:39 dalek rakudo/nom: 70ac241 | lizmat++ | src/core/List.pm:
20:39 dalek rakudo/nom: Make List.roll(1)/pick(1) match List.roll/pick
20:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70ac241f82
20:39 timotimo damn
20:39 Sysaxed timotimo: Could not open timing file '/home/alex/git/perl6-bench/tim​ings/rakudo-moar/2014.01.json': No such file or directory at /home/alex/git/perl6-bench/analyze line 218.
20:39 timotimo ... huh?
20:40 Sysaxed timotimo: I've tried running it again and got the same erro
20:40 Sysaxed r
20:40 Sysaxed so, any idea?
20:40 * lizmat hopes TimToady doesn't think  https://github.com/rakudo/rakudo/commit/70ac241f82 smells too much
20:45 Sysaxed timotimo: I have not looked deeply into the code, but the error is just weird
20:45 Sysaxed timotimo: as far as I can see it should compile some other stuff, why would it even touch timing files?
20:45 kurahaupo1 joined #perl6
20:45 timotimo to write out results from benchmarking?
20:46 Sysaxed timotimo: if some of the stuff is still not compiled? I'm not sure...
20:48 Sysaxed timotimo: anyway, line 218 attempts to read the file
20:49 raydiak since people are around and doing things n'stuff and not in bed yet, is anyone able and willing to merge https://github.com/rakudo/rakudo/pull/422 or let me know how it needs to be done differently?
20:50 * lizmat looks
20:51 dalek rakudo/nom: f9343fe | raydiak++ | src/Perl6/Grammar.nqp:
20:51 dalek rakudo/nom: Fix undeclared variable error
20:51 dalek rakudo/nom:
20:51 dalek rakudo/nom: Previously it would show the cursor in a wrong (later) position and give inappropriate "expecting any of" suggestions based on that position. I'm a bit unclear on the details of this precursor thing, so please do review carefully before merging in case this is the wrong way to fix it, but what I saw seemed to suggest that precursor may be intended for these kinds of cases.
20:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f9343fe9ec
20:51 dalek rakudo/nom: 176f778 | lizmat++ | src/Perl6/Grammar.nqp:
20:51 dalek rakudo/nom: Merge pull request #422 from raydiak/patch-1
20:51 dalek rakudo/nom:
20:51 dalek rakudo/nom: Fix undeclared variable error
20:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/176f77837c
20:51 raydiak thanks lizmat++ :)
20:52 dalek roast: 102b5b5 | usev6++ | S32-str/length.t:
20:52 dalek roast: Use unique ticket number for similiar tests
20:52 dalek roast: review: https://github.com/perl6/roast/commit/102b5b5b5d
20:53 * raydiak noticed he got the PR description and the commit description mixed up while playing with github's new features
20:53 dalek mu: cd5e4ef | usev6++ | misc/rt.perl.org/cleanup_n​yc_hackathon_tickets.txt:
20:53 dalek mu: Keep track of merged and resolved tickets
20:53 dalek mu: review: https://github.com/perl6/mu/commit/cd5e4ef98a
20:53 lizmat m: $test = 1  # just testing
20:53 camelia rakudo-moar 16ba24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EwnoPla6uj␤Variable '$test' is not declared␤at /tmp/EwnoPla6uj:1␤------> 3$test7⏏5 = 1  # just testing␤    expecting any of:␤        postfix␤»
20:54 lizmat m: $foo.bar  # just testing
20:54 camelia rakudo-moar 16ba24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6o3oEOwVQa␤Variable '$foo' is not declared␤at /tmp/6o3oEOwVQa:1␤------> 3$foo.bar7⏏5  # just testing␤    expecting any of:␤        method arguments␤        postfix␤»
20:55 lizmat raydiak: I don't see what your patch changed ??
20:55 raydiak lizmat: I don't think it compiled yet did it? you just merged like 2 minutes ago
20:55 raydiak the evalbot I mean
20:56 lizmat yeah, I see the diff now
20:56 lizmat it's where the eject symbol is located, duh  :-)
20:56 raydiak and the "expecting any of" bizarreness
20:56 zakharyas joined #perl6
20:56 lizmat right  :-)
20:56 lizmat do we have tests for that?
20:56 lizmat :-)
20:57 raydiak if we do they must be fudged :)
20:59 * raydiak is really just waiting on a call about a ride right now, but can try to figure out how to do that later
20:59 lizmat ok, cool!
21:02 raydiak not entirely sure how doing it *properly* would look, but I could capture the full text of the error in a CATCH and just check it against a few regexen, right?
21:02 BenGoldberg joined #perl6
21:03 raydiak one to check the cursor position, another to check for 'expecting any of' or something along those lines
21:04 laouji joined #perl6
21:05 lizmat raydiak: there throws_like
21:05 lizmat *there's
21:06 ugexe On windows: C:\rakudo>perl6 -e "'tt'.IO.resolve.IO.say" returns "C:\C:\rakudo\tt".IO
21:07 lizmat m: use Test; throws_like( q/$test = 1/, X::Undeclared, what => q/Variable/, symbol => q/$test/ )   # raydiak
21:07 camelia rakudo-moar 16ba24: OUTPUT«    1..4␤    ok 1 - '$test = 1' died␤    ok 2 - right exception type (X::Undeclared)␤    ok 3 - .symbol matches $test␤    ok 4 - .what matches Variable␤ok 1 - did we throws_like X::Undeclared?␤»
21:08 raydiak lizmat: nice looks like that'll work just fine...thanks again :)
21:09 ugexe probably because .resolve still returns a str
21:12 TimToady lizmat: Empty should not be used where () makes more sense, and in this case, the degenerate case of returning 0 arguments is perfectly well defined, so () is appropriate
21:12 TimToady also, your change to .pick(1) only makes sense if 1 is a literal
21:12 TimToady if it's a degenerate case of .pick($x) then I don't think Nil is appropriate
21:13 beastd joined #perl6
21:16 TimToady treating 1 as special when neither 0 nor 2 are treated specially is a pretty bad discontinuity
21:19 raydiak .oO( but singularities always lead to discontinuities, the syfy channel told me so )
21:33 raydiak m: my $foo = 10; say $Foo;
21:33 camelia rakudo-moar 176f77: OUTPUT«5===SORRY!5=== Error while compiling /tmp/i_EOmVRJiJ␤Variable '$Foo' is not declared. Did you mean '$foo'?␤at /tmp/i_EOmVRJiJ:1␤------> 3my $foo = 10; say 7⏏5$Foo;␤»
21:33 dalek rakudo/nom: 835d9b2 | lizmat++ | src/core/List.pm:
21:33 dalek rakudo/nom: Revert "Make List.roll(1)/pick(1) match List.roll/pick"
21:33 dalek rakudo/nom:
21:33 dalek rakudo/nom: http://irclog.perlgeek.de/p​erl6/2015-05-09#i_10577120
21:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/835d9b26c5
21:34 raydiak oh good I didn't break the speling suggestions either
21:34 lizmat m: Empty.pick.say
21:34 camelia rakudo-moar 176f77: OUTPUT«Nil␤»
21:34 lizmat m: Empty.pick.say(*)
21:34 camelia rakudo-moar 176f77: OUTPUT«Cannot call say(Nil: Whatever); none of these signatures match:␤    (Obsolete:D: *%_)␤    ($: *%_)␤  in block <unit> at /tmp/zl3fqcpZ5E:1␤␤»
21:35 lizmat m: Empty.pick(*).say
21:35 camelia rakudo-moar 176f77: OUTPUT«␤»
21:36 lizmat TimToady: should calling methods like this on Empty not return Empty ?
21:36 dalek roast: a336be6 | TimToady++ | S03-metaops/reduce.t:
21:36 dalek roast: suppress warnings on stringified undefs
21:36 dalek roast:
21:36 dalek roast: and mark [\^^] as working right, still need to fix [\xor] though
21:36 dalek roast: review: https://github.com/perl6/roast/commit/a336be62cc
21:38 TimToady the whole point of Empty is to behave benignly in list context, so I don't think Empty needs to propagate as Nil does
21:38 TimToady m: say Empty.foo
21:38 camelia rakudo-moar 176f77: OUTPUT«Method 'foo' not found for invocant of class 'Empty'␤  in block <unit> at /tmp/JhkEhuqlHT:1␤␤»
21:39 TimToady that should probably graduate to a Nil though, I suspect
21:40 TimToady I guess I'm a little surprised that fallbacks aren't inherited..
21:42 lizmat well, I was surprised mainly that Empty needed its own Str
21:42 lizmat why didn't it inherit that from Nil ?
21:42 lizmat re fallbacks: that's probably because the fallback currently does not run at BEGIN time
21:43 TimToady Nil's Str is going to warn someday
21:43 lizmat however, adding a BEGIN breaks the build of the setting
21:43 lizmat TimToady: I understand, but atm, why was the Empty.Str needed at all ?
21:45 TimToady because I'm currently working on getting the warning back into Nil.Str, and so will need it soon anyway
21:47 dalek rakudo/nom: 0b329a9 | TimToady++ | src/core/Nil.pm:
21:47 dalek rakudo/nom: Use inheritable fallback for Nil
21:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b329a9f28
21:48 telex joined #perl6
21:49 lizmat ah, I now realize the ^add_fallback code predated the FALLBACK method implementation
21:49 jnthn Yes, use FALLBACK now if possible ;)
21:50 jnthn oh, maybe the patch did :)
21:50 lizmat yes, it did
21:50 jnthn Cool
21:50 * jnthn still assembling slides :)
21:51 * lizmat gets rid of the other add_fallback cases
21:53 lizmat I guess the "handles" trait_mod is a special case, so I won't touch that
21:53 jnthn Well, FALLBACK is also implemented in terms of add_fallback too
21:54 jnthn But yeah, leave handles as using .^add_fallback, toherwise it'll create a bug if somebody writes a class with a FALLBACK and handles :)
21:57 masak 'night, #perl6
21:59 lizmat good night, masak
22:06 * ruoso changed strategy on Grammar::EBNF, using regex objects wrapping other regexes was more elegant, but I couldn't find how to expose the captures...
22:07 * ruoso using EVAL instead now...
22:07 ruoso https://github.com/ruoso/Grammar-EBNF/b​lob/master/t/010_more_complex_example.t now works
22:09 * raydiak gets no phone call, plans a bus trip for tomorrow instead
22:11 larion joined #perl6
22:15 dalek roast: 7749c2a | lizmat++ | S10-packages/basic.t:
22:15 dalek roast: Prevent confusion with new Empty
22:15 dalek roast: review: https://github.com/perl6/roast/commit/7749c2a613
22:16 lizmat TimToady: tests from 2009, defining an Empty class
22:16 rhr joined #perl6
22:16 lizmat not sure whether they should have worked or not
22:16 lizmat this makes the tests pass
22:16 * jnthn gets some proper rest
22:16 jnthn 'night #perl6
22:17 colomon \o
22:18 lizmat good night, jnthn
22:21 dalek rakudo/nom: 20c3ae3 | lizmat++ | src/core/Failure.pm:
22:21 dalek rakudo/nom: use more modern FALLBACK instead of .^add_fallback
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/20c3ae349b
22:35 * lizmat also wishes #perl6 a good night
22:40 * vendethiel remembers he needs to assemble slides for fpw2015 as well..
23:00 jack_rabbit joined #perl6
23:27 TimToady joined #perl6
23:51 Sysaxed` joined #perl6
23:51 skids joined #perl6
23:58 jack_rabbit joined #perl6

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

Perl 6 | Reference Documentation | Rakudo