Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-05-25

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:05 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.â�¤[31m===[0mSORRY![31m===[0mâ�¤Expecting a term, but found either infix ~~ or redundant prefix ~â�¤  (to suppre…
00:05 diakopter mmm. line 66576 was my favorite.
00:09 wolfman2000 joined #perl6
00:10 [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"␤»
00:10 [Coke] r: say 2,4,8,...{* < 100000}
00:10 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"␤»
00:11 [Coke] r: say 2,4,8...{* < 100000}
00:11 p6eval rakudo 5da367: OUTPUT«2␤»
00:11 [Coke] O_o . o O (It looked so easy in the synopses)
00:16 diakopter r: say(my $a,=4)
00:17 p6eval rakudo 5da367: OUTPUT« 4␤»
00:18 diakopter p6eval is being slow
00:24 dalek nqp/qbootstrap: f8878e7 | jnthn++ | src/ops/nqp.ops:
00:24 dalek nqp/qbootstrap: Fix an off-by-1.
00:24 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/f8878e7e44
00:24 dalek nqp/qbootstrap: 9e36c01 | jnthn++ | / (3 files):
00:24 dalek nqp/qbootstrap: 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.
00:24 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/9e36c01ab6
00:24 dalek nqp/qbootstrap: 4b39917 | jnthn++ | t/nqp/50-regex.t:
00:24 dalek nqp/qbootstrap: 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.
00:24 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/4b39917370
00:25 diakopter jnthn++
00:36 Gruber joined #perl6
00:36 timotimo_ joined #perl6
00:36 pernatiy joined #perl6
00:37 buubot_backup_ joined #perl6
00:37 imarcusthis joined #perl6
00:37 baest_ joined #perl6
00:37 orevdiabl joined #perl6
00:37 yeltzooo7 joined #perl6
00:37 lestaway joined #perl6
00:37 plobsing_ joined #perl6
00:38 drbean_ joined #perl6
00:39 dalek nqp/qbootstrap: eb98cba | jnthn++ | tools/build/Makefile.in:
00:39 dalek nqp/qbootstrap: Stop building the now-unrequired PIR-based regex engine in stage 2, just to be sure it's not required any more.
00:39 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/eb98cba35b
00:42 Tene joined #perl6
00:42 literal joined #perl6
00:42 Patterner joined #perl6
00:42 diakopter joined #perl6
00:42 ashleydev joined #perl6
00:42 Exodist joined #perl6
00:42 tokuhiro4 joined #perl6
00:42 kst joined #perl6
00:42 jlaire joined #perl6
00:42 renormalist joined #perl6
00:42 Maddingue joined #perl6
00:44 Facefox joined #perl6
00:44 xinming_ joined #perl6
00:44 kranius joined #perl6
00:44 sorear joined #perl6
00:44 z-b joined #perl6
00:44 c1sung_ joined #perl6
00:44 DreamingInCode joined #perl6
00:44 Guest57249 joined #perl6
00:44 mikemol joined #perl6
00:44 PZt joined #perl6
00:44 skids joined #perl6
00:44 tokuhirom joined #perl6
00:44 benabik joined #perl6
00:44 thou joined #perl6
00:44 libertyprime joined #perl6
00:44 bruges joined #perl6
00:44 sivoais joined #perl6
00:44 takesako joined #perl6
00:44 ponpon joined #perl6
00:44 [particle] joined #perl6
00:44 alester joined #perl6
00:44 felher joined #perl6
00:44 domidumont joined #perl6
00:44 jaldhar joined #perl6
00:44 sisar joined #perl6
00:44 mtk joined #perl6
00:44 telex joined #perl6
00:44 TimToady joined #perl6
00:44 crazedpsyc joined #perl6
00:44 jrockway joined #perl6
00:44 Guest28776 joined #perl6
00:44 aloha joined #perl6
00:44 jtpalmer joined #perl6
00:44 ivan`` joined #perl6
00:44 REPLeffect joined #perl6
00:44 jerome_ joined #perl6
00:44 Util joined #perl6
00:44 frettled joined #perl6
00:44 itz joined #perl6
00:44 stepnem joined #perl6
00:44 erkan joined #perl6
00:44 simcop2387 joined #perl6
00:44 pjcj joined #perl6
00:44 colomon joined #perl6
00:44 Woodi joined #perl6
00:44 kubrat joined #perl6
00:44 lumi_ joined #perl6
00:44 au joined #perl6
00:44 Vlavv` joined #perl6
00:44 jnthn joined #perl6
00:44 mikec_ joined #perl6
00:44 [Coke] joined #perl6
00:44 Juerd joined #perl6
00:44 awwaiid joined #perl6
00:44 broquaint joined #perl6
00:44 eternaleye joined #perl6
00:44 odoacre joined #perl6
00:44 ranguard joined #perl6
00:44 prammer joined #perl6
00:44 yves_ joined #perl6
00:44 moritz joined #perl6
00:44 BooK__ joined #perl6
00:44 sunnavy joined #perl6
00:44 arnsholt joined #perl6
00:44 BooK joined #perl6
00:44 szbalint joined #perl6
00:44 wolong joined #perl6
00:44 LoRe joined #perl6
00:44 patch joined #perl6
00:44 Bucciarati joined #perl6
00:44 doy joined #perl6
00:44 kcwu joined #perl6
00:44 cxreg joined #perl6
00:44 Gothmog_ joined #perl6
00:44 rhr joined #perl6
00:44 charsbar___ joined #perl6
00:44 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:45 Facefox joined #perl6
00:45 tomaw joined #perl6
00:48 dalek specs: bc016c6 | diakopter++ | S03-operators.pod:
00:48 dalek specs: last batch of my S03 typo/grammaro fixes
00:48 dalek specs: review: https://github.com/perl6/specs/commit/bc016c615d
00:50 literal joined #perl6
00:50 Patterner joined #perl6
00:50 diakopter joined #perl6
00:50 ashleydev joined #perl6
00:50 Exodist joined #perl6
00:50 tokuhiro4 joined #perl6
00:50 kst joined #perl6
00:50 jlaire joined #perl6
00:50 renormalist joined #perl6
00:50 Maddingue joined #perl6
00:54 diakopter perl6: say [**]()
00:54 p6eval pugs, rakudo 5da367: OUTPUT«1␤»
00:54 p6eval ..niecza v17-23-gfb775fb: OUTPUT«0␤»
00:55 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 #perl6
00:58 colomon it's a known nieczabug
01:00 dalek Heuristic branch merge: pushed 368 commits to rakudo/str-numeric by japhb
01:01 felipe joined #perl6
01:02 sorear phenny: tell masak That would be https://github.com/sorear/niecza/issues/71
01:02 phenny sorear: I'll pass that on when masak is around.
01:02 japhb joined #perl6
01:02 colomon sorear: how's school?
01:03 sorear colomon: over, as of two hours ago.
01:03 colomon \o/
01:04 colomon 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.
01:04 japhb Anyone disagree?
01:05 japhb Congrats, sorear!
01:05 japhb (Is that just for this year, or are you Done done?)
01:05 sorear Just for spring
01:05 japhb aww
01:05 japhb (Well, you may be happy about it, I guess.  :-)
01:12 scott_ joined #perl6
01:13 oylenshpeegul joined #perl6
01:20 vinian joined #perl6
01:25 oylenshpeegul After compiling rakudo-star-2012.05, I failed some tests in t/spec/S32-temporal...is that something I should report?
01:33 * sorear doesn't know if there are expected failures
01:35 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 colomon sorear: also looks like the same issue in t/spec/S32-str/capitalize.t
01:36 colomon sorear: oh, and perhaps the core issue is the failures in t/spec/S14-roles/basic.t
01:36 colomon sorear: everything seems to be related to roles
01:38 sorear what?  I don't think I touched roles at all
01:38 colomon Unhandled exception: No value for parameter 'self' in 'B init'
01:39 sorear that's an attribute thing ;)
01:40 colomon for attributes in roles, yes?
01:40 colomon at least, every time I've seen the problem show up there's a role involved.
01:40 sorear is it always does/but?
01:41 colomon For the three cases I've seen, yes
01:43 dalek niecza: 026b805 | sorear++ | lib/Builtins.cs:
01:43 dalek niecza: Fix attribute initialization in BuildMostDerived()
01:43 dalek niecza: review: https://github.com/sorear/niecza/commit/026b8052ea
01:44 sorear the three that you name are now working.
01:47 colomon sorear++
01:51 oylenshpeegul left #perl6
01:51 colomon spectesting...
01:56 colomon yeah, that's a lot better.  :)
02:00 colomon for.t failures are new tests...
02:00 dalek niecza: 9615535 | sorear++ | src/NieczaActions.pm6:
02:00 dalek niecza: Avoid internal error with my $.foo at top level (fixes #126)
02:00 dalek niecza: review: https://github.com/sorear/niecza/commit/9615535a12
02:02 dalek roast: d94ae21 | (Solomon Foster)++ | S04-statements/for.t:
02:02 dalek roast: Fudge new tests for Niecza.
02:02 dalek roast: review: https://github.com/perl6/roast/commit/d94ae21a60
02:14 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: https://gist.github.com/2785389 .
02:14 phenny japhb: I'll pass that on when moritz is around.
02:15 fgomez joined #perl6
02:18 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 #perl6
02:25 dalek roast: 3654c55 | (Solomon Foster)++ | S0 (2 files):
02:25 dalek roast: Unfudge passing tests.
02:25 dalek roast: review: https://github.com/perl6/roast/commit/3654c55e59
02:26 aesundstrom_ joined #perl6
02:26 aesundstrom_ Any perl6 macro writers out there?
02:36 shachaf joined #perl6
02:40 colomon ack, where's grammar::Tracer for niecza when I need it?  :)
02:40 aesundstrom joined #perl6
02:41 sorear colomon: NIECZA_RX_TRACE=1, possibly with precompilation to avoid massive spam from STD
02:41 sorear aesundstrom: I would not say anyone here specializes in writing macros
02:42 colomon sorear++
02:42 raiph joined #perl6
02:46 japhb joined #perl6
02:47 raiph r: macro foo { quasi { say 1 } }; foo # wannabe macro writer...
02:47 p6eval rakudo 5da367: OUTPUT«1␤»
02:49 aesundstrom raiph:  ;)
02:49 aesundstrom Since I'm starting to learn perl6 macros, could somebody please point me to a good source of examples?
02:50 aesundstrom I've been searching and the only examples I've found are in http://strangelyconsistent.org/b​log/macros-what-are-they-really and in the git specs?but they're very simple examples.
02:53 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:54 raiph also read http://strangelyconsistent.org/blo​g/macros-progress-report-d1-merged
02:55 sorear aesundstrom: why are you so interested to learn about a feature that barely exists?
03:00 diakopter sorear: why would you assume aesundstrom knew the feature barely existed?
03:09 am0c joined #perl6
03:15 masak aesundstrom: chief wannabe macro writer, reporting in :)
03:15 phenny masak: 00:55Z <diakopter> ask masak try perl6: say [**]() # nieczabug
03:15 phenny masak: 01:02Z <sorear> tell masak That would be https://github.com/sorear/niecza/issues/71
03:15 alester_ joined #perl6
03:15 masak diakopter: that one is known, I think.
03:16 diakopter masak: !! it's, like, early, where you are
03:16 masak yeah.
03:16 masak nothing makes a programmer look dedicated like getting up at four in the morning. ;)
03:16 sorear diakopter: I'm not.
03:17 sorear diakopter: But if I asked in so many words, it would come across as horribly condescending, no?
03:18 masak depends.
03:18 masak "You are aware that the feature barely exists, right?" could be read as horribly condescending.
03:20 masak 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:21 masak aesundstrom: fwiw, I'm always interested in vetting larger, more composed examples, and giving my opinion on whether they make sense or not.
03:22 masak here's the grant application: http://news.perlfoundation.org/2011/0​9/hague-grant-application-implem.html
03:23 replsos joined #perl6
03:25 Entonian joined #perl6
03:28 adu joined #perl6
03:29 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:33 masak aesundstrom: no offense taken, or even contemplated. I love talking about this :)
03:58 sorear n: sub :: { }
03:58 p6eval niecza v17-25-g9615535:  ( no output )
04:06 dalek niecza: 3bb38e5 | sorear++ | src/NieczaActions.pm6:
04:06 dalek niecza: Suppress spurious warnings in our $:: (fixes #127)
04:06 dalek niecza: review: https://github.com/sorear/niecza/commit/3bb38e544c
04:32 xinming joined #perl6
04:38 dalek niecza: 124199c | sorear++ | lib/ (2 files):
04:38 dalek niecza: Do not NRE when calling (necessarily nonexistant) methods on a package or unfinished class (fixes #125)
04:38 dalek niecza: review: https://github.com/sorear/niecza/commit/124199cecd
04:39 cognominal joined #perl6
05:02 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: https://gist.github.com/2785389 .
05:02 phenny 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
05:05 japhb o/ moritz
05:07 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 joined #perl6
05:09 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
05:09 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)
05:09 japhb 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.  :-/
05:10 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.
05:10 moritz ok, great
05:10 japhb Excellent.
05:18 sorear o/ moritz
05:18 sorear o/ masak # forgot
05:19 moritz \o sorear
05:19 japhb o/ sorear # forgot  :-)
05:21 dalek niecza: ad2d70a | sorear++ | lib/CORE.setting:
05:21 dalek niecza: Saner infix:<cmp> for List (fixes #108)
05:21 dalek niecza: review: https://github.com/sorear/niecza/commit/ad2d70ae44
05:28 birdwindupbird joined #perl6
05:34 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:36 tadzik mood gorning
05:37 Ulti joined #perl6
05:51 kaleem joined #perl6
05:58 NamelessTee joined #perl6
06:42 moritz noise process? what did I miss?
06:42 moritz \m tadzik
06:45 sorear moritz: I'm still chatting with masak about universal quantum communication
06:45 sorear computation
06:45 sorear hopefully we can wrap this up tomorrow, I won't have to leave quite so early :0
06:45 sorear :)
06:45 moritz :-)
06:46 wtw joined #perl6
06:47 bbkr1 joined #perl6
06:59 am0c joined #perl6
07:08 brrt joined #perl6
07:26 am0c joined #perl6
07:27 replsos joined #perl6
07:38 sergot joined #perl6
07:38 sergot hi o/
07:39 sorear o/
07:43 replsos_ joined #perl6
07:51 Antichoc joined #perl6
07:52 Antichoc Hello !
07:52 replsos_ joined #perl6
07:52 sergot hi Antichoc ! :)
07:53 Antichoc hi sergot
07:53 Antichoc I'm search for moritz !
07:54 Woodi hallo
07:54 moritz Antichoc: your search was successfull. You reach the next level. Welcome to the matrix!
07:54 sergot \o/ :)
07:54 Antichoc hi moritz
07:54 Antichoc lol !
07:54 sorear sisar: sorry
07:55 Antichoc I'm at your disposition if you have few time !
07:55 fhelmberger joined #perl6
07:56 sorear phenny: tell sisar Sorry.  See #124 comment
07:56 phenny sorear: I'll pass that on when sisar is around.
07:57 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:59 Woodi 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
08:00 Woodi tadzik: but he still provide true input on the state of things...
08:00 moritz Woodi: well, his perspective is very skewed
08:00 Woodi can we do technical here, pls ? :)
08:01 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
08:01 moritz or sometimes, because it didn't work otherwise at the time the codegen was written
08:02 Woodi so no there is nothing more to do just sit and discuss in bigger family...
08:02 Woodi now*
08:05 Woodi looks that for few years Parrot devs work for Parrot not for Perl6. things should return to first priority which is Perl6
08:12 sorear Antichoc: you don't need permission to talk :)
08:13 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 sorear moritz: ah, ok
08:14 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 moritz sorear: I've tried to remove all mentions of that, and instruct people to /msg me directly, but the internet never forgets :-)
08:14 sorear moritz: I understand
08:20 araujo joined #perl6
08:20 araujo joined #perl6
08:20 jnthn joined #perl6
08:21 jnthn morning
08:21 jnthn Grr...irssi seems to have wedged overnight.
08:21 sorear morning, jnthn
08:22 frettled grr morning, jnthn :)
08:28 cognominal_ joined #perl6
08:34 dakkar joined #perl6
08:42 snearch joined #perl6
08:45 am0c joined #perl6
08:46 fglock joined #perl6
08:47 masak sorear: re Kalai having a point -- url?
08:47 masak jnthn! \o/
08:47 masak jnthn: glad to hear you've unwedged yourself.
08:52 masak 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 masak so it's not so much a self-reference actually, as it is a conflation of signifier and signified.
08:53 frettled And if that doesn't signify some significance, I don't know.
08:54 masak I may not be an expert at these things, but that doesn't stop me from throwing around big words.
08:55 moritz I thought an expert was (by definition) somebody who throws around big words :-)
08:57 masak that, sadly, seems to be a common enough definition of "expert" these days...
08:57 masak actually, it does seem I have no idea how to use "signifier" and "signified" correctly -- here are the actual definitions: http://en.wikipedia.org/wiki/​Sign_(semiotics)#Dyadic_signs
08:58 sorear masak: http://rjlipton.wordpress.com/2012/01/3​0/perpetual-motion-of-the-21st-century/
09:00 masak thank you.
09:01 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 jnthn moritz: But should be almost clean now.
09:02 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 )
09:02 tadzik jnthn: tried today, 4 or so failures in t/nqp, t/qregex did not run
09:02 moritz jnthn: I can try again soon
09:03 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.
09:03 moritz jnthn: ok, will try again :-)
09:03 jnthn tadzik: 4 failures as in, 4 individual test failures, not test files?
09:03 tadzik test failures. 4-ish
09:03 sorear sleep&
09:04 tadzik good knight sorear
09:04 jnthn tadzik: OK, that's inline with what I have.
09:04 jnthn o/ sorear
09:04 tadzik it was quite consistent with commit massages :)
09:04 dalek rakudo/str-numeric: 1143b27 | moritz++ | src/core/Str.pm:
09:04 dalek rakudo/str-numeric: make Str.Numeric throw typed exceptions
09:04 dalek rakudo/str-numeric: review: https://github.com/rakudo/rakudo/commit/1143b27ed9
09:04 jnthn tadzik: Great.
09:04 jnthn 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 #perl6
09:05 jnthn japhb++ # numeric work
09:05 moritz japhb: that branch is now down to the test failures in t/spec/S32-str/numeric.rakudo
09:05 jnthn moritz++ # helping get it mergable
09:06 moritz n: say '0b1'.Numeric
09:06 p6eval niecza v17-28-gad2d70a: OUTPUT«1␤»
09:06 moritz n: say '0b_1'.Numeric
09:06 p6eval niecza v17-28-gad2d70a: OUTPUT«1␤»
09:06 moritz in the branch, that also succeeds. The tests want it to fail
09:07 moritz I'm fine either way, so I'll accept convergence with niecza here :-)
09:08 moritz 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 )
09:08 moritz the branch allows all those. I'm more sceptic about that
09:09 moritz but I'm willing to fudge those tests, merge and fix later
09:09 masak I don't like ++3/-2
09:10 masak I'm fine with the rest.
09:10 masak p6: say +-3/-2
09:10 moritz I also don't like +- at all
09:10 p6eval pugs, rakudo 5da367, niecza v17-28-gad2d70a: OUTPUT«1.5␤»
09:10 masak I'm fine with disallowing +-, though I personally don't have a problem with it.
09:11 masak arguably it's not something val() need recognize.
09:11 am0c joined #perl6
09:11 jnthn moritz: I'm guessing we win a bunch of tests as well as lose some?
09:11 moritz oh
09:11 moritz the + is just part of the test output
09:11 moritz not of the test itself
09:11 jnthn Oh
09:12 jnthn :)
09:12 moritz p6: try { my $n = .Numeric; say "$_ = $n" } for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0>
09:12 p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤»
09:12 p6eval ..niecza v17-28-gad2d70a:  ( no output )
09:12 p6eval ..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…
09:12 moritz for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } }
09:12 moritz p6> for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } }
09:12 moritz p6: for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } }
09:12 p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤»
09:12 p6eval ..rakudo 5da367, niecza v17-28-gad2d70a:  ( no output )
09:13 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…
09:13 p6eval ..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␤␤»
09:13 p6eval ..pugs: OUTPUT«*** No such method in class Str: "&Numeric"␤    at /tmp/yvDSIxw_a7 line 1, column 42-55␤»
09:13 * moritz wonders why niecza TODOs these tests then
09:14 masak how sneaky.
09:14 moritz jnthn: I'm pretty sure we do
09:14 masak skewing its own test results -- downwards! it's a trap!
09:14 moritz jnthn: I got only two passing TODOs, but I guess autounfudge will find many more
09:15 * masak .oO( autounpun )
09:15 jnthn moritz: ok
09:15 moritz masak: is that an IRC filter that blocks jnthn and you? :-)
09:17 masak am I feeling lucky... *punk*?
09:18 brrt left #perl6
09:19 brrt joined #perl6
09:22 kresike joined #perl6
09:22 kresike hello all you happy perl6 people
09:23 tadzik hey hey kresike
09:23 jnthn o/ kresike
09:23 kresike tadzik, jnthn o/
09:23 fglock Woodi: ping
09:23 bbkr hi. what a fine day for p6 hacking :)
09:23 moritz bbkr: indeed :-)
09:23 sergot o/
09:25 plobsing joined #perl6
09:29 masak kresike! \o/
09:30 kresike masak, o/
09:33 dalek Heuristic branch merge: pushed 19 commits to rakudo/nom by moritz
09:34 moritz japhb++
09:35 dalek roast: d671183 | moritz++ | S (3 files):
09:35 dalek roast: rakudo refudging for str-numeric branch
09:35 dalek roast: review: https://github.com/perl6/roast/commit/d671183d47
09:35 jnthn japhb++
09:40 dalek roast: a556162 | moritz++ | S03-operators/overflow.t:
09:40 dalek roast: unfudge another passing test
09:40 dalek roast: review: https://github.com/perl6/roast/commit/a55616212d
09:55 moritz jnthn: I've now tested qbootstrap
09:55 moritz 4 tests failing in t/nqp/34-rxcodeblock.t
09:56 moritz 2 failing in t/nqp/49-regex-interpolation.t
09:56 moritz t/hll/05-commandline.t dies
09:57 moritz 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.
09:57 jnthn t/hll - good to know...that should be fixed before I do the bootstrap update.
09:58 moritz that was likely commit d49821658cabba0a97c13253313aaf2b45f9d003 in master
09:59 moritz oh
10:00 moritz there's a src/QHLL/CommandLine.pm too?
10:00 moritz an automatic merge will just have fixed the one iin src/HLL/
10:00 masak QHLL?!
10:00 masak this quantum thing has gone too far... :)
10:01 jnthn moritz: Right.
10:01 jnthn moritz: So should just be copy/paste
10:01 jnthn As I don't think that diverged
10:01 jnthn moritz: There won't be two copies any more once I get the bootstrap finished up
10:02 jnthn 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
10:03 jnthn moritz: Yeah, I was planning to git log things to see what needed doing...
10:03 jnthn moritz: If you have tuits, feel free to update things, otherwise I get to it later on.
10:03 sisar o/
10:03 phenny sisar: 07:56Z <sorear> tell sisar Sorry.  See #124 comment
10:03 sisar sorear: no problem. I can wait.
10:04 moritz jnthn: I think I can just copy over both files. We'll just use the commit history by that
10:04 moritz *loose
10:04 moritz *lose
10:12 dalek nqp/qbootstrap: 2c90c5d | moritz++ | src/QHLL/CommandLine.pm:
10:12 dalek nqp/qbootstrap: copy changes to src/HLL/ over to src/QHLL
10:12 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/2c90c5da82
10:18 jnthn moritz: Does that clear up the t/hll test fail?
10:19 moritz jnthn: yes
10:20 jnthn yay
10:20 moritz does it have transitive LTM already?
10:20 jnthn Yeah
10:21 moritz \o/
10:21 moritz does anyone except rakudo use nqp's HLL::Compiler?
10:21 jnthn NQP itself may use it
10:21 jnthn Probably does.
10:22 moritz ok
10:22 moritz because sooner or later I want to rename some things
10:22 moritz I've recently added accessors for the parsed command line options and arguments
10:23 moritz but there is currently a method 'commandline_options', but that contains the *spec* for the expected command line arguments
10:23 moritz and that's highly confusing :-)
10:24 NamelessTee joined #perl6
10:24 moritz maybe I should rename them to  parsed_cli_{options,arguments} and commandline_spec or so
10:24 moritz but that can wait until after the qbootstrap merge
10:24 jnthn +1 to deconfusing things :)
10:25 jnthn yes
10:25 jnthn It's also gonna need a branch in Rakudo to update Rakudo's grammar somewhat, I expect.
10:25 jnthn There are surely places that make "we don't have transitive LTM" style assumptions.
10:26 moritz do inline alternations with | LTM in qbootstrap?
10:26 jnthn No
10:27 jnthn That needs doing, but it's kinda orthogonal.
10:27 moritz ok
10:27 jnthn Pm and I talked about how to do | LTM a bit in Oslo.
10:28 moritz is it different than proto token LTM?
10:30 jnthn Kinda
10:30 jnthn I mean, it's the same "run NFA, get fates"
10:30 jnthn But the fates need to somehow be linked to which alternation branches to run
10:30 kubrat joined #perl6
10:31 jnthn And then that calculation needs to be saved somewhere so we can backtrack and try other alternations in the correct order
10:31 jnthn And to make things trickier, that backtracking could be triggered by us having backtracked into a subrule.
10:43 masak hm. "what's the use case?" is a really nice way to help people stuck in an X/Y thinking.
10:49 birdwindupbird joined #perl6
11:04 brrt left #perl6
11:07 daxim "I want to remove all accents"
11:08 daxim that's the Y, now guess the X
11:09 jnthn X = "I'm going on holiday to Scotland and want to be able to understand what people are saying!"
11:09 jnthn Removing all the accents would really help :)
11:09 jnthn .oO( It could be that you're turning stuff into ASCII by dropping accents, but nobody would do that! )
11:27 * moritz doubts that dropping an accent from an alpha gives you ASCII :-)
11:33 jnthn Clearly that becomes a ? :)
11:36 Woodi fglock: pong, message sent && afk for some work
11:37 fglock ok
11:37 dalek nqp: 64c1b3c | moritz++ | src/HLL/Compiler.pm:
11:37 dalek nqp: [HLL::Compiler] expose the program name to the user
11:37 dalek nqp: review: https://github.com/perl6/nqp/commit/64c1b3c96d
11:39 dalek rakudo/nom: 5274a37 | moritz++ | / (2 files):
11:39 dalek rakudo/nom: fix $*PROGRAM_NAME for one-liners
11:39 dalek rakudo/nom:
11:39 dalek rakudo/nom: Closes RT #113078
11:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5274a376c6
11:54 dalek nqp/qbootstrap: f135d3f | jnthn++ | tools/build/Makefile.in:
11:54 dalek nqp/qbootstrap: Fix up make install for qbootstrap.
11:54 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/f135d3f384
12:01 birdwindupbird joined #perl6
12:16 JimmyZ joined #perl6
12:17 [Coke] QHLL SURPRISE.
12:20 brrt joined #perl6
12:20 jnthn [Coke]: ? :)
12:21 [Coke] little punchy from dayjob deadlines. pay me no mind
12:24 woosley joined #perl6
12:48 _twitch joined #perl6
12:52 NamelessTee joined #perl6
13:04 dalek nqp/qbootstrap: 19e3d85 | jnthn++ | tools/build/Makefile.in:
13:04 dalek nqp/qbootstrap: Update bootstrap-files target.
13:04 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/19e3d859ca
13:04 dalek nqp/qbootstrap: 127134a | jnthn++ | src/NQPQ/Actions.pm:
13:04 dalek nqp/qbootstrap: Move loading of NQPP6QRegex within --no-regex-lib guard.
13:04 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/127134aa3e
13:04 dalek nqp/qbootstrap: d559989 | jnthn++ | src/how/NQPClassHOW.pm:
13:04 dalek nqp/qbootstrap: Temporarily change the way we do NFA caching so we don't end up with SC refs between levels of the bootstrap.
13:04 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/d55998900b
13:06 PacoAir joined #perl6
13:07 moritz ooh, looks like qbootstrapping being used for bootstrapping :-)
13:07 Psyche^ joined #perl6
13:08 tadzik waitwaitwaitwaitwait ;)
13:12 REPLeffect joined #perl6
13:14 jnthn moritz: Well, working towards it.
13:27 JimmyZ_ joined #perl6
13:39 vinian joined #perl6
13:47 birdwind1pbird joined #perl6
13:50 adu joined #perl6
14:01 colomon SpaceX capsule officially captured by the ISS.
14:01 moritz \o/
14:02 grondilu joined #perl6
14:02 benabik "Houston, it looks like we got us a Dragon by the tail."
14:05 [Coke] ... I wonder if ISS could repel boarders if necessary.
14:05 jnthn \o/
14:07 moritz [Coke]: probably not very effectively
14:07 moritz though I can imagine that at least some of the inhabitants are armed
14:08 [Coke] Phineas, I know what we're going to do today!
14:13 [Coke] wow. does this explain damian? http://io9.com/5903588/this-photo-of-a-spider-e​ating-a-15+foot+long-will-burn-into-your-brain
14:13 [Coke] crazy australia.
14:13 grondilu joined #perl6
14:19 grondilu Does 'NativeCall' works for you guys?
14:20 dpm_ joined #perl6
14:20 skids What, just the use statement?
14:20 tadzik it worked last time I checked
14:20 skids (because you have to have Zavolaj in the inclde path for that.)
14:21 tadzik which was 2012-05-20T22:46:04Z, according to http://tjs.azalayah.net/new.html
14:21 dpm_ left #perl6
14:21 skids I've successfully used it, but is was mixing a star-compiled zavolaj with a git checkout rakudo, so...
14:22 [Coke] star: use NativeCall
14:22 p6eval star 2012.04:  ( no output )
14:22 jnthn skids: That's because . and lib are no longer in @*INC by default
14:25 vinian joined #perl6
14:26 moritz yes, you might need to fiddle with PERL6LIB or the -I command line option
14:27 * [Coke] wonders if tadzik is going through the modules in alphabetical order.
14:27 tadzik he is, yes
14:28 tadzik or no, he's not
14:28 tadzik they're just sorted on the webpage
14:28 moritz no sorting by dependency?
14:28 tadzik and dependencies are always rebuilt, afair
14:28 [Coke] tadzik: they just seem to be passing in alphabetical order. hurm. clicking on "exemel" doesn't take me to the exemel page.
14:28 tadzik I don't think so
14:28 tadzik oh, clicking is NYI :)
14:28 tadzik [Coke]: the top ones are the passing onse
14:29 [Coke] tadzik: i missed that the sort order wasn't uniform. whoops
14:31 * moritz wants a robust topo sort module with cycle detection
14:31 grondilu joined #perl6
14:31 tadzik ufo implements that
14:31 tadzik and Panda steals that :)
14:31 tadzik not robust though, just for module files
14:32 grondilu I've made some updates in my pack/unpack customisations (see Buf.pm): http://github.com/grondilu/rakudo
14:32 grondilu I also tried to comply to ecosystem for my Digest module:  http://github.com/grondilu/libdigest-perl6
14:32 grondilu but I got to go now :(
14:42 [Coke] I just typed "perl coke" instead of "git clone". wtf?
14:42 JimmyZ wfm
14:42 tadzik ;)
14:43 [Coke] so, I grab a copy of exemel to play with. ... how do I play with it?
14:43 tadzik run tests maybe :)
14:44 [Coke] tadzik: "make test" - ... boom
14:44 moritz I guess that's why it's not all green in the emmentaler results
14:44 [Coke] do I need to whip up a manual 'prove' line?
14:44 tadzik I don't think so
14:45 tadzik 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?
14:45 moritz how does it blow up?
14:45 moritz [Coke]: Math::Model for example
14:46 [Coke] moritz: "there is no makefile"
14:46 moritz [Coke]: ah. ufo && make test
14:48 [Coke] ufo itself lacks directions.
14:48 [Coke] does it need to be installed?
14:49 tadzik yes
14:49 tadzik it can be sort of boostraped, perl6 bin/ufo && make install
14:49 tadzik or you can use panda
14:49 [Coke] I'm looking at the readme, and the first instruction on ufo is "ufo". which doesn't help.
14:49 tadzik but I think I still didn't fix its bootstrap
14:49 [Coke] pan... now you're just making things up.
14:50 tadzik oh, you didn't hear about it? :)
14:50 * [Coke] gives up even pretending to look at perl6 modules today.
14:50 tadzik https://github.com/tadzik/panda is a real deal :)
14:50 [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.
14:50 tadzik it doesn't?
14:51 tadzik These modules can be installed with panda, a module management tool which comes with Rakudo Star.
14:52 [Coke] ah. should have started there instead of here.
14:52 [Coke] the panda readme is the most helpful thing so far, danke.
14:52 tadzik I'm glad to hear that
14:52 [Coke] ok. so if panda is used to /install/ modules, how can I /test/ them first?
14:53 tadzik panda tries that
14:53 tadzik it fetches, builds, tests, installes, in this order
14:53 [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.
14:54 [Coke] (so, panda for module users vs. module authors would be helpful)
14:55 [Coke] or is panda only for users?
14:57 [Coke] (or am I confused still, which is entirely possible.)
14:58 [Coke] also, are panda and ufo ... complementary? opposed? why do we have both?
14:58 NamelessTee joined #perl6
15:01 tadzik panda is for users, ufo is for developers
15:01 tadzik generally
15:01 tadzik you probably want to use ufo for module development
15:02 * tadzik decommutees
15:05 brrt left #perl6
15:06 thou joined #perl6
15:07 [Coke] does star include ufo? (since it's not got a module underneath, like App:ufo, I cannot check from p6eval)
15:08 tokuhirom joined #perl6
15:14 cotto joined #perl6
15:36 plobsing joined #perl6
15:43 adu so ufo depends on naming convention?
15:46 colomon adu: yes
15:53 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␤␤»
15:55 kresike bye all
16:08 japhb moritz++ # thanks for the merge and cleanup assist!
16:10 japhb moritz, re: https://github.com/perl6/ro​ast/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 sirrobert joined #perl6
16:13 japhb moritz, re: https://github.com/perl6/ro​ast/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:14 japhb 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 japhb 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.
16:16 japhb moritz, Finally, re: http://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:17 japhb 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 japhb I expect it will be a couple weeks before I have tuits of the right shape for that.  :-(
16:18 sirrobert How complete is the "NativeCall" implementation right now?
16:19 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?"
16:19 sirrobert heh ok
16:19 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.
16:20 sirrobert Thanks
16:20 jnthn sirrobert: If it helps: it's already good enough to call the C libs for Postgres, MySQL and Sqlite
16:20 jnthn sirrobert: Also have tried calling Win32 APIs with it with some success.
16:20 jnthn sirrobert: And I think others have done various other libraries.
16:21 jnthn File an issue if you run into an unimplemented bit. There's a couple of people who hack on it. :)
16:21 jnthn arnsholt++ did much of the recent stuff
16:21 sirrobert Great =)  I was here yesterday (or Wednesday?) mentioning that I'm contemplating having my startup explore migrating development to P6.
16:22 sirrobert After talking about it with a few people, I think it's a good (read: fun and a little dangerous ;) idea.
16:23 sirrobert 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 :)
16:23 sirrobert heh
16:24 sirrobert Do most of you use git/github for stuff?
16:24 PerlJam aye
16:24 sirrobert Ok (that's what we use).  Is there a page where I can see how much of the spec is implemented in Rakudo?
16:24 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 sirrobert japhb:  Great =)
16:25 jnthn I think almost everyone who works on Rakudo is about here.
16:25 jnthn See http://features.perl6.org/ for an idea of what Rakudo implements.
16:26 jnthn gah
16:26 japhb sirrobert, http://perl6.org/compilers/features
16:26 jnthn See http://www.perl6.org/compilers/features
16:26 jnthn :)
16:26 japhb :-)
16:26 * jnthn fail
16:26 sirrobert heh
16:26 * jnthn uses "I'm debugging a bootstrapping compiler" as an excuse :)
16:28 moritz japhb: ok, I'm fine with relaxing/fixing the tests
16:29 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 woosley left #perl6
16:29 japhb ++moritz # Thank you!
16:29 japhb &
16:30 jnthn Aww, dang. The few remaining test fails actually matter for the bootstrap...
16:32 tokuhirom joined #perl6
16:36 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 masak in fact, I wanted to spend the summer doing fun things with graphs and other data structures.
16:37 b1rkh0ff joined #perl6
16:41 Vlavv` joined #perl6
16:57 aesundstrom joined #perl6
16:57 tyatpi joined #perl6
17:01 tyatpi joined #perl6
17:05 moritz japhb: the spec link you gave at http://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
17:05 p6eval rakudo 5274a3: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/o2ij7xy5Qy:1␤»
17:07 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"))␤»
17:09 japhb moritz, bah, That was supposed to be S02, not S03.
17:09 japhb I had an odd feeling I would do that.  :-/
17:10 japhb moritz, Yeah, complex is NYI.  It was on my short list -- approximately when I ran out of tuits.
17:10 japhb I will try to find some cycles for that again.  :-)
17:11 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␤»
17:11 masak toposort isn't harder than that.
17:11 * geekosaur thought complex wasn't supposed to work without a pragma anyway...
17:12 masak complex works without a pragma.
17:12 masak but you have to intentionally show you want to make a complex calculation.
17:17 dalek nqp/qbootstrap: 5b5063b | jnthn++ | src/PASTRegex.pir:
17:17 dalek nqp/qbootstrap: PASTRegex module needs to take care of exporting PAST namespace now that NQPRegex is going away.
17:17 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/5b5063bc99
17:17 dalek nqp/qbootstrap: 191ac25 | jnthn++ | src/NQPQ/Compiler.pm:
17:17 dalek nqp/qbootstrap: Be sure that we still always have the PAST stuff available for the moment.
17:17 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/191ac25416
17:17 dalek nqp/qbootstrap: 30c0341 | jnthn++ | src/QRegex/NFA.nqp:
17:17 dalek nqp/qbootstrap: Refactor/harden the rulename existence check in mergesubrules.
17:17 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/30c03410f1
17:17 dalek nqp/qbootstrap: 49ef826 | jnthn++ | src/NQPQ/Grammar.pm:
17:17 dalek nqp/qbootstrap: 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:17 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/49ef826bcb
17:23 birdwindupbird joined #perl6
17:25 diakopter lol perl coke
17:26 masak diakopter: "perl coke"?
17:26 jnthn See backlog :)
17:27 masak haha :)
17:31 jnthn Milestone. Can haz.
17:31 dalek nqp/qbootstrap: d18b0c4 | jnthn++ | / (11 files):
17:31 dalek nqp/qbootstrap: Update the bootstrap, using the QRegex engine. This eliminates the dependency on the old PIR-based regex engine.
17:31 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/d18b0c40ec
17:31 dalek nqp/qbootstrap: 4fd22b2 | jnthn++ | t/nqp/29-make.t:
17:31 dalek nqp/qbootstrap: Update a test that used the old regex engine's Match object.
17:31 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/4fd22b2648
17:31 dalek nqp/qbootstrap: 5a14467 | jnthn++ | src/stage0/ (8 files):
17:31 dalek nqp/qbootstrap: 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:31 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/5a14467201
17:32 stepnem joined #perl6
17:33 moritz don't all the regex tests depend on regex interpolation?
17:33 jnthn moritz: Yes.
17:33 jnthn moritz: Well, the ones in t/qregex
17:34 jnthn moritz: It's a "need PAST::Block available somewhere it currently ain't" style issue.
17:34 jnthn Shouldn't be anything deep.
17:35 moritz good
17:35 jnthn Not to mention that, if the regex engine was actually busted, it'd be rather struggling to compile itself ;)
17:36 jnthn Well, parse itself, I should say.
17:37 moritz I'm aware of that :-)
17:37 * jnthn is pretty glad to be at this point, though :)
17:39 spider-mario joined #perl6
17:39 masak \o/
17:39 moritz jnthn++
17:40 * 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:43 PerlJam jnthn: and then ... make it awesome!  ;)
17:43 jnthn Indeed :)
17:44 moritz and then make rakudo use it
17:44 jnthn Right. :)
17:46 jnthn Currently it fails when compiling Pod.pm
17:46 jnthn But that's a ** => % fix.
17:47 sisar http://www.programmersheaven.co​m/2/Perl6-FAQ-Migration#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:48 dalek nqp/qbootstrap: 4b5e511 | jnthn++ | tools/build/Makefile.in:
17:48 dalek nqp/qbootstrap: Start to clear up the Makefile, removing things we no longer use.
17:48 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/4b5e511349
17:48 dalek nqp/qbootstrap: 2fb39d8 | jnthn++ | src/Regex (10 files):
17:48 dalek nqp/qbootstrap: Remove most of the old Regex engine; a constants.pir is still referenced, but everything else goes.
17:48 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/2fb39d86d1
17:48 dalek nqp/qbootstrap: 1fa3e21 | jnthn++ | / (4 files):
17:48 dalek nqp/qbootstrap: Remove the old PIR-based regex compiler.
17:48 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/1fa3e21b2a
17:49 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" :)
17:50 sisar no seriously, are there plans for that ?
17:53 jnthn Well, at the very least for using Perl 5 modules.
17:54 Chillance joined #perl6
17:54 PacoAir joined #perl6
17:56 mucker joined #perl6
17:57 dalek nqp/qbootstrap: fea45a0 | jnthn++ | / (9 files):
17:57 dalek nqp/qbootstrap: Collapse QHLL back into HLL.
17:57 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/fea45a0b23
17:57 dalek nqp/qbootstrap: a57eda0 | jnthn++ | / (9 files):
17:57 dalek nqp/qbootstrap: Collapse NQPQ back into NQP.
17:57 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/a57eda0a6b
17:59 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
18:00 dalek rakudo/world-rethrow: f211159 | moritz++ | src/Perl6/World.pm:
18:00 dalek rakudo/world-rethrow: [World] refactor exception handling and rethrowing into a separate method
18:00 dalek rakudo/world-rethrow: review: https://github.com/rakudo/rakudo/commit/f211159f15
18:00 dalek rakudo/world-rethrow: 6d6e154 | moritz++ | src/Perl6/World.pm:
18:00 dalek rakudo/world-rethrow: oops, fix method name
18:00 dalek rakudo/world-rethrow: review: https://github.com/rakudo/rakudo/commit/6d6e154165
18:05 jnthn nqp: say('a,b' ~~ /\w ** ','/)
18:05 p6eval nqp: OUTPUT«a,b␤»
18:05 jnthn nqp: say('a' ~~ /\w ** ','/)
18:05 p6eval nqp: OUTPUT«a␤»
18:05 jnthn nqp: say('' ~~ /\w ** ','/)
18:05 p6eval nqp: OUTPUT«␤»
18:05 jnthn nqp: say(('a' ~~ /\w ** ',').Bool/)
18:05 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)␤»
18:05 moritz it's equivalent to \w+ % ','
18:05 jnthn ah, +
18:05 jnthn thanks :)
18:06 moritz you're welcome
18:06 moritz are you looking at Pod.pm? :-)
18:06 jnthn Wanted to check it wasn't *
18:06 jnthn yeah
18:06 cognominal_ trhowing worlds, moritz and jnthn indulges in their demiurgic tendancies.
18:06 DreamingInCode joined #perl6
18:06 moritz throwing worlds is fun!
18:07 geekosaur whirling worlds?
18:07 gfldex being able to throw them in a requirement for world domination after all
18:07 japhb joined #perl6
18:07 dalek rakudo/qbootstrap: 436e5de | jnthn++ | src/Perl6/Pod.pm:
18:07 dalek rakudo/qbootstrap: Update Pod.pm to new sep syntax. Now NQP on qbootstrap can compile it.
18:07 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/436e5dedce
18:08 jnthn Next up will be Grammar.pm. Which tells me, "ICU not loaded" right off
18:09 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...
18:09 jnthn moritz: Sounds sane enough.
18:10 jnthn 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
18:10 jnthn moritz: Did I think it was sane two weeks ago? ;)
18:10 moritz jnthn: yes :-)
18:10 sorear good * #perl6
18:11 gfldex the more linenumer the better
18:13 cognominal_ yea!
18:14 zby_home_ joined #perl6
18:15 jnthn o/ sorear
18:15 dalek rakudo/qbootstrap: a4ff26a | jnthn++ | src/Perl6/Grammar.pm:
18:15 dalek rakudo/qbootstrap: Load the QRegex version of P6Regex. Now we at least start compiling Grammar.pm.
18:15 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/a4ff26aa23
18:15 dalek rakudo/qbootstrap: 2fabe67 | jnthn++ | src/Perl6/Grammar.pm:
18:15 dalek rakudo/qbootstrap: Update ** usage to % in Grammar.pm; now we survive building it at least.
18:15 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/2fabe6792d
18:15 dalek rakudo/qbootstrap: e375fc3 | jnthn++ | src/Perl6/ (3 files):
18:15 dalek rakudo/qbootstrap: Few more 'use' statement updates; we now get all the way to trying to build main.nqp before failing.
18:15 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/e375fc3c74
18:16 dalek rakudo/nom: c663f0f | moritz++ | src/ (2 files):
18:16 dalek rakudo/nom: provide file and line number for method redeclaration errors
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c663f0fa34
18:16 dalek rakudo/nom: f211159 | moritz++ | src/Perl6/World.pm:
18:16 dalek rakudo/nom: [World] refactor exception handling and rethrowing into a separate method
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f211159f15
18:16 dalek rakudo/nom: 6d6e154 | moritz++ | src/Perl6/World.pm:
18:16 dalek rakudo/nom: oops, fix method name
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d6e154165
18:16 dalek rakudo/nom: ecf355f | moritz++ | src/ (2 files):
18:16 dalek rakudo/nom: Merge branch 'world-rethrow' into nom
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecf355fa54
18:16 dalek rakudo/nom: 4904b02 | moritz++ | docs/ChangeLog:
18:16 dalek rakudo/nom: note exception stuff in ChangeLog
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4904b021fb
18:17 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.
18:17 phenny 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.
18:17 phenny 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
18:18 moritz \o pmichaud
18:18 pmichaud It's going to take me a bit of time to digest that.
18:18 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.
18:19 pmichaud (the array, in this case)
18:20 jnthn o/, pmichaud
18:20 pmichaud well, maybe they do... but keeping track of "has grown" seems a bit weird
18:20 japhb pmichaud, er ... isn't what he's asking for satisfied by doing an extra check when your iterator runs dry?
18:21 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
18:21 japhb Ah, because an iterator does not know how many values it has already yielded.
18:22 dalek rakudo/qbootstrap: 8810de2 | jnthn++ | src/Perl6/Actions.pm:
18:22 dalek rakudo/qbootstrap: Make sure we get PAST nodes loaded. This gets us up to trying to compile the setting...which is immediate fail.
18:22 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/8810de23b8
18:22 pmichaud moritz: well, ranges are different here.  we're really dealing with arrays
18:22 pmichaud ranges never produce elements except via iterators
18:22 moritz pmichaud: ah, right
18:22 japhb jnthn++ # Moving the 'fail' front
18:25 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.
18:26 pmichaud in the case of
18:26 PerlJam how about other than .push ?
18:26 pmichaud .plan doesn't require reification -- it's a lazy push
18:26 pmichaud if you add an element to @a[$n], then all of the elements up to (and including) index $n are reified
18:26 PerlJam Is there a lazy splice?
18:27 pmichaud .splice is (can be) lazy, yes
18:27 pmichaud splice occurs after reifying the first $offset+$length elements
18:27 pmichaud the problem is with something like:
18:27 mtk joined #perl6
18:27 pmichaud my @a = 'a'..'f';   for @a { @a.push(1); .say }
18:28 pmichaud at the time the iterator is created for @a, @a is already fully reified.  It has no active lazy component.
18:28 pmichaud 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)
18:30 dalek rakudo/qbootstrap: 55c9f1c | jnthn++ | src/Perl6/ (2 files):
18:30 dalek rakudo/qbootstrap: 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 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/55c9f1cd2f
18:31 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 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:32 skyheights joined #perl6
18:33 sorear tangent: my biggest gripe with the current list iterator model is that for @biglist { last; } takes \Theta(n) time
18:33 pmichaud huh?
18:34 jnthn The munch thing.
18:34 masak pmichaud! \o/
18:34 pmichaud I declared that to be wrong at the beginning.  That's not the model, it's a misimplementation.
18:34 jnthn Right.
18:35 sorear jnthn: can you clarify on 'the munch thing'?
18:35 pmichaud this line
18:35 pmichaud $count = $n.Int; $!list.gimme($argc * $count);
18:35 pmichaud is WRONG
18:36 pmichaud as is
18:36 pmichaud my $munched := $!list.munch($argc * $count);
18:37 pmichaud 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
18:38 sorear every time you start iterating a list, nqp::clone($!items) is called
18:38 sorear now tell me that nqp::clone on an RPA with 10 million items is fast
18:39 sorear erm, that came out wrong
18:39 PerlJam so the iterator that gets created in for @a { ... } is tied to a clone of @a?
18:39 pmichaud not really
18:39 pmichaud it's a clone of the list of @a's reified items
18:39 pmichaud it doesn't actually clone the items themselves
18:40 pmichaud I agree that the line would result in a really big memcpy
18:40 PerlJam And the goal is to preserve iterator immutability?
18:40 PerlJam Why the clone?
18:40 pmichaud because parcels are immutable
18:41 pmichaud and the thing being cloned could change
18:41 jnthn But...what would produce a 10 million item Parcel?
18:41 pmichaud @a[1..10000000]   would do it, fwiw.
18:42 jnthn Ah.
18:42 pmichaud as would  @a[*]  on a 10 million element array
18:42 jnthn Oh! For the *result*
18:42 jnthn Not the range
18:43 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
18:43 jnthn OK, now I'm less worried :)
18:44 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 sorear jnthn: yes
18:45 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 pmichaud and it needs to be an immutable structure
18:46 Khisanth joined #perl6
18:46 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] } }
18:47 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
18:47 sorear I think because it has to create so many intermediate objects
18:49 jnthn pmichaud: Should <before ...> be declarative?
18:50 pmichaud jnthn: I don't think I've ever gotten a solid answer on that.
18:50 jnthn pmichaud: OK.
18:50 pmichaud I've often wanted it to be declarative.
18:51 moritz I though that in <before <foo>> <bar>, the <foo> part is declarative, but the <bar> part isn't anymore
18:51 moritz but maybe that's outdated specs
18:51 pmichaud oh, sorry, I think I answered the wrong question
18:51 pmichaud I was thinking "declarative" in a different context.
18:51 sorear my understanding concurs with moritz.  S05:2701 is relevant
18:52 moritz I'm talking about declarative prefixes that count for LTM
18:52 pmichaud right, I was thinking something else.
18:52 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)
18:53 sorear 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
18:53 sisar :)
18:54 pmichaud that would resolve the 1e6 problem noted above
18:54 jnthn pmichaud: Yes, I was asking about LTM :)
18:54 stepnem joined #perl6
18:55 pmichaud jnthn: <before ...>  for LTM purposes requires special handling, as noted by moritz++ and sorear++
18:55 jnthn pmichaud: OK.
18:55 [Coke] jnthn++
18:55 pmichaud I suspect it can be built into the LTM returned by the .before method
18:56 jnthn "the LTM returned by the"?
18:56 jnthn pmichaud: You mean the argument passed to it?
18:56 pmichaud sorry, NFA
18:56 jnthn Oh
18:56 jnthn OK :)
18:57 sorear jnthn: niecza treats <before <foo>> as <foo> {} for LTM purposes
18:58 sorear 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 :-)
18:59 sorear pmichaud: you are proposing something along the lines of copy-on-write parcels?
18:59 jnthn oops, I forgot to dinner...
18:59 pmichaud sorear: I don't think that's what I'm proposing.  Parcels don't have a "write"
19:00 pmichaud 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/
19:02 pmichaud [Coke]: o/
19:02 pmichaud ...and also to note that reification doesn't have to invalidate the cache :-)
19:02 pmichaud only things like .push, .splice, etc would need to do it.  and maybe bind
19:03 pmichaud afk, phone call then kid pickup
19:04 * jnthn -> shop
19:04 whiteknight joined #perl6
19:05 sorear o/
19:09 birdwindupbird joined #perl6
19:12 tadzik oh, stuff's happening when I'm not looking
19:13 sorear o/ tadzik
19:13 tadzik sorear: o/
19:19 [hds] joined #perl6
19:26 masak tadzik: must be http://en.wikipedia.org/wiki/Quantum_Zeno_effect :)
19:26 * masak just watched http://en.wikipedia.org/wiki/Blink_(Doctor_Who) :)
19:28 lichtkind joined #perl6
19:31 snearch joined #perl6
19:31 rurban left #perl6
19:34 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." http://news.ycombinator.com/item?id=4024633 -- made me think of Perl 6. :)
19:36 PacoAir joined #perl6
19:39 majrmovies joined #perl6
19:45 cognominal_ joined #perl6
19:53 plobsing joined #perl6
20:03 colomon masak: well spotted
20:08 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 #perl6
20:09 moritz there are no such .pod files in the specs
20:09 moritz so it might be outdated names
20:10 sorear majrmovies: it would be the right place
20:11 masak ...and it's very kind of you to ask first :)
20:13 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 majrmovies The challenge I am having is with constants.
20:13 majrmovies In the documentation for Curl (http://curl.haxx.se/libcur​l/c/curl_easy_setopt.html)
20:14 majrmovies This method has two three params, the object, the option (which is a defined constant) and a paramter
20:14 majrmovies I am receiving an error when trying to supply the constant ..
20:15 majrmovies 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.
20:15 masak chances are it doesn't.
20:15 masak jnthn++ is occupied presently, but he'll be here soon, I bet.
20:15 masak he'll be able to reply better.
20:15 majrmovies Well, that was easy.  I'm not crazy, it just isn't supported.
20:16 majrmovies Oh great.  Thanks for your hlpe.
20:16 majrmovies help*
20:18 masak well, it's a preliminary answer. I'm not that deep into NativeCall
20:18 masak but I haven't hear people talk a lot about constants, so chances are it's still on the TODO list or something.
20:19 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.
20:19 masak github should make it easy to contribute a line to the TODO.
20:20 majrmovies Oh .. good point.
20:21 jnthn ooh, yes I know something about NativeCall :)
20:21 * jnthn reads the question
20:21 [Coke] jnthn: Only because you built it out of beer.
20:21 fibo joined #perl6
20:22 PerlJam CURLoption is an enum looks like.
20:22 majrmovies PerlJam: Yep
20:22 PerlJam majrmovies: so you should be able to use an enum in Perl6-land I think.
20:22 PerlJam Just like in SQLite.pm6
20:23 jnthn Yes, you should be able to make this work
20:23 masak ooh, suddenly lots of people with actually a clue. :)
20:23 majrmovies Wha!?
20:23 moritz I think a C enum just desugars to the integers used to define it
20:23 jnthn C enumerations and constants are really just sugar for instances.
20:23 majrmovies <- so excited
20:23 jnthn gah
20:23 jnthn *just sugar for integers
20:23 jnthn So you can get away with using int in the argument type
20:23 moritz you can just printf("%d\n", .
20:24 moritz CURLOPT_WRITEDATA );
20:24 moritz in C
20:24 moritz and see what the result is
20:24 jnthn *nod*
20:24 moritz and use that integer in Perl 6
20:24 jnthn Well, the header file must be somewhere...I bet it could be transcribed into constants in Perl 6.
20:24 PerlJam or just look in /usr/include/curl/curl.h  :-)
20:24 majrmovies I tried passing the integer directly, but that didn't work.
20:24 moritz majrmovies: how did it not work?
20:25 [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?
20:25 fibo is it planned a porting of Mojo framework on Perl6 ?
20:25 majrmovies PerlJam: Sure, let me grab my other laptop
20:25 moritz fibo: yes-ish
20:25 PerlJam fibo: sri mentioned it a couple of times.
20:25 PerlJam fibo: in the mean-time there's Bailador (a Dancer-a-like)
20:26 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
20:27 fibo but can I install Perl6 from CPAN ?
20:27 moritz no
20:27 cognominal___ joined #perl6
20:27 sisar New page: http://wiki.perl6.org/module. Should be good enuf for beginners. Comments welcome.
20:27 dalek nqp/toqast: 9e3e240 | masak++ | / (2 files):
20:27 dalek nqp/toqast: [QAST::Block] implement .symbol
20:27 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/9e3e240014
20:28 jnthn Yes, CURLoption is the world's biggest enum. :)
20:28 * jnthn just found the .h file :)
20:30 majrmovies Code: http://pastebin.com/6N6xpjtV
20:30 majrmovies Its very rough ... and I am working on Mac (hence the strange path to the library)
20:30 jnthn Oh, I see what you're trying
20:31 jnthn sub curl_easy_setopt( OpaquePointer $curl, Str $option, Str $param)
20:31 jnthn 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 #perl6
20:31 jnthn Instead it needs to be Int $option
20:32 jnthn And then you define a
20:32 majrmovies jnthn: As soon as you pointed it out, I tried it, and it worked.
20:32 majrmovies *facepalm
20:32 jnthn :)
20:32 majrmovies But now the best news: I can keep working on this module, play with testing in Perl6, and then throw it on Github!!
20:33 PerlJam majrmovies: what's this "maybe" business?!?   ;)
20:33 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 PerlJam oh, there is no maybe
20:33 moritz star: use NativeCall; sub _exit(Int) is native { * }; _exit(0); say 'still here';
20:33 p6eval star 2012.05:  ( no output )
20:33 * PerlJam read stuff that wasn't there  (curious)
20:33 moritz you can call C functions from p6eval. That's scary.
20:33 diakopter hee
20:34 diakopter that should probably be un-safed
20:35 moritz well, it requires quite some knowledge to exploit
20:35 moritz we also allow pir:: and nqp:: opcodes
20:35 moritz and we have backups :-)
20:36 moritz well, I hope we do. Juerd knows :-)
20:36 kresike joined #perl6
20:36 kresike evening all
20:36 MayDaniel joined #perl6
20:38 jnthn o/ kresike
20:38 kresike o/ jnthn
20:45 Juerd We have backups. Restoring backups is annoying work.
20:45 masak kresike! \o/
20:45 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) }
20:45 p6eval rakudo 4904b0: OUTPUT«16␤8␤0␤»
20:46 aesundstrom masak++ (you rock)
20:46 masak aesundstrom++ has had a session with me about the need for a macro.
20:46 masak turns out a sub was enough. :) this seems to be a regular theme in Perl 6.
20:47 masak aesundstrom: now, the 'ix' sub is a bit "dirty". it has global state. use at your own risk.
20:49 dalek nqp/toqast: b0b24cf | masak++ | / (2 files):
20:49 dalek nqp/toqast: [QAST::Block] only create hashes when .symbol sets
20:49 dalek nqp/toqast:
20:49 dalek nqp/toqast: When the getter variant of .symbol is used, it now returns an
20:49 dalek nqp/toqast: undefined value, rather than autovivify a hash for it.
20:49 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b0b24cfd57
20:51 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
20:51 * jnthn had feared worse
20:52 tadzik woot
20:52 tadzik niice
20:52 tadzik good stuff happens when I'm not looking
20:52 * tadzik turns away
20:52 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) }
20:52 p6eval rakudo 4904b0: OUTPUT«16␤8␤0␤-10␤-8␤-6␤»
20:55 shinobicl joined #perl6
20:55 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
20:55 masak shinobicl! \o/
20:56 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?
20:56 shinobicl https://github.com/shinobi/TaskSc​heduler/blob/master/TimeOfDay.pm
20:56 kresike masak, o/
20:56 diakopter aesundstrom: go to https://gist.github.com/ and paste it :)
20:56 diakopter and click create public gist
20:57 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!
20:57 sorear diakopter, does it work with private gists?
20:57 shinobicl but it seems too simple, so i was wondering if i can get some advice of how to improve it
20:57 shinobicl so i can make it more generic or simply more useful
20:58 masak sorear: should do.
20:58 masak sorear: private gists are only private insofar as the URLs being hard to guess.
20:58 shinobicl so i can upload it to modeules.perl6.org
21:00 masak has Sexagesic $.s is ro          = 0;
21:00 masak shinobicl: this doesn't take into account leap seconds, which are 0..61
21:00 aesundstrom r: git://gist.github.com/2790514.git
21:00 p6eval rakudo 4904b0: OUTPUT«===SORRY!===␤Confused␤at /tmp/_NBnlBB01N:1␤»
21:00 diakopter heh
21:00 shinobicl leap seconds?
21:01 diakopter r: https://gist.github.com/2790514
21:01 shinobicl ok the idea is to have this, independent from a specific date
21:01 p6eval rakudo 4904b0: OUTPUT«16␤8␤0␤-10␤True␤-8␤-6␤»
21:01 aesundstrom thanks
21:01 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)
21:02 aesundstrom r: https://gist.github.com/2790514.git
21:02 p6eval rakudo 4904b0: OUTPUT«===SORRY!===␤Confused␤at /tmp/SsR15Dijxg:1␤»
21:02 shinobicl sorry, i meant "00:01"
21:02 sorear masak: The Frobenius Automorphism is quite simple imo.
21:03 shinobicl ahhh sorry... i meant "23:59" not "12:59"
21:04 sisar sorear: re your summer plans for Niecza, any plan for S09 ?
21:05 sorear S09 is too much for me to think about all at once.
21:05 masak sorear: are you reading twitter?
21:05 sorear masak: yes
21:05 [Coke] ALL OF IT!?
21:05 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.
21:06 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.
21:06 * [Coke] supposes he'll just have to take a deep breath.
21:06 PerlJam [Coke]: what now?
21:06 aesundstrom PerlJam: Thanks for the tip; I'll have a look.
21:08 [Coke] PerlJam: No point in sharing. will just annoy others.
21:09 PerlJam [Coke]: in that case ... ignorance is bliss  :)
21:11 aesundstrom r: https://gist.github.com/2790586
21:11 p6eval rakudo 4904b0: OUTPUT«2␤1␤0␤2␤1␤0␤»
21:21 sftp joined #perl6
21:21 dalek rakudo/qbootstrap: ffe62f6 | jnthn++ | src/Perl6/Grammar.pm:
21:21 dalek rakudo/qbootstrap: Remove a check we hopefully don't need with proper LTM, and that prevented circumfix from getting its proper declarative prefix.
21:21 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/ffe62f6dd0
21:21 dalek rakudo/qbootstrap: 2dc246d | jnthn++ | src/Perl6/Grammar.pm:
21:21 dalek rakudo/qbootstrap: Fix copyO for new regex engine. Gets us to just past line 1400.
21:21 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/2dc246d714
21:24 jnthn r: say '()' ~~ /<?[ ) \] } ]>/
21:25 p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
21:25 jnthn wtbh
21:25 jnthn Isn't that meant to be zero-width?
21:25 jnthn p6: say '()' ~~ /<?[ ) \] } ]>/
21:25 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…
21:25 p6eval ..niecza v17-28-gad2d70a: OUTPUT«#<match from(1) to(1) text() pos([].list) named({}.hash)>␤»
21:25 p6eval ..rakudo 4904b0: OUTPUT«q[)]␤␤»
21:25 jnthn r: say '()' ~~ /<?before <[ ) \] } ]> >/
21:25 p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:26 jnthn r: say '()' ~~ /<?[)\]}]>/
21:26 p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
21:26 jnthn r: say '()' ~~ /<![)\]}]>/
21:26 p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
21:26 jnthn r: say 'a' ~~ /<?[a]>/
21:26 p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:26 jnthn r: say 'ba' ~~ /<?[a]>/
21:26 p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:27 jnthn r: say '()' ~~ /<?[(]>/
21:27 p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:27 jnthn r: say '()' ~~ /<?[)]>/
21:27 p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:27 jnthn r: say '()' ~~ /<?[)\]]>/
21:27 p6eval rakudo 4904b0: OUTPUT«q[)]␤␤»
21:27 jnthn r: say '()' ~~ /<?[)}]>/
21:27 p6eval rakudo 4904b0: OUTPUT«q[]␤␤»
21:30 masak jnthn: \ doesn't work?
21:30 masak hm, no. that doesn't quite explain it.
21:30 jnthn Looking at what it's compiling to doesn't quite explain it either...
21:31 masak but there's something there about \] that doesn't make sense...
21:31 jnthn It's somehow turning into an alternation.
21:31 [Coke] look buddy, I don't want an alternation here.
21:32 masak :P
21:37 aesundstrom r: https://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 #perl6
21:44 masak yeah. textual macros NYI.
21:45 masak someone more gullible than me will have to implement them :P
21:45 kresike joined #perl6
21:50 sorear if you go back to march '10 or so there's my text macro branch :p
21:50 masak rightrightright
21:50 masak and Pugs has had 'em for ages.
22:03 SatoAmbush joined #perl6
22:07 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 SHODAN joined #perl6
22:13 dalek rakudo/qbootstrap: 137b998 | jnthn++ | src/Perl6/Grammar.pm:
22:13 dalek rakudo/qbootstrap: Avoid issue with <?[ ) \] ]> generating non-zerowidth matching. Gets us well beyond line 3000.
22:13 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/137b998881
22:19 masak 'night, #perl6
22:25 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")␤»
22:26 cognominal___ I would like an equivalent instruction so that I can do :
22:26 cognominal___ r: [eq]   [ "private cloud", "overpaid cult"   ]>>.split('').sort
22:26 p6eval rakudo 4904b0:  ( no output )
22:26 cognominal___ s/equivalent/similar/
22:26 cognominal___ without explicit loop.
22:27 diakopter sigh p6l
22:28 cognominal in other words, I would like the sort ot to flatten the parcel resulting from the split.
22:29 cognominal *not to
22:30 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",))␤»
22:30 jnthn r: say  [ "private cloud", "overpaid cult" ]>>.split('').tree>>.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",))␤»
22:30 jnthn r: say  [ "private cloud", "overpaid cult" ]>>.split('').tree.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").list␤»
22:30 jnthn ah
22:31 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)␤»
22:32 cognominal is there a way to thead an operation into a parcel?
22:32 fibo joined #perl6
22:32 cognominal *thread
22:35 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")␤»
22:35 cognominal r: say  [ "private cloud", "overpaid cult"   ]>>.split('').perl
22:35 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)␤»
22:35 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…
22:36 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.
22:37 * mucker lame
22:38 sorear cognominal: non-flatness in parcels is supposed to be ignored by nearly all operations
22:38 sorear cognominal: so the fact that you want to flatten a parcel suggests there's a bug elsewhere in the system
22:40 cognominal in fact, I want the opposite, exploit the non flat stucture of the parcel. Apparently I use the wrong tool
22:43 cognominal may be .lol will help
22:43 sorear r: say map { sort comb $_ }, ['private cloud', 'overpayed cult']
22:43 p6eval rakudo 4904b0: OUTPUT«Cannot call 'comb'; none of these signatures match:␤:(Regex $matcher, Cool $input, $limit = { ... })␤␤  in block <anon> at /tmp/bgqJ5M6EDA:1␤␤»
22:43 sorear r: say map *.comb.sort, ['private cloud', 'overpayed cult']
22:43 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␤»
22:43 sorear r: say map *.comb.sort, 'private cloud', 'overpayed cult'
22:43 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␤»
22:44 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 #perl6
22:47 sisar joined #perl6
22:49 dalek nqp/qbootstrap: 30b8951 | jnthn++ | src/QRegex/ (2 files):
22:49 dalek nqp/qbootstrap: Special-case <before ...> to be declarative for LTM purposes. Fixes reduction parsing (and maybe other things) in Rakudo on qbootstrap.
22:49 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/30b8951453
22:51 jnthn It must be time for a beer by now...
22:52 wolfman2000 joined #perl6
22:53 cognominal jnthn, you well deserve it.
22:55 * jnthn chooses a rauchbier
22:57 dalek rakudo/qbootstrap: 5b42a4c | jnthn++ | src/Perl6/Grammar.pm:
22:57 dalek rakudo/qbootstrap: 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 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/5b42a4c944
22:59 jnthn std: class A { ... }
22:59 p6eval std 8632387: OUTPUT«ok 00:00 40m␤»
22:59 jnthn std: class A { ...}
22:59 p6eval std 8632387: OUTPUT«ok 00:00 40m␤»
22:59 jnthn n: class A { ...}
22:59 p6eval niecza v17-28-gad2d70a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Package was stubbed but not defined at /tmp/JtorZ4hdp7 line 1:â�¤------> [32mclass[33mâ��[31m A { ...}[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) â�¤  at /home/p6e…
23:02 sisar joined #perl6
23:02 shinobicl joined #perl6
23:08 [particle]1 joined #perl6
23:33 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: https://gist.github.com/2791182
23:34 japhb (At the console, that's colorized by how far away from parity with perl5 that a given result is.)
23:34 japhb Now to actually hack on all the TODOs.  :-)
23:37 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:38 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 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.  ;-)
23:40 dalek perl6-bench: f01483e | (Geoffrey Broadwell)++ | TODO:
23:40 dalek perl6-bench: Add TODO item for choosing whether to include startup time in benchmark results
23:40 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/f01483ead1
23:41 japhb jnthn, Note the difference in performance between Rakudo doing the Perl 6 version of rc-forest-fire and the NQP version.
23:42 japhb (And of nqp doing the NQP version)
23:43 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)
23:45 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:46 dalek nqp/qbootstrap: c4cc06a | moritz++ | src/HLL/Compiler.pm:
23:46 dalek nqp/qbootstrap: expose parsed command line options and arguments to the user
23:46 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/c4cc06a1f9
23:46 dalek nqp/qbootstrap: 64c1b3c | moritz++ | src/HLL/Compiler.pm:
23:46 dalek nqp/qbootstrap: [HLL::Compiler] expose the program name to the user
23:46 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/64c1b3c96d
23:46 dalek nqp/qbootstrap: b77e472 | jnthn++ | src/NQP/Grammar.pm:
23:46 dalek nqp/qbootstrap: Canonicalize name installed in %*RX<name> properly, so we call the correct action method.
23:46 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/b77e472e0b
23:46 dalek nqp/qbootstrap: 62c44da | jnthn++ | src/HLL/Compiler.pm:
23:46 dalek nqp/qbootstrap: Merge prog-name handling from master.
23:46 sorear jnthn: wow, I don't remember moose being *that* bad
23:46 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/62c44daf66
23:46 japhb diakopter, maybe fglock++ knows?
23:46 jnthn sorear: I'm going on what masak++ told me
23:48 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/
23:48 diakopter O_O
23:49 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.
23:49 jnthn japhb: Curious.
23:49 japhb jnthn++ # W00t!
23:49 sorear jnthn: are you missing a comma there?
23:49 jnthn Wonder what makes the difference.
23:49 jnthn sorear: ...where?
23:49 sorear 16:49 < jnthn> Lots of spectest fail to investigate.
23:50 jnthn sorear: er, spectest failures
23:50 jnthn :)
23:50 diakopter heh, fail as a aggregate noun
23:50 diakopter as in failblog's "see more fail" link
23:50 diakopter er, "but wait, there's more fail"
23:51 jnthn Apparently, roles are easy to parse, since rakudo/qbootstrap does pass all of S14 :)
23:54 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 #perl6

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

Perl 6 | Reference Documentation | Rakudo