Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-05-28

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 aindilis joined #perl6
00:14 TimToady sorear: ピン
00:22 tokuhiro_ joined #perl6
00:27 bbkr_ joined #perl6
00:37 sudokode joined #perl6
01:09 fgomez joined #perl6
01:09 AndChat|524400 joined #perl6
01:10 tokuhiro_ joined #perl6
01:14 [Coke] "Impl",      "pass","fail","todo","skip","plan","spec"
01:14 [Coke] # 05/27/2012 - rakudo++ (22296); niecza (91.62%); pugs (34.73%)
01:14 [Coke] "niecza",     20428,     4,   743,  1451, 22626, 24117
01:14 [Coke] "pugs"  ,      7745,  1970,  2978,  1297, 13990, 23978
01:14 [Coke] "rakudo",     22296,    30,   640,  1874, 24840, 24117
01:15 [Coke] (there's the long standing 30 failures in rakudo)
01:24 ponbiki joined #perl6
01:26 vinian joined #perl6
01:39 lala joined #perl6
01:57 [Coke] r: say '(foo)' ~~ /'(' ~ ')' .*?/
01:57 p6eval rakudo e7d4e8: OUTPUT«Unable to parse _block1011, couldn't find final ')'␤  in any FAILGOAL at src/stage2/QRegex.nqp:723␤  in regex <anon> at /tmp/O7AI_ta0jF:1␤  in method ACCEPTS at src/gen/CORE.setting:9513␤  in block <anon> at /tmp/O7AI_ta0jF:1␤␤»
01:58 [Coke] r: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew"
01:58 p6eval rakudo e7d4e8: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 2, near " abc $/ ??"␤»
01:58 [Coke] masak: ^^ && https://rt.perl.org/rt3/Ticket/Display.html?id=72440
02:26 wolfman2000 joined #perl6
02:48 [Coke] argh. rt just let me replace "search1" with "search2".
02:48 [Coke] I was trying to copy the search.
03:20 adu joined #perl6
03:24 benabik Is a test failure in nqp expected?  qregex test 290 "alternation (|) - null right arg illegal" failed with 'Confused at line 2, near "|"'
03:37 kurahaupo joined #perl6
03:55 diakopter benabik: that's the only failure I get that isn't marked TODO
03:55 * benabik marks it TODO locally.
03:56 _jaldhar joined #perl6
04:24 Gesh joined #perl6
04:26 kaare_ joined #perl6
04:27 [Coke] anyone know how to search RT for tickets that are not testneeded?
04:28 [Coke] Queue = 'perl6' AND  (  Status = 'new' OR Status = 'open' ) AND 'CF.perl6.{Tag}' NOT LIKE 'testneeded' ain't it.
04:29 [Coke] != 'testneeded' also not right.
04:31 kurahaupo joined #perl6
04:32 felher masak++ # for hacking and blog-posting :)
04:33 cognominal joined #perl6
04:34 xinming_ joined #perl6
04:40 diakopter nqp: a-1
04:40 p6eval nqp: OUTPUT«Null PMC access in subtract_int()␤current instr.: '_block1000' pc 47 ((file unknown):168997876) (/tmp/Khnj0TYtE9:1)␤»
04:41 diakopter phenny: tell jnthn try ./nqp -e 'a-1'
04:41 phenny diakopter: I'll pass that on when jnthn is around.
04:46 sorear who is this Hainsworth guy and has he said anything worth reading?
04:47 sorear if not, does he need a rebuttal?
04:52 diakopter I didn't find anything wrong with what he wrote
05:00 birdwindupbird joined #perl6
05:00 birdwind1pbird joined #perl6
05:01 birdwindupbird joined #perl6
05:04 sorear diakopter: unsubstantiated assertion that when a group of European hackers say "typical use" they're engaging in US-centricism
05:08 diakopter I don't read him as saying that at all
05:22 fibo joined #perl6
05:47 scott_ joined #perl6
06:10 fgomez joined #perl6
06:10 fgomez joined #perl6
06:23 moritz jnthn++ # blog
06:23 moritz masak++ # blog
06:24 moritz masak: in the first bullet point, A unary operator, a link is not expanded
06:25 xdbr joined #perl6
06:27 dalek rakudo/nom: d0b9784 | moritz++ | src/core/ (2 files):
06:27 dalek rakudo/nom: typed exception for unsupported inheritance
06:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0b9784489
06:27 dalek roast: c147454 | moritz++ | S32-exceptions/misc.t:
06:27 dalek roast: test X::Inheritance::Unsupported
06:27 dalek roast: review: https://github.com/perl6/roast/commit/c147454643
06:27 Woodi morning #
06:31 Woodi in last night backlog I saw Perl[56] discussion and no one could say for what v6 is better NOW and why it is worth learning... probably we should find few Perl6 good points good for use in not performance required cases...
06:37 * diakopter runs rakudo spectest for the first time
06:38 diakopter testing better patch for nfa quant.
06:38 diakopter surely rakudo uses %/%% in places
06:43 diakopter moritz: is make spectest supposed to pass all tests?
06:56 lestrrat joined #perl6
07:04 diakopter ok, obviously it is
07:10 spacebat joined #perl6
07:10 spacebat hai, giving R* a spin for the first time in a while
07:11 spacebat groping in the dark here, how do I enumerate the files in a directory?
07:13 diakopter I think currently you have to run ls or dir and parse the output
07:13 spacebat ah ok
07:14 diakopter I could be very wrong.
07:15 brrt joined #perl6
07:16 spacebat found it, its called dir
07:16 diakopter ah
07:16 spacebat I saw some old examples like "name".opendir that threwme
07:17 spacebat kinda glad "open a directory handle" is not tied to the Str type
07:17 spacebat perl6 advent calendar++
07:27 moritz spacebat: there's a dir('path') function that gives you all file name in a directory, lazily
07:27 brrt ... wow, nqp from just yesterday is too old for rakudo today
07:28 moritz brrt: yes, a big branch landed
07:28 brrt well, thats good at least
07:33 * brrt leaves
07:33 brrt left #perl6
07:35 Celelibi joined #perl6
07:35 ab5tract joined #perl6
07:38 diakopter moritz: u around?
07:38 moritz diakopter: yes
07:40 diakopter with latest nqp and latest rakudo, some rakudo spectests fail
07:40 moritz diakopter: which ones?
07:40 diakopter #19 on t/spec/S05-grammar/protoregex.t
07:40 diakopter oh wait
07:40 moritz my latest spectest run was all clean
07:40 diakopter nm, lemme run it again
07:40 diakopter I forgot to make install the other nqp
07:40 diakopter 3 minutes
07:41 moritz no hurry :-)
07:41 diakopter nm. 5 minutes. have to rebuild rakudo too
07:47 diakopter ok, that fixed it
07:47 moritz very well
07:51 cognominal_ joined #perl6
07:52 dalek rakudo/nom: 3029a84 | moritz++ | src/core/ (2 files):
07:52 dalek rakudo/nom: typed exception for "is export" name clash
07:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3029a848c5
07:53 dalek roast: 5eefbf8 | moritz++ | S32-exceptions/misc.t:
07:53 dalek roast: test X::Export::NameClash
07:53 dalek roast: review: https://github.com/perl6/roast/commit/5eefbf8fd2
08:01 moritz r: say &infix:<+>
08:01 p6eval rakudo d0b978: OUTPUT«sub infix:<+>($a?, $b?) { ... }␤»
08:01 moritz r: say &infix:<+>.name
08:01 p6eval rakudo d0b978: OUTPUT«infix:<+>␤»
08:05 kaleem joined #perl6
08:07 * diakopter spectests again. takes 15 minutes.
08:20 dalek rakudo/nom: 197e0bd | moritz++ | src/core/ (2 files):
08:20 dalek rakudo/nom: typed exception when non-dwimmy hyperop has lists of unequal length
08:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/197e0bd857
08:25 dalek roast: 78d560a | moritz++ | S32-exceptions/misc.t:
08:25 dalek roast: test for X::HyperOp::NonDWIM
08:25 dalek roast: review: https://github.com/perl6/roast/commit/78d560a771
08:27 Celelibi joined #perl6
08:29 brrt joined #perl6
08:30 diakopter scratch the 15 min. 30 min.
08:31 diakopter moritz: how would I get spectest to parallelize
08:31 moritz diakopter: TEST_JOBS=4 make spectest
08:32 * moritz submits another segfault ticket
08:32 sergot joined #perl6
08:32 diakopter nqp: a-1 # this is a weird one
08:32 p6eval nqp: OUTPUT«Null PMC access in subtract_int()␤current instr.: '_block1000' pc 47 ((file unknown):153506804) (/tmp/ZhaZW_hiBR:1)␤»
08:32 sorear plans for today/tomorrow: get v18 releasable; add handles if time permits
08:32 moritz sorear: sounds good
08:33 sergot o/ hi #perl6 !
08:34 diakopter well, the only test the spectest failed were teh ones just added by moritz
08:34 dakkar joined #perl6
08:34 diakopter because he pushed them while I was building rakudo, and then make spectest pulled down the latest tests :)
08:34 moritz yes, then that's kinda expected
08:39 diakopter sigh.
08:40 diakopter I committed to a branch, but I want to push the commit to master instead of to the new branch. help.
08:40 moritz go to master
08:40 moritz and merge the branch
08:40 moritz git merge yourbranch
08:40 moritz or if you want just that last commit, not the whole branch, cherry-pick it
08:41 moritz git cherry-pick yourbranch # takes the latest commit from yourbranch
08:42 dalek nqp: db80a11 | diakopter++ | src/QRegex/ (2 files):
08:42 dalek nqp: get %/%% working for real this time. all nqp and rakudo spectests pass. extremely ugly code. terrible, even. but there is a lot of unexpected behavior here that I can't explain if I change little things here and there, attepmting to optimize. This ugly hot mess is the best I can do safely. apologies.
08:42 dalek nqp: review: https://github.com/perl6/nqp/commit/db80a11591
08:42 dalek nqp: 2aee15e | diakopter++ | src/QRegex/ (2 files):
08:42 dalek nqp: Merge branch 'nfaquant'
08:42 dalek nqp: review: https://github.com/perl6/nqp/commit/2aee15e4c1
08:45 diakopter the best I can do safely, given my development cycle is, take 2-4 minutes to make a change, wait 45 minutes for tests.
08:47 diakopter moritz: do you know whether rakudo uses %/%% anywhere?
08:47 diakopter or the spectests even?
08:49 moritz diakopter: rakudo uses it in the Pod parsing code at least
08:49 moritz diakopter: and t/spec/S05-metasyntax/repeat.t has some tests
08:49 diakopter hmm. I wonder how it was working previously, then
08:50 diakopter because %/%% wasn't working in nqp
08:50 diakopter so I assumed it wasn't working in rakudo either
08:57 diakopter moritz: I hope it won't be necessary to revert that commit. :) sleep&
09:16 brrt joined #perl6
09:22 masak good antenoon, #perl6
09:25 brrt good morning, masak
09:27 cognominal_ masak++ # for noting that the graph of the Hanoi Tower game is a sierpinsky triangle. If you have missed it, their is a video about that on youtube, and an associated web page :  http://www.youtube.com/watch?v=w_3hCjE6FWU
09:29 cognominal_ *there
09:32 timotimo wow, that's cute
09:34 cognominal_ it seems that all videos in the fractalmath youtube channel are great.
09:36 masak cognominal_: I was walking to the store one day and I got genuinely curious. tried to work it out in my head. I got the general structure, but I didn't realize it was a sierpinski triangle until I got home and looked it up online.
09:38 masak [Coke]++ # been active in RT
09:42 masak r: class A { has $!x; method foo { say $!x } }; A.foo
09:42 p6eval rakudo 197e0b: OUTPUT«Cannot look up attributes in a type object␤  in method foo at /tmp/I8blzFbc8L:1␤  in block <anon> at /tmp/I8blzFbc8L:1␤␤»
09:47 masak r: my $foo = 'hello world'; say «$foo».elems
09:47 p6eval rakudo 197e0b: OUTPUT«===SORRY!===␤:w list value must be known at compile time␤at /tmp/YmTzn8ZLsA:1␤»
09:47 masak ses who?
09:52 b1rkh0ff joined #perl6
09:55 Celelibi joined #perl6
10:00 masak S03 certainly doesn't mandate that the values be compile-time values.
10:00 moritz yes, bug
10:00 masak and if «» is the moral equivalent of ""...
10:01 masak bug, but already submat. :)
10:13 cognominal_ How come the Iterable class has no method .next and .prev? … in rakudo at least.
10:14 moritz cognominal_: because that's not how iterators work in Perl 6.
10:15 masak I like http://www.lostgarden.com/2012/04/loops-and-arcs.html
10:15 masak its definition of 'wisdom' alone is interesting:
10:15 masak "Loops are very good at building 'wisdom', a holistic understanding of a complex system.  The player ends up with a mental model that contains a thousand branches, successes, failures and nuances that lets them approach new situations with confidence."
10:15 cognominal_ because of lazyness?
10:15 cognominal_ moritz?
10:16 masak cognominal_: not directly because of laziness.
10:16 moritz well, there are a lot of contraints that went into the design of iterators
10:16 masak cognominal_: the not-yet-updated S07 will have all the gory details :)
10:16 moritz laziness being one of them
10:16 cognominal_ I guess that will be a FAQ
10:17 moritz another being that    for 1..* { }   must be able to forget all the reified elements after they have been iterated
10:17 masak right, so .prev is quite the pessimization.
10:17 cognominal_ that's probablt a synopsys I have overlooked.
10:17 masak S07
10:17 masak but it's not up-to-date.
10:17 kubrat joined #perl6
10:17 cognominal_ *synopsis
10:18 moritz roughly 25 exceptions remain in src/core/ which I need to update to typed exceptions
10:19 masak the first comment of the HN thread is interesting too: essentially, consumption is arc-y and production is loop-y. http://news.ycombinator.com/item?id=3907562
10:19 masak that's what I feel about submitting bugs. it's a little loop.
10:29 Timbus so i was testing out the gimp and um. this accidentally happened: http://i.imgur.com/Otnn2.png
10:30 Timbus im so sorry
10:31 Timbus is it me or does camelia have lazy eye
10:31 Timbus technically it is me. i do have lazy eye
10:36 * masak too
10:37 masak the Camelia on http://en.wikipedia.org/wiki/Perl_6 is looking straight at me, though.
10:39 Timbus the more i stare, the less sure i am
10:40 spider-mario joined #perl6
10:42 * moritz liked Kamelia (the KDE-styled Camelia)
10:43 whiteknight joined #perl6
10:45 frettled Timbus: so that, uhm, _thing_ flying towards us madly, grinning, is advocating something called «d9», do you know what that is?
10:50 Timbus lol
10:50 JimmyZ_ joined #perl6
10:50 Timbus i dont know but i giggle every time i see it.
10:52 moritz and the MT... does it come out of MIT, but with the I dropped?
10:52 Timbus perhaps i should replace the wing letters with php
10:52 Timbus and it suddenly makes more sense
10:53 masak frettled: seems "d9" means a lot of different things: http://en.wikipedia.org/wiki/D9
10:53 Timbus Caterpillar D9 is apt
10:53 moritz Timbus: or mayb bλb
10:54 frettled I think it's short for "debiliated".
10:56 frettled So that, uh, thing is Debilia.
10:58 Timbus excellent name
10:58 mathw joined #perl6
10:59 HarryS joined #perl6
11:00 masak wonderful. Camelia now has a crazy twin sister.
11:06 JimmyZ_ joined #perl6
11:15 Timbus i will use this logo every time i do something absurd in perl 6. like implement sleepsort
11:16 masak ;)
11:16 sisar joined #perl6
11:18 HarryS joined #perl6
11:21 crab2313 joined #perl6
11:26 cognominal_ joined #perl6
11:38 am0c joined #perl6
12:04 Timbus um, so i was asked this in regards to perl6 param passing: "is there a switch to get it to default to pass as copy?"
12:05 Timbus i figured id ask so i could at least get a bunch of good, justified ways to say 'no'
12:07 masak I think it's been discussed.
12:07 masak a pragma of some sort.
12:07 moritz I don't think there's an easy way
12:07 moritz but I guess that jnthn++ could hack something extremly evil up in a few minutes or hours :-)
12:07 masak on paper, it should just be a matter of hooking into the routine-creating thingie and have it default to 'is copy'.
12:09 Timbus i dunno if the guy has a good reason to default to 'is copy'. maybe he needs to write a bunch of subs that.. uhhh
12:09 Timbus maybe ill ask
12:10 dalek star/template: f4632b9 | moritz++ | / (4 files):
12:10 dalek star/template: [build] add a basic template mechanism
12:10 dalek star/template:
12:10 dalek star/template: this grabs the {parrot,rakudo,nqp} revisions and fudges them into Configure.pl,
12:10 dalek star/template: so at least it is one less location to update
12:10 dalek star/template: review: https://github.com/rakudo/star/commit/f4632b9b72
12:12 dalek star/template: 2663a48 | moritz++ | build/skel-template.pl:
12:12 dalek star/template: [build] fix add a small comment
12:12 dalek star/template: review: https://github.com/rakudo/star/commit/2663a4881d
12:12 masak 'is copy' always feels like a shortcut to me.
12:13 colomon it *is* a shortcut
12:13 masak right.
12:14 masak well, let's put it like this. nowadays I tend towards immutability and fewer assignments. 'is copy' tells me I'm straying from that path, and that I should maybe ask myself why.
12:15 crab2313 joined #perl6
12:18 moritz jnthn, pmichaud: the 'template' branch in the star repo adds a small perl script that processes files while copying them over, and replaces some variables. It means we must update one less file manually when setting the versions. If you have no objections, I'll merge it into master
12:35 woosley joined #perl6
12:35 woosley left #perl6
12:39 masak moritz++
12:42 * arnsholt has finally gotten around to learning Parsec
12:42 arnsholt I have to admit, this is a pretty sweet a way of doing things
12:43 moritz how does it compare to p6 grammars?
12:46 * moritz -> afk
12:47 Gesh joined #perl6
12:56 PacoAir joined #perl6
13:07 Psyche^ joined #perl6
13:13 cognominal_ moritz: Parsec uses combinators
13:14 cognominal_ so do  some Scala grammar libraries
13:15 masak how do combinators compare to the rec-descent rules of p6 grammars?
13:15 cognominal_ http://en.wikipedia.org/wiki/Parser_combinator
13:16 masak hm, every variant of the question "how do parser combinators compare to p6 grammars?" seems to come across as "what are parser combinators?"...
13:17 masak I'm pretty sure the two are functionally equivalent. I know what combinators are, and I can imagine what it means to be a parser combinator.
13:18 masak but what does it *feel* like to use them compared to p6 grammars?
13:18 masak are the two isomoprhic in some interesting way?
13:18 cognominal_ I have yet to grap the differences between all the kind of parsers
13:18 masak oh btw.
13:18 masak #perl6, I'm taking a vacation.
13:19 masak if I don't show up tomorrow to nag, heckle, and troll you, don't be alarmed. it's a planned AFK time.
13:19 brrt joined #perl6
13:20 masak I'll miss you.
13:20 cognominal_ masak, do you have thought about a game wich states map to sierpinsky carpet, or sponge?
13:20 masak cognominal_: I hadn't. but it's an interesting thought.
13:20 birdwind2pbird joined #perl6
13:21 Juerd masak: Enjoy your holiday
13:22 masak oh, I will.
13:22 masak thanks.
13:22 cognominal_ ho, that's a Menger's Sponge
13:24 thou joined #perl6
13:35 pmichaud moritz: (star repo improvement)   no objections here
13:35 * pmichaud reads backscroll
13:36 Chillance joined #perl6
13:38 crab2313_ joined #perl6
13:44 crab2313 joined #perl6
13:46 JimmyZ joined #perl6
13:52 [Coke] r: say 659-78 # open tickets - testneeded
13:52 p6eval rakudo 197e0b: OUTPUT«581␤»
13:53 masak r: say 659#`[open tickets] - 78#`[testneeded]
13:53 p6eval rakudo 197e0b: OUTPUT«581␤»
13:54 arnsholt masak: Using Parsec definitely -feels- different from using P6 grammars
13:54 bbkr_ what kind of sorcery is this ?! :P
13:55 nebuchadnezzar joined #perl6
13:57 lumi_ I think grammars are like parsers, and parser combinators are like... parameterized rules maybe?
13:58 masak Perl 6 grammars have parameterized rules :)
13:59 masak it's all just methods.
13:59 lumi_ masak: Well, ** and % and such are combinators with some syntax, right?
14:01 masak if ** is a combinator, then all quantifiers are.
14:02 arnsholt And when I couldn't find a combinator to do "match exactly N of parser P" it was trivially simple to write my own that did what I wanted
14:02 masak but something tells me the p6 things don't count as combinators. they can be seen as combinators, for sure, but they aren't really.
14:07 SHINOBICL joined #perl6
14:08 lumi_ Isn't it just because they're kind of hard-wired?
14:09 dakkar joined #perl6
14:10 cognominal_ joined #perl6
14:13 bluescreen10 joined #perl6
14:15 arnsholt You could probably make your own combinators in a grammar, but I think it'd require some additional legwork to get working
14:22 masak &
14:28 JimmyZ joined #perl6
14:30 tyatpi joined #perl6
14:40 brrt left #perl6
14:48 araujo joined #perl6
14:53 kaare_ joined #perl6
15:03 fgomez joined #perl6
15:08 Antichoc joined #perl6
15:10 stepnem joined #perl6
15:11 Antichoc joined #perl6
15:11 benabik joined #perl6
15:14 adu joined #perl6
15:17 pyrimidine joined #perl6
15:24 araujo joined #perl6
15:25 shinobicl_ joined #perl6
15:33 dakkar joined #perl6
15:47 M_o_C joined #perl6
15:48 pmichaud [Coke]: ping
15:50 [Coke] pmichaud: pong.
15:50 pmichaud nm, I found the thread I was looking for (RT #66152, about memory consumption of a fore loop)
15:50 [Coke] http://perlcabal.org/syn/S09.html#Compact_arrays says "my int @ints"... is this correct and working in rakudo?
15:50 pmichaud s/fore//
15:50 [Coke] pmichaud: I'm testing that now.
15:50 pmichaud afaik, typed arrays are nyi in nom
15:51 pmichaud and I'm pretty sure that compact arrays are nyi
15:51 [Coke] I put in the original code from the user's post, and it's down to about 18s in rakudo. 13 if you s/Int//
15:51 pmichaud I find the original poster's claim of "26KB RAM" to be suspect for p5.  I'm not sure how one would hold 100K ints in 26KB of RAM.
15:53 [Coke] (that 5s variance might be due to compilation going on in background.)
15:53 thou joined #perl6
15:53 pmichaud No, I suspect that the "Int" constraint does indeed slow things down a bit.  I was going to also write in my reply that adding "Int" actually makes p6 do more work than the p5 version.
15:53 [Coke] perl 5.16.0 runs that in about 0.02s on feather.
15:54 [Coke] pmichaud: sadly, adding "int" instead breaks it.
15:54 pmichaud maybe change $i++ to $i = $i + 1
15:54 [Coke] <nod>
15:55 [Coke] that's a bug, yes?
15:55 pmichaud if it works, then yes.
15:55 [Coke] so, I'll let you respond to this one. I figure it's closable just by picking a better set of p6 code, rerunning the numbers and posting them.
15:55 pmichaud I mean, clearly $i++ should work on int values, if that's where the failure is occuring.
15:55 pmichaud Sure, I'll do the response.
15:57 [Coke] switching to a range gets us down to a little over 1s.
15:58 pmichaud my system completes the loop in 5s
15:59 kurahaupo joined #perl6
15:59 tadzik hello #perl6
16:02 icwiener joined #perl6
16:03 pmichaud huh, removing the "Int" on my system didn't improve the speed.
16:04 pmichaud at least, not by any significant amount.
16:10 cognominal___ joined #perl6
16:25 snearch joined #perl6
16:31 kurahaupo joined #perl6
16:35 fgomez joined #perl6
16:40 diakopter nqp: /\x[23,23]/
16:40 p6eval nqp:  ( no output )
16:40 moritz r: my Str subset Foo; say Foo ~~ Str
16:40 p6eval rakudo 197e0b: OUTPUT«True␤»
16:41 diakopter r: say Str ~~ !Str
16:41 p6eval rakudo 197e0b: OUTPUT«True␤»
16:42 moritz heh
16:43 mucker joined #perl6
16:45 diakopter r: my Array of Int $a = Array[Int].new; say $a[0];
16:45 p6eval rakudo 197e0b: OUTPUT«Type check failed in assignment to '$a'; expected 'Array+{TypedArray}' but got 'Array+{TypedArray}'␤  in block <anon> at /tmp/6Gq0lANGWy:1␤␤»
16:45 sergot joined #perl6
16:50 moritz that's a known bug
16:50 moritz arnsholt++ discovered it during his work on zavolaj
17:00 diakopter oh
17:02 diakopter nqp: say-1
17:02 p6eval nqp: OUTPUT«Multiple Dispatch: No suitable candidate found for 'subtract_int', with signature 'PIP->P'␤current instr.: '_block1000' pc 27 ((file unknown):163005041) (/tmp/GT6GFaPLxU:1)␤»
17:03 diakopter phenny: ask jnthn also nqp: say -1
17:03 phenny diakopter: I'll pass that on when jnthn is around.
17:10 diakopter moritz: did you spectest with my patch
17:13 moritz diakopter: yes, all green
17:13 diakopter \o/
17:13 moritz diakopter: say-1 is because nqp doesn't have listops.
17:13 diakopter now for range quant, which the only way I know how to implement is to inject that number of repetitions of the pattern
17:13 moritz diakopter: it parses 'say' as a term that returns a Null or Undef PMC
17:14 moritz diakopter: and then fails to parrot-level-multidispatch to it
17:15 diakopter a-1 seems like it would do the same thing, but NPMCA
17:15 tadzik nqp: say(-1)
17:15 p6eval nqp: OUTPUT«-1␤»
17:18 moritz nqp: &say - 1
17:18 p6eval nqp: OUTPUT«Symbol '&say' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 149 (compilers/pct/src/PCT/HLLCompiler.pir:106)␤»
17:18 moritz oh, maybe it tries to do &say - 1
17:18 moritz so that one just multi-dispatch-fails
17:18 moritz and the other NPMCAs
17:19 diakopter oh
17:20 moritz r: my Str subset Foo; say 1 ~~ Foo
17:20 p6eval rakudo 197e0b: OUTPUT«True␤»
17:20 moritz r: my Str subset Foo; say Any ~~ Foo
17:20 p6eval rakudo 197e0b: OUTPUT«True␤»
17:20 moritz r: my Str subset Foo; say Mu ~~ Foo
17:20 p6eval rakudo 197e0b: OUTPUT«False␤»
17:22 dalek roast: 7a70097 | moritz++ | S12-subset/subtypes.t:
17:22 dalek roast: test for RT #79160, "my Str subset MyStr". One fails on rakudo
17:22 dalek roast: review: https://github.com/perl6/roast/commit/7a70097a23
17:34 spaceships joined #perl6
17:44 b1rkh0ff joined #perl6
17:49 jnthn evening o/
17:49 phenny jnthn: 04:41Z <diakopter> tell jnthn try ./nqp -e 'a-1'
17:49 phenny jnthn: 17:03Z <diakopter> ask jnthn also nqp: say -1
17:49 jnthn diakopter: "say -1" is not gonna work because NQP doesn't do listops.
17:49 jnthn a-1 is probably a NPMCA
17:50 diakopter bing
17:51 jnthn NQP ain't very smart about checking for such things at compile time.
17:52 jnthn I'm totally for improvements, but generally my "fix bugs"/"make nicer user experience" tuits end up being spent on Rakudo.
17:52 diakopter yeah
17:52 jnthn I may well do something about that one when I work on the QAST improvements though.
17:53 jnthn uh, qast migration even
17:57 [Coke] pmichaud: 5s is better than I was getting - but I'd include the 5.16.0 timings also
17:58 spider-mario joined #perl6
18:12 cognominal joined #perl6
18:13 bluescreen10 joined #perl6
18:14 dalek star: f4632b9 | moritz++ | / (4 files):
18:14 dalek star: [build] add a basic template mechanism
18:14 dalek star:
18:14 dalek star: this grabs the {parrot,rakudo,nqp} revisions and fudges them into Configure.pl,
18:14 dalek star: so at least it is one less location to update
18:14 dalek star: review: https://github.com/rakudo/star/commit/f4632b9b72
18:14 dalek star: 2663a48 | moritz++ | build/skel-template.pl:
18:14 dalek star: [build] fix add a small comment
18:14 dalek star: review: https://github.com/rakudo/star/commit/2663a4881d
18:14 dalek star: c27e2ab | moritz++ | / (4 files):
18:14 dalek star: Merge branch 'template'
18:14 dalek star: review: https://github.com/rakudo/star/commit/c27e2ab3d7
18:18 sftp joined #perl6
18:23 aloha joined #perl6
18:31 jnthn < pmichaud> huh, removing the "Int" on my system didn't improve the speed.
18:31 jnthn pmichaud: Type checks under 6model probably boil down to a pointer comparision in this case.
18:32 jnthn pmichaud: Or similar. They're fairly fast :)
18:34 moritz and I guess we don't have a custom postfix:<++> for Int
18:34 pmichaud actually, it's "int" in this case
18:34 pmichaud not Int
18:35 pmichaud I think the problem has to do with rw-ness of the int containter
18:35 pmichaud http://gist.github.com/2820552
18:36 pmichaud unless you're referring to something else wrt "Int" and postfix:<++>  (e.g., the non-need to typecheck)
18:36 pmichaud jnthn: when you phrase it that way -- yes, seems like typechecks aren't as expensive as they once were, at least for "simple" types
18:37 pmichaud and for exact matches, perhaps
18:37 moritz yes, you need to write it as  $i = $i + 1;
18:37 moritz though since we don't have compact arrays, we box $i twice per iteration
18:37 moritz once for the index, once for the value
18:38 pmichaud ...the index requires boxing?
18:38 pmichaud I thought we multi-dispatched that on 'int' now.
18:38 pmichaud (I agree the value requires boxing.)
18:39 pmichaud multi method postcircumfix:<[ ]>(\$self: int $pos) is rw {
18:39 benabik joined #perl6
18:40 jnthn I thoguht so too.
18:40 jnthn int++ is NYI
18:40 pmichaud what's needed to YI it?
18:41 jnthn Somebody to come up with a design for implementing native "is rw" parameters that will work out nicely with inlining.
18:41 pmichaud okay, so not trivial.  :-)
18:42 jnthn Aye. :-)
18:42 pmichaud perhaps we could add a stub for the int case that gives a more informative error than the one we have now.
18:42 jnthn We could indeed do that.
18:42 pmichaud because I suspect it will be quite common.
18:43 jnthn *nod*
18:44 jnthn I need to take on things like compact arrays at some point in the not too distant future too. Guess there's a bunch of natives work to do.
18:47 jnthn pmichaud: btw, I flattened out the CAPHASH and MATCH methods last night. It helped some.
18:47 pmichaud okay, I was wondering if it helped at all.  "some" is useful.
18:48 jnthn r: say 61 / 64
18:48 p6eval rakudo 197e0b: OUTPUT«0.953125␤»
18:48 jnthn That much.
18:48 pmichaud about 5% then.
18:48 jnthn roughly, not very scientific, etc.
18:48 jnthn Aye.
18:48 jnthn Quite a bit of CAPHASH and MATCH themselves. And that time includes the actions time.
18:49 pmichaud I'll try to carve out some time for profiling and see if I can find places to improve things.  I'm still a little surprised that it's overall slower than nqp-rx's engine was.
18:49 jnthn I looked at --rxtrace for some simple code
18:49 jnthn We call <.ws> insanely often.
18:49 pmichaud well, yes.
18:50 pmichaud between each pair of tokens, essentially.
18:50 jnthn like, if you have a bunch of :my ...; declarations I think we're even calling <.ws> either side of those.
18:50 jnthn Well, I saw sequences of <.ws> calls, in the same rule, with no subrule calls between them.
18:50 jnthn That may not mean no token of course.
18:51 pmichaud yes, they're still there, although they should short-circuit at the beginning of the <.ws> rule.
18:51 jnthn They do.
18:51 jnthn Not calling them at all could be cheaper of course. :)
18:51 jnthn s/could/would/
18:51 pmichaud sure, but I wonder if the check would start to cost more than the call.
18:51 jnthn I get the impression that NFA-ing alternations would also be a saving.
18:51 jnthn Well, the check would be compile time, no?
18:52 pmichaud "compile time" confuses me.
18:52 jnthn As in, you can statically look at:
18:52 jnthn :my $x := 1;
18:52 jnthn :my $y := 2;
18:52 jnthn And see that you don't need a <.ws> call between those two. Or so I'd imagine.
18:52 pmichaud but you do need one.
18:52 pmichaud to eat up the crlf, for one.
18:53 jnthn No no
18:53 jnthn I meant, if the rule we are compiling is containing the above
18:53 jnthn The compiled output of the rule need not emit a call to <.ws> between them.
18:53 pmichaud oh, you mean to .... right
18:53 jnthn Yeah. I think we're emitting more <.ws> than we need in those situations.
18:54 pmichaud I suspect it's not a huge percentage of calls, although I could be wrong about that.
18:54 pmichaud I also wonder if it's possible that the thing on the rhs of the := could affect the cursor somehow, in which case you do need to pessimize the <.ws>
18:55 jnthn Hmm.
18:55 pmichaud e.g.,   :my $x := $cursor.something(...);   my $y := ...;
18:57 pmichaud there might be a rule somewhere that says that ws prior to a :my (or other declaration) isn't meta.  We toyed with that in some previous discussions of the regex spec.
18:57 vlixes joined #perl6
18:58 jnthn Well, nothing is compliant with latest spec on sigspace anyway
18:58 jnthn Not even STD.
18:59 jnthn Current rules mean that space at the start of the rule is not a call to <.ws>
18:59 jnthn So you can do LTM on rules.
18:59 jnthn s/Current rules/Current spec/
18:59 pmichaud that one is likely easy to fix, however.
18:59 jnthn I tried the patch last night.
18:59 jnthn It had fallout.
19:00 jnthn (e.g. NQP's grammar depends on the old rules)
19:00 pmichaud probably a few places in the grammar need an explicit <.ws> then.
19:00 jnthn I didn't look into how much. It didn't seem too significant, I just didn't have time to dig further.
19:00 pmichaud very likely to be tangled with the expression parser somehow.
19:01 jnthn *nod*
19:01 jnthn Expression parser reminds me I really want operator adverbs too :)
19:01 jnthn I understand that they're parsed by the call to infixish now.
19:01 pmichaud whitespace in and around expression tokens is really tricky in a few places
19:02 jnthn My head exploded when I tried to figure out how they end up associated with the correct operator in reduce...
19:02 pmichaud yeah, even spec'ing that feature causes head explosions
19:02 jnthn Yeah, I noticed the carefully planned ws calls in EXPR while updating it for QRegex :)
19:02 jnthn *carefully placed
19:06 pmichaud I'm afk for a bit
19:07 * jnthn hides to try and get solutions for tomorrow's class exercises prepared...
19:08 Antichoc left #perl6
19:09 tadzik is it TDD if you prepare solutions and then exercises? :P
19:10 jnthn :P
19:13 jnthn Half of my $course participants today were from Poland. I resisted the temptation to call a bunch of things "dupa" :P
19:13 wooden joined #perl6
19:13 wooden joined #perl6
19:13 moritz phenny: pl en "dupa"?
19:13 phenny moritz: "ass" (pl to en, translate.google.com)
19:14 jnthn It's Polish for "foo", "bar" AND "baz". Or something. :)
19:14 moritz ah
19:15 jnthn http://irclog.perlgeek.de/perl6/2012-03-14#i_5294394 ;-)
19:15 jnthn The things you learn on #perl6... :)
19:15 moritz :-)
19:15 tadzik :P
19:15 moritz .oO( "thingy" )
19:17 sergot ;)
19:22 sorear good * #perl6
19:23 moritz \o sorear
19:23 TimToady \o from TO
19:23 moritz tokio? toronto? tornado island?
19:24 TimToady thousand oaks
19:24 benabik Tongo
19:24 moritz close :-)
19:24 benabik Sorry, .to is Tonga
19:24 sorear is Tokio how they call it in .de?
19:25 TimToady Tokjo surely :)
19:26 moritz sorear: yes
19:26 * sorear wonders if TimToady has figured out yet what sorear was up to this morning
19:28 moritz can we please get rid of S02:1494, 'my Str subset Str_not2b where /^[isnt|arent|amnot|aint]$/;'
19:29 moritz not only is it a PITA to implement in Rakudo, it is also rather inconsistent
19:29 TimToady sorear: nope, I'm not really a stalker, all appearances to the contrary notwithstanding...
19:29 moritz because 'my <type> ...' typically constrain what can be returned
19:30 pjcj joined #perl6
19:30 moritz *constrains
19:30 jnthn moritz: What makes it a pain to implement ooc?
19:31 jnthn Is the type not in $*OFTYPE or some such?
19:31 moritz jnthn: oh, it might be
19:34 birdwindupbird joined #perl6
19:34 moritz turns out I don't understand how the subset actions work
19:34 moritz it seems taht $refinee is always Any
19:35 adu joined #perl6
19:35 jnthn moritz: uh, wtf, it seems that way to me too
19:35 adu joined #perl6
19:40 moritz r: subset Foo of Str; multi f(Foo) { 'foo' }; multi f(Cool) { 'cool' }; say f 'some string'
19:40 p6eval rakudo 197e0b: OUTPUT«foo␤»
19:40 TimToady yes, Camelia is intentionally very slightly, er, wall-eyed...
19:40 moritz then how does the Foo-candidate sort tighter than the Cool candidate?
19:41 jnthn r: subset Foo of Str; say Foo.^mro
19:41 p6eval rakudo 197e0b: OUTPUT«No such method 'mro' for invocant of type 'Perl6::Metamodel::SubsetHOW'␤  in block <anon> at /tmp/OwVec1wcHm:1␤␤»
19:41 moritz oh
19:41 jnthn r: subset Foo of Str; say Foo.^base_type
19:41 p6eval rakudo 197e0b: OUTPUT«No such method 'base_type' for invocant of type 'Perl6::Metamodel::SubsetHOW'␤  in block <anon> at /tmp/cleVDw0QpG:1␤␤»
19:41 jnthn grr, how's this work again... :)
19:41 moritz r: subset Foo of Str; say Foo.^refinee
19:41 p6eval rakudo 197e0b: OUTPUT«Str()␤»
19:41 jnthn oooh
19:41 moritz it's the 'of' trait
19:41 jnthn It's right there in le comment!
19:41 jnthn Right :)
19:42 moritz it calls .^set_of
19:42 jnthn # We refine Any by default; "of" may override.
19:43 moritz so if there is an $*OFTYPE, we default to instead of Any
19:43 jnthn Would seem to work, yes
19:43 moritz how do I check if it's there? .defined won't work :-)
19:44 moritz nqp: my $*OFTYPE; say(pir::null($*OFTYPE))
19:44 p6eval nqp: OUTPUT«␤»
19:44 moritz nqp: my $*OFTYPE; say(pir::typeof__SP($*OFTYPE))
19:44 p6eval nqp: OUTPUT«Undef␤»
19:45 moritz or do we have an op that checks if something is a 6model object?
19:45 adu is 6model written in C?
19:47 jnthn moritz: $*OFTYPE is a match object.
19:47 jnthn moritz: You check if it's true, and if it is, then $*OFTYPE.ast to get the type
19:48 jnthn adu: The 6model core is implemented in whatever makes most sense on the platform/VM it's being implemented for. The Parrot implementation is written in C.
19:48 jnthn The prototype CLR one was done in C#, and I expect I'll be working on a JVM one soon, which I guess I have the joy of writing in that oh so expressive langauge, Java. :)
19:49 adu jnthn: can I help?
19:49 adu I'm quite familiar with Java
19:49 * adu is also an Android developer
19:50 jnthn adu: Help will be most welcome. :)
19:50 adu (during the day, that is, at night I work on whatever I want :)
19:51 adu is the java version going to be called something different? or niecza-j?
19:51 crab2313 joined #perl6
19:52 diakopter nqpjvm?
19:52 TimToady jakudo :)
19:52 adu haha
19:52 crab2313 .
19:52 TimToady rajudo
19:52 TimToady rakujo
19:52 TimToady jajujo
19:52 isBEKaml joined #perl6
19:53 adu lol
19:53 jnthn :P
19:53 jnthn Rakudo will remain called Rakudo, and NQP will remain called NQP. GCC is still called GCC whether you're targeting ARM or x86. :)
19:53 jnthn Or such is my current thinking.
19:53 Telg joined #perl6
19:54 * jnthn tries to stop being distracted by this and actually do the $dayjob stuff he's badly behind with.
19:54 adu so it will be a rakudo backend?
19:54 jnthn adu: Yes
19:54 adu is niecza a rakudo backend?
19:54 jnthn No :)
19:54 crab2313 no
19:54 adu why not?
19:54 jnthn Niecza is a completely separate Perl 6 implementation written by sorear++
19:55 jnthn Probably because sorear felt Rakudo wasn't the right starting point when starting to work on Niecza. And at the time Niecza started, that was a good call.
19:56 jnthn Rakudo was nowhere near being in a place to contemplate another backend a couple of years ago.
19:56 jnthn These days, it feels much closer to me...but the proof will be in the pudding. :)
19:57 sorear with luck I will actually get the release done today... 10-hour power outage ate into my times
19:58 jnthn ouch :(
19:59 adu how about "earlj bjrd"
20:00 adu sorear: where do you live?
20:01 TimToady sorear++ lives near San Diego
20:11 adu I see it rained there too
20:11 adu I'm on the east coast (DC), it rained here too
20:11 adu we lost power for 1 second
20:11 jnthn I'm in Sweden. Sunny all day!
20:11 ab5tract joined #perl6
20:11 jnthn Which makes a change. :)
20:12 jnthn Thanks for looking the bad weather for a bit. :)
20:12 benabik Upstate NY.  Sunny and warm, I'm have no idea what's going on.
20:17 [Coke] oh, right, you're the guy who's "right next door"
20:19 benabik Compared to many of these others, yes.
20:20 benabik Would have been closer, but I decided not to go to RPI.
20:20 dalek perl6.org: e00fd72 | (Filip Sergot)++ | source/getting-started/involved.html:
20:20 dalek perl6.org: fixed broken link
20:20 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/e00fd72d19
20:23 [Coke] benabik: that's the only reason I live in this area, because I did pick RPI.
20:23 isBEKaml joined #perl6
20:24 [Coke] In a world with skype, There's no reason for me to have done that.
20:24 benabik UR seemed like the better program...  Although not selling the house is definitely a bonus.
20:24 tadzik Raspberry Pi?
20:25 tadzik that doesn't make sense. What's RPI?
20:25 [Coke] rensselaer polytechnic institute
20:25 adu raspi rocks
20:25 sergot good night #perl6 !:)
20:27 [Coke] ~~
20:28 adu brb
20:28 tadzik bye bkye
20:29 diakopter moritz: (or anyone) do you know whether ranged quantifiers are used anywhere in rakudo's grammar?
20:30 moritz diakopter: I doubt it
20:33 spaceships joined #perl6
20:34 wolfman2000 joined #perl6
20:44 diakopter wow, vmware player just added two more cpus to my ubuntu VM while it was running. I guess I can imagine that being allowed/possible.
20:45 jnthn Core blimey!
20:45 moritz linux supports CPU hotplugging
20:45 diakopter cool.
20:47 dalek nqp: 6aef784 | diakopter++ | src/QRegex/NFA.nqp:
20:47 dalek nqp: implement NFA builder for ranged quantifiers. npq/rakudo spectest all green.
20:47 dalek nqp: review: https://github.com/perl6/nqp/commit/6aef784aed
20:47 jnthn diakopter: Any chance you can add a spectest to cover that? :)
20:48 * moritz can
20:49 * jnthn doesn't mind who++ does it :)
20:49 diakopter to cover what? I saw some spectests in S05-metasyntax/repeat.t for ranged quantifiers
20:49 jnthn diakopter: LTM
20:50 jnthn diakopter: That is, that ** contributes to being a longest prefix.
20:50 moritz ... but probably not today
20:51 * diakopter doesn't know how/why it wouldn't already contribute.
20:51 jnthn diakopter: Before the changes you did then:
20:52 adu joined #perl6
20:52 jnthn r: grammar G { proto token TOP { * }; token TOP { aa }; token TOP { a**4 } }; say G.parse('aaaaa')
20:52 p6eval rakudo 197e0b: OUTPUT«===SORRY!===␤Method 'match' not found for invocant of class 'String'␤at /tmp/PWQ3eLnHOM:1␤»
20:52 jnthn Uh. What.
20:53 sorear adu: Niecza is not a Rakudo backend.  In fact, I initially considered making Niecza target Parrot
20:53 moritz r: grammar A { proto token a:sym<1> { a**1..10 }; proto token a:sym<2> { aa } }; A.parse('aaaa', :rule<a>)
20:53 p6eval rakudo 197e0b: OUTPUT«===SORRY!===␤Proto regex body must be {*} (or <*> or <...>, which are deprecated) at line 2, near "; proto to"␤»
20:53 sorear I wanted to write a front end
20:53 jnthn oh, of course
20:53 moritz r: grammar A { token a:sym<1> { a**1..10 }; token a:sym<2> { aa } }; A.parse('aaaa', :rule<a>)
20:53 p6eval rakudo 197e0b: OUTPUT«No such method 'a' for invocant of type 'A'␤  in method parse at src/gen/CORE.setting:9537␤  in block <anon> at /tmp/gsu96cJUNU:1␤␤»
20:53 jnthn r: grammar G { proto token TOP { * }; token TOP:sym<x> { aa }; token TOP:sym<y> { a**4 } }; say G.parse('aaaaa')
20:53 p6eval rakudo 197e0b: OUTPUT«q[aa]␤␤»
20:53 moritz r: grammar A { proto token a {*}; token a:sym<1> { a**1..10 }; token a:sym<2> { aa } }; A.parse('aaaa', :rule<a>)
20:53 p6eval rakudo 197e0b:  ( no output )
20:53 moritz r: grammar A { proto token a {*}; token a:sym<1> { a**1..10 }; token a:sym<2> { aa } }; say ~A.parse('aaaa', :rule<a>)
20:53 p6eval rakudo 197e0b: OUTPUT«aa␤»
20:54 jnthn diakopter: Presumably, with your improvements, the above now prints aaaa instead of aa
20:54 diakopter jnthn: ah, I see
20:54 diakopter I'll try it
20:54 sorear but that was two years ago.  Today niecza's core mission is being the most awesome possible C# backend for Perl 6, and the frontends have converged to the point where it would not be quite entirely unreasonable to build a rakudo/clr on the niecza backend
20:55 diakopter hm, no
20:55 birdwindupbird joined #perl6
20:55 diakopter (to myself)
20:56 diakopter oh, I wonder how rakudo signifies Inf range
20:56 diakopter in the AST
20:56 diakopter in nqp it's with an undefined value for the end
20:57 moritz r: say (1..*).perl
20:57 p6eval rakudo 197e0b: OUTPUT«1..Inf␤»
20:57 diakopter inf range for quantifier
20:58 sorear diakopter: are you actually talking about Ranges?
20:59 sorear ah, nm, I see
20:59 diakopter how would I know
20:59 moritz I think inside the regex engine it's exactly the same as in nqp
20:59 sorear presumably you of all people would know what you are talking about. :D
20:59 moritz and since the ** {1..*} case is NYI, nobody had to deal with the rakudo <-> nqp type mismatch so far
21:00 jnthn I think PerlJam++ was trying to :)
21:00 diakopter well, I just tried the same example in nqp, and it worked there
21:00 moritz it also works in rakudo
21:00 * moritz just tried
21:01 diakopter didn't for me
21:01 jnthn moritz: Rakudo with diakopter++'s patch?
21:01 moritz jnthn: yes
21:01 jnthn diakopter: You certainly make install'd NQP? :)
21:01 diakopter sigh.
21:01 diakopter you're right.
21:01 jnthn Before rebuilding Rakudo?
21:01 jnthn Heh.
21:01 moritz anyway, prints q[aaaa]
21:01 diakopter nope, didn't.  retrying.
21:01 jnthn At least your aptch works :)
21:02 moritz aye. diakopter++
21:02 diakopter does it work with **1..5
21:05 diakopter and **4..*
21:06 moritz yes and yes
21:06 * moritz -> sleep
21:07 diakopter interesting. I must admit I'm surprised. thanks for testing those
21:09 jnthn sleep well, moritz
21:10 diakopter hm, what else needs LTMing
21:16 fgomez joined #perl6
21:16 * diakopter spectests the new nqp
21:22 diakopter jnthn: does rakudo's nqp require version need bumped?
21:22 jnthn diakopter: If you want others building Rakudo to get the NQP changes you've done, yes.
21:22 diakopter assuming this spectest finishes green.
21:23 jnthn (Which I figure you do :))
21:23 diakopter yeah; maybe I can learn how to run autounfudge
21:24 diakopter or so [Coke] can do it :)
21:24 jnthn I'm not convinced we've got anything in the spectest suite to cover what you just implemented.
21:25 diakopter oh
21:25 jnthn Thus my suggestion to add a test. ;)
21:27 diakopter n: grammar G { proto token TOP { * }; token TOP:sym<x> { aa }; token TOP:sym<y> { a**4 } }; say G.parse('aaaaa')
21:27 p6eval niecza v17-50-gdf795e6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Quantifier quantifies nothing at /tmp/BuPMG0EHon line 1:â�¤------> [32mgrammar G { proto token TOP { [33mâ��[31m* }; token TOP:sym<x> { aa }; token TOP:[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/li…
21:28 jnthn Oh, it doesn't like spaces around in proto tokens
21:28 jnthn Needs to be proto token TOP {*} for Niecza
21:28 diakopter n: grammar G { proto token TOP {*}; token TOP:sym<x> { aa }; token TOP:sym<y> { a**4 } }; say G.parse('aaaaa')
21:28 p6eval niecza v17-50-gdf795e6: OUTPUT«Match()␤»
21:29 jnthn OK, that surprises me...
21:29 diakopter I don't know to get at what matched
21:29 jnthn It returned the Match type object, which indicates no match.
21:30 diakopter oh :)
21:59 b1rkh0ff joined #perl6
22:26 jnthn $dayjob stuff done, but no time/energy for Perl 6 stuffs today. :( 'night o/
23:12 dalek niecza: dbd3ad3 | sorear++ | lib/JSYNC.pm6:
23:12 dalek niecza: Track newscalar removal in JSYNC.pm6
23:12 dalek niecza: review: https://github.com/sorear/niecza/commit/dbd3ad35f5
23:16 whiteknight joined #perl6
23:29 [Coke] You can't hide, Guest8286.
23:29 Guest8286 what am I hiding from?
23:29 wknight8111 joined #perl6
23:30 geekosaur nickserv?
23:33 sorear nickserv!  it's a truly ugly hack in the freenode chat system: the account registration and login module pretends to be a bot because extending the protocol honestly is so hard
23:34 * geekosaur meant that more in respone to "what am I hiding from?" actually.  misaimed humor...
23:35 sorear geekosaur: I read your line twice and interpreted it that way the first time and "nickserv?  what's that?" the second :|
23:35 sorear seems I've been having reading issues this month, wonder why
23:44 kurahaupo joined #perl6
23:50 * diakopter has been reading http://blob.perl.org/perlweb/dev/perl6/talks/2001/dconway-Perl6.pdf for 30 minutes
23:50 sporous joined #perl6
23:51 kurahaupo left #perl6
23:57 lestrrat joined #perl6

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

Perl 6 | Reference Documentation | Rakudo