»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
diakopter std: say 3~~~~3 00:05
p6eval std 8632387: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66537.␤Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66576.␤===SORRY!===␤Expecting a term, but found either infix ~~ or redundant prefix ~␤ (to suppre…
diakopter mmm. line 66576 was my favorite.
00:09 wolfman2000 left, wolfman2000 joined
[Coke] r: say 2,4,8,..{* < 100000} 00:10
p6eval rakudo 5da367: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix .. instead at line 1, near "{* < 10000"␤»
[Coke] r: say 2,4,8,...{* < 100000}
p6eval rakudo 5da367: OUTPUT«===SORRY!===␤Comma found before apparent series operator; please remove comma (or put parens␤ around the ... listop, or use 'fail' instead of ...) at line 1, near "...{* < 10"␤»
[Coke] r: say 2,4,8...{* < 100000} 00:11
p6eval rakudo 5da367: OUTPUT«2␤»
[Coke] O_o . o O (It looked so easy in the synopses)
diakopter r: say(my $a,=4) 00:16
p6eval rakudo 5da367: OUTPUT« 4␤» 00:17
diakopter p6eval is being slow 00:18
00:22 cognominal left
dalek p/qbootstrap: f8878e7 | jnthn++ | src/ops/nqp.ops:
Fix an off-by-1.
00:24
p/qbootstrap: 9e36c01 | jnthn++ | / (3 files):
Start loading the new regex lib so userspace code can do things like regex interpolation. Add a temporary flag for during the build - can go away once the bootstrap update is done. Gets another test file largely passing.
p/qbootstrap: 4b39917 | jnthn++ | t/nqp/50-regex.t:
Update a test for new cursor object name. All pass, getting us down to a handful of failures in a couple of test files, probably with one root cause.
diakopter jnthn++ 00:25
00:37 cotto left, buubot_backup left, imarcusthis left, sorear left, zb left, felipe left, lestrrat left, baest left, revdiablo left, timotimo left, xinming left, pernatiy_ left, plobsing left, kranius_ left, Grrrr left, literal left, Gruber joined, timotimo_ joined, pernatiy joined, buubot_backup_ joined, imarcusthis joined, baest_ joined, orevdiabl joined, yeltzooo7 joined, buubot_backup_ is now known as buubot_backup, lestaway joined, plobsing_ joined, lestaway is now known as lestrrat, drbean left 00:38 drbean_ joined, drbean_ is now known as drbean, Patterner left, diakopter left, ashleydev left, Exodist left, tokuhiro4 left, kst left, jlaire left, renormalist left, Maddingue left, Tene left 00:39 Facefox left, ponpon left, domidumont left, telex left, Vlavv` left, mikec_ left, jnthn left, sisar left, simcop2387 left, Woodi left, sunnavy left, arnsholt left, BooK left, szbalint left, doy left, Bucciarati left, patch left, LoRe left, libertyprime left, aloha left, jtpalmer left, itz left, erkan left, pjcj left, awwaiid left, tokuhirom left, thou left, TimToady left, REPLeffect left, frettled left, stepnem left, [Coke] left, Juerd left, prammer left, moritz left, BooK__ left, Gothmog_ left, PZt left, benabik left, bruges left, alester left, felher left, jrockway left, lumi_ left, au left, yves_ left, kubrat left, wolong left, kcwu left, cxreg left, rhr left, DreamingInCode left, fgomez left, Guest57249 left, skids left, sivoais left, takesako left, [particle] left, jaldhar left, mtk left, crazedpsyc left, Guest28776 left, ivan`` left, jerome_ left, Util left, colomon left, broquaint left, eternaleye left, odoacre left, ranguard left, charsbar___ left, mikemol left
dalek p/qbootstrap: eb98cba | jnthn++ | tools/build/Makefile.in:
Stop building the now-unrequired PIR-based regex engine in stage 2, just to be sure it's not required any more.
00:39
00:42 Tene joined, literal joined, Patterner joined, diakopter joined, ashleydev joined, Exodist joined, tokuhiro4 joined, kst joined, jlaire joined, renormalist joined, Maddingue joined 00:44 Facefox joined, xinming_ joined, kranius joined, sorear joined, z-b joined, c1sung_ joined, DreamingInCode joined, Guest57249 joined, mikemol joined, PZt joined, skids joined, tokuhirom joined, benabik joined, thou joined, libertyprime joined, bruges joined, sivoais joined, takesako joined, ponpon joined, [particle] joined, alester joined, felher joined, domidumont joined, jaldhar joined, sisar joined, mtk joined, telex joined, TimToady joined, crazedpsyc joined, jrockway joined, Guest28776 joined, aloha joined, jtpalmer joined, ivan`` joined, REPLeffect joined, jerome_ joined, Util joined, frettled joined, itz joined, stepnem joined, erkan joined, simcop2387 joined, pjcj joined, colomon joined, Woodi joined, kubrat joined, lumi_ joined, au joined, Vlavv` joined, jnthn joined, mikec_ joined, [Coke] joined, Juerd joined, awwaiid joined, broquaint joined, eternaleye joined, odoacre joined, ranguard joined, prammer joined, yves_ joined, moritz joined, BooK__ joined, sunnavy joined, arnsholt joined, BooK joined, szbalint joined, wolong joined, LoRe joined, patch joined, Bucciarati joined, doy joined, kcwu joined, cxreg joined, Gothmog_ joined, rhr joined, charsbar___ joined
diakopter phenny: ask TimToady S03 says "my :($b, $c)" is "okay" but STD doesn't parse it 00:44
phenny diakopter: I'll pass that on when TimToady is around.
00:44 Facefox left, literal left, Patterner left, diakopter left, ashleydev left, Exodist left, tokuhiro4 left, kst left, jlaire left, renormalist left, Maddingue left 00:45 jnthn left, Facefox joined, tomaw joined
dalek ecs: bc016c6 | diakopter++ | S03-operators.pod:
last batch of my S03 typo/grammaro fixes
00:48
00:50 literal joined, Patterner joined, diakopter joined, ashleydev joined, Exodist joined, tokuhiro4 joined, kst joined, jlaire joined, renormalist joined, Maddingue joined
diakopter perl6: say [**]() 00:54
p6eval pugs, rakudo 5da367: OUTPUT«1␤»
..niecza v17-23-gfb775fb: OUTPUT«0␤»
diakopter phenny: ask masak try perl6: say [**]() # nieczabug 00:55
phenny diakopter: I'll pass that on when masak is around.
00:57 cognominal joined
colomon it's a known nieczabug 00:58
dalek Heuristic branch merge: pushed 368 commits to rakudo/str-numeric by japhb 01:00
01:01 felipe joined 01:02 Guest28776 left
sorear phenny: tell masak That would be github.com/sorear/niecza/issues/71 01:02
phenny sorear: I'll pass that on when masak is around.
01:02 japhb joined
colomon sorear: how's school? 01:02
sorear colomon: over, as of two hours ago. 01:03
colomon \o/
I hope it went well. 01:04
japhb Now that moritz++ has turned on strict-by-default for old Str.Numeric, and I've brought the str-numeric branch up to date with nom, I'm thinking it's time to just do the merge and collect any stray fallout.
Anyone disagree? 01:05
Congrats, sorear!
(Is that just for this year, or are you Done done?)
sorear Just for spring
japhb aww
(Well, you may be happy about it, I guess. :-)
01:12 scott_ joined 01:13 scott_ is now known as Guest95737, oylenshpeegul joined 01:20 vinian joined 01:23 tokuhirom left
oylenshpeegul After compiling rakudo-star-2012.05, I failed some tests in t/spec/S32-temporal...is that something I should report? 01:25
sorear doesn't know if there are expected failures 01:33
colomon sorear: we're getting fresh failures in t/spec/S32-str/uc.t --- the test is the same, so presumably it is your recent neicza-changes 01:35
sorear: also looks like the same issue in t/spec/S32-str/capitalize.t
sorear: oh, and perhaps the core issue is the failures in t/spec/S14-roles/basic.t 01:36
sorear: everything seems to be related to roles
sorear what? I don't think I touched roles at all 01:38
colomon Unhandled exception: No value for parameter 'self' in 'B init'
sorear that's an attribute thing ;) 01:39
colomon for attributes in roles, yes? 01:40
at least, every time I've seen the problem show up there's a role involved.
01:40 Guest57249 left
sorear is it always does/but? 01:40
colomon For the three cases I've seen, yes 01:41
dalek ecza: 026b805 | sorear++ | lib/Builtins.cs:
Fix attribute initialization in BuildMostDerived()
01:43
sorear the three that you name are now working. 01:44
colomon sorear++ 01:47
01:51 oylenshpeegul left
colomon spectesting... 01:51
01:55 tyatpi left
colomon yeah, that's a lot better. :) 01:56
for.t failures are new tests... 02:00
dalek ecza: 9615535 | sorear++ | src/NieczaActions.pm6:
Avoid internal error with my $.foo at top level (fixes #126)
ast: d94ae21 | (Solomon Foster)++ | S04-statements/for.t:
Fudge new tests for Niecza.
02:02
02:05 shachaf left
japhb phenny, tell moritz With the switch to strict Str.Numeric handling, I'd like to consider merging str-numeric now (it's been brought up current with nom). Spectest results and analysis at: gist.github.com/2785389 . 02:14
phenny japhb: I'll pass that on when moritz is around.
02:15 fgomez joined
japhb phenny, tell moritz Cons: 1. No way to turn off strict handling. :-) 2. Needs some typed-exception love. 3. Not "complete". Pros: 1. Unorphans long-outstanding branch 2. Better than current state; ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.Numeric.perl.say ==> -62/15 02:18
phenny japhb: I'll pass that on when moritz is around.
02:24 tyatpi joined, japhb left
dalek ast: 3654c55 | (Solomon Foster)++ | S0 (2 files):
Unfudge passing tests.
02:25
02:26 aesundstrom_ joined
aesundstrom_ Any perl6 macro writers out there? 02:26
02:36 shachaf joined 02:39 aesundstrom_ left
colomon ack, where's grammar::Tracer for niecza when I need it? :) 02:40
02:40 aesundstrom joined
sorear colomon: NIECZA_RX_TRACE=1, possibly with precompilation to avoid massive spam from STD 02:41
aesundstrom: I would not say anyone here specializes in writing macros
colomon sorear++ 02:42
02:42 raiph joined 02:46 japhb joined
raiph r: macro foo { quasi { say 1 } }; foo # wannabe macro writer... 02:47
p6eval rakudo 5da367: OUTPUT«1␤»
aesundstrom raiph: ;) 02:49
Since I'm starting to learn perl6 macros, could somebody please point me to a good source of examples?
I've been searching and the only examples I've found are in strangelyconsistent.org/blog/macros...hey-really and in the git specs?but they're very simple examples. 02:50
japhb aesundstrom, remember that Rakudo's macro support is in the early stages; it was discovered that the next major piece needed NQP support (QAST), which is in active development. 02:53
raiph also read strangelyconsistent.org/blog/macros...-d1-merged 02:54
sorear aesundstrom: why are you so interested to learn about a feature that barely exists? 02:55
diakopter sorear: why would you assume aesundstrom knew the feature barely existed? 03:00
03:09 am0c joined
masak aesundstrom: chief wannabe macro writer, reporting in :) 03:15
phenny masak: 00:55Z <diakopter> ask masak try perl6: say [**]() # nieczabug
masak: 01:02Z <sorear> tell masak That would be github.com/sorear/niecza/issues/71
03:15 alester_ joined
masak diakopter: that one is known, I think. 03:15
diakopter masak: !! it's, like, early, where you are 03:16
masak yeah.
nothing makes a programmer look dedicated like getting up at four in the morning. ;)
sorear diakopter: I'm not.
diakopter: But if I asked in so many words, it would come across as horribly condescending, no? 03:17
masak depends. 03:18
"You are aware that the feature barely exists, right?" could be read as horribly condescending.
aesundstrom: have you found my grant application? I've completed milestone D1 of that, and I'm currently working on D2. the macros that can be produced after D1 but before D2 are "very simple examples". sorry 'bout that ;) 03:20
aesundstrom: fwiw, I'm always interested in vetting larger, more composed examples, and giving my opinion on whether they make sense or not. 03:21
here's the grant application: news.perlfoundation.org/2011/09/hag...mplem.html 03:22
03:23 replsos joined 03:25 Entonian joined 03:28 adu joined
aesundstrom masak: I hope I didn't offend you. In fact, your article was one of the only explanatory sources I could find worth reading. 03:29
03:32 replsos left
masak aesundstrom: no offense taken, or even contemplated. I love talking about this :) 03:33
03:36 Entonian left 03:38 aesundstrom left
sorear n: sub :: { } 03:58
p6eval niecza v17-25-g9615535: ( no output )
dalek ecza: 3bb38e5 | sorear++ | src/NieczaActions.pm6:
Suppress spurious warnings in our $:: (fixes #127)
04:06
04:15 mikemol left 04:26 adu left 04:32 xinming joined 04:34 alester_ left 04:36 xinming_ left
dalek ecza: 124199c | sorear++ | lib/ (2 files):
Do not NRE when calling (necessarily nonexistant) methods on a package or unfinished class (fixes #125)
04:38
04:39 cognominal left, cognominal joined 04:42 raiph left
moritz \o 05:02
phenny moritz: 02:14Z <japhb> tell moritz With the switch to strict Str.Numeric handling, I'd like to consider merging str-numeric now (it's been brought up current with nom). Spectest results and analysis at: gist.github.com/2785389 .
moritz: 02:18Z <japhb> tell moritz Cons: 1. No way to turn off strict handling. :-) 2. Needs some typed-exception love. 3. Not "complete". Pros: 1. Unorphans long-outstanding branch 2. Better than current state; ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.Numeric.perl.say ==> -62/15
japhb o/ moritz 05:05
moritz japhb: how much effort do you think it is to fix the remaining failures? 05:07
japhb In the spectest results, you mean?
05:09 _ilbot left, _ilbot joined
moritz japhb: yes 05:09
japhb I think probably just a bit of time to do the typed exceptions, then decide which of the edge cases really should fail, and which should DWIM (several of the "failures" of my branch are actually places where I DWIM and the spectest doesn't)
I don't think it's a ton of work, but with $day_job my tuits are pentagonal this month. But I don't want to see another month go by with a merge. :-/
moritz japhb: I can help you at least with the typed exceptions branch 05:10
japhb I think, BTW, that at this point just about anyone could do the typed exceptions, and a little discussion would resolve the edge cases, so I don't have to be the blocker.
moritz ok, great
japhb Excellent.
05:17 wolfman2000 left
sorear o/ moritz 05:18
o/ masak # forgot
moritz \o sorear 05:19
japhb o/ sorear # forgot :-) 05:20
dalek ecza: ad2d70a | sorear++ | lib/CORE.setting:
Saner infix:<cmp> for List (fixes #108)
05:21
05:28 birdwindupbird joined
sorear masak: I do, however, think Kalai has a point, that we don't really have a good empirical model of the noise process and there are still different ways things could go 05:34
tadzik mood gorning 05:36
05:37 Ulti left, Ulti joined 05:41 vinian left 05:51 kaleem joined 05:58 NamelessTee joined 06:34 am0c left
moritz noise process? what did I miss? 06:42
\m tadzik
sorear moritz: I'm still chatting with masak about universal quantum communication 06:45
computation
hopefully we can wrap this up tomorrow, I won't have to leave quite so early :0
:)
moritz :-)
06:46 wtw joined 06:47 bbkr1 joined 06:56 thou left 06:59 am0c joined 07:02 z-b is now known as zb 07:07 am0c left 07:08 brrt joined 07:15 stephenlb left 07:20 bbkr1 left 07:22 NamelessTee left 07:24 DreamingInCode left 07:26 am0c joined 07:27 replsos joined 07:30 am0c left 07:31 Gruber is now known as Grrrr 07:38 sergot joined
sergot hi o/ 07:38
sorear o/ 07:39
07:43 replsos_ joined 07:45 replsos left, replsos_ is now known as replsos 07:51 Antichoc joined
Antichoc Hello ! 07:52
07:52 replsos_ joined
sergot hi Antichoc ! :) 07:52
07:53 replsos left, replsos_ is now known as replsos
Antichoc hi sergot 07:53
I'm search for moritz !
Woodi hallo 07:54
moritz Antichoc: your search was successfull. You reach the next level. Welcome to the matrix!
sergot \o/ :)
Antichoc hi moritz
lol !
sorear sisar: sorry
Antichoc I'm at your disposition if you have few time ! 07:55
07:55 fhelmberger joined
sorear phenny: tell sisar Sorry. See #124 comment 07:56
phenny sorear: I'll pass that on when sisar is around.
Woodi I learned from raiph link to reddit thread something new for me - that Rakudo do not generate good pir... I would like to propose to not start kind of flame war between Perl6 subsystems developers, pls... 07:57
second: it would be nice or maybe it is realy needed to know what is not in right shape in Parrot and Rakudo cases... I am sure it is know by developers but they must do their work too and thing are fuzzy and forgotten 07:59
tadzik chromatic has moved away from Parrot/Perl 6 development some time ago and now is mostly posting negative comments in various media, sadly
Woodi tadzik: but he still provide true input on the state of things... 08:00
moritz Woodi: well, his perspective is very skewed
Woodi can we do technical here, pls ? :)
moritz Woodi: there's a good reason for almost every aspect of the generated PIR, and it's usually "because it doesn't work otherwise" 08:01
Woodi ok
moritz or sometimes, because it didn't work otherwise at the time the codegen was written
Woodi so no there is nothing more to do just sit and discuss in bigger family... 08:02
now*
looks that for few years Parrot devs work for Parrot not for Perl6. things should return to first priority which is Perl6 08:05
sorear Antichoc: you don't need permission to talk :) 08:12
moritz sorear: FYI I'm helping Antichoc in private mesage to set up ilbot 08:13
Antichoc sorear, i was waiting for moritz, i ask him if he has time to help me !
08:13 araujo left
sorear moritz: ah, ok 08:13
moritz sorear: in the early days I wrote that I could be found on #perl6 to discuss ilbot, because that's where the bot started 08:14
sorear: I've tried to remove all mentions of that, and instruct people to /msg me directly, but the internet never forgets :-)
sorear moritz: I understand
08:20 araujo joined, araujo left, araujo joined, jnthn joined
jnthn morning 08:21
Grr...irssi seems to have wedged overnight.
sorear morning, jnthn
frettled grr morning, jnthn :) 08:22
08:28 cognominal_ joined 08:31 cognominal left 08:34 dakkar joined 08:42 snearch joined 08:45 am0c joined, replsos left 08:46 fglock joined
masak sorear: re Kalai having a point -- url? 08:47
jnthn! \o/
jnthn: glad to hear you've unwedged yourself.
diakopter: here's another attempt at explaining autopuns. like "Damn you autocorset", they derive their funny by being simultaneously *about* and *in* the phenomenon they're describing. 08:52
so it's not so much a self-reference actually, as it is a conflation of signifier and signified.
frettled And if that doesn't signify some significance, I don't know. 08:53
08:53 am0c left
masak I may not be an expert at these things, but that doesn't stop me from throwing around big words. 08:54
moritz I thought an expert was (by definition) somebody who throws around big words :-) 08:55
masak that, sadly, seems to be a common enough definition of "expert" these days... 08:57
actually, it does seem I have no idea how to use "signifier" and "signified" correctly -- here are the actual definitions: en.wikipedia.org/wiki/Sign_(semioti...adic_signs
sorear masak: rjlipton.wordpress.com/2012/01/30/p...t-century/ 08:58
masak thank you. 09:00
jnthn moritz: I think you built/tested qbootstrap recently. I'm curious to see results from other platforms; I know there are just a small handful of failures leftover. 09:01
moritz: But should be almost clean now.
moritz jnthn: tried yesterday or the day before. Still lots of parse failures during 'make test' 09:02
masak .oO( the upside of failing at cooking is that there are failures leftover the next day )
tadzik jnthn: tried today, 4 or so failures in t/nqp, t/qregex did not run
moritz jnthn: I can try again soon
tadzik something along 'no rule for target qregex' 09:03
jnthn moritz: Yes, but I did like 6 commits last night that fixed lots of stuff.
moritz jnthn: ok, will try again :-)
jnthn tadzik: 4 failures as in, 4 individual test failures, not test files?
tadzik test failures. 4-ish
sorear sleep&
tadzik good knight sorear 09:04
jnthn tadzik: OK, that's inline with what I have.
o/ sorear
tadzik it was quite consistent with commit massages :)
dalek kudo/str-numeric: 1143b27 | moritz++ | src/core/Str.pm:
make Str.Numeric throw typed exceptions
jnthn tadzik: Great.
I need to attend to some $dayjob bits now, but will try and get it to really bootstrap itself later on.
09:05 daxim joined
jnthn japhb++ # numeric work 09:05
moritz japhb: that branch is now down to the test failures in t/spec/S32-str/numeric.rakudo
jnthn moritz++ # helping get it mergable
moritz n: say '0b1'.Numeric 09:06
p6eval niecza v17-28-gad2d70a: OUTPUT«1␤»
moritz n: say '0b_1'.Numeric
p6eval niecza v17-28-gad2d70a: OUTPUT«1␤»
moritz in the branch, that also succeeds. The tests want it to fail
I'm fine either way, so I'll accept convergence with niecza here :-) 09:07
n: try { my $n = .Numeric; say "$_ = $n" } for <+-3/-2 +3/-2 ++3/-2 +3.0/2 +3/2.0> 09:08
p6eval niecza v17-28-gad2d70a: ( no output )
moritz the branch allows all those. I'm more sceptic about that
but I'm willing to fudge those tests, merge and fix later 09:09
masak I don't like ++3/-2 09:10
I'm fine with the rest.
p6: say +-3/-2
moritz I also don't like +- at all
p6eval pugs, rakudo 5da367, niecza v17-28-gad2d70a: OUTPUT«1.5␤»
masak I'm fine with disallowing +-, though I personally don't have a problem with it.
arguably it's not something val() need recognize. 09:11
09:11 am0c joined
jnthn moritz: I'm guessing we win a bunch of tests as well as lose some? 09:11
moritz oh
the + is just part of the test output
not of the test itself
jnthn Oh
:) 09:12
moritz p6: try { my $n = .Numeric; say "$_ = $n" } for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0>
p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤»
..niecza v17-28-gad2d70a: ( no output )
..rakudo 5da367: OUTPUT«use of uninitialized variable $_ of type Any in numeric context in block <anon> at /tmp/g4ZfDIjocb:1␤␤use of uninitialized value of type Any in string context in block <anon> at /tmp/g4ZfDIjocb:1␤␤ = 0␤use of uninitialized variable $_ of type Any in numeric conte…
moritz for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } }
p6> for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } }
p6: for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } }
p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤»
..rakudo 5da367, niecza v17-28-gad2d70a: ( no output )
09:12 snearch left
moritz p6: for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { my $n = .Numeric; say "$_ = $n" } 09:13
p6eval niecza v17-28-gad2d70a: OUTPUT«Unhandled exception: Cannot parse number: -3/-2␤ at /home/p6eval/niecza/lib/CORE.setting line 1379 (die @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3424 (ANON @ 10) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3426 (NumSyntax.str2num @ 4) ␤ a…
..rakudo 5da367: OUTPUT«Slash must be followed by denominator␤ in method Str at src/gen/CORE.setting:9059␤ in method Stringy at src/gen/CORE.setting:695␤ in block <anon> at /tmp/cBB783UlyW:1␤␤»
..pugs: OUTPUT«*** No such method in class Str: "&Numeric"␤ at /tmp/yvDSIxw_a7 line 1, column 42-55␤»
moritz wonders why niecza TODOs these tests then
masak how sneaky. 09:14
moritz jnthn: I'm pretty sure we do
masak skewing its own test results -- downwards! it's a trap!
moritz jnthn: I got only two passing TODOs, but I guess autounfudge will find many more
masak .oO( autounpun ) 09:15
jnthn moritz: ok
moritz masak: is that an IRC filter that blocks jnthn and you? :-)
masak am I feeling lucky... *punk*? 09:17
09:18 brrt left 09:19 brrt joined 09:22 plobsing_ left, kresike joined
kresike hello all you happy perl6 people 09:22
tadzik hey hey kresike 09:23
jnthn o/ kresike
kresike tadzik, jnthn o/
fglock Woodi: ping
bbkr hi. what a fine day for p6 hacking :)
moritz bbkr: indeed :-)
sergot o/
09:25 plobsing joined
masak kresike! \o/ 09:29
kresike masak, o/ 09:30
dalek Heuristic branch merge: pushed 19 commits to rakudo/nom by moritz 09:33
moritz japhb++ 09:34
dalek ast: d671183 | moritz++ | S (3 files):
rakudo refudging for str-numeric branch
09:35
jnthn japhb++
dalek ast: a556162 | moritz++ | S03-operators/overflow.t:
unfudge another passing test
09:40
moritz jnthn: I've now tested qbootstrap 09:55
4 tests failing in t/nqp/34-rxcodeblock.t
2 failing in t/nqp/49-regex-interpolation.t 09:56
t/hll/05-commandline.t dies
that last one looks like the test was merged over from master, but not the implementation 09:57
jnthn moritz: The t/nqp ones - yeah, same as here. Thanks.
t/hll - good to know...that should be fixed before I do the bootstrap update.
moritz that was likely commit d49821658cabba0a97c13253313aaf2b45f9d003 in master 09:58
oh 09:59
there's a src/QHLL/CommandLine.pm too? 10:00
an automatic merge will just have fixed the one iin src/HLL/
masak QHLL?!
this quantum thing has gone too far... :)
jnthn moritz: Right. 10:01
moritz: So should just be copy/paste
As I don't think that diverged
moritz: There won't be two copies any more once I get the bootstrap finished up
Though really don't want to lose stuff :) 10:02
moritz jnthn: ok. We just need to be careful to also get the changes to Compiler.pm
jnthn moritz: Yeah, I was planning to git log things to see what needed doing... 10:03
moritz: If you have tuits, feel free to update things, otherwise I get to it later on.
sisar o/
phenny sisar: 07:56Z <sorear> tell sisar Sorry. See #124 comment
sisar sorear: no problem. I can wait.
moritz jnthn: I think I can just copy over both files. We'll just use the commit history by that 10:04
*loose
*lose
dalek p/qbootstrap: 2c90c5d | moritz++ | src/QHLL/CommandLine.pm:
copy changes to src/HLL/ over to src/QHLL
10:12
jnthn moritz: Does that clear up the t/hll test fail? 10:18
moritz jnthn: yes 10:19
jnthn yay 10:20
moritz does it have transitive LTM already?
jnthn Yeah
moritz \o/ 10:21
does anyone except rakudo use nqp's HLL::Compiler?
jnthn NQP itself may use it
Probably does.
moritz ok 10:22
because sooner or later I want to rename some things
I've recently added accessors for the parsed command line options and arguments
10:23 Guest95737 left
moritz but there is currently a method 'commandline_options', but that contains the *spec* for the expected command line arguments 10:23
and that's highly confusing :-)
10:24 NamelessTee joined
moritz maybe I should rename them to parsed_cli_{options,arguments} and commandline_spec or so 10:24
but that can wait until after the qbootstrap merge
jnthn +1 to deconfusing things :)
yes 10:25
It's also gonna need a branch in Rakudo to update Rakudo's grammar somewhat, I expect.
There are surely places that make "we don't have transitive LTM" style assumptions.
moritz do inline alternations with | LTM in qbootstrap? 10:26
jnthn No
That needs doing, but it's kinda orthogonal. 10:27
moritz ok
jnthn Pm and I talked about how to do | LTM a bit in Oslo.
moritz is it different than proto token LTM? 10:28
10:28 kubrat left
jnthn Kinda 10:30
I mean, it's the same "run NFA, get fates"
But the fates need to somehow be linked to which alternation branches to run
10:30 kubrat joined
jnthn And then that calculation needs to be saved somewhere so we can backtrack and try other alternations in the correct order 10:31
And to make things trickier, that backtracking could be triggered by us having backtracked into a subrule.
masak hm. "what's the use case?" is a really nice way to help people stuck in an X/Y thinking. 10:43
10:48 birdwindupbird left 10:49 birdwindupbird joined 11:04 brrt left
daxim "I want to remove all accents" 11:07
that's the Y, now guess the X 11:08
jnthn X = "I'm going on holiday to Scotland and want to be able to understand what people are saying!" 11:09
Removing all the accents would really help :)
.oO( It could be that you're turning stuff into ASCII by dropping accents, but nobody would do that! )
11:10
11:13 kaleem left
moritz doubts that dropping an accent from an alpha gives you ASCII :-) 11:27
jnthn Clearly that becomes a ? :) 11:33
11:34 birdwindupbird left
Woodi fglock: pong, message sent && afk for some work 11:36
fglock ok 11:37
dalek p: 64c1b3c | moritz++ | src/HLL/Compiler.pm:
[HLL::Compiler] expose the program name to the user
kudo/nom: 5274a37 | moritz++ | / (2 files):
fix $*PROGRAM_NAME for one-liners

Closes RT #113078
11:39
p/qbootstrap: f135d3f | jnthn++ | tools/build/Makefile.in:
Fix up make install for qbootstrap.
11:54
12:01 birdwindupbird joined 12:16 JimmyZ joined
[Coke] QHLL SURPRISE. 12:17
12:20 brrt joined
jnthn [Coke]: ? :) 12:20
[Coke] little punchy from dayjob deadlines. pay me no mind 12:21
12:24 woosley joined 12:46 NamelessTee left 12:48 _twitch joined, _twitch left 12:50 Antichoc left 12:52 NamelessTee joined 12:57 NamelessTee left
dalek p/qbootstrap: 19e3d85 | jnthn++ | tools/build/Makefile.in:
Update bootstrap-files target.
13:04
p/qbootstrap: 127134a | jnthn++ | src/NQPQ/Actions.pm:
Move loading of NQPP6QRegex within --no-regex-lib guard.
p/qbootstrap: d559989 | jnthn++ | src/how/NQPClassHOW.pm:
Temporarily change the way we do NFA caching so we don't end up with SC refs between levels of the bootstrap.
13:06 PacoAir joined
moritz ooh, looks like qbootstrapping being used for bootstrapping :-) 13:07
13:07 Psyche^ joined
tadzik waitwaitwaitwaitwait ;) 13:08
13:08 Patterner left, Psyche^ is now known as Patterner, REPLeffect left 13:12 REPLeffect joined
jnthn moritz: Well, working towards it. 13:14
13:19 jaldhar left 13:27 JimmyZ_ joined, JimmyZ left, JimmyZ_ is now known as JimmyZ 13:39 vinian joined 13:47 birdwind1pbird joined 13:50 timotimo_ is now known as timotimo, adu joined 13:51 am0c left
colomon SpaceX capsule officially captured by the ISS. 14:01
moritz \o/
14:02 grondilu joined
benabik "Houston, it looks like we got us a Dragon by the tail." 14:02
[Coke] ... I wonder if ISS could repel boarders if necessary. 14:05
jnthn \o/
moritz [Coke]: probably not very effectively 14:07
though I can imagine that at least some of the inhabitants are armed
[Coke] Phineas, I know what we're going to do today! 14:08
14:09 daxim left 14:11 grondilu left
[Coke] wow. does this explain damian? io9.com/5903588/this-photo-of-a-spi...your-brain 14:13
crazy australia.
14:14 grondilu joined, wtw left
grondilu Does 'NativeCall' works for you guys? 14:19
14:20 dpm_ joined
skids What, just the use statement? 14:20
tadzik it worked last time I checked
skids (because you have to have Zavolaj in the inclde path for that.)
tadzik which was 2012-05-20T22:46:04Z, according to tjs.azalayah.net/new.html 14:21
14:21 dpm_ left
skids I've successfully used it, but is was mixing a star-compiled zavolaj with a git checkout rakudo, so... 14:21
[Coke] star: use NativeCall 14:22
p6eval star 2012.04: ( no output )
jnthn skids: That's because . and lib are no longer in @*INC by default
14:23 grondilu left 14:24 vinian left 14:25 vinian joined
moritz yes, you might need to fiddle with PERL6LIB or the -I command line option 14:26
[Coke] wonders if tadzik is going through the modules in alphabetical order. 14:27
tadzik he is, yes
or no, he's not 14:28
they're just sorted on the webpage
moritz no sorting by dependency?
tadzik and dependencies are always rebuilt, afair
[Coke] tadzik: they just seem to be passing in alphabetical order. hurm. clicking on "exemel" doesn't take me to the exemel page.
tadzik I don't think so
oh, clicking is NYI :)
[Coke]: the top ones are the passing onse
[Coke] tadzik: i missed that the sort order wasn't uniform. whoops 14:29
moritz wants a robust topo sort module with cycle detection 14:31
14:31 grondilu joined
tadzik ufo implements that 14:31
and Panda steals that :)
not robust though, just for module files
grondilu I've made some updates in my pack/unpack customisations (see Buf.pm): github.com/grondilu/rakudo 14:32
I also tried to comply to ecosystem for my Digest module: github.com/grondilu/libdigest-perl6
14:32 fhelmberger left
grondilu but I got to go now :( 14:33
14:33 grondilu left
[Coke] I just typed "perl coke" instead of "git clone". wtf? 14:42
JimmyZ wfm
tadzik ;)
[Coke] so, I grab a copy of exemel to play with. ... how do I play with it? 14:43
tadzik run tests maybe :)
[Coke] tadzik: "make test" - ... boom 14:44
moritz I guess that's why it's not all green in the emmentaler results
[Coke] do I need to whip up a manual 'prove' line?
tadzik I don't think so
well, wanted to play with it? You can fix tests :) 14:45
[Coke] ok, different question: please point me at a module that is setup like we expect modules to be?
moritz how does it blow up?
[Coke]: Math::Model for example
[Coke] moritz: "there is no makefile" 14:46
moritz [Coke]: ah. ufo && make test
[Coke] ufo itself lacks directions. 14:48
does it need to be installed?
tadzik yes 14:49
it can be sort of boostraped, perl6 bin/ufo && make install
or you can use panda
[Coke] I'm looking at the readme, and the first instruction on ufo is "ufo". which doesn't help.
tadzik but I think I still didn't fix its bootstrap
[Coke] pan... now you're just making things up.
tadzik oh, you didn't hear about it? :) 14:50
[Coke] gives up even pretending to look at perl6 modules today.
tadzik github.com/tadzik/panda is a real deal :)
[Coke] it would be nice, as a newcomer to modules, if modules.perl6.org had a writeup geared toward someone who was not a core developer.
tadzik it doesn't?
These modules can be installed with panda, a module management tool which comes with Rakudo Star. 14:51
[Coke] ah. should have started there instead of here. 14:52
the panda readme is the most helpful thing so far, danke.
tadzik I'm glad to hear that
[Coke] ok. so if panda is used to /install/ modules, how can I /test/ them first?
tadzik panda tries that 14:53
it fetches, builds, tests, installes, in this order
[Coke] I don't want panda to try that. I wish to run it myself because I am hacking on a module intended to be installed via panda later.
(so, panda for module users vs. module authors would be helpful) 14:54
or is panda only for users? 14:55
(or am I confused still, which is entirely possible.) 14:57
also, are panda and ufo ... complementary? opposed? why do we have both? 14:58
14:58 NamelessTee joined
tadzik panda is for users, ufo is for developers 15:01
generally
you probably want to use ufo for module development
tadzik decommutees 15:02
15:05 brrt left 15:06 thou joined
[Coke] does star include ufo? (since it's not got a module underneath, like App:ufo, I cannot check from p6eval) 15:07
15:08 tokuhirom joined 15:13 birdwind1pbird left, birdwindupbird left 15:14 fgomez left 15:15 cotto joined 15:34 plobsing left 15:36 plobsing joined
adu so ufo depends on naming convention? 15:43
colomon adu: yes 15:46
15:50 fglock left
skids r: my @f; @f = 1,2,3; @f.perl.say; our @g; @g.push(1); @g = 4,5,6; @g.perl.say; our @h; @h = 7,8,9; @h.perl.say; 15:53
p6eval rakudo 5274a3: OUTPUT«Array.new(1, 2, 3)␤[4, 5, 6]␤No such method 'STORE' for invocant of type 'Any'␤ in block <anon> at /tmp/ClmlBx4KPE:1␤␤»
kresike bye all 15:55
15:56 kresike left
japhb moritz++ # thanks for the merge and cleanup assist! 16:08
16:09 JimmyZ left
japhb moritz, re: github.com/perl6/roast/commit/d671183d47#L2R44 note that Niecza and Rakudo's new Str.Numeric parser not only agree, they are correct according to S03:3210-3231 16:10
16:10 sirrobert joined
japhb moritz, re: github.com/perl6/roast/commit/d671183d47#L2R91 my feeling is that the only sane way to parse a rational is as the ratio of two numbers -- in grade school arithmetic, we're taught to handle negation signs in the denominator, so I think Perl 6 should be at least that advanced. :-) 16:13
moritz, I feel the same about handling '3.0/2', by the way: It's just a simple ratio where one number is a rational, and that's easy to convert to a simple Rat, so we should. 16:14
moritz, in short, I think the spectest is overrestrictive here, and there's no reason it shouldn't Just Work -- it's even easier to implement that way.
moritz, Finally, re: irclog.perlgeek.de/perl6/2012-05-25#i_5636242 I'm not surprised you didn't see a ton of passing TODOs -- the spectests are rather heavily incomplete in parsing the full wonderfulness of numeric literals. :-) 16:16
I have a private set of tests that I might be able to convert to spectest form. (They were optimized for performance as well as compliance testing, so didn't do normal TAP output.) 16:18
I expect it will be a couple weeks before I have tuits of the right shape for that. :-(
sirrobert How complete is the "NativeCall" implementation right now?
japhb sirrobert, Last time I looked it handles a lot of the vanilla stuff, but not the chocolate yet. :-) 16:19
sirrobert I guess I really mean, "How complete is the ability to call C libs right now?"
heh ok
jnthn sirrobert: It does quite a bit; it's missing callbacks completely and there's a few issues with sized integer types in structs/arrays.
sirrobert Thanks 16:20
jnthn sirrobert: If it helps: it's already good enough to call the C libs for Postgres, MySQL and Sqlite
sirrobert: Also have tried calling Win32 APIs with it with some success.
sirrobert: And I think others have done various other libraries.
File an issue if you run into an unimplemented bit. There's a couple of people who hack on it. :) 16:21
arnsholt++ did much of the recent stuff
sirrobert Great =) I was here yesterday (or Wednesday?) mentioning that I'm contemplating having my startup explore migrating development to P6.
After talking about it with a few people, I think it's a good (read: fun and a little dangerous ;) idea. 16:22
We want to start with some of the "lighter" stuff (web server, etc.) Is there any best way to get that started with visibility to people working on Rakudo, etc? 16:23
PerlJam sirrobert: you're doing it right now :)
sirrobert heh
Do most of you use git/github for stuff? 16:24
PerlJam aye
sirrobert Ok (that's what we use). Is there a page where I can see how much of the spec is implemented in Rakudo?
japhb sirrobert, Seriously though, PerlJam is correct (on both counts, now): #perl6 is the best way to reach Perl 6 implementers, and yes, we use Github for most public repo storage.
16:25 tyatpi left
sirrobert japhb: Great =) 16:25
jnthn I think almost everyone who works on Rakudo is about here.
See features.perl6.org/ for an idea of what Rakudo implements.
gah 16:26
japhb sirrobert, perl6.org/compilers/features
jnthn See www.perl6.org/compilers/features
:)
japhb :-)
jnthn fail
sirrobert heh
jnthn uses "I'm debugging a bootstrapping compiler" as an excuse :)
moritz japhb: ok, I'm fine with relaxing/fixing the tests 16:28
sirrobert Thanks; good info there. I'll be back later (gotta meet my wife for lunch). 16:29
moritz japhb: will look into it, at $some-point-in-future
16:29 sirrobert left, woosley left
japhb ++moritz # Thank you! 16:29
16:29 Vlavv` left
japhb & 16:29
jnthn Aww, dang. The few remaining test fails actually matter for the bootstrap... 16:30
16:32 tokuhirom left, tokuhirom joined
masak I should probably make a robust topo module with (opt-in) cycle detection. it's not like it's hard or anything. 16:36
in fact, I wanted to spend the summer doing fun things with graphs and other data structures.
16:37 b1rkh0ff joined, tokuhirom left 16:41 Vlavv` joined 16:54 dakkar left 16:57 aesundstrom joined, tyatpi joined 16:58 tyatpi left 17:01 tyatpi joined
moritz japhb: the spec link you gave at irclog.perlgeek.de/perl6/2012-05-25#i_5637180 seems to be wrong (it talks about junctive operators, not rats :-) 17:05
aesundstrom r: say $0; say $*0
p6eval rakudo 5274a3: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/o2ij7xy5Qy:1␤»
moritz r: say '2+3i'.Numeric.perl 17:07
p6eval rakudo 5274a3: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => "2+3i", pos => 1, reason => "trailing characters after number"))␤»
japhb moritz, bah, That was supposed to be S02, not S03. 17:09
I had an odd feeling I would do that. :-/
moritz, Yeah, complex is NYI. It was on my short list -- approximately when I ran out of tuits. 17:10
I will try to find some cycles for that again. :-)
masak r: my %deps = <shoes socks trousers shoes sweater shirt belt trousers>; sub toposort(%deps) { my @order; my %s; sub visit($k) { return if %s{$k} // 0 >= 1; %s{$k} = 1; visit .value for %deps.grep(*.key === $k); @order.push($k) unless %s{$k} == 2; %s{$k} = 2 }; visit .key for %deps; @order }; .say for toposort %deps 17:11
p6eval rakudo 5274a3: OUTPUT«socks␤shoes␤trousers␤shirt␤sweater␤belt␤»
masak toposort isn't harder than that.
geekosaur thought complex wasn't supposed to work without a pragma anyway...
masak complex works without a pragma. 17:12
but you have to intentionally show you want to make a complex calculation.
dalek p/qbootstrap: 5b5063b | jnthn++ | src/PASTRegex.pir:
PASTRegex module needs to take care of exporting PAST namespace now that NQPRegex is going away.
17:17
p/qbootstrap: 191ac25 | jnthn++ | src/NQPQ/Compiler.pm:
Be sure that we still always have the PAST stuff available for the moment.
p/qbootstrap: 30c0341 | jnthn++ | src/QRegex/NFA.nqp:
Refactor/harden the rulename existence check in mergesubrules.
p/qbootstrap: 49ef826 | jnthn++ | src/NQPQ/Grammar.pm:
Workaround for <?{ ... }> parsing issue; should be able to clear this up post-bootstrap, when only the new NFA implementation of LTM need care. This gets all tests passing in t/nqp again.
17:20 stepnem left 17:23 birdwindupbird joined
diakopter lol perl coke 17:25
masak diakopter: "perl coke"? 17:26
jnthn See backlog :)
masak haha :) 17:27
jnthn Milestone. Can haz. 17:31
dalek p/qbootstrap: d18b0c4 | jnthn++ | / (11 files):
Update the bootstrap, using the QRegex engine. This eliminates the dependency on the old PIR-based regex engine.
p/qbootstrap: 4fd22b2 | jnthn++ | t/nqp/29-make.t:
Update a test that used the old regex engine's Match object.
p/qbootstrap: 5a14467 | jnthn++ | src/stage0/ (8 files):
Go around the bootstrap loop once more, to (hopefully) fully eliminate mentions of the old NQPRegex library. Things work, aside from a regex interpolation issue that needs looking in to (and that was broken last time around too).
17:32 stepnem joined
moritz don't all the regex tests depend on regex interpolation? 17:33
jnthn moritz: Yes.
moritz: Well, the ones in t/qregex
moritz: It's a "need PAST::Block available somewhere it currently ain't" style issue. 17:34
Shouldn't be anything deep.
moritz good 17:35
jnthn Not to mention that, if the regex engine was actually busted, it'd be rather struggling to compile itself ;)
Well, parse itself, I should say. 17:36
17:36 PacoAir left
moritz I'm aware of that :-) 17:37
jnthn is pretty glad to be at this point, though :)
17:39 spider-mario joined
masak \o/ 17:39
moritz jnthn++
moritz should configure irrsi to have shift+tab autocomplete to <nick>++ 17:40
jnthn Plan from here: clean up all the dupe stuff, toss unused things, fix that interpolation issue, go back and re-do something I did in a way that's slow to get us to this point.
17:42 vinian left
PerlJam jnthn: and then ... make it awesome! ;) 17:43
jnthn Indeed :) 17:44
moritz and then make rakudo use it
jnthn Right. :)
Currently it fails when compiling Pod.pm 17:46
But that's a ** => % fix.
sisar www.programmersheaven.com/2/Perl6-F...on#modules --> "The name of a language followed by a single colon is the general syntax for using a module from another language, and in the future, with the Parrot VM, it should be possible to name various languages there." Is it true ? There are plans for such functionality? 17:47
dalek p/qbootstrap: 4b5e511 | jnthn++ | tools/build/Makefile.in:
Start to clear up the Makefile, removing things we no longer use.
17:48
p/qbootstrap: 2fb39d8 | jnthn++ | src/Regex (10 files):
Remove most of the old Regex engine; a constants.pir is still referenced, but everything else goes.
p/qbootstrap: 1fa3e21 | jnthn++ | / (4 files):
Remove the old PIR-based regex compiler.
17:48 japhb left
sisar Actually using modules from other languages looks quite a few years into the future... 17:49
PerlJam sisar: Just grok the long now and it'll look like it's happening "now" :)
sisar no seriously, are there plans for that ? 17:50
jnthn Well, at the very least for using Perl 5 modules. 17:53
17:53 kubrat left 17:54 Chillance joined, PacoAir joined 17:55 sergot left 17:56 mucker joined
dalek p/qbootstrap: fea45a0 | jnthn++ | / (9 files):
Collapse QHLL back into HLL.
17:57
p/qbootstrap: a57eda0 | jnthn++ | / (9 files):
Collapse NQPQ back into NQP.
geekosaur sisar: as I understand it, that is an eventual design goal for Parrot which rakudo should be able to use once it appears. But, at present it's not looking like Parrot will get it any time soon 17:59
dalek kudo/world-rethrow: f211159 | moritz++ | src/Perl6/World.pm:
[World] refactor exception handling and rethrowing into a separate method
18:00
kudo/world-rethrow: 6d6e154 | moritz++ | src/Perl6/World.pm:
oops, fix method name
jnthn nqp: say('a,b' ~~ /\w ** ','/) 18:05
p6eval nqp: OUTPUT«a,b␤»
jnthn nqp: say('a' ~~ /\w ** ','/)
p6eval nqp: OUTPUT«a␤»
jnthn nqp: say('' ~~ /\w ** ','/)
p6eval nqp: OUTPUT«␤»
jnthn nqp: say(('a' ~~ /\w ** ',').Bool/)
p6eval nqp: OUTPUT«Confused at line 1, near "say(('a' ~"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22101 (src/stage2/gen/NQPHLL.pir:7077) (src/stage2/gen/NQPHLL.pm:329)␤»
moritz it's equivalent to \w+ % ','
jnthn ah, +
thanks :) 18:06
moritz you're welcome
are you looking at Pod.pm? :-)
jnthn Wanted to check it wasn't *
yeah
cognominal_ trhowing worlds, moritz and jnthn indulges in their demiurgic tendancies.
18:06 DreamingInCode joined
moritz throwing worlds is fun! 18:06
geekosaur whirling worlds? 18:07
gfldex being able to throw them in a requirement for world domination after all
18:07 japhb joined
dalek kudo/qbootstrap: 436e5de | jnthn++ | src/Perl6/Pod.pm:
Update Pod.pm to new sep syntax. Now NQP on qbootstrap can compile it.
18:07
jnthn Next up will be Grammar.pm. Which tells me, "ICU not loaded" right off 18:08
moritz what the world-rethrow branch is doing is catching exceptions from within the metamodel, stick file and line numbers into it and rethrow the exception 18:09
jnthn oh, because loading wrong library and crappy error reporting...
moritz: Sounds sane enough.
moritz: People are gonna write custom meta-objects so better not to give everybody the burden here. 18:10
moritz jnthn: we've discussed that two weeks ago
jnthn moritz: Did I think it was sane two weeks ago? ;)
moritz jnthn: yes :-)
sorear good * #perl6 18:11
gfldex the more linenumer the better
cognominal_ yea! 18:13
18:14 zby_home_ joined
jnthn o/ sorear 18:15
dalek kudo/qbootstrap: a4ff26a | jnthn++ | src/Perl6/Grammar.pm:
Load the QRegex version of P6Regex. Now we at least start compiling Grammar.pm.
kudo/qbootstrap: 2fabe67 | jnthn++ | src/Perl6/Grammar.pm:
Update ** usage to % in Grammar.pm; now we survive building it at least.
kudo/qbootstrap: e375fc3 | jnthn++ | src/Perl6/ (3 files):
Few more 'use' statement updates; we now get all the way to trying to build main.nqp before failing.
kudo/nom: c663f0f | moritz++ | src/ (2 files):
provide file and line number for method redeclaration errors
18:16
kudo/nom: f211159 | moritz++ | src/Perl6/World.pm:
[World] refactor exception handling and rethrowing into a separate method
kudo/nom: 6d6e154 | moritz++ | src/Perl6/World.pm:
oops, fix method name
kudo/nom: ecf355f | moritz++ | src/ (2 files):
Merge branch 'world-rethrow' into nom
kudo/nom: 4904b02 | moritz++ | docs/ChangeLog:
note exception stuff in ChangeLog
pmichaud wow, lots of good work on qbootstrap! jnthn++ 18:17
phenny pmichaud: 22 May 15:34Z <TimToady> tell pmichaud I feel pretty strongly, but I think I don't want as much as you guys think I want. You can read a file that is growing, and it only matters when you hit the current end, no the end when you started. Buffering is fine, snapshotting existing elements is fine. Just go back and see if it has grown when you hit the end.
pmichaud: 22 May 15:38Z <TimToady> tell pmichaud It's only one extra check for any array that hasn't grown. Arrays and lists can both be defined lazily; the issue isn't immutability here, but policy toward changing your mind; the API disallows it with a list, but changing existing elements of an iterating array is merely erroneous.
pmichaud: 22 May 15:48Z <TimToady> tell pmichaud I think this is an area where a tagmemic "you can use an array as a list" is warranted; it's a relatively cheap check; it enables a bit more cargo-cult learning (a Perl feature, you'll recall); and it preserves the abstract idea of the array's identity longer
moritz \o pmichaud 18:18
pmichaud It's going to take me a bit of time to digest that.
japhb o/ 18:19
pmichaud "See if it's grown when you hit the end" isn't really how list iterators current work, I don't think. They don't keep a reference to the original data structure.
(the array, in this case)
jnthn o/, pmichaud 18:20
pmichaud well, maybe they do... but keeping track of "has grown" seems a bit weird
japhb pmichaud, er ... isn't what he's asking for satisfied by doing an extra check when your iterator runs dry?
pmichaud japhb: only if the iterator has a reference to the original data structure. and the iterator has to know how much was there in the first place 18:21
moritz but if the iterator has a reference to the original, you can't do for 1..$large_number { } and garbage-collect the earlier elements
japhb Ah, because an iterator does not know how many values it has already yielded.
dalek kudo/qbootstrap: 8810de2 | jnthn++ | src/Perl6/Actions.pm:
Make sure we get PAST nodes loaded. This gets us up to trying to compile the setting...which is immediate fail.
18:22
pmichaud moritz: well, ranges are different here. we're really dealing with arrays
ranges never produce elements except via iterators
moritz pmichaud: ah, right
japhb jnthn++ # Moving the 'fail' front
18:23 mtk left
PerlJam To add something to the end of an array, do you need to reify all of the elements to that point? 18:25
pmichaud PerlJam: for .push, yes.
in the case of 18:26
PerlJam how about other than .push ?
pmichaud .plan doesn't require reification -- it's a lazy push
if you add an element to @a[$n], then all of the elements up to (and including) index $n are reified
PerlJam Is there a lazy splice?
pmichaud .splice is (can be) lazy, yes 18:27
splice occurs after reifying the first $offset+$length elements
the problem is with something like:
18:27 mtk joined
pmichaud my @a = 'a'..'f'; for @a { @a.push(1); .say } 18:27
at the time the iterator is created for @a, @a is already fully reified. It has no active lazy component. 18:28
And the iterator that gets created isn't actually tied to @a (because @a is already fully reified, it has no need for an iterator to populate its additional elements)
dalek kudo/qbootstrap: 55c9f1c | jnthn++ | src/Perl6/ (2 files):
Update some references to the old regex engine's Cursor and Match types. Now we make a bit of progress with parsing CORE.setting (up to line 106).
18:30
pmichaud now then, we could have an intermediate or temporary iterator created for @a in this case that checks somehow to see if @a has "grown" 18:31
sorear hmm, it seems to me that even identifying *if* a list has grown is computationally intractible, unless the list maintains special housekeeping data
18:31 Khisanth left
sorear if a list has unreified elements, but the final state is completely reified, then simply by querying the initial and final states, there is no way to establish if .plan was called in the middle 18:31
18:32 skyheights joined
sorear tangent: my biggest gripe with the current list iterator model is that for @biglist { last; } takes \Theta(n) time 18:33
pmichaud huh?
jnthn The munch thing. 18:34
masak pmichaud! \o/
pmichaud I declared that to be wrong at the beginning. That's not the model, it's a misimplementation.
jnthn Right.
sorear jnthn: can you clarify on 'the munch thing'? 18:35
pmichaud this line
$count = $n.Int; $!list.gimme($argc * $count);
is WRONG 18:36
as is
my $munched := $!list.munch($argc * $count);
that's a mis-optimization trying to work around the fact that .munch is slower than it ought to be in the current implementation 18:37
sorear pmichaud: I am referring to List.pm lines 122 and 63
every time you start iterating a list, nqp::clone($!items) is called 18:38
now tell me that nqp::clone on an RPA with 10 million items is fast
erm, that came out wrong 18:39
PerlJam so the iterator that gets created in for @a { ... } is tied to a clone of @a?
pmichaud not really
it's a clone of the list of @a's reified items
it doesn't actually clone the items themselves
I agree that the line would result in a really big memcpy 18:40
PerlJam And the goal is to preserve iterator immutability?
Why the clone?
pmichaud because parcels are immutable
and the thing being cloned could change 18:41
jnthn But...what would produce a 10 million item Parcel?
pmichaud @a[1..10000000] would do it, fwiw.
jnthn Ah. 18:42
pmichaud as would @a[*] on a 10 million element array
jnthn Oh! For the *result*
Not the range
pmichaud right 18:43
sorear my @a = 1 .. 1e6 ; for 1 .. 1e6 { for @a { last } } # naively, this should take N * 1e6 for some small constant N. Both Rakudo and Niecza actually take 1e12 steps, where a "step" is defined in terms of memcpy's inner loop
jnthn OK, now I'm less worried :)
18:44 adu left
sorear because 1e6 of the naive steps are actually 1e6-element memcpys 18:44
jnthn sorear: Because @a is fully reified due to the assignment?
18:44 birdwindupbird left
sorear jnthn: yes 18:44
pmichaud well, the problem that sorear++ points to would actually be a problem with the Iterator.reify approach to doing things, since that returns a Parcel of the already-reified elements of the iteration 18:45
and it needs to be an immutable structure
18:46 Khisanth joined
pmichaud i.e., we can't have the iterator returning different answers to each reify (that's what "immutable iterators" are all about) 18:46
sorear what I just tried yesterday was to change Niecza's list iteration process to the equivalent of gather { loop (my $i = 0; $i < @a.elems; $i++) { take @a[$i] } }
pmichaud sorear: at any rate, you make an outstanding point; I'll see if I can fold some better answers into my thinking 18:47
sorear unfortunately even in C# with a custom iterator type it's far too slow
I think because it has to create so many intermediate objects
jnthn pmichaud: Should <before ...> be declarative? 18:49
pmichaud jnthn: I don't think I've ever gotten a solid answer on that. 18:50
jnthn pmichaud: OK.
pmichaud I've often wanted it to be declarative.
moritz I though that in <before <foo>> <bar>, the <foo> part is declarative, but the <bar> part isn't anymore 18:51
18:51 stepnem left
moritz but maybe that's outdated specs 18:51
pmichaud oh, sorry, I think I answered the wrong question
I was thinking "declarative" in a different context.
sorear my understanding concurs with moritz. S05:2701 is relevant
moritz I'm talking about declarative prefixes that count for LTM 18:52
pmichaud right, I was thinking something else.
sorear The other list tweak I've considered is to replace all the parcels with self-balancing trees, which make cloning instant at the expense of making most of the other operations O(log N)
also, this does nothing to help with sisar++'s problem 18:53
pmichaud one quick-ish optimization would be to re-use the same object for .iterator as long as we can detect that the List hasn't been modified
sisar :)
pmichaud that would resolve the 1e6 problem noted above 18:54
jnthn pmichaud: Yes, I was asking about LTM :)
18:54 stepnem joined
pmichaud jnthn: <before ...> for LTM purposes requires special handling, as noted by moritz++ and sorear++ 18:55
jnthn pmichaud: OK.
[Coke] jnthn++
pmichaud I suspect it can be built into the LTM returned by the .before method
jnthn "the LTM returned by the"? 18:56
pmichaud: You mean the argument passed to it?
pmichaud sorry, NFA
jnthn Oh
OK :)
sorear jnthn: niecza treats <before <foo>> as <foo> {} for LTM purposes 18:57
this leads to an amusing consequence where assertions that are meant to be LTM-transparent are written as <!!{ ... }> 18:58
pmichaud it does make that look very important :-)
sorear pmichaud: you are proposing something along the lines of copy-on-write parcels? 18:59
jnthn oops, I forgot to dinner...
pmichaud sorear: I don't think that's what I'm proposing. Parcels don't have a "write"
I'm just proposing that List.iterator cache its results, and invalidate the cache whenever something happens that causes the List to change 19:00
[Coke] pmichaud: O/
pmichaud [Coke]: o/ 19:02
...and also to note that reification doesn't have to invalidate the cache :-)
only things like .push, .splice, etc would need to do it. and maybe bind
afk, phone call then kid pickup 19:03
jnthn -> shop 19:04
19:04 whiteknight joined, whiteknight is now known as Guest45497
sorear o/ 19:05
19:09 birdwindupbird joined
tadzik oh, stuff's happening when I'm not looking 19:12
sorear o/ tadzik 19:13
tadzik sorear: o/
19:19 [hds] joined
masak tadzik: must be en.wikipedia.org/wiki/Quantum_Zeno_effect :) 19:26
masak just watched en.wikipedia.org/wiki/Blink_(Doctor_Who) :)
19:28 lichtkind joined, PacoAir left 19:31 snearch joined, rurban left 19:32 [hds] left
masak "The amount of patience, perseverance and determination required to make this a successful venture is enormous, but add to that the ridicule and criticism of your peers and it must be extremely difficult." news.ycombinator.com/item?id=4024633 -- made me think of Perl 6. :) 19:34
19:36 PacoAir joined 19:39 majrmovies joined 19:44 cognominal_ left 19:45 cognominal_ joined 19:50 plobsing left 19:53 plobsing joined
colomon masak: well spotted 20:03
majrmovies Would this be the right forum to ask a question about the NativeCall module in Rakudo? I am trying to write a Perl6 module that would interface with libcurl using NativeCall. 20:08
diakopter does someone know how to fix this: S32/Scalars and S32/Any are not linked from perlcabal.org/syn but they are mentioned in S29
20:08 pyrimidine joined
moritz there are no such .pod files in the specs 20:09
so it might be outdated names
sorear majrmovies: it would be the right place 20:10
masak ...and it's very kind of you to ask first :) 20:11
majrmovies Hehe. Well, so far the NativeCall API is AMAZING! I have never programmed any production system in C, but the hooks with Perl6 work great. 20:13
The challenge I am having is with constants.
In the documentation for Curl (curl.haxx.se/libcurl/c/curl_easy_setopt.html)
This method has two three params, the object, the option (which is a defined constant) and a paramter 20:14
I am receiving an error when trying to supply the constant ..
Because it isn't looking for a Str/Int, it is looking for a C-defined constant .. which the NativeCall module does not appear to support this data type 20:15
masak right.
chances are it doesn't.
jnthn++ is occupied presently, but he'll be here soon, I bet.
he'll be able to reply better.
majrmovies Well, that was easy. I'm not crazy, it just isn't supported.
Oh great. Thanks for your hlpe. 20:16
help*
masak well, it's a preliminary answer. I'm not that deep into NativeCall 20:18
but I haven't hear people talk a lot about constants, so chances are it's still on the TODO list or something.
majrmovies I checked the current TODO on github and it wasn't there .. but maybe its easier to implement then some of these other components. Heck, maybe I could contribute to the "Awesome Documentation" TODO if he builds that in. 20:19
masak oh, please do.
github should make it easy to contribute a line to the TODO.
majrmovies Oh .. good point. 20:20
jnthn ooh, yes I know something about NativeCall :) 20:21
jnthn reads the question
[Coke] jnthn: Only because you built it out of beer.
20:21 fibo joined
PerlJam CURLoption is an enum looks like. 20:22
majrmovies PerlJam: Yep
PerlJam majrmovies: so you should be able to use an enum in Perl6-land I think.
Just like in SQLite.pm6
jnthn Yes, you should be able to make this work 20:23
masak ooh, suddenly lots of people with actually a clue. :)
majrmovies Wha!?
moritz I think a C enum just desugars to the integers used to define it
jnthn C enumerations and constants are really just sugar for instances.
majrmovies <- so excited
jnthn gah
*just sugar for integers
So you can get away with using int in the argument type
20:23 zby_home_ left
moritz you can just printf("%d\n", . 20:23
CURLOPT_WRITEDATA ); 20:24
in C
and see what the result is
jnthn *nod*
moritz and use that integer in Perl 6
jnthn Well, the header file must be somewhere...I bet it could be transcribed into constants in Perl 6.
PerlJam or just look in /usr/include/curl/curl.h :-)
majrmovies I tried passing the integer directly, but that didn't work.
moritz majrmovies: how did it not work?
[Coke] do we have something that will parse header files and create p6 enums? (like parrot does for PIR constants) 20:25
PerlJam majrmovies: show your code?
fibo is it planned a porting of Mojo framework on Perl6 ?
majrmovies PerlJam: Sure, let me grab my other laptop
moritz fibo: yes-ish
PerlJam fibo: sri mentioned it a couple of times.
fibo: in the mean-time there's Bailador (a Dancer-a-like)
masak fibo: why you ask, you want to do web programming in Perl 6? 20:26
fibo great, I have an experimental Mojolicious app, an IDE for node visual programming and it would be wonderful to use Perl6
but can I install Perl6 from CPAN ? 20:27
moritz no
20:27 cognominal___ joined
sisar New page: wiki.perl6.org/module. Should be good enuf for beginners. Comments welcome. 20:27
dalek p/toqast: 9e3e240 | masak++ | / (2 files):
[QAST::Block] implement .symbol
jnthn Yes, CURLoption is the world's biggest enum. :) 20:28
jnthn just found the .h file :)
majrmovies Code: pastebin.com/6N6xpjtV 20:30
Its very rough ... and I am working on Mac (hence the strange path to the library)
20:30 cognominal_ left
jnthn Oh, I see what you're trying 20:30
sub curl_easy_setopt( OpaquePointer $curl, Str $option, Str $param) 20:31
That won't work out - here you are passing a string, which will actually be turned into a char* to be passed to C, which means it's a pointer and you're basically passing junk :)
20:31 skyheights_ joined
jnthn Instead it needs to be Int $option 20:31
And then you define a 20:32
majrmovies jnthn: As soon as you pointed it out, I tried it, and it worked.
*facepalm
jnthn :)
majrmovies But now the best news: I can keep working on this module, play with testing in Perl6, and then throw it on Github!!
PerlJam majrmovies: what's this "maybe" business?!? ;) 20:33
20:33 skyheights left
moritz star: use NativeCall; sub _exit(Int) is native { * }; _exit; say 'still here'; 20:33
p6eval star 2012.05: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling '_exit' will never work with no arguments (line 1)␤ Expected: :(Int )␤»
20:33 skyheights_ is now known as skyheights
PerlJam oh, there is no maybe 20:33
moritz star: use NativeCall; sub _exit(Int) is native { * }; _exit(0); say 'still here';
p6eval star 2012.05: ( no output )
PerlJam read stuff that wasn't there (curious)
moritz you can call C functions from p6eval. That's scary.
diakopter hee
20:34 skyheights left
diakopter that should probably be un-safed 20:34
moritz well, it requires quite some knowledge to exploit 20:35
we also allow pir:: and nqp:: opcodes
and we have backups :-)
well, I hope we do. Juerd knows :-) 20:36
20:36 kresike joined
kresike evening all 20:36
20:36 MayDaniel joined
jnthn o/ kresike 20:38
kresike o/ jnthn
Juerd We have backups. Restoring backups is annoying work. 20:45
masak kresike! \o/
aesundstrom r: my @foo = { ix -> $n { sub ($a,$b) { ($a+$b)*$n } } } ... *; say @foo[2](3,5); say @foo[1](3,5); say @foo[0](3,5); sub ix(&block) { state $p = -1; $p++; &block($p) }
p6eval rakudo 4904b0: OUTPUT«16␤8␤0␤»
aesundstrom masak++ (you rock) 20:46
masak aesundstrom++ has had a session with me about the need for a macro.
turns out a sub was enough. :) this seems to be a regular theme in Perl 6.
aesundstrom: now, the 'ix' sub is a bit "dirty". it has global state. use at your own risk. 20:47
dalek p/toqast: b0b24cf | masak++ | / (2 files):
[QAST::Block] only create hashes when .symbol sets

When the getter variant of .symbol is used, it now returns an undefined value, rather than autovivify a hash for it.
20:49
20:51 thou left
jnthn Just tracked down the latest parsing issue with CORE.setting in rakudo/qbootstrap. The good news is that we're getting a whole 1000 lines into it before hitting a failure, though. 20:51
masak yay
jnthn had feared worse
tadzik woot 20:52
niice
good stuff happens when I'm not looking
tadzik turns away
aesundstrom r: my @foo = { ix -> $n { sub ($a,$b) { ($a+$b)*$n } } } ... *; my @bar = { ix -> $n { sub ($a,$b) { ($a-$b)*$n } } } ... *; say @foo[2](3,5); say @foo[1](3,5); say @foo[0](3,5); say @bar[2](3,5); say @bar[1](3,5); say @bar[0](3,5); sub ix(&block) { state $p = -1; $p++; &block($p) }
p6eval rakudo 4904b0: OUTPUT«16␤8␤0␤-10␤-8␤-6␤»
20:55 shinobicl joined
diakopter aesundstrom: in case you weren't aware, you can put your code into a github gist, and give p6eval the gist url to run it 20:55
shinobicl Hello
masak shinobicl! \o/
shinobicl i have this simple class to support a "scheduling" system i'm working on 20:56
aesundstrom diakopter: I didn't know that. How do I put my code into a github gist?
shinobicl github.com/shinobi/TaskScheduler/b...meOfDay.pm
kresike masak, o/
diakopter aesundstrom: go to gist.github.com/ and paste it :)
and click create public gist
shinobicl the idea is that you can add seconds to a certain time, and get the time from that, independently from a date 20:57
aesundstrom diakopter: Thanks!
sorear diakopter, does it work with private gists?
shinobicl but it seems too simple, so i was wondering if i can get some advice of how to improve it
so i can make it more generic or simply more useful
masak sorear: should do. 20:58
sorear: private gists are only private insofar as the URLs being hard to guess.
shinobicl so i can upload it to modeules.perl6.org
masak has Sexagesic $.s is ro = 0; 21:00
shinobicl: this doesn't take into account leap seconds, which are 0..61
aesundstrom r: git://gist.github.com/2790514.git
p6eval rakudo 4904b0: OUTPUT«===SORRY!===␤Confused␤at /tmp/_NBnlBB01N:1␤»
diakopter heh
shinobicl leap seconds?
diakopter r: gist.github.com/2790514 21:01
shinobicl ok the idea is to have this, independent from a specific date
p6eval rakudo 4904b0: OUTPUT«16␤8␤0␤-10␤True␤-8␤-6␤»
aesundstrom thanks
shinobicl so, for example, if you have the time "12:59" and you add 120 seconds you'll get "00.01" and the "day_offset" in 1 (meaning that is the next day)
aesundstrom r: gist.github.com/2790514.git 21:02
p6eval rakudo 4904b0: OUTPUT«===SORRY!===␤Confused␤at /tmp/SsR15Dijxg:1␤»
shinobicl sorry, i meant "00:01"
sorear masak: The Frobenius Automorphism is quite simple imo.
21:02 Guest45497 left
shinobicl ahhh sorry... i meant "23:59" not "12:59" 21:03
sisar sorear: re your summer plans for Niecza, any plan for S09 ? 21:04
sorear S09 is too much for me to think about all at once. 21:05
masak sorear: are you reading twitter?
sorear masak: yes
[Coke] ALL OF IT!?
21:05 sftp left
sisar sorear: right. 21:05
PerlJam aesundstrom: btw, if you install App::Nopaste from CPAN, it makes it real easy to get stuff from your computer to a gist.
masak sorear: Wikipedia claims it's the "Frobenius endomorphism", and not always an automorphism. 21:06
[Coke] jeez. chromatic is going to make me lose my cool.
[Coke] supposes he'll just have to take a deep breath.
PerlJam [Coke]: what now?
aesundstrom PerlJam: Thanks for the tip; I'll have a look.
[Coke] PerlJam: No point in sharing. will just annoy others. 21:08
PerlJam [Coke]: in that case ... ignorance is bliss :) 21:09
aesundstrom r: gist.github.com/2790586 21:11
p6eval rakudo 4904b0: OUTPUT«2␤1␤0␤2␤1␤0␤»
21:12 birdwindupbird left 21:21 sftp joined
dalek kudo/qbootstrap: ffe62f6 | jnthn++ | src/Perl6/Grammar.pm:
Remove a check we hopefully don't need with proper LTM, and that prevented circumfix from getting its proper declarative prefix.
21:21
kudo/qbootstrap: 2dc246d | jnthn++ | src/Perl6/Grammar.pm:
Fix copyO for new regex engine. Gets us to just past line 1400.
jnthn r: say '()' ~~ /<?[ ) \] } ]>/ 21:24
p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
jnthn wtbh
Isn't that meant to be zero-width? 21:25
p6: say '()' ~~ /<?[ ) \] } ]>/
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
..niecza v17-28-gad2d70a: OUTPUT«#<match from(1) to(1) text() pos([].list) named({}.hash)>␤»
..rakudo 4904b0: OUTPUT«q[)]␤␤»
jnthn r: say '()' ~~ /<?before <[ ) \] } ]> >/
p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:26 majrmovies left
jnthn r: say '()' ~~ /<?[)\]}]>/ 21:26
p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
jnthn r: say '()' ~~ /<![)\]}]>/
p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
jnthn r: say 'a' ~~ /<?[a]>/
p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
jnthn r: say 'ba' ~~ /<?[a]>/
p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
jnthn r: say '()' ~~ /<?[(]>/ 21:27
p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
jnthn r: say '()' ~~ /<?[)]>/
p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
jnthn r: say '()' ~~ /<?[)\]]>/
p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
jnthn r: say '()' ~~ /<?[)}]>/
p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
masak jnthn: \ doesn't work? 21:30
hm, no. that doesn't quite explain it.
jnthn Looking at what it's compiling to doesn't quite explain it either...
masak but there's something there about \] that doesn't make sense... 21:31
jnthn It's somehow turning into an alternation.
[Coke] look buddy, I don't want an alternation here.
21:32 kresike left
masak :P 21:32
21:34 snearch left
aesundstrom r: gist.github.com/2790753 21:37
p6eval rakudo 4904b0: OUTPUT«===SORRY!===␤Macro did not return AST at line 2, near " -> $n { {"␤»
21:44 stephenlb joined
masak yeah. textual macros NYI. 21:44
someone more gullible than me will have to implement them :P 21:45
21:45 kresike joined, alester left
sorear if you go back to march '10 or so there's my text macro branch :p 21:50
masak rightrightright
and Pugs has had 'em for ages.
22:03 SatoAmbush joined 22:07 kresike left
diakopter phenny: ask TimToady S09 says my Str %hash{Str; Int where {!.scared}}; is ok, but std doesn't like it; please advise 22:07
phenny diakopter: I'll pass that on when TimToady is around.
22:08 aesundstrom left, SHODAN left, SHODAN joined 22:13 MayDaniel left
dalek kudo/qbootstrap: 137b998 | jnthn++ | src/Perl6/Grammar.pm:
Avoid issue with <?[ ) \] ]> generating non-zerowidth matching. Gets us well beyond line 3000.
22:13
22:14 SatoAmbush left
masak 'night, #perl6 22:19
cognominal___ r: say [ "private cloud", "overpaid cult" ]>>.split('').sort.perl 22:25
p6eval rakudo 4904b0: OUTPUT«(" ", " ", "a", "a", "c", "c", "d", "d", "e", "e", "i", "i", "l", "l", "o", "o", "p", "p", "r", "r", "t", "t", "u", "u", "v", "v")␤»
cognominal___ I would like an equivalent instruction so that I can do : 22:26
r: [eq] [ "private cloud", "overpaid cult" ]>>.split('').sort
p6eval rakudo 4904b0: ( no output )
cognominal___ s/equivalent/similar/
without explicit loop.
22:26 cognominal___ is now known as cognominal
diakopter sigh p6l 22:27
cognominal in other words, I would like the sort ot to flatten the parcel resulting from the split. 22:28
*not to 22:29
jnthn r: say [ "private cloud", "overpaid cult" ]>>.split('')>>.sort.perl 22:30
p6eval rakudo 4904b0: OUTPUT«(("p",), ("r",), ("i",), ("v",), ("a",), ("t",), ("e",), (" ",), ("c",), ("l",), ("o",), ("u",), ("d",), ("o",), ("v",), ("e",), ("r",), ("p",), ("a",), ("i",), ("d",), (" ",), ("c",), ("u",), ("l",), ("t",))␤»
jnthn r: say [ "private cloud", "overpaid cult" ]>>.split('').tree>>.sort.perl
p6eval rakudo 4904b0: OUTPUT«(("p",), ("r",), ("i",), ("v",), ("a",), ("t",), ("e",), (" ",), ("c",), ("l",), ("o",), ("u",), ("d",), ("o",), ("v",), ("e",), ("r",), ("p",), ("a",), ("i",), ("d",), (" ",), ("c",), ("u",), ("l",), ("t",))␤»
jnthn r: say [ "private cloud", "overpaid cult" ]>>.split('').tree.perl
p6eval rakudo 4904b0: OUTPUT«("p", "r", "i", "v", "a", "t", "e", " ", "c", "l", "o", "u", "d", "o", "v", "e", "r", "p", "a", "i", "d", " ", "c", "u", "l", "t").list␤»
jnthn ah
22:30 fibo left
jnthn r: say [ "private cloud", "overpaid cult" ]>>.split('').perl 22:31
p6eval rakudo 4904b0: OUTPUT«(("p", "r", "i", "v", "a", "t", "e", " ", "c", "l", "o", "u", "d").list, ("o", "v", "e", "r", "p", "a", "i", "d", " ", "c", "u", "l", "t").list)␤»
cognominal is there a way to thead an operation into a parcel? 22:32
22:32 fibo joined
cognominal *thread 22:32
22:33 fibo left
cognominal r: say [ "private cloud", "overpaid cult" ]>>.split('').sort.perl 22:35
p6eval rakudo 4904b0: OUTPUT«(" ", " ", "a", "a", "c", "c", "d", "d", "e", "e", "i", "i", "l", "l", "o", "o", "p", "p", "r", "r", "t", "t", "u", "u", "v", "v")␤»
cognominal r: say [ "private cloud", "overpaid cult" ]>>.split('').perl
p6eval rakudo 4904b0: OUTPUT«(("p", "r", "i", "v", "a", "t", "e", " ", "c", "l", "o", "u", "d").list, ("o", "v", "e", "r", "p", "a", "i", "d", " ", "c", "u", "l", "t").list)␤»
cognominal r: say [ "private cloud", "overpaid cult" ]>>.split.perl 22:36
p6eval rakudo 4904b0: OUTPUT«Cannot call 'split'; none of these signatures match:␤:(Str:D , Regex $pat, $limit = { ... }, :all(:$all), Mu *%_)␤:(Str:D , Cool $delimiter, $limit = { ... }, :all(:$all), Mu *%_)␤:(Cool , Regex $pat, $limit = { ... }, :all(:$all), Mu *%_)␤:(Cool , Cool $pat, $limi…
mucker doubts you have, young padawan.lead to confusion, doubts. leads to misery, confusion. do and eval. clear confusion. clarity attain. calm, you must seek.
mucker lame 22:37
sorear cognominal: non-flatness in parcels is supposed to be ignored by nearly all operations 22:38
cognominal: so the fact that you want to flatten a parcel suggests there's a bug elsewhere in the system
22:40 shinobicl left
cognominal in fact, I want the opposite, exploit the non flat stucture of the parcel. Apparently I use the wrong tool 22:40
may be .lol will help 22:43
sorear r: say map { sort comb $_ }, ['private cloud', 'overpayed cult']
p6eval rakudo 4904b0: OUTPUT«Cannot call 'comb'; none of these signatures match:␤:(Regex $matcher, Cool $input, $limit = { ... })␤␤ in block <anon> at /tmp/bgqJ5M6EDA:1␤␤»
sorear r: say map *.comb.sort, ['private cloud', 'overpayed cult']
p6eval rakudo 4904b0: OUTPUT« a a c c d d e e e i l l o o p p r r t t u u v v y␤»
sorear r: say map *.comb.sort, 'private cloud', 'overpayed cult'
p6eval rakudo 4904b0: OUTPUT« a c d e i l o p r t u v a c d e e l o p r t u v y␤»
sorear r: say (map *.comb.sort, 'private cloud', 'overpayed cult').perl 22:44
p6eval rakudo 4904b0: OUTPUT«((" ", "a", "c", "d", "e", "i", "l", "o", "p", "r", "t", "u", "v"), (" ", "a", "c", "d", "e", "e", "l", "o", "p", "r", "t", "u", "v", "y")).list␤»
22:44 bluescreen10 joined 22:46 sisar left 22:47 sisar joined
dalek p/qbootstrap: 30b8951 | jnthn++ | src/QRegex/ (2 files):
Special-case <before ...> to be declarative for LTM purposes. Fixes reduction parsing (and maybe other things) in Rakudo on qbootstrap.
22:49
22:51 sisar left
jnthn It must be time for a beer by now... 22:51
22:52 wolfman2000 joined
cognominal jnthn, you well deserve it. 22:53
jnthn chooses a rauchbier 22:55
dalek kudo/qbootstrap: 5b42a4c | jnthn++ | src/Perl6/Grammar.pm:
Some more copyO and copyOPER fixing. With this and the <before ...> patch in NQP we now get up to line 9976 in CORE.setting.
22:57
jnthn std: class A { ... } 22:59
p6eval std 8632387: OUTPUT«ok 00:00 40m␤»
jnthn std: class A { ...}
p6eval std 8632387: OUTPUT«ok 00:00 40m␤»
jnthn n: class A { ...}
p6eval niecza v17-28-gad2d70a: OUTPUT«===SORRY!===␤␤Package was stubbed but not defined at /tmp/JtorZ4hdp7 line 1:␤------> class⏏ A { ...}␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) ␤ at /home/p6e…
23:02 sisar joined, shinobicl joined 23:05 b1rkh0ff left 23:08 [particle]1 joined 23:10 [particle] left 23:31 shinobicl left 23:33 spider-mario left
japhb Since it's been a month or so since I last hacked on it, I updated and recompiled all the implementations and ran my existing perl6-bench against it: gist.github.com/2791182 23:33
(At the console, that's colorized by how far away from parity with perl5 that a given result is.) 23:34
Now to actually hack on all the TODOs. :-)
diakopter japhb: in addition to the numbers including startup time, it might also be nice to see versions of all the figures with the measurement of the zero operation subtracted (to remove startup time) 23:37
japhb diakopter, I'm thinking of making that an option -- whether to include or not. Otherwise, the output will get REALLY cluttered and/or twice as long 23:38
jnthn Geez, Rakudo makes a crappy job on rc-forest-fire...
23:39 DreamingInCode left
sorear I would argue startup time is perl6's biggest problem currently 23:39
japhb makes sure that startup time subtraction option is actually in the TODO. ;-)
dalek rl6-bench: f01483e | (Geoffrey Broadwell)++ | TODO:
Add TODO item for choosing whether to include startup time in benchmark results
23:40
japhb jnthn, Note the difference in performance between Rakudo doing the Perl 6 version of rc-forest-fire and the NQP version. 23:41
(And of nqp doing the NQP version) 23:42
jnthn sorear: Rakudo's startup time is, depending who you ask, about a third of Perl 5 + Moose, fwiw. 23:43
diakopter japhb: why both d8 and node? (node uses v8)
japhb diakopter, I dunno. They get different results, and perlito6.js will only run on d8, but perlito5.js will run on both. Different optimizations, perhaps? 23:45
jnthn japhb: Yeah, I noticed that too...I need to profile it some.
23:45 [particle]1 is now known as [particle]
dalek p/qbootstrap: c4cc06a | moritz++ | src/HLL/Compiler.pm:
expose parsed command line options and arguments to the user
23:46
p/qbootstrap: 64c1b3c | moritz++ | src/HLL/Compiler.pm:
[HLL::Compiler] expose the program name to the user
p/qbootstrap: b77e472 | jnthn++ | src/NQP/Grammar.pm:
Canonicalize name installed in %*RX<name> properly, so we call the correct action method.
p/qbootstrap: 62c44da | jnthn++ | src/HLL/Compiler.pm:
Merge prog-name handling from master.
sorear jnthn: wow, I don't remember moose being *that* bad
japhb diakopter, maybe fglock++ knows?
jnthn sorear: I'm going on what masak++ told me
diakopter perlito6.js must conflict with some global that node installs 23:48
jnthn OK, I now have a Rakudo that builds on qbootstrap \o/
diakopter O_O
japhb On my box 'perl6 -e0' takes .45 - .49 seconds, and 'perl -MMoose -e0' takes .27 - .28 seconds 23:49
jnthn Lots of spectest fail to investigate.
japhb: Curious.
japhb jnthn++ # W00t!
sorear jnthn: are you missing a comma there?
jnthn Wonder what makes the difference.
sorear: ...where?
sorear 16:49 < jnthn> Lots of spectest fail to investigate.
jnthn sorear: er, spectest failures 23:50
:)
diakopter heh, fail as a aggregate noun
as in failblog's "see more fail" link
er, "but wait, there's more fail"
jnthn Apparently, roles are easy to parse, since rakudo/qbootstrap does pass all of S14 :) 23:51
japhb jnthn, Oh, the Moose startup time I listed was for hot cache. For cold cache, it was slightly over a second. Maybe that's what masak was talking about? 23:54
jnthn japhb: Ah, maybe.
23:55 DreamingInCode joined