Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-08

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:10 laouji joined #perl6
00:23 owlsley joined #perl6
00:28 fhelmberger joined #perl6
00:38 danaj joined #perl6
00:38 chenryn joined #perl6
00:40 laouji joined #perl6
00:44 laouji joined #perl6
00:57 Akagi201 joined #perl6
00:59 raydiak adu: pong!
00:59 raydiak adu: https://gcc.gnu.org/ml/gcc-help/2003-06/msg00070.html
01:01 aborazmeh joined #perl6
01:01 aborazmeh joined #perl6
01:01 raiph joined #perl6
01:05 aborazmeh joined #perl6
01:05 aborazmeh joined #perl6
01:09 cheungmc joined #perl6
01:18 cheungmc joined #perl6
01:18 cheungmc left #perl6
01:18 cheungmc joined #perl6
01:19 cheungmc left #perl6
01:31 dayangkun joined #perl6
01:34 nbdsp joined #perl6
01:38 nbdsp Greetings! Could someone advise please what is the 'perl6' method to test a key in a hash for existence? Is the following method correct one?
01:38 nbdsp m: my %h = "a"=>1,"b"=>2,"c"=>3; say "b" ~~ any %h.keys;
01:38 camelia rakudo-moar 6b4f9b: OUTPUT«True␤»
01:38 ugexe %h.<key>:exists
01:39 colomon %hash{“key”} :exists
01:39 nbdsp ugexe: thanks!
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:47 aborazmeh joined #perl6
01:47 aborazmeh joined #perl6
01:48 colomon joined #perl6
01:52 chenryn joined #perl6
02:11 vendethiel joined #perl6
02:13 noganex joined #perl6
02:18 rba_ joined #perl6
02:23 adu raydiak!
02:24 adu so __extension__ is absolutely meaningless
02:24 adu I can do that
02:25 rmgk_ joined #perl6
02:25 ugexe m: class X { method y { ENTER { say state $count++ } }; }; X.y(); # expected?
02:25 camelia rakudo-moar 6b4f9b: OUTPUT«0␤1␤»
02:28 raydiak yeah looks like ignoring __extension__ entirely would be fine, unless someone is trying to use C::Parser in a way which requires them to see it via C::AST or whatever
02:31 colomon joined #perl6
02:33 tinyblak joined #perl6
02:35 colomon joined #perl6
02:38 Akagi201 joined #perl6
02:38 cheungmc_ joined #perl6
02:39 Akagi201 joined #perl6
02:45 cibs joined #perl6
03:46 cibs joined #perl6
03:46 nbdsp joined #perl6
03:47 nbdsp Greetings! I have a file with records of pattern 'aaa\tbbb' and reading this file into map %m<aaa>="bbb" takes several orders of magnitude longer than with, say, Python. I read as follows: my $s = "file".IO.slurp; my %m; for $s.lines { my @pair = $_split("\t"); %m{@pair[0]} = @pair[1];} The file is following: https://raw.githubusercontent.com/kevina/wordlist/master/pos/part-of-speech.txt . I wonder, whether the speed can be significantl
03:47 nbdsp method?
03:48 cheungmc_ perl or python ?
03:50 nbdsp With some other method in Perl 6?
03:50 raydiak nbdsp: your message was truncated between "be significantly" and "method?"
03:50 cibs joined #perl6
03:51 nbdsp I wonder, whether the speed can be significantly increased with some other method of handling this task?
03:51 raydiak the answer is probably "profile" and "glr" :)
03:52 raydiak if you can get more specific details about what is slow there, it'd be helpful to those who can improve such things
03:53 khisanth_ joined #perl6
03:54 raydiak (baring answers from more informed people who could give more direct answers to your question)
03:55 raydiak also if you can figure out exactly which part is slow, we may have ideas about how to do that specific operation faster
03:57 raydiak so I guess my consolidated suggestion would be to sprinkle some "say now;"s in there and go from there depending on what you see
03:58 nbdsp Hmm.. Is this task slow only in my particular case?
04:00 raydiak well we have a lot of slownessess in many cases still, but hard to know which part is slowing you down until you profile it somehow
04:04 nbdsp Well, the code contains only two lines. =)
04:05 raydiak then you may need to verbosify it into more lines to narrow down exacty what is slowing you down
04:05 raydiak I would split up what you masted into like...6 lines
04:05 raydiak *pasted
04:07 nbdsp If developer runs it on his/her machine, will it give incorrect results and it will run as fast as the Python's code?
04:07 raydiak is it the split that's slowing you down?  the hash assignment?  maybe the for loop itself takes a long time between iterations for some reason.  find out.
04:07 raydiak wrt Python, I'm lost, not sure what you're asking\
04:15 nbdsp raydiak: I'm asking if this task runs 200 times slower than in Python (or C/C++) on Perl 6 developers machines?
04:29 fhelmberger joined #perl6
04:29 nbdsp Because this slowness is of such scale that I though that either it's well known or I perform this task incorrectly.
04:30 nbdsp *...that I thought...
04:32 raydiak dsp: I can tell you that on my old pawnshop laptop without turning off cool'n'quiet, turbocore, etc, at current room temp that takes almost 7 minutes.  I don't know python or C very well, but it seems quite likely that it is a whole lot slower than either, which is why it'd be interesting to know which part is slow if you have the tuits to narrow it down for a bugreport, for whomever may be able to improve it
04:32 petercommand joined #perl6
04:34 tinyblak joined #perl6
04:37 nbdsp Since on python it takes several seconds, I wonder whether it's needed to submit a bug report because obviously it's a known issue.
04:40 raydiak depends on how much you care I guess
04:42 raydiak it's certainly likely to get fixed sooner or later; just that if you want it to be sooner, a bug report helps people keep track of all the various things because there's a lot of them
04:44 Sqirrel joined #perl6
04:44 nbdsp raydiak: Thanks for helping and checking this code. I will try to narrow down the cause of slowness.
04:46 raydiak nbdsp: glad to help :) I don't see anything obviously terrible in your own code if that what you were asking, there is definitely something here which we could improve
04:47 kaare_ joined #perl6
04:48 nbdsp I meant thanks for running this code on your machine and testimoning thats it's not a some glitch on mine which is the cause.
04:51 raydiak certainly, you're welcome :)
04:51 raiph joined #perl6
04:52 dolmen joined #perl6
04:55 laouji joined #perl6
04:57 jack_rabbit joined #perl6
04:59 chenryn joined #perl6
04:59 konsolebox joined #perl6
05:02 laouji_ joined #perl6
05:04 tinyblak joined #perl6
05:05 laouji joined #perl6
05:09 kurahaupo joined #perl6
05:22 pyrimidine joined #perl6
05:22 rivarun joined #perl6
05:23 mr-foobar joined #perl6
05:24 sftp joined #perl6
05:28 adu joined #perl6
05:37 raydiak good night #perl6
05:41 dalek doc: a8dbc9a | (Stefan Seifert)++ | META.info:
05:41 dalek doc: Add missing File::Temp dependency
05:41 dalek doc:
05:41 dalek doc: Thanks to zengargoyle++ for reporting.
05:41 dalek doc: Fixes GH #80
05:41 dalek doc: review: https://github.com/perl6/doc/commit/a8dbc9a5c3
05:45 Patterner joined #perl6
05:48 rindolf joined #perl6
05:49 nbdsp I wonder if there is any estimation how this speed can be improved and when? If this code runs 7 mins where python runs 10 sec, can this runtime at all be reduced to 30 sec?
06:02 diana_olhovik joined #perl6
06:19 bjz joined #perl6
06:20 khisanth_ joined #perl6
06:26 bjz joined #perl6
06:27 kurahaupo joined #perl6
06:28 bjz joined #perl6
06:34 khisanth_ joined #perl6
06:37 Generator_ joined #perl6
06:39 _mg_ joined #perl6
06:41 khisanth__ joined #perl6
06:45 domidumont joined #perl6
06:51 domidumont joined #perl6
06:56 tadzik nbdsp: we've seen improvements like that happen :)
06:56 kaare_ joined #perl6
06:56 tadzik I'll try to profile your code to see if I can find something, but I my wild guess is that it's mostly the list iteration that's slow, and that's bound to improve massively in the upcoming months
06:58 dalek perl6-examples: f79aaa5 | paultcochrane++ | categories/cookbook/02numbers/02-01valid-number.pl:
06:58 dalek perl6-examples: [cookbook] move code comments into pod
06:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/f79aaa52f6
06:58 dalek perl6-examples: 6931a93 | paultcochrane++ | t/categories/cookbook/02numbers.t:
06:58 dalek perl6-examples: [cookbook] add tests for the 02numbers subcategory
06:58 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/6931a93334
06:59 abraxxa joined #perl6
07:00 kaare__ joined #perl6
07:01 quester joined #perl6
07:09 lizmat .tell nbdsp You might want to try .lines(:eager)
07:09 yoleaux lizmat: I'll pass your message to nbdsp.
07:09 lizmat which you could think of as a pre-cursor of the type of speed increase you will see after GLR
07:10 dayangkun joined #perl6
07:10 fhelmberger joined #perl6
07:12 * lizmat typically sees the :eager version as 5x as fast
07:13 bjz joined #perl6
07:22 timotimo .tell nbdps it may very well be a lot faster to use the regex engine to do the work for you than to build a for loop; at least the regex engine doesn't have to provide for things like making next/last/redo possible and it might also be a tiny bit faster at "splitting into lines" in this case
07:22 yoleaux timotimo: I'll pass your message to nbdps.
07:22 timotimo o/
07:22 timotimo damn, i typo'd the nick
07:22 timotimo .tell nbdsp it may very well be a lot faster to use the regex engine to do the work for you than to build a for loop; at least the regex engine doesn't have to provide for things like making next/last/redo possible and it might also be a tiny bit faster at "splitting into lines" in this case
07:22 yoleaux timotimo: I'll pass your message to nbdsp.
07:25 rba_ joined #perl6
07:26 lizmat on a related note, I just found that IO::Handle.lines(:eager) is taking the first candidate, *not* the one with :$eager!   :-(
07:27 lizmat I'm pretty sure that used to work...  :-(
07:27 timotimo oh damn.
07:27 timotimo can you re-order it in the source?
07:27 timotimo or use the "*% ()" annotation trick?
07:28 lizmat well, of course I can, but why should I have to ?
07:28 Erendis42d left #perl6
07:28 timotimo i don't know, i'm just decoration
07:29 lizmat and what a decoration you are!  :-)
07:29 lizmat seriously, this feels like a (recent) regression to me
07:29 lizmat and I wonder how we can test for cases like this :-(
07:31 dalek rakudo/nom: 0fe9416 | TimToady++ | src/ (4 files):
07:31 dalek rakudo/nom: Distinguish Nil from Empty
07:31 dalek rakudo/nom:
07:31 dalek rakudo/nom: Nil no longer iterates to ().  Use Empty if that meaning is needed.
07:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fe941622f
07:31 dalek roast: 831838f | TimToady++ | S (6 files):
07:31 dalek roast: tweaks for Nil/Empty distinction
07:31 dalek roast: review: https://github.com/perl6/roast/commit/831838f33a
07:34 FROGGS joined #perl6
07:35 timotimo m: say "in this one script, 'get' takes { 3202.01 / 479829 } s per line"
07:35 camelia rakudo-moar 6b4f9b: OUTPUT«in this one script, 'get' takes 0.00667323 s per line␤»
07:37 timotimo isn't that kinda slow?
07:38 timotimo even though it relies on a VM-level operation that could be pretty fast?
07:39 woolfy joined #perl6
07:39 woolfy left #perl6
07:40 Isp-sec joined #perl6
07:42 rindolf joined #perl6
07:43 FROGGS o/
07:44 dalek rakudo/nom: 9c543b5 | lizmat++ | src/core/IO/Handle.pm:
07:44 dalek rakudo/nom: Move IO::Handle.words/lines candidates around
07:44 dalek rakudo/nom:
07:44 dalek rakudo/nom: For some reason, the :eager/:count candidates were not run.  Moving the
07:44 dalek rakudo/nom: candidates up in the list, makes them run as they should.  Pretty sure this
07:44 dalek rakudo/nom: is a fairly recent regression.
07:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c543b5866
07:44 timotimo ohai FROGGS
07:44 lizmat get pre newio, is pretty slow because it needs to check a lot of things *each* time
07:45 timotimo i only see a check for $.chomp
07:45 timotimo um
07:45 timotimo isn't this absolutely bogus, though?
07:45 timotimo oh, no it isn't
07:45 timotimo i read "$x .= chomp if $.chomp" as "self.=chomp if $.chomp
07:45 lizmat ah, I guess I fixed some of it already in nom
07:46 timotimo that would have been a hilarious bug
07:46 lizmat yeah, and noticed quickly
07:46 timotimo verily
07:47 timotimo huh
07:47 timotimo dispatch:<.=> seems to be pretty expensive
07:47 lizmat in newio it's been made to not use that
07:47 timotimo maybe you could measure changing that to "$x = $x.chomp if $.chomp" against current code while i'm away?
07:48 lizmat well, I was just going to say that I will be afk for a bit as well  :-)
07:48 timotimo maybe FROGGS has a bit of spare time :P
07:48 lizmat and I think I fixed it in newio already
07:48 timotimo right
07:48 lizmat $!chomp
07:48 lizmat ?? nqp::p6box_s($line).chomp
07:48 lizmat !! nqp::p6box_s($line);
07:49 lizmat so: 1 not using methid, and 2 not assigning
07:49 lizmat *method
07:49 lizmat afk&
07:49 timotimo yeah, that ought to be faster
07:50 FROGGS ummm, what?
07:50 timotimo hi there :3
07:51 FROGGS I currently use my spare time to review nearly 100 test files, which are not (yet) included in spectest.data
07:51 timotimo ooooh
07:51 FROGGS I managed to fix about five files yesterday
07:51 timotimo that's much more useful :)
07:51 timotimo FROGGS++
07:52 FROGGS my goal is to have all (not by then removed) files from roast included, so we actually know what is in roast
07:52 zakharyas joined #perl6
07:53 FROGGS TimToady++ and others should then review all files that have '#?v6' fudge lines
07:53 FROGGS because these are questionable from a language point of view
07:53 FROGGS ahh, and I am implementing ignoremark right now
07:54 tinyblak joined #perl6
07:54 timotimo ooooh
07:57 cognominal joined #perl6
08:02 telex joined #perl6
08:03 domidumont joined #perl6
08:06 domidumont1 joined #perl6
08:17 brrt joined #perl6
08:17 Generator_ Hi, need suggestion. I am intend to make a program. From current problem analysis, my program will me handling a lot of data in flow. The program will have lots of live data and it will do operations on those data. It will also have to handle n no of connections/instances. n is the number of user this program will be handling. So my query is, will perl be a good choice ?
08:19 darutoko joined #perl6
08:21 bbkr Generator_: what traffic are you talking about?
08:21 yoleaux 29 Mar 2015 11:11Z <tadzik> bbkr: hey, you guys still using Rakudo-Parrot in your business?
08:22 virtualsue joined #perl6
08:22 rba_ joined #perl6
08:22 Generator_ users connect to this program via internet bbkr
08:23 Generator_ bbkr by traffic what do you want to ask ?
08:23 bbkr Generator_: payload size, estimated requests per second
08:24 masak antenoon, #perl6
08:25 Generator_ bbkr those are not analyzed yet. In the beginning request are pretty small per second, but if the userbase grows request may be >1000 per sec
08:26 bbkr Generator_: looks like you need www->perl(fastcgi+nginx is extremely fast)->queue(to buffer and dispatch requests, maybe RabbitMQ)->workers(crunching data)
08:27 Generator_ bbkr thank you. I will check those suggestions :)
08:30 bbkr Generator_: I'm processing few thousands requests per second using that flow and it is VERY reliable and scalable. If you are not scared of asynchronous programming use Perl 5 AnyEvent::* stuff (AnyEvent::RabbitMQ, AnyEvent::FCGI). If you like to experiment try Perl6 (plenty of servers to choose from and https://github.com/retupmoca/P6-Net-AMQP/ to communicate with message broker)
08:33 Generator_ bbkr wow these are really nice. But just to be sure, will it give me much advantage over python ?
08:34 moritz we have an AMQP implementation in Perl 6? Cool
08:35 kurahaupo joined #perl6
08:35 * moritz uses RabbitMQ at $work
08:36 btyler Generator_: the 'perl5 or python' question is pretty much down to which you feel more productive in. both have likely all the libraries you need. now, 'perl6 or python' is a bit different question, since if you start applying perl6 you'll be encountering a lot more 'frontier' style issues -- potential bugs in the interpreter, needing to write new libraries, etc.
08:36 bbkr Generator_: depends on your payload type and analysis. I've tried both on heavy load and they tied. But Perl was chosen because of unified AnyEvent asynchronous interface.
08:36 araujo joined #perl6
08:38 Generator_ bbkr if I am going to use perl I must use perl6, cos my program will continue developing, so I have to think about future scope
08:41 bbkr moritz: Perl 6 implementation lacks queue cancel, which may be major no-go in some scenarios. but other than that it is awesome because it has Supply style interface which makes it really easy to use.
08:42 moritz bbkr: sounds good. (And at $work, I haven't needed queue cancel yet)
08:42 btyler Generator_: not to discourage you from using perl 6, but I don't think there's much reason to be worried about perl 5 longevity
08:42 Generator_ cool
08:43 moritz I don't think the Perl 6 release will reduce interest in and comittment to Perl 5 development
08:43 FROGGS true
08:44 cognominal joined #perl6
08:44 moritz (and contrary to python, nobody aims to EOL Perl 5)
08:44 moritz python 2, I should say
08:46 DrForr If anything it'll encourage parallel development.
08:46 nwc10 Jython 2.7 was released a few days ago http://fwierzbicki.blogspot.fi/2015/05/jython-270-final-released.html
08:46 FROGGS $ nqp-m -e 'say("bär" ~~ /:m á/)'
08:47 FROGGS ä
08:47 FROGGS \o/
08:47 nwc10 \o/
08:47 moritz \o/
08:47 bbkr what kind of sorcery is that!?
08:48 FROGGS ignoremark :o)
08:48 ab5tract joined #perl6
08:48 Generator_ I really hate java things. I dont knw why when I hear the word java it resembles to 'slow' in my mind
08:49 FROGGS Generator_: that's because you think of startup time only :o)
08:49 Generator_ but that is a time too :0
08:49 bbkr Generator_: startup is slow. but it is good for long running processes, when the JIT kicks in it outperforms event C++ in some scenarios
08:49 FROGGS I dislike other things of Java more than its startup time characteristics
08:50 bbkr even*
08:51 Generator_ FROGGS I have not been much into java so i just see slowww, may be u can say what things are there to dislike :O
08:52 FROGGS if (MyNumber != 0) { # grr
08:52 FROGGS it is way to verbose
08:53 Generator_ :/
08:54 FROGGS if (!(foo instanceof bar)) { # -.-
08:54 FROGGS and the concept of StringBuilders etc
08:55 FROGGS it is too low level in many ways
08:55 laouji joined #perl6
08:58 * jnthn waves from Trondheim airport
08:58 jnthn (on way to OSDC.no)
08:58 FROGGS jnthn: o/
08:58 lizmat jnthn o/
09:00 jnthn FROGGS: How'd you do ignoremark, ooc?
09:00 FROGGS jnthn: clever of course :P
09:00 jnthn FROGGS: Nabbed the decomp_spec handling stuff from normalize.c? :)
09:00 FROGGS jnthn: I decompose to NFD, and compare the basechars
09:00 nwc10 jnthn: some sort of occult alchemy based on toothpaste and painkiller, I think, judging by last night's purchases :-)
09:00 FROGGS jnthn: but I'll push to a branch today so you can review
09:01 jnthn FROGGS: OK
09:01 pmichaud good morning, #perl6
09:01 jnthn FROGGS: We need to get the NFG engine to understand it too is all
09:01 jnthn And need it to handle synthetics
09:01 jnthn But maybe you nailed 'em both :)
09:01 jnthn o/ pmichaud
09:01 FROGGS jnthn: because I guess there might be a smarter way than I'm doing it currently, though it is not much code
09:01 FROGGS hi pmichaud
09:01 nwc10 pmichaud: you're not in Kansas, er, Texas, any more?
09:02 pmichaud nwc10: I haven't been in Texas for several days.  :)
09:03 FROGGS jnthn: that's the core of it: https://gist.github.com/FROGGS/61a3e002267bf54b1e42
09:04 lizmat pmichaud o/
09:04 jnthn FROGGS: Oh, that's not too bad
09:04 pmichaud lizmat o/
09:04 jnthn FROGGS: But yeah, we can cheat and be faster :)
09:04 FROGGS jnthn: that's what I thought :o)
09:04 FROGGS .u ƌ
09:04 yoleaux U+018C LATIN SMALL LETTER D WITH TOPBAR [Ll] (ƌ)
09:05 FROGGS that one does not work yet
09:05 FROGGS but the other tests from ignoremark.t pass
09:05 jnthn m: say 'ƌ'.NFD
09:05 camelia rakudo-moar 9c543b: OUTPUT«NFD:0x<018c>␤»
09:05 jnthn That has no decomposition.
09:05 jnthn Apparently
09:05 FROGGS hmmm
09:05 jnthn m: say 'ƌ'.ord
09:05 camelia rakudo-moar 9c543b: OUTPUT«396␤»
09:05 jnthn m: say uniname(396)
09:05 camelia rakudo-moar 9c543b: OUTPUT«LATIN SMALL LETTER D WITH TOPBAR␤»
09:06 jnthn m: say uniprop(396, 'Decomp_Spec')
09:06 camelia rakudo-moar 9c543b: OUTPUT«0␤»
09:06 jnthn Nope.
09:06 FROGGS so this is a unicode issue, not ours
09:06 jnthn Right
09:06 lizmat m: class A { multi method a(:$close) { say "default"; } multi method a(:$eager!, :$close) { say "eager"; } }; A.a(:eager);  # expecting "eager" here
09:06 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6RZB3C5hn_␤Strange text after block (missing semicolon or comma?)␤at /tmp/6RZB3C5hn_:1␤------> 3lti method a(:$close) { say "default"; }7⏏5 multi method a(:$eager!, :$close) { say␤    expecting an…»
09:07 FROGGS jnthn: there is also no separate TOPBAR
09:07 lizmat m: class A { multi method a(:$close) { say "default" }; multi method a(:$eager!, :$close) { say "eager" } }; A.a(:eager);  # expecting "eager" here
09:07 camelia rakudo-moar 9c543b: OUTPUT«default␤»
09:07 FROGGS .u TOPBAR
09:07 yoleaux U+0182 LATIN CAPITAL LETTER B WITH TOPBAR [Lu] (Ƃ)
09:07 yoleaux U+0183 LATIN SMALL LETTER B WITH TOPBAR [Ll] (ƃ)
09:07 yoleaux U+018B LATIN CAPITAL LETTER D WITH TOPBAR [Lu] (Ƌ)
09:07 FROGGS that's all
09:07 lizmat m: class A { multi method a(:$eager!, :$close) { say "eager" }; multi method a(:$close) { say "eager" } }; A.a(:eager);  # change the order, and it works ?
09:07 camelia rakudo-moar 9c543b: OUTPUT«eager␤»
09:08 lizmat m: class A { multi method a(:$eager!, :$close) { say "eager" }; multi method a(:$close) { say "eager" } }; A.a(:close);
09:08 camelia rakudo-moar 9c543b: OUTPUT«eager␤»
09:08 jnthn There may be a good reason not to consider them marks.
09:08 dayangkun joined #perl6
09:08 FROGGS jnthn: I fix the test
09:08 jnthn FROGGS: +1
09:08 timotimo say eager in both methods?
09:09 jnthn I can't think of a sane way of defining ignoremark besides Unicode's decomp_spec prop
09:09 lizmat m: class A { multi method a(:$eager!, :$close) { say "eager" }; multi method a(:$close) { say "close" } }; A.a(:close);   # oops
09:09 camelia rakudo-moar 9c543b: OUTPUT«close␤»
09:10 dalek roast: 5ed2ff4 | FROGGS++ | S05-modifier/ignoremark.t:
09:10 dalek roast: fix plan, and fix invalid test about ƌ being decomposable
09:10 dalek roast: review: https://github.com/perl6/roast/commit/5ed2ff4085
09:10 lizmat so, why is the order of the candidates significant?   Is it intended to be that way?
09:11 jnthn lizmat: Named parameters act as constraints and we define multis with constraints as being tested in order.
09:11 lizmat did that change recently?
09:12 lizmat implementation wise, I mean?
09:13 jnthn Not afaik
09:14 jnthn I mean, I don't think many of us patch the multi-dispatcher :)
09:14 jnthn And I don't remember doing it any time recently
09:15 FROGGS lizmat: I remember that behaviour for a long time now
09:16 FROGGS lizmat: like when implementing a trait and you forgot to mark the named param (the trait name) as mandatory
09:17 yqt joined #perl6
09:19 lizmat well, somehow IO::Handle.lines(:eager) became lazy again  :-(
09:19 lizmat and I'm pretty sure at one time it wasn't
09:20 lizmat same for IO::Handle.words btw
09:21 moritz why doesn't IO::Handle.words .slurp in the first place?
09:23 lizmat because if you want to run the risk of exploding memory by slurping a multi GB file
09:23 lizmat you can do $handle.slurp.words ?
09:24 moritz oh, I misunderstood
09:25 moritz I though .words called .lines(:eager)
09:25 moritz and if it did that, it might as well could have called .slurp right away
09:25 lizmat indeed
09:26 ab5tract lizmat: is that MMD situation that you pointed out actually resolvable? it looks to me that such a thing would ideally be a compile time error
09:27 lizmat you should ask jnthn that, I merely get tripped up by it from time to time  :-)
09:27 ab5tract :)
09:29 brrt i'd... think the mmd situation like that is correct, or is that wrong?
09:29 brrt what's bad about it
09:30 jnthn It's consistent :)
09:30 jnthn Just falls out of all methods having a *%_ by default
09:30 jnthn And named parameters not really being involved in MMD
09:31 lizmat well, it's bad if you're trying to augment a class with a named parameter
09:31 lizmat as you cannot force it to the top of the mmd list, can you ?
09:31 lizmat s/class/method
09:31 ab5tract it seems like something that should blow up to me.. having an optional named param and a required one in signature A, and only the required one in signature B
09:32 jnthn If you're trying to augment a class, it's already bad :P
09:32 lizmat true, but this effectively bars you from augmenting a class that way
09:33 jnthn ab5tract: As I already said, named parameters aren't really involved in MMD, besides serving as a tie-breaker, and tie-breakers are simply tested in order. We won't be changing that in 6.0.
09:33 lizmat I know it's a smell, but sometimes you need to make code that stinks IRL
09:34 jnthn lizmat: You could solve similar kinds of problems by .wrap-ing the method
09:34 ab5tract in what order, though? the order of multi method declaration? the order of named params (which one would assume are hash-based and thus are barred from a consistent order)
09:34 lizmat now, that I find smelly
09:35 lizmat anyways, out for some sightseeing&
09:35 jnthn ab5tract: Declaration order.
09:35 ab5tract anyway, not something that will likely impact me much. but it doesn
09:36 jnthn ab5tract: As far as the multi-dispatcher knows, the only interesting thing is "are there any named params in the signature". It doesn't look any deeper.
09:36 RabidGravy joined #perl6
09:36 ab5tract 't feel particularly cozy either
09:36 ab5tract jnthn: okay, that makes a bit more sense
09:42 rba_ joined #perl6
09:44 DrForr I don't see unsigned types in the official NativeCall documentation - Are unsigned types available and just undocumented?
09:46 FROGGS DrForr: they are implemented, undocumented and sadly buggy right now
09:47 jnthn Buggy?
09:47 * jnthn added a bunch of tests when he implemented them...
09:48 jnthn In NativeCall, I mean. Outside of NativeCall, no, we don't really do them yet.
09:49 DrForr Nod. I'll comment out the call for the time being.
09:50 FROGGS jnthn: yes, they work inside of NativeCall, but at some point you loose the unsignedness when working with them before/after the call
09:51 FROGGS jnthn: and there seems to be a bug with uint8 on osx, so that make test does fail there
09:56 FROGGS m: say EVAL 'EnumMap.new(Empty)' # hmmm
09:56 camelia rakudo-moar 9c543b: OUTPUT«EnumMap.new(Nil)␤»
09:58 quester left #perl6
09:59 FROGGS m: say Empty.perl
09:59 camelia rakudo-moar 9c543b: OUTPUT«Empty␤»
09:59 grondilu joined #perl6
10:07 FROGGS m: say ().pick
10:07 camelia rakudo-moar 9c543b: OUTPUT«Nil␤»
10:09 darutoko- joined #perl6
10:14 FROGGS hmmm
10:16 kaare__ joined #perl6
10:48 yqt joined #perl6
10:49 vendethiel joined #perl6
10:52 uncleyea1 joined #perl6
10:54 larion joined #perl6
11:09 Alina-malina joined #perl6
11:13 laouji joined #perl6
11:21 chenryn joined #perl6
11:26 espadrine_ joined #perl6
11:33 laouji joined #perl6
11:36 rba_ joined #perl6
11:42 vendethiel joined #perl6
11:52 PZt joined #perl6
11:55 masak m: say +Empty
11:55 camelia rakudo-moar 9c543b: OUTPUT«use of uninitialized value of type Empty in numeric context␤0␤»
11:55 masak m: say ~Empty
11:55 camelia rakudo-moar 9c543b: OUTPUT«use of uninitialized value of type Empty in string context␤␤»
11:55 masak m: say ?Empty
11:55 camelia rakudo-moar 9c543b: OUTPUT«False␤»
11:55 masak I'm not backlogged. Empty is yet another undefined value in Perl 6?
11:56 vendethiel o/, #perl6!
11:56 * vendethiel backlogs
11:56 masak I like the name, by the way. far clearer than Nil or Null or None or whatever.
11:56 masak just wondering if we only gained a new one, or if we lost an old one too.
11:56 masak &
11:57 nbdsp joined #perl6
11:58 andreoss joined #perl6
11:59 FROGGS masak: TL;DR: Nil is now split into Nil and Empty
12:00 rba_ joined #perl6
12:01 beastd joined #perl6
12:01 nbdsp my @l = 'a'..'zzz'; my $cnt=0; for @l { $cnt++ }; say $cnt; say now - INIT now;
12:01 yoleaux 07:09Z <lizmat> nbdsp: You might want to try .lines(:eager)
12:01 yoleaux 07:22Z <timotimo> nbdsp: it may very well be a lot faster to use the regex engine to do the work for you than to build a for loop; at least the regex engine doesn't have to provide for things like making next/last/redo possible and it might also be a tiny bit faster at "splitting into lines" in this case
12:01 nbdsp m:  my @l = 'a'..'zzz'; my $cnt=0; for @l { $cnt++ }; say $cnt; say now - INIT now;
12:01 camelia rakudo-moar 9c543b: OUTPUT«18278␤1.297819␤»
12:02 nbdsp timotimo: I tried regexes, they run a bit faster, the runtime is still several minutes
12:02 timotimo OK
12:02 nbdsp I don't know, maybe if Perl 6 is planned for release, there is a plan for significant speed improvements in this kind if functionality.
12:02 timotimo lizmat just fixed :eager to actually apply
12:02 vendethiel Interesting choice of Foo{} (that reminds me of C++ for "some" reason)
12:02 timotimo yes, of course; that's what the GLR is about
12:05 nbdsp timotimo: well, everyone can try to read this file https://raw.githubusercontent.com/kevina/wordlist/master/pos/part-of-speech.txt into map and see how things are going .
12:05 timotimo thanks :)
12:07 DrForr Wordnet?
12:07 vendethiel http://irclog.perlgeek.de/perl6/2015-05-07#i_10565810 <- I'm glad we're not adopting the JMM (Java Memory Model) :-)
12:12 vendethiel m: class A{method m is rw is cached { my $ = rand; } }; my A $a .= new; say $a.m; $a.m = 50; say $a.m; say A.new.m;
12:12 camelia rakudo-moar 9c543b: OUTPUT«use of uninitialized value of type Empty in string context  in block <unit> at /tmp/Gw8RTr_KB9:1␤␤0.141107619007296␤use of uninitialized value of type Empty in string context  in block <unit> at /tmp/Gw8RTr_KB9:1␤␤use of uninitialized value of ty…»
12:13 yqt joined #perl6
12:16 andreoss m: say 1 before 2
12:16 camelia rakudo-moar 9c543b: OUTPUT«True␤»
12:17 andreoss m: say 1 less 2
12:17 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qIgjKumpz_␤Two terms in a row␤at /tmp/qIgjKumpz_:1␤------> 3say 17⏏5 less 2␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statem…»
12:17 vendethiel m: class X { method y { ENTER { say $++ } }; }; X.y(); # expected?
12:17 camelia rakudo-moar 9c543b: OUTPUT«0␤1␤»
12:17 raiph joined #perl6
12:18 vendethiel m: class X { method y { ENTER { say $++ } }; }; X.new.y(); # huh
12:18 camelia rakudo-moar 9c543b: OUTPUT«0␤1␤»
12:19 vendethiel Am I getting that right that Nil flattens to an empty list but Empty doesn't?
12:20 vendethiel m: my @a = 1, 2, Nil, Empty, 3; say @a.perl
12:20 camelia rakudo-moar 9c543b: OUTPUT«[1, 2, Any, 3]<>␤»
12:20 vendethiel m: my @a = 1, 2, Nil, 5, Empty, 3; say @a.perl # I'm so stupid
12:20 camelia rakudo-moar 9c543b: OUTPUT«[1, 2, Any, 5, 3]<>␤»
12:20 vendethiel Okay, seems like I got it the other way around :-)
12:22 dalek roast: 9a3666c | FROGGS++ | S05-match/perl.t:
12:22 dalek roast: RT #125138 fudge tests because of Empty/Nil confusion
12:22 dalek roast: review: https://github.com/perl6/roast/commit/9a3666c362
12:22 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125138
12:27 vendethiel m: say (flat (1, Empty, 2, Nil, 3, Any, 4)).perl
12:27 camelia rakudo-moar 9c543b: OUTPUT«(1, 2, Nil, 3, Any, 4)␤»
12:38 chenryn joined #perl6
12:43 cygx joined #perl6
12:44 cygx o/
12:46 cygx .tell nbdsp try slurp('part-of-speech.txt').match(:g, /<-[\t\n]>+/)>>.Str.hash
12:46 yoleaux cygx: I'll pass your message to nbdsp.
12:48 cygx NativCall feature request: the ability to pass in a pointer and a signature and get back something callable
12:50 FROGGS hmmm
12:50 FROGGS cygx: please ticket it
12:52 timotimo cygx: is that much faster?
12:52 cygx timotimo: it's more about the ability to use function pointers
12:53 laouji joined #perl6
12:53 timotimo no, i mean the slurp + match thing
12:54 cygx timotimo: took ~30s for me, not the several minutes nbdsp spoke of
12:54 skids joined #perl6
12:54 timotimo good
12:55 timotimo thank you
12:55 cygx FROGGS: where should that ticket go? Rakudobug? MoarVM issue?
12:56 FROGGS cygx: RT (rakudobug)
12:56 FROGGS I'd say
12:57 FROGGS the issue tracker in the zavolaj repository would also work
12:58 cygx is there some magic tag like [FEATURE-REQUEST] I should add?
12:58 timotimo ah! the joys of befriending cat owners
12:58 araujo joined #perl6
13:00 hoelzro morning #perl6
13:00 timotimo morning hoelzro!
13:01 nbdsp joined #perl6
13:06 hoelzro ahoy timotimo!
13:09 zengargoyle joined #perl6
13:13 vendethiel it's funny I just realized that having operator overloading through subs makes it lexical instead of object-scoped
13:13 nbdsp cygx: thanks, I'll try it. But 'several minutes' was related to my particular machine (although raydiak also reported about 7 minutes). It makes more sense to speak about relative times (e.g. compared to Python speed executing this task.The python code is like this: f = open( part-of-speech.txt)\nm={}\nfor x in f\n\ta,_,b=x.partition("\t")\n\tm[a]=b
13:13 yoleaux 12:46Z <cygx> nbdsp: try slurp('part-of-speech.txt').match(:g, /<-[\t\n]>+/)>>.Str.hash
13:13 timotimo vendethiel: that's both good and bad
13:13 vendethiel that might be *very* surprising to some, for sure :-)
13:14 muraiki joined #perl6
13:14 vendethiel when you take "Any" (passed through another module) and don't get the operators then
13:14 hoelzro with the CURLI changes that happened recently, does Rakudo no longer look for .mbc files in CURLF locations in @?INC ?
13:15 timotimo vendethiel: it also makes it harder to "just" override "cmp" and have sort work for your new class
13:16 cygx nbdsp: I did not time the other apporaches, but they did take significantly longer (as in multiple minutes) on my machine as well
13:16 FROGGS hoelzro: it should still look at CURLF
13:16 vendethiel right. but it gives a performance boost because it can be resolved at compile-time
13:16 uncleyear joined #perl6
13:21 hoelzro FROGGS: my mistake; I screwed up the naming of the mbc file =/
13:21 hoelzro thanks for clarifying!
13:22 airdisa joined #perl6
13:23 FROGGS ahh, k :o)
13:26 aborazmeh joined #perl6
13:26 aborazmeh joined #perl6
13:32 tinyblak joined #perl6
13:35 FROGGS m: say ordfirst('ä')
13:35 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YoTddDSatZ␤Undeclared routine:␤    ordfirst used at line 1␤␤»
13:35 FROGGS m: say nqp::ordfirst('ä')
13:35 camelia rakudo-moar 9c543b: OUTPUT«The use of nqp::operations has been deprecated for non-CORE code.  Please␤change your code to not use these non-portable functions.  If you really want␤to keep using nqp::operations in your Perl6 code, you must add a:␤␤  use nqp;␤␤to the outer …»
13:35 FROGGS m: use nqp; say nqp::ordfirst('ä')
13:35 camelia rakudo-moar 9c543b: OUTPUT«228␤»
13:35 Celelibi joined #perl6
13:40 Akagi201 joined #perl6
13:40 rurban joined #perl6
13:53 Foxcool joined #perl6
13:55 cygx .tell jnthn dynload might need patching: https://github.com/MoarVM/MoarVM/issues/214
13:55 yoleaux cygx: I'll pass your message to jnthn.
14:02 larion joined #perl6
14:02 zostay m: grammar Foo { token TOP { 'x' } }; class FooAct { method TOP($/) { 'x' ~~ /^/ } }; Foo.parse('x', :actions(FooAct.new))
14:02 camelia rakudo-moar 9c543b: OUTPUT«Cannot assign to a readonly variable or a value␤  in method TOP at /tmp/el0Kn7dAJG:1␤  in regex TOP at /tmp/el0Kn7dAJG:1␤  in block <unit> at /tmp/el0Kn7dAJG:1␤␤»
14:03 zostay is there a way to use a regex within an action class method?
14:06 jepeway joined #perl6
14:08 moritz zostay: yes, by not using $/ as parameter
14:09 moritz zostay: because that's the problem here: $/ is a parameter, and thus read-only; the regex match tries to assign its result to it, thus the error
14:10 airdisa_ joined #perl6
14:10 Hor|zon joined #perl6
14:11 zostay thanks
14:12 cygx left #perl6
14:12 chenryn joined #perl6
14:14 zostay i thought maybe it had to be $/ because make wasn't working without that, but i can call the .make() method instead
14:24 chenryn joined #perl6
14:24 moritz correct
14:24 moritz also, you can use an inner scope
14:24 moritz that has its own $/
14:24 moritz (maybe force it with 'my $/')
14:25 moritz and then regex-match inside the inner scope, and make() in the outer scope
14:25 moritz though that sounds much more complicated than do a $match.make($value)
14:25 thou joined #perl6
14:26 skids joined #perl6
14:47 mr-foobar joined #perl6
14:48 gfldex joined #perl6
14:49 hoelzro can anyone point me in the direction of the code that initializes the dispatcher object retrieved by  nqp::p6finddispatcher('callsame')?
14:49 hoelzro there's a bug I found I'd like to dig into after work
14:53 hoelzro also, if something is missing from doc/Changelog post-release, is it ok to go in and edit the corresponding section?
14:59 rba_ joined #perl6
15:05 pmichaud hoelzro: yes, I think it's okay to edit the corresponding section.
15:11 TimToady pmichaud: welcome to Norway :)
15:12 FROGGS joined #perl6
15:13 TimToady as I suspected, delisting Nil wasn't all that hard, but I had to introduce Empty (at least temporarily) to handle the list comprehensions because I couldn't get them to just 'else next'
15:14 TimToady and I couldn't just use (), because that is (for now) still a Parcel, which doesn't really go away unless you flatten
15:16 lizmat joined #perl6
15:17 bjz joined #perl6
15:20 lizmat hoelzro: please do, it's a work in progress  :-)
15:20 pmichaud TimToady++
15:22 TimToady m: say Empty ~~ Nil
15:22 camelia rakudo-moar 9c543b: OUTPUT«True␤»
15:22 pmichaud time for me to head to the panel event... bbl
15:22 TimToady have fun
15:27 jnthn hoelzro: Search for $*DISPATCHER in Actions.nqp
15:27 yoleaux 13:55Z <cygx> jnthn: dynload might need patching: https://github.com/MoarVM/MoarVM/issues/214
15:27 * jnthn is also in Oslo :)
15:28 arnsholt Welcome to the unseasonably nice weather =)
15:30 * TimToady will have to settle for Yosemite today...
15:35 jnthn TimToady: Hard life :P
15:36 rba_ joined #perl6
15:37 TimToady well, the road through Yosemite isn't *supposed* to be open this early, but there's no snowpack to speak of this year...
15:37 jnthn That's not cool... :P
15:42 dalek perl6-examples: 1722d24 | (Andrei Osipov)++ | categories/euler/ (2 files):
15:42 dalek perl6-examples: [euler] problem 98
15:42 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/1722d2478b
15:42 dalek perl6-examples: 27a3bf0 | (Andrei Osipov)++ | categories/euler/ (2 files):
15:42 dalek perl6-examples: [euler] problem 99
15:42 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/27a3bf0c09
15:42 dalek perl6-examples: ceadb2f | (Andrei Osipov)++ | t/categories/euler.t:
15:42 dalek perl6-examples: [euler] tests for p99, p98
15:42 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/ceadb2f5d2
15:42 dalek perl6-examples: e117c17 | (Andrei Osipov)++ | categories/euler/prob054-andreoss.pl:
15:42 dalek perl6-examples: [euler] fixed indentation in p54
15:42 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/e117c17286
15:46 raydiak m: dir '.'
15:46 camelia rakudo-moar 9c543b: ( no output )
15:46 raydiak m: say dir '.'
15:46 camelia rakudo-moar 9c543b: OUTPUT«"/home/camelia/.bash_history".IO "/home/camelia/p6eval-token".IO "/home/camelia/std".IO "/home/camelia/.ssh".IO "/home/camelia/star".IO "/home/camelia/perl5".IO "/home/camelia/.perl6".IO "/home/camelia/.rcc".IO "/home/camelia/p1".IO "/home/camelia/nqp-js".…»
15:46 raydiak m: say 'foobar'.IO.e
15:46 camelia rakudo-moar 9c543b: OUTPUT«False␤»
15:47 raydiak m: use lib "foobar"; use foo; say 'foobar'.IO.e
15:47 camelia rakudo-moar 9c543b: OUTPUT«===SORRY!===␤Could not find foo in any of: file#foobar, file#/home/camelia/.perl6/2015.04-181-g9c543b5/lib, inst#/home/camelia/.perl6/2015.04-181-g9c543b5, file#/home/camelia/rakudo-inst-1/share/perl6/lib, file#/home/camelia/rakudo-inst-1/share/perl6/ven…»
15:47 raydiak m: say 'foobar'.IO.e
15:47 camelia rakudo-moar 9c543b: OUTPUT«True␤»
15:48 raydiak "use lib 'foo';" followed by "use Anything;" whether Anything exists or not, causes foo to be created.
15:50 rba_ joined #perl6
15:52 jeffreykegler joined #perl6
15:53 raydiak #125141
15:53 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125141
15:54 jeffreykegler Just thought I'd drop in with a note about a syntax Marpa has adopted from Perl 6
15:55 jeffreykegler Marpa in a parser which allows sequence statements, of the kind "seq ::= item*" and it's nice to be able to specify a separator which you can do in Perl 6
15:55 jeffreykegler using Perl6's % and %% modifiers.
15:56 jeffreykegler The new version of Marpa, Kollos, will use the % and %% modifiers, and introduce two others
15:57 jeffreykegler The %- modifier will be a synonym for % -- the hyphen intended to indicate separation must occur between items -- users not familiar with Perl 6 may find this clearer.
15:58 jeffreykegler Similarly, Kollos will have a %$ separator, which means that separation is actaully termination -- a separator *must* come after each item.
15:59 jeffreykegler So %% , in effect, is the same as allowing both %- and %$
16:01 jeffreykegler In other news, there's work on a Perl 6 port of the low-level interface of Marpa: http://irclog.perlgeek.de/marpa/2015-05-07#i_10561384
16:04 telex joined #perl6
16:05 diana_olhovik joined #perl6
16:07 vendethiel maybe our %% should be "%$?" and we should have "%$" :P
16:13 jeffreykegler While I brought them up with the idea Perl 6 might want to adopt them, I will note that, while they serve the same purpose, the context is very different between Marpa and Perl 6.
16:13 raydiak cool news :) though I do wonder if <elem> %$ <sep> isn't just a less legible version of [<elem> <sep>]*
16:14 raydiak <elem>* %$ <sep> I mean
16:15 vendethiel troo :-)
16:15 vendethiel just like 'a' ~ 'b' 'c' is the same as 'a' 'b' 'c'?
16:15 jeffreykegler In Marpa these modifiers are declarative -- they describe the syntaxes allowed and how they are implemented is not described.  In Perl 6 they are procedural -- their description is in terms like "end matching here".
16:17 raydiak vendethiel: istr there's a semantic difference between those two wrt LTM or something
16:17 rba_ joined #perl6
16:17 vendethiel I think it's regarding error messages/backtracking, but LTM might be something as well
16:18 raydiak I can see how %$ would seem like an obvious variant to add to the collection though
16:22 _mg_ joined #perl6
16:33 rba_ joined #perl6
16:33 rmgk joined #perl6
16:36 colomon joined #perl6
16:43 tony-o timotimo: do you happen to know if anything installing to a CUR now instead of a CUL ?  I'm looking through my dirs to find a MANIFEST file but i'm not seeing much
16:43 kaare__ joined #perl6
16:45 tony-o .tell timotimo i don't see anything out of the box using a CUR but Pluggable is updated to work with the changes to the way @*INC reports CU*s
16:45 yoleaux tony-o: I'll pass your message to timotimo.
16:46 andreoss m: say @*INC.perl
16:46 camelia rakudo-moar 9c543b: OUTPUT«["file#/home/camelia/.perl6/2015.04-181-g9c543b5/lib", "inst#/home/camelia/.perl6/2015.04-181-g9c543b5", "file#/home/camelia/rakudo-inst-1/share/perl6/lib", "file#/home/camelia/rakudo-inst-1/share/perl6/vendor/lib", "file#/home/camelia/rakudo-inst-1/share/…»
16:48 hoelzro thanks pmichaud, lizmat, jnthn!
16:49 tony-o andreoss: none of those are repos - there is one format of a repo that installs modules as '###' and keeps a MANIFEST[.json] file relating what each ### provides from a module/package perspective and which module/package each file belongs to
16:50 tony-o Pluggable combs all of @*INC looking for modules that begin with Your::Class::[Plugin|whatever]::
16:50 andreoss when i push something in @*INC should i prefix it with "file#" too?
16:51 tony-o it gets handled for you last i checked, you can also do 'use lib "lib"'
16:52 tony-o use lib 'lib' prefixes it
16:53 nbdsp I tried slurp('part-of-speech.txt').match(:g, /<-[\t\n]>+/)>>.Str.hash, this improved things, but it still runs almost 4 minutes on my machine (Python's code runs about 2 seconds). Sorry for the maybe silly question, but is the current executing speed of this task (reading file into map) is considered within acceptable limits?
16:54 jeffreykegler left #perl6
16:54 mr_ron joined #perl6
16:57 tony-o depends on how big that file is, can you gist it?
16:59 nbdsp tony-o : https://raw.githubusercontent.com/kevina​/wordlist/master/pos/part-of-speech.txt
17:01 nbdsp the file format is 'aaa\tbbb'. The task is to read it into map : m<aaa> = 'bbb'
17:02 _mg_ joined #perl6
17:02 tony-o are you expecting bbb to start with a pipe in most of these cases
17:03 nbdsp Does it make difference in this code: slurp('part-of-speech.txt').match(:g, /<-[\t\n]>+/)>>.Str.hash ?
17:04 tony-o i'm golfing it to figure out where your speed is
17:05 nbdsp raydiak ealier today reported that this task takes 7 minutes on his machine.
17:11 tony-o that slurp thing took 18s on my machine
17:12 tony-o how long does it take for your machine to run 'my %r = "part-of-speech.txt".IO.slurp.lines.map({ .split("\t", 2) });'
17:16 Isp-sec joined #perl6
17:17 tony-o nbdsp: https://gist.github.com/tony-o/799419e6807c95ef9927
17:19 tony-o 4 to 7 minutes seems excessive
17:20 raydiak that one took 53s here
17:21 tony-o raydiak: the map version ?
17:21 raydiak time perl6 -e '%r = slurp("part-of-speech").match(:g, /<-[\t\n]>+/)>>.Str.hash; %r.keys.elems.say;'
17:21 raydiak I'm wondering if it isn't the split in the version I tried before that takes so long
17:22 tony-o the one you ran was the original one, .match is the one nbdsp posted
17:23 ugexe andreoss: dont push to @INC
17:23 * raydiak digs into last night's irclog (that was last night for me)
17:24 tony-o the .map for me is slower, more in the area of 1m20
17:24 raydiak the original question: http://irclog.perlgeek.de/perl6/2015-05-08#i_10567007
17:25 raydiak thing I ran last night: my $s = "file".IO.slurp; my %m; for $s.lines { my @pair = $_split("\t"); %m{@pair[0]} = @pair[1];}
17:25 tony-o ah ^ i just got into it about 40 minutes ago :-)
17:26 raydiak glad a little tweaking at least cut it down to under a minute :)
17:26 Akagi201 joined #perl6
17:27 * raydiak was trying to convince nbdsp to break it up into more lines and time the different steps
17:30 raydiak %r = slurp("part-of-speech.txt").comb(/<-[\t\n]>+/); %r.keys.elems.say;   drops it to 45s here
17:30 Sysaxed joined #perl6
17:30 Sysaxed m: @arr = <one two three>;
17:30 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/S2BJNOx01u␤Variable '@arr' is not declared␤at /tmp/S2BJNOx01u:1␤------> 3@arr7⏏5 = <one two three>;␤    expecting any of:␤        postfix␤»
17:31 Sysaxed why does it say "expecting any of: postfix"?
17:31 ugexe tony-o: file# and inst# are both compunitrepos
17:31 Sysaxed what does it mean?
17:31 tony-o m: my @arr = qw<one two three>;
17:31 camelia rakudo-moar 9c543b: ( no output )
17:32 ugexe CompUnitRepo::Local::File and CompUnitRepo::Local::Installation
17:32 Sysaxed tony-o: I know, I know
17:32 Sysaxed tony-o: and the first part of the message is correct
17:32 tony-o ugexe: they're both CURLs
17:32 Sysaxed but I'm just wondering what kind of a postfix could it possibly want?
17:32 Sysaxed "my" is not a postfix?
17:32 tony-o i was wondering if timotimo knew about a change for CURI
17:32 Sysaxed or is it?
17:32 tony-o m: @arr = qw<one two three>;
17:32 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tvRWIPYWst␤Variable '@arr' is not declared␤at /tmp/tvRWIPYWst:1␤------> 3@arr7⏏5 = qw<one two three>;␤    expecting any of:␤        postfix␤»
17:33 tony-o weird
17:33 rba_ joined #perl6
17:33 raydiak it's a good question, what postfix is valid on an undeclared var name? :)
17:34 raydiak std: @arr = qw<one two three>;
17:34 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Variable @arr is not predeclared at /tmp/6RtAQPVoze line 1:␤------> 3<BOL>7⏏5@arr = qw<one two three>;␤Check failed␤FAILED 00:00 137m␤»
17:35 raydiak ^ that's what we want, I expect...
17:35 Sysaxed raydiak: I'm not sure. It actually says "'@arr' is not declared" which is 100% correct
17:35 mr_ron perl5 and use strict gives a similar legible error
17:35 Sysaxed raydiak: but then goes on and tells about a postfix...
17:38 ugexe if you just want to load a single compunit i think the expected way is $cur.load, but im not sure that works completely
17:38 ugexe er, $cu.load
17:38 tony-o it's for Pluggable so it's combing instead of loading
17:39 raydiak ah ha...
17:39 raydiak m: @arr.DUMP.say
17:39 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yzGZRjPUR3␤Variable '@arr' is not declared␤at /tmp/yzGZRjPUR3:1␤------> 3@arr.DUMP.say7⏏5<EOL>␤    expecting any of:␤        method arguments␤»
17:39 raydiak hm, that worked locally, weird
17:41 Sysaxed raydiak: nope, does not work
17:41 * geekosaur wonders why a prefix would be proposed as a postfix
17:41 geekosaur (""my" is not a postfix?" no, it's a prefix)
17:42 Sysaxed geekosaur: well, that's what I thought :D
17:42 Sysaxed that's why I came here, right
17:42 geekosaur I think it's working from the position that error recovery left it in statement context and it's looking for a statement postfix, maybe?
17:43 geekosaur but not certain and don't have the production rules for p6's grammar in front of me just now
17:45 araujo joined #perl6
17:47 raydiak yep playing with it, kinda looks like it parses the whole statement, complains about the undeclared name, then gives you suggestions for what would have been valid where it left the cursor, at the end of the statement, falsely assuming that the error was where parsing stopped
17:47 raydiak m: @a.a
17:47 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1kqYZUJBsZ␤Variable '@a' is not declared␤at /tmp/1kqYZUJBsZ:1␤------> 3@a.a7⏏5<EOL>␤    expecting any of:␤        method arguments␤»
17:47 raydiak now it expects method arguments :)
17:48 raydiak m: @a.a()
17:48 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A7cCYyunNX␤Variable '@a' is not declared␤at /tmp/A7cCYyunNX:1␤------> 3@a.a()7⏏5<EOL>␤    expecting any of:␤        argument list␤»
17:48 geekosaur remember that = is special
17:49 raydiak I don't know very much about it, really
17:50 geekosaur so it's realizing the problem there after eating .a (in theory it could do so at . but I suspect the rule consumes the method name before it's recognized that it's applying to an undefined name)
17:50 Sysaxed and then you give it an argument list
17:50 Sysaxed m: @a.('hello', 'world');
17:50 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gQD8OfRsSh␤Variable '@a' is not declared␤at /tmp/gQD8OfRsSh:1␤------> 3@a.('hello', 'world')7⏏5;␤»
17:50 Sysaxed hooray, correct error!
17:50 geekosaur but for assignment it reads the whole assgnment before gettng there
17:50 nbdsp >"that one took 53s here" - Sorry, I simply don't know what is considered fast or not so fast in the Perl 6. Is 53 seconds is OK in this case?
17:51 Sysaxed nbdsp: which case?
17:51 raydiak correct error, wrong curcor position still :)
17:51 raydiak *cursor
17:51 nbdsp In case considered here: reading 250,000 lines into map
17:52 geekosaur (also you can diosable strict checking, IIRC, and get p5-like behavior where the assignment implicitly declares)
17:53 Sysaxed geekosaur: sooo, should I create a bug report?
17:53 geekosaur it is certainly LTA
17:54 geekosaur we're just trying to nail down what the exact bug *is*
17:54 geekosaur not saying it's not one
17:54 Sysaxed :)
17:54 raydiak note that in @a.a() there is no = but it still definitely acts weird
17:54 * raydiak should ask fewer questions and read the grammar more
17:55 geekosaur yes, I conjectured earlier it reralizes the problem only after parsing the .a
17:55 geekosaur and that's the context the "expecting:" is generated from
17:55 tony-o nbdsp: it's OK right now albeit slow
17:55 geekosaur so actually similar issue of the error using the wrong context, it just doesn't eat the whole statement
17:56 raydiak ah got it
17:56 Sysaxed nbdsp: I've heard that if you find something slow then you can submit a test case for perlbench or something
17:56 nbdsp tony-o : thanks! I guess I should run Perl 6 on a more fast machine than.
17:56 tony-o most of that time is spent in the .match it looks like
17:56 Sysaxed nbdsp: this way somebody might eventually pick it up and optimize it
17:56 raydiak I tried it in some other expressions and saw it doesn't eat the whole expression
17:57 raydiak so that seems to be congruent
17:58 geekosaur IIRC assignment is macro-like, turns into something internally like <op:=>(<var>,<value>) so it reads the whole expression and only later realizes the thing in <var> was not declared
17:58 nbdsp Sysaxed: thanks, I just didn't know if such a speed is considered an issue or this is just a price for all the cool features.
17:59 Sysaxed nbdsp: no, it is indeed slow
17:59 Sysaxed nbdsp: but there are constant performance improvements
17:59 tony-o ++
17:59 Sysaxed nbdsp: I actually like following https://p6weekly.wordpress.com/
18:00 Sysaxed nbdsp: it kinda gives me an idea of how fast things are progressing
18:00 geekosaur correctness has been the main worry until recently, performance is becoming the focus with things like the GLR expected to solve a bunch of performance issues all at once.. but still leaving many to be addressed
18:00 nbdsp Thanks for the link. Will check it regularly.
18:01 vendethiel m: say "hi"
18:01 camelia rakudo-moar 9c543b: OUTPUT«hi␤»
18:01 vendethiel m: say "ae be ce".grep(/<|w>+/)
18:01 vendethiel ^ is that a known problem?
18:02 raydiak geekosaur: that makes sense. do you know how we correctly handle errors in those cases?  is it supposed to be moving the cursor back to the beginning of the name when it sees the error, or is it supposed to not show the irrlevant suggestions, or...???...
18:02 camelia rakudo-moar 9c543b: OUTPUT«Memory allocation failed; could not allocate 155504 bytes␤»
18:02 vendethiel do I not get how <|w> works?
18:02 geekosaur I think the 'expecting' part makes more sense with syntax-related errors, this is a semantic issue in a syntactically correct statement
18:02 geekosaur i.e. it doesn't really belong with or add to the error message
18:03 tony-o nbdsp: are you using JVM or MOAR ?
18:03 zengargoyle joined #perl6
18:03 rba_ joined #perl6
18:03 nbdsp I have both, and run this on Moar.
18:03 geekosaur inb *some* cases a semantic error might actually be because of mangled syntax, but I'm not sure that is worth consideration here
18:05 Sysaxed nbdsp: there was a great talk about performance in perl 6
18:05 Sysaxed nbdsp: http://jnthn.net/papers/2014-yapceu-performance.pdf
18:05 Sysaxed nbdsp: here is the video https://www.youtube.com/watch?v=bhAIyrk2ogo
18:06 Sysaxed you can actually skip to the last slides for a couple of cool graphs
18:06 nbdsp Sysaxed: thanks, will check it.
18:14 zengargoyle joined #perl6
18:21 raydiak geekosaur: I'm looking at where that error gets thrown; what type of thing is in $*W, so I can read and understand its methods?
18:26 ugexe $*W is World
18:26 cygx joined #perl6
18:26 cygx o/
18:27 raydiak cool thanks :)
18:27 raydiak \o cygx
18:27 yqt joined #perl6
18:28 cygx nbdsp: see https://gist.github.com/cygx/c1d06377387178097c58 for a low-level implementation
18:29 cygx nbdsp: as the optimizer gets smarter, the other solutions should come closer to that performance
18:29 nbdsp cygx: thanks! thats very helpful.
18:31 cognominal joined #perl6
18:42 rba_ joined #perl6
18:44 raydiak this is a very sad area of code to work in...worries, sorrows, crying...
19:03 spider-mario joined #perl6
19:07 zengargoyle joined #perl6
19:11 arnsholt joined #perl6
19:16 Akagi201 joined #perl6
19:16 _mg_ joined #perl6
19:27 mr_ron joined #perl6
19:27 zengargoyle joined #perl6
19:30 raydiak heh I can't recommend editing the perl 6 grammar directly on github unless you like to listen to your CPU fan scream for the fun of it :)
19:32 raydiak but anyway I do have a fix for that weird undeclared var error if anyone feels confident enough to merge it: https://github.com/rakudo/rakudo/pull/422
19:34 nbdsp joined #perl6
19:34 dalek roast: a8ce3b9 | usev6++ | S32-num/int.t:
19:34 dalek roast: Use unique ticket number for 'Inf and NaN NYI for Int'
19:34 dalek roast: review: https://github.com/perl6/roast/commit/a8ce3b96ea
19:34 dalek roast: 2edbb00 | usev6++ | S32-num/int.t:
19:34 dalek roast: Replace one instance of eval_dies_ok with throws_like
19:34 dalek roast: review: https://github.com/perl6/roast/commit/2edbb00e64
19:34 dalek roast: 66999bf | usev6++ | S04-declarations/constant.t:
19:34 dalek roast: Unfudge passing test for unicode constant name
19:34 dalek roast: review: https://github.com/perl6/roast/commit/66999bfce7
19:37 nbdsp cgyx: your low level implementation is awesome! it runs about 5 seconds. thanks!
19:41 cygx nbdsp: no problem
19:41 mr_ron left #perl6
19:43 cygx nbdsp: just make sure that the last line terminates with \n, or it'll blow up if you use the script as-is ;)
19:43 rba_ joined #perl6
19:44 * masak .oO( n: The Terminator )
19:44 * masak .oO( "I'll be last" )
19:44 * masak .oO( "Hasta la vista, script as-is" )
19:46 zengargoyle joined #perl6
19:47 masak Perl 6: come for the language semantics, stay for the puns.
19:49 masak ...or possibly the other way around...
19:49 cygx nbdsp: of course, one could also just add the line `$nl = $chars if $nl < 0;` - but where's the fun in that ;)
19:49 arnsholt masak: Or both =)
19:50 cognominal joined #perl6
19:54 FROGGS implementing ignoremark is not so much fun :o(
19:55 * masak .oO( what have you got against Mark? )
19:56 zoosha joined #perl6
20:01 bartolin m: constant $foo = 42; try { $foo = 21 }; say "alive"
20:01 camelia rakudo-moar 9c543b: OUTPUT«alive␤»
20:01 bartolin m: constant $foo = 42; try { $foo := 21 }; say "alive"
20:01 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tXGQRfuDW3␤Cannot use bind operator with this left-hand side␤at /tmp/tXGQRfuDW3:1␤------> 3constant $foo = 42; try { $foo := 21 7⏏5}; say "alive"␤»
20:02 bartolin ^^ the second evaluation is okay to fail at compile time, isn't it?
20:02 FROGGS I... I ge
20:02 bartolin also: hi, #perl6!
20:02 FROGGS I... I guess so
20:02 FROGGS hi bartolin
20:03 masak sure, any rebinding of constants should be an error. the earlier the better.
20:03 masak that cannot ever work at runtime.
20:03 FROGGS and try is not supposed to catch that?
20:04 FROGGS wow, I got character classes with ignoremark to work...
20:04 FROGGS at least for the few tests I got
20:05 masak FROGGS: what I'm saying is I'm fine with it failing to compile, and `try` feels more like for things that may or may not work, not things that are guaranteed to fail as soon as you run them.
20:06 bartolin FROGGS: are you still at the GPW?
20:06 FROGGS bartolin: sort of
20:06 FROGGS bartolin: I'm in my hotel room
20:06 FROGGS masak: k
20:07 masak FROGGS: think of it this way: the `constant` keyword is a compile-time assertion that the value is not going to be messed with.
20:07 masak and so we're free to catch things at compile time.
20:08 bartolin FROGGS: I'm a bit sad that I didn't have time to go to Dresden, too. but maybe next year ...
20:09 bartolin FROGGS: hope you had/have fun there!
20:10 dalek roast: f7415ae | usev6++ | S04-declarations/constant.t:
20:10 dalek roast: Use unique ticket number for similiar tests
20:10 dalek roast: review: https://github.com/perl6/roast/commit/f7415ae353
20:10 dalek roast: f5deb5c | usev6++ | S04-declarations/constant.t:
20:10 dalek roast: Fix two tests which relied on try catching a compile time error
20:10 dalek roast: review: https://github.com/perl6/roast/commit/f5deb5ca1f
20:10 FROGGS bartolin: ohh yes, it was quite fun
20:11 FROGGS bartolin: next time seems to happen in Nuremberg
20:12 bartolin FROGGS: oh, I didn't visit Nuremberg yet :)
20:20 Sysaxed Haha, so I was wondering why unicode stuff does not work properly in my terminal, and it turned out that I was actually running xterm instead of urxvt
20:20 Sysaxed and indeed, cannot tell the difference https://files.progarm.org/2015-05-08-231509_640x521_scrot.png
20:22 zengargoyle joined #perl6
20:22 Sysaxed At the same time, I'm still getting this: "------> @bâ = <hello world>;", as far as I understand that symbol should be rendered as an arrow, right?
20:23 Sysaxed hmm there's something wrong with my locale...
20:23 mr-foobar joined #perl6
20:24 Sysaxed OH right
20:24 Sysaxed got it
20:26 raydiak .u ⏏
20:26 yoleaux U+23CF EJECT SYMBOL [So] (⏏)
20:26 raydiak close enough to an arrow :)
20:34 masak it is an arrow. on top of a box.
20:39 domidumont joined #perl6
20:40 dalek roast: 692d7be | usev6++ | S05-modifier/my.t:
20:40 dalek roast: Unfudge 4 passing tests, fix test no. 5
20:40 dalek roast: review: https://github.com/perl6/roast/commit/692d7be0fc
20:43 bartolin ^^ could someone review that commit, please? as in: was the last test wrong (nok 'c3' ~~ &hasstate) ?
20:44 dolmen joined #perl6
20:44 zengargoyle joined #perl6
20:44 * masak reviews
20:45 bartolin thanks, masak++
20:46 masak yeah, that change makes a lot of sense.
20:47 bartolin nice, another ticket can be closed :-)
20:47 masak the (corrected) test as such is not one I'd've written, but I'm hard-pressed to explain why not.
20:48 masak a first stab at explaining why: testing not-c4 is a lot less specific than testing for c3 (which you know to expect, so might as well test for it).
20:48 masak but if you do that, it's quite clear that you're testing nothing new compared to the c2 test.
20:49 bartolin *nod*
20:53 masak this has been masak's mini-course "Don't Write Tests Because You Have To, Write Tests Because You Have Something To Test" :)
20:53 bartolin this goes into the ticket :-)
20:54 zengargoyle joined #perl6
20:54 masak :P
20:59 raydiak probably leaving soon but, can anyone explain what is being accomplished with $/.PRECURSOR and $*W.throw(:precursor) in src/Perl6/{Actions,World}.nqp ?  I made a PR which uses it and seems to do the right thing but it makes me uneasy not knowing the full why and how of it.
21:01 * raydiak just found https://github.com/perl6/nqp/blob/5e9f7b8c563d3601961751aec03228325e33d76d/src/QRegex/Cursor.nqp#L731
21:04 Akagi201 joined #perl6
21:17 Sqirrel joined #perl6
21:27 Sysaxed raydiak: maybe it would be better if you ask it right in the pull request?
21:27 Sysaxed this way someone might searching for the same thing might stumble upon it
21:27 Sysaxed s/might//
21:28 raydiak I did give a pretty clear indication in the PR that I'm less than certain about the prematch thing
21:33 vendethiel m: say Nil.defined, Any.defined
21:33 camelia rakudo-moar 9c543b: OUTPUT«FalseFalse␤»
21:33 cygx any suggestions for a better name for https://github.com/cygx/p6-uni63 ?
21:34 dalek roast: 9d53706 | usev6++ | S03-operators/assign.t:
21:34 dalek roast: Use unique ticket number for similiar tests
21:34 dalek roast: review: https://github.com/perl6/roast/commit/9d5370631e
21:34 dalek roast: e9074a8 | usev6++ | S03-operators/assign.t:
21:34 dalek roast: Replace one instance of dies_ok with throws_like
21:34 dalek roast: review: https://github.com/perl6/roast/commit/e9074a83c8
21:34 dalek roast: fdaa7dc | usev6++ | S0 (2 files):
21:34 dalek roast: Unfudge passing test for RT #116178, add 2nd test
21:34 dalek roast: review: https://github.com/perl6/roast/commit/fdaa7dc62e
21:34 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=116178
21:35 masak m: say .defined for Any, Nil, Empty
21:35 camelia rakudo-moar 9c543b: OUTPUT«False␤False␤»
21:35 masak heh :)
21:36 vendethiel :D
21:36 masak now which one of you jokers disappeared from my list?
21:36 * masak guesses Nil
21:36 masak m: say .defined for Any, Empty
21:36 camelia rakudo-moar 9c543b: OUTPUT«False␤»
21:36 cygx m: say .defined for Any, Nil, $(Empty)
21:36 camelia rakudo-moar 9c543b: OUTPUT«False␤False␤False␤»
21:36 masak nope.
21:36 masak m: say .defined for Any, Nil
21:36 camelia rakudo-moar 9c543b: OUTPUT«False␤False␤»
21:36 masak ok, Empty auto-disappears from lists. unlike Any and Nil.
21:37 masak I guess that makes sense, if Empty is mostly like ()
21:39 dalek mu: d259b71 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt:
21:40 dalek mu: Keep track of merged and resolved tickets
21:40 dalek mu: review: https://github.com/perl6/mu/commit/d259b716c1
21:41 RabidGravy is Empty quite recent?
21:42 cygx RabidGravy: 14h old
21:42 RabidGravy ah okay
21:43 RabidGravy I'd created an enum in Sys::Utmp with an Empty in it and it didn't warn
21:43 rba_ joined #perl6
21:43 RabidGravy changed now
21:44 masak don't think it should warn in that case. `Empty` would just be lexically shadowed in that scope.
21:45 Sysaxed raydiak: now I wonder, it says "Variable '$test' is not declared"
21:45 Sysaxed raydiak: any reason it couldn't go on and suggest to add "my" ?
21:47 RabidGravy masak, best to chane it anyway, it'll cause a problem down the line :)
21:49 Sysaxed yea, well, imagine somebody coming with a different experience, let's say python
21:49 Sysaxed m: $test = 1
21:49 camelia rakudo-moar 9c543b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u_pSw0GMn_␤Variable '$test' is not declared␤at /tmp/u_pSw0GMn_:1␤------> 3$test7⏏5 = 1␤    expecting any of:␤        postfix␤»
21:50 Sysaxed "is not declared? What do you mean? Here, I declared it: $test = 1"
21:50 masak RabidGravy: agreed.
21:51 Sysaxed I could be wrong though, somebody has to confirm that it is actually LTA...
21:52 zengargoyle joined #perl6
21:53 RabidGravy Sysaxed, but 'my' might not be what the want or expect, they may have typo-ed a name already in scope or expected it to be be declared from another scope or something else
21:54 RabidGravy so the message is probably not ideal but tricky to guess what they intended
21:58 RabidGravy confounding an expectation raised by not understanding the language is probably better than suggesting they do something which is wrong
22:03 zengargoyle joined #perl6
22:05 Akagi201 joined #perl6
22:06 Sysaxed RabidGravy: "If you wanted to declare a variable, then use 'my'"
22:07 Sysaxed RabidGravy: doesn't sound good enough?
22:12 RabidGravy well to be fair gcc would do the same
22:12 RabidGravy error: ‘test’ undeclared (first use in this function)
22:26 larion joined #perl6
22:28 fhelmberger joined #perl6
22:31 skids joined #perl6
22:57 dalek rakudo/nom: 3b8b315 | hoelzro++ | docs/ChangeLog:
22:57 dalek rakudo/nom: Mention linenoise changes in the changelog
22:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b8b315022
23:05 rba_ joined #perl6
23:14 kurahaupo1 joined #perl6
23:16 masak 'night, #perl6
23:16 japhb Sysaxed: You mentioned earlier that slow issues could be submitted as tests.  You are correct -- they should be submitted here: https://github.com/japhb/perl6-bench
23:17 japhb Patches of any type welcome.  Regular patchers get commitbits.  :-)
23:27 coffee` joined #perl6
23:33 lizmat joined #perl6
23:34 cognominal joined #perl6
23:39 rba_ joined #perl6
23:43 Sysaxed japhb: yea I know, I'm also running ./bench quickstart for several hours now... :D
23:43 Sysaxed because I couldn't find the latest stats
23:43 timotimo right, i haven't posted benchmarks in $longtime
23:43 yoleaux 16:45Z <tony-o> timotimo: i don't see anything out of the box using a CUR but Pluggable is updated to work with the changes to the way @*INC reports CU*s
23:44 Sysaxed timotimo: might be worth doing, that's pretty interesting
23:45 timotimo i'm just afraid the results may turn out pretty bad
23:45 timotimo and whenever i run benchmarks, i leave that machine alone completely and try to shut off pretty much everything running in the background
23:46 Sysaxed timotimo: how long does it take?
23:46 timotimo depends very much on what i run
23:46 Erendis42d joined #perl6
23:46 Erendis42d ^v^
23:46 timotimo last time i ran benchmarks, rakudo-parrot was still a thing, i believe
23:46 dalek ecosystem: 046d58b | cygx++ | META.list:
23:46 dalek ecosystem: Add TinyCC to the ecosystem
23:46 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/046d58b0be
23:46 dalek ecosystem: 676b7cc | (Zoffix Znet)++ | META.list:
23:46 dalek ecosystem: Merge pull request #44 from cygx/patch-2
23:46 dalek ecosystem:
23:46 dalek ecosystem: Add TinyCC to the ecosystem
23:46 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/676b7cc150
23:46 Sysaxed do I get it right that first of all it compiles everything
23:46 timotimo but if you run the jvm benchmarks, expect that alone to take 4x or 5x as long as the moarvm benchmarks
23:46 Sysaxed and only then runs the benchmarks?
23:47 timotimo for every benchmark it runs the task with "zero workload" first to figure out how long it takes to start up and compile
23:47 timotimo and it runs the benchmarks a few times in a row to get more precise results
23:48 Sysaxed well, I meant the compilation of rakudo, moarvm and stuff
23:48 timotimo oh
23:48 timotimo quickstart will compile a whole bunch of versions for you
23:48 Sysaxed yea
23:48 Sysaxed okay, well
23:48 timotimo and then benchmark all of them, that's right
23:49 Sysaxed it has been several hours and I believe that most of the stuff is not compiled
23:49 timotimo it's pretty neat, as it puts all the stuff that needs to download stuff up front
23:49 Sysaxed patience is a virtue, right?
23:49 timotimo yes
23:50 timotimo i've wanted it to output a bigger status summary every now and then so that you can tell where it's at and what it wants to be doing
23:51 Sysaxed timotimo: I really enjoy p6weekly, thanks
23:51 timotimo you're welcome; and thanks for telling :)
23:53 timotimo also, a full set of perl6-bench things takes a whole lot of hard drive space
23:53 Sysaxed timotimo: how much?
23:54 timotimo i'm measuring my folder right now
23:54 timotimo but that has a *lot* of versions built
23:54 Akagi201 joined #perl6
23:55 timotimo 15gb and counting
23:56 timotimo japhb: do you think we should be running "make clean" after "make install" in our compilation steps?
23:57 Sysaxed mine is already at 10gb
23:57 timotimo 22gb in components/
23:58 timotimo 7.4gb in timings/
23:58 timotimo ah
23:58 timotimo that's because the perl5 json files are all half a gig big
23:58 timotimo the compiled rakudo-moar's are about 290mb big
23:59 timotimo i mean, each compiled rakudo-moar

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

Perl 6 | Reference Documentation | Rakudo