Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-09-16

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:00 diakopter nom: https://gist.github.com/1220847
00:00 p6eval nom 960833: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤        in file '(file unknown)' line 871␤␤»
00:00 diakopter nom: https://gist.github.com/1220847
00:00 p6eval nom 960833: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤        in file '(file unknown)' line 871␤␤»
00:03 diakopter b: https://gist.github.com/1220847
00:03 p6eval b 1b7dd1:  ( no output )
00:03 * diakopter hopes that didn't launch an http server on p6eval box
00:04 jnthn diakopter: Think sockets are blocked for p6eval.
00:05 diakopter jnthn: imcc:syntax error is strange
00:06 jnthn diakopter: yeah, very
00:06 jnthn nom: s:g/\-/_/;
00:06 p6eval nom 960833: OUTPUT«Method 'subst' not found for invocant of class 'Any'␤  in <anon> at /tmp/MBMgCMvFzO:1␤  in <anon> at /tmp/MBMgCMvFzO:1␤␤»
00:06 jnthn nom: say "\x0D\x0A"
00:06 p6eval nom 960833: OUTPUT«
00:07 jnthn hm, neither of those does it.
00:08 replore_ joined #perl6
00:09 whiteknight joined #perl6
00:13 uasi joined #perl6
00:13 diakopter nom: say 3
00:13 p6eval nom 960833: OUTPUT«3␤»
00:21 lestrrat joined #perl6
00:23 [Coke] joined #perl6
00:40 jnthn Tssk. So, I have the multi-dispatch cache written. It mostly works...apart from on the rare occasion it doesn't, and hands back the wrong candidate. :/
00:43 jnthn On the upside, once I track down the bug, it should be decently fast. It makes no heap allocations in the case it gets a cache hit.
00:44 colomon joined #perl6
00:44 dalek rakudo/nom: a834325 | jnthn++ | src/binder/multidispatch. (2 files):
00:44 dalek rakudo/nom: Refactor in preparation for adding multi-dispatch cache; sketch it structures related to it.
00:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a834325fc7
00:44 dalek rakudo/nom: 9961471 | jnthn++ | src/binder/multidispatch.c:
00:44 dalek rakudo/nom: Add calls to add/find things in the multi-dispatch cache.
00:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9961471b0f
00:44 dalek rakudo/nom: 2257709 | jnthn++ | src/binder/multidispatch. (2 files):
00:45 dalek rakudo/nom: Get multi-dispatch cache sketched out. It almost works, apart from on the occasions it doesn't, which are proving hard to track down. Thus, it's disabled for now.
00:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2257709c85
00:45 jnthn Will try and hunt down the issue tomorrow. Sleep time now. &
00:54 jimmy1980 joined #perl6
01:04 supernovus Well, I'm calling it a night, maybe tomorrow some time after $realjob I'll go line by line through HTTP::Easy and see if I can track down what's causing the IMCC error, then I can file a bug, if of course, it's not something totally my fault :-)
01:17 woosley joined #perl6
01:17 wolfman2000 joined #perl6
01:23 jaldhar joined #perl6
01:24 daniel-s joined #perl6
01:29 jdv79 joined #perl6
01:29 jdv79 jnthn: thanks for the blogging; as usual!
01:41 uasi joined #perl6
01:52 sorear good * #perl6
01:52 phenny sorear: 15 Sep 21:16Z <masak> tell sorear http://irclog.perlgeek.de/perl6/2011-09-15#i_4435311 is the golf'd version of the casting error that's been haunting me.
01:53 sorear phenny: tell masak You apparently missed moritz_ bringing up 'Match.ast' earlier
01:53 phenny sorear: I'll pass that on when masak is around.
01:54 sorear phenny: tell masak this behavior is obviously LTA, but without a definition of "expected behavior" I can't call it a bug.  Needs discussion
01:54 phenny sorear: I'll pass that on when masak is around.
01:55 abercrombie joined #perl6
01:57 sorear niecza: say (e ** (i * $x)).re
01:57 p6eval niecza v9-30-g2b3ba1c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $x is not predeclared at /tmp/9hTGIZFM28 line 1:â�¤------> [32msay (e ** (i * [33mâ��[31m$x)).re[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) â�¤  at /ho…
01:57 sorear niecza: my $x = 0.25; say (e ** (i * $x)).re # mberends
01:57 p6eval niecza v9-30-g2b3ba1c: OUTPUT«0.968912421710645␤»
01:58 sorear mberends: alternatively, get in touch with colomon++ who is redesigning the trig system :)
02:12 colomon what's mberends' question?
02:15 uasi joined #perl6
02:24 snarkyboojum phenny: tell supernovus, FWIW, I can reproduce it, and the "cause" of the error appears to be on line 22, if you change \s in your split to anything that's not one of a couple of character escape sequence, it's fine.
02:24 phenny snarkyboojum: I'll pass that on when supernovus is around.
02:25 snarkyboojum std: role A { /\s/ }
02:25 p6eval std bb4f150: OUTPUT«ok 00:01 120m␤»
02:25 snarkyboojum perl6: role A { /\s/ }
02:25 p6eval niecza v9-30-g2b3ba1c:  ( no output )
02:25 p6eval ..rakudo 225770: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤     in file '(file unknown)' line 527␤␤»
02:25 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped b…
02:25 snarkyboojum perl6: role A { /\t/ }
02:25 p6eval rakudo 225770, niecza v9-30-g2b3ba1c:  ( no output )
02:25 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped b…
02:25 snarkyboojum something like that
02:29 snarkyboojum star: role A { /\s/ }
02:29 p6eval star 2011.04:  ( no output )
02:31 snarkyboojum phenny: tell supernovus, and golfed -> http://irclog.perlgeek.de/perl6/2011-09-16#i_4436458
02:31 phenny snarkyboojum: I'll pass that on when supernovus is around.
02:37 snarkyboojum so, a regression of sorts praps
02:40 uasi joined #perl6
02:44 woosley std:  class A { method doit($a, $b){return $a + $b} } my $a = A.new(); doit $a: 5, 4;
02:44 p6eval std bb4f150: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/9Ir92MGKaK line 1:â�¤------> [32m { method doit($a, $b){return $a + $b} }[33mâ��[31m my $a = A.new(); doit $a: 5, 4;[0mâ�¤    expecting any of:â�¤  bracketed infixâ�¤â€¦
02:48 sorear colomon: mberends was complaining about the lack of &cos
02:57 colomon ah, yup, that's my fault.  :)
02:58 sorear "fault"?
03:02 xdhmoore joined #perl6
03:04 dalek joined #perl6
03:20 supernovus joined #perl6
03:21 supernovus A quick note, which may or may not be useful. The totally strange error I came across earlier, with my HTTP::Easy library. If I change "role HTTP::Easy" to "class HTTP::Easy", it compiles with no errors.
03:21 phenny supernovus: 02:24Z <snarkyboojum> tell supernovus FWIW, I can reproduce it, and the "cause" of the error appears to be on line 22, if you change \s in your split to anything that's not one of a couple of character escape sequence, it's fine.
03:21 phenny supernovus: 02:31Z <snarkyboojum> tell supernovus and golfed -> http://irclog.perlgeek.de/perl6/2011-09-16#i_4436458
03:23 supernovus okay, that's weird. So the \s is doing it? Then why does it work as a class, but not a role?
03:38 buubot_backup joined #perl6
03:45 snarkyboojum supernovus: no idea - ask jnthn or someone :)
03:46 snarkyboojum supernovus:
03:46 snarkyboojum supernovus: \n in a role gives the same error here
03:46 snarkyboojum anyway - I'll leave it to the experts :)
03:58 supernovus same here, I'm switching to a class instead of a role for now :-)
04:01 supernovus WWW::App + HTTP::Easy == super easy PSGI web apps in Perl 6 testable without a standalone web server.
04:03 birdwindupbird joined #perl6
04:13 supernovus Are $!private variable no longer accessible by inherited classes?
04:15 moritz good morning
04:15 phenny moritz: 15 Sep 23:08Z <diakopter> ask moritz could you take a look at the synopsis rebuild process; S02 doesn't seem to have my latest changes; podchecker says it's okay
04:21 benabik joined #perl6
04:23 novusordo joined #perl6
04:24 packetknife joined #perl6
04:24 satyavvd joined #perl6
04:27 moritz phenny: tell diakopter seems that a feather ugprade broke some perl dependencies on feather; working on it...
04:27 phenny moritz: I'll pass that on when diakopter is around.
04:31 supernovus Okay, HTTP::Easy is now ready to work, but suffers from the same fate as SCGI... the IO::Socket::INET in nom never receives recv() requests. It may work with get()/readline(), but that doesn't work for HTTP connections. Sigh. Enough for tonight. WWW::App, HTTP::Easy and SCGI are all "nom" ready, but still stuck in "ng" for the time being.
04:32 supernovus Correction: IO::Socket::INET receives data from recv() but only after the connecting socket has timed out and closed on the remote side. Which doesn't do much good for SCGI or HTTP.
04:33 moritz phenny: tell diakopter fixed.
04:33 phenny moritz: I'll pass that on when diakopter is around.
04:34 molaf joined #perl6
04:47 uasi joined #perl6
05:01 TimToady nom: / $_ /
05:01 p6eval nom 225770: OUTPUT«===SORRY!===␤Method 'rxtype' not found for invocant of class 'PAST;Regex'␤»
05:01 TimToady known bug?
05:01 benabik … what?
05:03 TimToady just chopped everything that wasn't that bug out of an 826 line program, littl by little
05:03 benabik nom: //
05:03 p6eval nom 225770: OUTPUT«===SORRY!===␤Null regex not allowed at line 1, near ""␤»
05:03 [Coke] that error appears in t/spectest.data a few times.
05:04 TimToady nom: /$x/
05:04 p6eval nom 225770: OUTPUT«===SORRY!===␤Method 'rxtype' not found for invocant of class 'PAST;Regex'␤»
05:04 TimToady doesn't even matter if it's defined
05:04 TimToady nom: /@x/ # curious
05:04 p6eval nom 225770: OUTPUT«===SORRY!===␤Method 'rxtype' not found for invocant of class 'PAST;Regex'␤»
05:04 TimToady nom: /<$x>/
05:04 p6eval nom 225770: OUTPUT«===SORRY!===␤Method 'rxtype' not found for invocant of class 'PAST;Regex'␤»
05:05 moritz that error basically means "NYI regex feature"
05:15 TimToady nom: $_ = 'abc 01'; /'abc ' (\d+)/; say $0
05:15 p6eval nom 225770: OUTPUT«Nil␤»
05:15 TimToady nom: $_ = 'abc 01'; m/'abc ' (\d+)/; say $0
05:15 p6eval nom 225770: OUTPUT«01␤»
05:15 TimToady there's another bug
05:17 TimToady nom: $_ = 'abc 01'; /'abc ' (\d+)/ and say $0
05:17 p6eval nom 225770: OUTPUT«Nil␤»
05:24 TimToady oh, cool, now I've got a segfault :)
05:26 koban` joined #perl6
05:26 koban` left #perl6
05:27 kaleem joined #perl6
05:40 TimToady and the segfault moves around as I put in print statements; I think that's enough of that for tonight...
05:46 packetknife joined #perl6
05:54 wtw joined #perl6
05:54 wtw joined #perl6
05:56 * sorear sleep
06:00 Tedd1 joined #perl6
06:10 mishin_ joined #perl6
06:13 kaleem joined #perl6
06:13 orafu joined #perl6
06:14 sunnavy joined #perl6
06:16 kaleem joined #perl6
06:23 kaleem joined #perl6
06:25 kaleem joined #perl6
06:37 kaleem joined #perl6
06:38 Con joined #perl6
06:40 egillth joined #perl6
06:44 kaleem joined #perl6
06:55 jimmy1980 joined #perl6
07:02 pnu joined #perl6
07:04 xinming joined #perl6
07:29 uasi joined #perl6
07:57 snarkyboojum ahhh.. into 250MB of swap on my 256MB slice to build rakudo ;)
08:03 SHODAN joined #perl6
08:07 tadzik good morning
08:10 moritz good tadzik, tadzik
08:11 moritz regarding yesterday's discussion about the mandelbront benchmark: yes, the current 1m1s timing is on the same machine as the original 16m timing on master
08:12 snarkyboojum guten moaning!
08:16 snarkyboojum tadzik: were you able to use panda after jnthn++'s fix? I still have issues with PERL6LIB
08:16 tadzik snarkyboojum: it now blocks on JSON
08:17 snarkyboojum oh.. for some reason.. bootstrap doesn't see the adjusted PERL6LIB on my machine
08:17 tadzik hmm
08:18 tadzik here it fails on protoregexes not yet implemented at line 10, near ";\ntoken va"
08:18 snarkyboojum fails on first use here, i.e. Shell::Command :|
08:19 tadzik :/
08:20 jnthn morning
08:20 jnthn moritz: Thanks for confirming.
08:20 jnthn moritz: Should be able to pull it under a minute once I get the multi cache in.
08:21 jnthn Unless the lexical lookup improvements already did that...
08:21 moritz ssh: connect to host github.com port 22: Connection timed out
08:21 moritz fatal: The remote end hung up unexpectedly
08:21 moritz seems I can't git pull atm :(
08:23 moritz works again
08:28 jnthn nom: role Foo { /s/ }
08:28 p6eval nom 225770:  ( no output )
08:28 jnthn nom: role Foo { /\s/ }
08:28 p6eval nom 225770: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤        in file '(file unknown)' line 527␤␤»
08:28 jnthn nom: class Foo { /\s/ }
08:28 p6eval nom 225770:  ( no output )
08:28 moritz real    0m58.549s
08:29 jnthn moritz: Ooh, below a minute! :)
08:30 jnthn nom: BEGIN { /\s/ }
08:30 p6eval nom 225770: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤        in file '(file unknown)' line 12355950␤␤»
08:30 jnthn aha
08:31 * snarkyboojum watches on with interest :)
08:36 woosley joined #perl6
08:37 wamba joined #perl6
08:41 jnthn snarkyboojum: I see what's going on. Need a little more coffee in me to fix it... :)
08:41 * snarkyboojum buys jnthn a coffee :)
08:49 moritz (fwiw, niecza does it in 8.5s :-)
08:50 SHODAN joined #perl6
08:51 moritz rakudo: say 58.5 / 8.5
08:51 p6eval rakudo 225770: OUTPUT«6.88235294117647␤»
08:52 moritz rakudo: say (16 * 60 + 14) / 58.5
08:52 p6eval rakudo 225770: OUTPUT«16.6495726495727␤»
08:53 russellw joined #perl6
08:54 tadzik heh, we're not that far then :)
08:55 moritz logarithmically speaking, we're closer to niecza than to master :-)
08:56 moritz one thing where rakudo is faster is startup
08:56 moritz 0.8s, compared to 2.5s by niecza
08:56 moritz btw, I just found a bug
08:57 moritz perl6 -e ''  # goes to the REPL
08:57 moritz perl6 -e '0'  # too
08:57 tadzik I sense a if %adverbs<if> somewhere
08:57 moritz nqp does that too
08:57 moritz tadzik: correct
08:57 tadzik erm, %adverbs<e>
08:57 moritz erm, meant to say, that's my suspicion too
08:59 moritz indeed, there is one in src/HLL/Compiler.pm
09:03 dalek nqp: 9e5f3e8 | moritz++ | src/HLL/Compiler.pm:
09:03 dalek nqp: -e "" and -e "0" should no go to the REPL
09:03 dalek nqp: review: https://github.com/perl6/nqp/commit/9e5f3e8973
09:06 * jnthn doesn't consider 0.8s a particularly good startup time, fwiw
09:07 daxim joined #perl6
09:08 dalek rakudo/nom: b4fcd22 | jnthn++ | src/Perl6/ (2 files):
09:08 dalek rakudo/nom: Unify loadlibs handling for BEGIN-time dynamic compilation and the normal compilation path.
09:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4fcd22d79
09:15 daniel-s joined #perl6
09:16 static_perl left #perl6
09:21 moritz evalbot rebuild nom
09:21 p6eval OK (started asynchronously)
09:22 dalek rakudo/nom: 977dd63 | jnthn++ | src/Perl6/SymbolTable.pm:
09:22 dalek rakudo/nom: Send dynamic compilation through the Perl6::Compiler pipeline, rather than calling PAST::Compiler directly, so we don't lose the various .includes. Fixes compilation issue reported by snarkyboojum++.
09:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/977dd63847
09:26 DarthGandalf joined #perl6
09:44 daniel-s joined #perl6
10:03 im2ee joined #perl6
10:03 im2ee hi! :)
10:05 daxim hello
10:09 jnthn o/ im2ee
10:10 * jnthn reluctantly puts the Rakudo hacking aside so he can get today's slice of $dayjob done
10:13 eiro you're not full time perl6 hacker ?
10:13 eiro well ... is there a full time hacker ?
10:14 jnthn eiro: No, I do quite a few other things too :)
10:16 eiro jnthn, perl developement related ? or at least you're using perl at work ?
10:17 jnthn eiro: Sometimes, but not all that often. But a bunch of my work isn't programming at all, and more architecture stuff. I teach now and then too.
10:18 jnthn Rakudo is usually the project I write the most code for in a week these days, though.
10:18 jnthn Well, Rakudo/NQP.
10:24 eiro ok
10:45 static_perl joined #perl6
11:06 kaleem joined #perl6
11:13 woosley joined #perl6
11:36 replore joined #perl6
11:40 Psyche^ joined #perl6
12:09 moritz http://tart.googlecode.com/files/TartIntro.pdf looks nice-ish
12:26 jnthn Hmm. Turns out that some time ago, the is_clearly_returnless optimization got made useless.
12:27 jnthn Which means that every infix:<+>(Int,Int) creates one more GCable than it need do so, for example.
12:28 jnthn Started on a patch over lunch...should get us another little bit off mandelbrot...and, well, everything else. :)
12:32 ingy o/
12:33 moritz \o
12:33 ingy <a> ** <b> # will match one or more a separated by b?
12:33 moritz correct
12:34 ingy how do I match 0 or more....
12:34 moritz short for <a> [<b> <a>]*
12:34 moritz [<a> ** <b>]?
12:34 ingy k, that's what I thought
12:35 ingy <a> [<b> <a>]* seems like it produce a different ast
12:35 ingy I'm adding ** to pegex, btw
12:36 fhelmberger joined #perl6
12:36 ingy https://github.com/ingydotnet/pegex-pgx/blob/master/pegex.pgx is now self hosting!
12:37 moritz fwiw I find it a unfortunate that <regex> ** 1..3  and <regex> ** <other_regex> use the same syntax for slightly different things
12:38 ingy but could be slightly better with ** and sigspace handling
12:38 moritz people sometimes get the range syntax wrong (like forgetting the last number, of thinking it means "Inf" if they leave it off)
12:38 ingy moritz: +1 on that
12:38 moritz and then it's not an error, but interprets the range as the separator regex
12:39 ingy I think I will use ** for <a> ** <b> but something else for ranges
12:39 ingy <a>1,3 comes to mind
12:39 moritz ingy: so far I didn't have any success convincing @larry (and I didn't know what other syntax to use), but it's nice that you don't fall into the same trap
12:40 ingy but I don't need that yet :)
12:40 moritz well, <a>1,3 only works if you limit the first term to subrule calls
12:40 flussence so is "1..*" a range or a rx:p5/\d . .*/x in that context? do we need to write 1..Inf instead?
12:40 moritz ie if you write  \w31,42  it's ambiguous
12:40 moritz flussence: 1..* is a range
12:41 moritz maybe <a> *!* 1..3 # dies if the RHS is not a proper range
12:41 ingy moritz: pegex puts regexes in //
12:41 moritz or ***
12:41 ingy it's not p6 :)
12:41 ingy so /<WORD>/1,3
12:42 moritz still looks like two terms in a row
12:42 moritz ie both /<WORD>/ and 1,3 looks termish to me
12:42 moritz (it's probably easy to distinguish, but still leaves me uneasy)
12:43 ingy pegex only has a few primitives:
12:43 flussence (why can't we do +** and ~** to disambiguate like normal p6 operators?)
12:44 moritz flussence: wfm
12:44 ingy a: <b> [ <c> | /d/ | `e` ] ** <f>  # is everthing except prefix and suffix sigils, which are...
12:45 donri joined #perl6
12:45 ingy a: !<b> =<c> .<d> -<e> <f>? <g>* <h>+   # so far...
12:45 ingy .
12:46 moritz what do the prefixes mean?
12:47 dalek rakudo/nom: 6629ed7 | jnthn++ | src/Perl6/Actions.pm:
12:47 dalek rakudo/nom: A while ago we had a way to check if a routine was obviously never going to use return, and thus didn't need a return handler (a worthwhile saving). It accidentally got broken, and its analysis was a little simplistic. This makes it work again; it probably also doubles up as our 'should we be able to inline this routine' check.
12:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6629ed7acb
12:48 ingy <x> is subrule; | is alternation; [ ] is group; // is pcre-regex; `` is error; ! is neg assert; = is pos assert; . is ignore in ast; - is pass up in the ast without rule name
12:48 jnthn moritz: ^^ looks like it may give another second or two off mandelbrot ;)
12:49 * moritz will see
12:49 ingy trying to borrow sensible things from P6R, P:RD, and Rx:G
12:50 woosley joined #perl6
12:50 moritz soo -<x> makes $x.ast the ast of the current rule?
12:51 ingy I was toying with ** to mean _zero_ or more in a list and ++ to mean 1 or more
12:51 ingy also
12:51 ingy a: ... # explicit ws
12:52 ingy a:: ... # use .<ws>* everywhere
12:52 ingy a:myws: ... # use .<myws>*
12:52 ingy moritz: um...
12:53 moritz ingy: ++ is already taken in p5, might confuse people (+ plus backtracking surpression)
12:53 moritz ingy: or what does "pass up in the ast without rule name" mean?
12:54 ingy x: <y>; y: /O HAI/; would return {x => { y => 'O HAI' }}
12:55 ingy x: -<y>; y: /O HAI/; would return {x => 'O HAI' }
12:55 moritz ok, that was basically what I meant :-)
12:55 ingy x: .<y>; y: /O HAI/; would return {x => undef }
12:55 jimmy1980 joined #perl6
12:56 ingy moritz: pegex grammars compile to https://github.com/ingydotnet/pegex-pgx/blob/master/pegex.pgx.yaml
12:56 * moritz no good at reading YAML
12:57 ingy read the json then :)
12:57 ingy https://github.com/ingydotnet/pegex-json-pgx/
12:57 ingy another grammar
12:58 ingy the goal is to write DSLs (like say JSON or Perl 6 ;) and have them work in any language
12:58 moritz jnthn: 55.7s
12:59 ingy TestML is written in Pegex and Pegex is tested with TestML
13:00 ingy https://github.com/ingydotnet/pegex-json-pm is a json parser P5 module with tests in TestML so that it will work in Python when Pegex and TestML do
13:01 ingy ie next week at OSDC
13:01 Holy_Cow joined #perl6
13:01 ingy Holy_Cow!
13:01 moritz sounds nice
13:01 ingy (sorry, couldn't resist)
13:02 ingy when the toolchain builds up we could try writing a toy P6 implemenation in P5 with it
13:02 JimmyZ joined #perl6
13:02 PerlJam ingy: It sounds like you're trying for similar goals as parrot, but directly with HLLs
13:03 PerlJam (as far as interoperability goes that is)
13:03 bluescreen10 joined #perl6
13:03 jnthn moritz: Down from...58ish?
13:03 ingy well I will have a real toy (C'Dent) that will compile a p6 module to any language (including PIR, PerlJam :) next week at OSDC.fr
13:03 moritz jnthn: yes
13:03 jnthn moritz: OK, small but worth having.
13:04 ingy dukeleto: helped me write a PIR backend for the C'Dent toy last summer (which has a P6, Py and JS front ends)
13:04 moritz PerlJam: well, parrot requires a HLL compiler for interop, ingy's stuff requires the code to be written in a special language (or a special subset of an existing language)
13:05 ingy moritz: correct
13:05 ingy C'Dent is defined as an in memory AST
13:05 PerlJam Well, DSLs are all the rage these days anyway :)
13:05 ingy which can produce equiv native code modules in 15 langs
13:06 PerlJam 15?!?
13:06 ingy I think so
13:06 PerlJam which?
13:06 ingy one sec
13:06 snarkyboojum BF? :D
13:06 PerlJam ingy++ for the shear brilliant craziness!
13:06 ingy cdent: error: option --to: invalid choice: 'x' (choose from 'pm', 'py', 'php', 'rb', 'js', 'scala', 'tcl', 'java', 'as', 'pm6', 'py3', 'go', 'pir', 'nqp', 'pyc', 'cd.yaml')
13:07 ingy 16 kinda
13:07 PerlJam where's haskell?  ;)
13:08 ingy http://cdent.org/examples/hello-world/
13:08 ingy PerlJam: want commit? :)
13:09 PerlJam ingy: I think not.  my commit bit would most likely just rot
13:09 pernatiy joined #perl6
13:09 ingy moritz: I'll prolly just use [ <a> ** <b> ]?
13:10 Holy_Cow left #perl6
13:10 ingy but it seems so common :(
13:10 moritz ingy: it isn't
13:11 moritz ingy: if you write grammars that produce good error messages on parse failures, you need to do much more for parsing a delimited list
13:11 ingy the json grammar wants it
13:11 ingy hmm
13:11 moritz I know
13:11 ingy I'll take your word for it for now :)
13:11 moritz but json also doesn't allow trailing commas
13:12 ingy which is perfect
13:12 ingy does <a> ** <b> allow trailing <b>?
13:12 * PerlJam idly wonders if pegex does or will have an equivalent to P6's ~
13:12 moritz ingy: no
13:13 PerlJam ingy: no
13:13 ingy PerlJam: what is it?
13:13 tadzik ingy: you missed vala
13:13 ingy so that would be perfect for json, right?
13:13 PerlJam ingy: <a> <b> ~ <c>  ==  <a> <c> <b>   Useful when <a> and <b> are delimiters
13:13 ingy hi tadzik
13:13 ingy vala?
13:13 tadzik hello ingy
13:13 tadzik yeah, on the list you poste
13:13 tadzik d
13:14 moritz <a> ~ <b> <c>   is short for <a> <c> [<b> || <.panic('Unable to find closing <b>: $linenumber')> ]
13:14 tadzik we implemented vala on the yapc
13:14 ingy oh right
13:14 ingy looks like we forgot a part
13:14 moritz very useful for things like   '(' ~ ')' <statementlist>
13:15 PerlJam ingy: listen to moritz, he gets it righter than me this morning  :)
13:16 moritz that's because it's not morning for me anymore :-)
13:16 ingy :D
13:16 ingy 15:16 here
13:16 tadzik same here
13:16 PerlJam aye, and I haven't had my caffiene yet either
13:16 moritz here too
13:16 ingy PerlJam: better get on that
13:17 * ingy is at liz+wendy's house in .nl
13:23 _ilbot joined #perl6
13:23 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!
13:43 ilyuhan joined #perl6
13:59 snarkyboojum what's the easiest way to go about debugging something like Perl6/ModuleLoader.pm ?
14:02 _sri joined #perl6
14:04 moritz add nqp::say() calls o it
14:04 moritz *to
14:04 snarkyboojum moritz: cheers
14:04 moritz or write an NQP debugger, and use it :-)
14:04 snarkyboojum moritz: let me just whip one up :P
14:05 jnthn say(...) is fine in NQP
14:05 jnthn (won't get confused with Perl 6 say)
14:06 PerlJam snarkyboojum: what makes you think there's a problem with Perl6/ModuleLoader.pm?
14:06 snarkyboojum for the life of me I can't work out why panda bootstrap.sh can't find Shell::Command.. I've simulated the same thing.. setting PERL6LIB in a shell script prior to running the perl6 executable, and it works :|
14:06 snarkyboojum so no need to debug ModuleLoader.pm now really ;)
14:06 moritz snarkyboojum: does it pick up right perl6 executable?
14:07 snarkyboojum I have a single perl6 available in the path which is a symlink to the built rakudo, so I'm assuming so
14:07 snarkyboojum o
14:07 moritz did you 'make install'?
14:07 snarkyboojum yep
14:08 snarkyboojum I've simulated the same thing.. shell script setting PERL6LIB and calling perl6 which loads an empty module, and it works, but not for good ol' panda :|
14:08 snarkyboojum has anyone else tried using panda recently? :D
14:09 tadzik I did try :P
14:09 snarkyboojum tadzik: I thought you might - you don't have Shell::Command installed in ~/.perl6/lib or something by any chance?
14:09 tadzik hmm
14:09 tadzik I seem to have
14:09 snarkyboojum because that works for me
14:09 snarkyboojum but the bootstrapper doesn't assume that..
14:10 snarkyboojum and I'd rather not manually copy modules around to get it to work..
14:10 tadzik ok, now I get Could not find Shell::Command in any of: lib, /home/tadzik/src/perl/panda/ext:/home/tadzik/src/perl/panda/lib, /home/tadzik/.perl6/lib, and so
14:10 snarkyboojum ah - excellent :)
14:10 snarkyboojum me too
14:10 flussence me three!
14:10 tadzik clearly it did not pick up PERL6LIB
14:10 snarkyboojum aye
14:12 flussence that colon is confusing it somehow.
14:12 snarkyboojum flussence: oh - was wondering that
14:12 flussence rakudo should split that on its own
14:12 flussence I'm guessing...
14:12 snarkyboojum which colon?
14:12 moritz is that nom or master?
14:12 flussence in PERL6LIB= in bootstrap.sh
14:12 flussence fresh nom here
14:12 snarkyboojum moritz: I'm running nom
14:13 snarkyboojum flussence: right
14:13 moritz correct, nom doesn't seem to do the splitting yet
14:13 snarkyboojum I thought PERL6LIB as an env var would be platform dependent - i.e. rakudo wouldn't do the splitting… ?
14:13 flussence unless it's been changed to some other delimiter...?
14:13 snarkyboojum I guess it has to :|
14:14 snarkyboojum but then why is the error message splitting the lib folders correctly
14:14 snarkyboojum e.g. Could not find Shell::Command in any of: lib, /Users/adrian/Development/Perl6/panda/ext:/Users/adrian/Development/Perl6/panda/lib, /Users/adrian/.perl6/lib
14:14 flussence (anyway bootstrap.sh itself can be a lot shorter now that ./lib is part of the default search path: "PERL6LIB=ext perl6 bin/panda install .")
14:14 snarkyboojum etc
14:14 moritz snarkyboojum: it doesn't
14:14 snarkyboojum moritz: no?
14:14 snarkyboojum oh bugger
14:15 snarkyboojum right
14:15 moritz snarkyboojum: the first path has a : in it
14:15 snarkyboojum :)
14:15 moritz the rest are WS separated
14:15 snarkyboojum kinda missed that
14:15 moritz @INC.push(%ENV<PERL6LIB>.split($VM<config><osname> eq 'MSWin32' ?? ':' !! ';')) if %ENV<PERL6LIB>;
14:15 moritz the condition is inverted, no?
14:15 flussence er... yes.
14:15 moritz should be ';' !! ':'
14:15 snarkyboojum yep
14:15 snarkyboojum true that!
14:15 * moritz fixes
14:16 snarkyboojum what a team :)
14:16 * flussence has no idea what win32's separator is so I'll just agree with everyone else there :)
14:16 moritz I'm pretty sure that linux' separator is not ; :-)
14:18 daxim need's mo' onfig
14:18 daxim damn you, chat client
14:18 dalek rakudo/nom: 10d9ee6 | moritz++ | src/core/terms.pm:
14:18 dalek rakudo/nom: fix PERL6LIB separator
14:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10d9ee6519
14:18 daxim need's mo' %Config
14:20 snarkyboojum even worse, I think the path separator can be set on the environment...
14:20 snarkyboojum anyway - that'll fix it.. thanks moritz++ :)
14:20 flussence anyone who does that deserves to keep the pieces :)
14:21 snarkyboojum gotta love sniffing osname and munging stuff like that tho :)
14:21 alester joined #perl6
14:22 snarkyboojum tadzik: now i should be able to get to the json panda blocker ;)
14:22 tadzik :)
14:22 snarkyboojum 2 down.. n to go ;)
14:26 moritz well, if all the other n fixes turn out to be so easy... :-)
14:27 domm joined #perl6
14:28 snarkyboojum excellent :) it works.. I now get 'protoregexes not yet implemented at line 10, near ";\ntoken va"' - as planned
14:29 snarkyboojum what happened to kickarse error messages telling us which file the error occurred in? Or did I imagine that..
14:29 moritz snarkyboojum: we never had file names in parse errors
14:29 moritz snarkyboojum: only in runtime errors
14:30 snarkyboojum moritz: aww.. I always thought they were a little more usable..
14:31 snarkyboojum so this is in JSON::Tiny::Grammar - so is that truly NYI in nom?
14:32 tadzik yes
14:32 snarkyboojum okydoke
14:33 moritz (not even beijing/old master had file name in parse errors)
14:33 moritz b: 1 1
14:34 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Confused at line 22, near "1 1"␤»
14:34 moritz see, only a line number
14:34 moritz std: 1 1
14:34 p6eval std bb4f150: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/CCd4o8Tp4G line 1:â�¤------> [32m1 [33mâ��[31m1[0mâ�¤    expecting any of:â�¤ bracketed infixâ�¤        infix or meta-infixâ�¤    statement modifier loopâ�¤Parse failedâ�¤FAILED 00:01 119mâ�¤Â»
14:34 sorear good * #perl6
14:34 moritz \o sorear
14:34 moritz TCIF
14:35 snarkyboojum just tried Niecza, and it seems it can't find Shell::Command :)
14:35 moritz where does niecza look for modules?
14:36 snarkyboojum haven't dug into that yet
14:36 snarkyboojum the author must know :)
14:36 sorear jnthn: yeah.  I won't be happy until Rakudo or Niecza has an unmeasurably low startup time like Perl 5... (time perl -e '' reports 1-3 1/HZ, which seems quite unreliable)
14:36 snarkyboojum unmeasurably low startup times sound rockin'
14:37 moritz snarkyboojum: huh? it reliably gives real    0m0.005s here
14:37 moritz sorry, meant sorear
14:37 * moritz should not type s<tab>
14:38 sorear moritz: the current directory, $COMPILER_ROOT/lib, and anything specified with -I
14:39 moritz one could always not load the setting if the argument to -e is empty... :-)
14:39 snarkyboojum -l is an undocumented switch?
14:40 moritz -I is known from perl 5
14:40 moritz (capital i, not small l )
14:40 snarkyboojum oh
14:40 snarkyboojum so, undocumented ;)
14:42 sorear huh, so it is.
14:42 sorear oversight
14:42 * sorear files a bug so ey will not forget
14:43 moritz current S19 even forbids -Ifoo, iirc
14:44 moritz (it doesn't allow single-letter options with arguments but without space)
14:44 * moritz will have a hard time getting used to that, and no doubt others will too
14:44 sorear yeah I don't put much faith in S19
14:45 sorear niecza's command parser was written to the getopt_long(3) documentation
14:45 snarkyboojum I enjoy that Niecza tells me the exact line no and file it has issues with
14:45 snarkyboojum but it has other issues with panda unfortunately
14:45 sorear ...rakudo doesn't?
14:45 snarkyboojum just the line number
14:46 snarkyboojum "protoregexes not yet implemented at line 10, near ";\ntoken va"" vs "$source is declared but not used at /Users/adrian/Development/Perl6/panda/ext/Shell/Command.pm line 14:"
14:46 moritz for parse time errors we don't know the file name :(
14:46 moritz snarkyboojum: that's just a warning
14:46 snarkyboojum moritz: ok ;)
14:47 snarkyboojum Niecza gives me line numbers without a filename too :) Undeclared routines: 'mkdir' used at line 43
14:47 snarkyboojum or perhaps I'm not reading the info I'm given properly
14:48 moritz std: foo
14:48 p6eval std bb4f150: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'foo' used at line 1�Check failed�FAILED 00:01 117m�»
14:48 moritz std omits it too
14:49 snarkyboojum I guess std isn't being used to run and debug code using modules and other libraries? or is it?
14:50 moritz it's not
14:54 snarkyboojum in this case Niecza doesn't know about mkdir and unlink etc which is part of the core setting in rakudo
14:54 snarkyboojum but well played I say :)
14:55 moritz snarkyboojum: open tickets at https://github.com/sorear/niecza/issues
14:56 snarkyboojum moritz: even for NYI stuff?
14:56 snarkyboojum ok
14:58 JimmyZ joined #perl6
14:58 snarkyboojum I see your point about std not giving line numbers.. it seems neither rakudo or Niecza does for parse errors..
14:59 snarkyboojum I'm a bit slow here atm, very early Sat morning in Oz ;)
15:00 snarkyboojum how many tests does nom pass c.f. ng (old master).. much regression?
15:01 tadzik c.f.?
15:01 flussence about 15k
15:01 snarkyboojum "compared with"
15:01 flussence ng had about 21k
15:01 tadzik yes
15:02 snarkyboojum almost 30% less eh
15:02 mkramer left #perl6
15:02 flussence This is where we're at now... it seems to have hit a plateau: https://github.com/flussence/specgraphs/raw/d5461e0b5121a81f216d18b2a1e07280476a010e/output/rakudo-tests.png
15:02 snarkyboojum I wonder if that's a function of turning on tests, or missing functionality :)
15:03 snarkyboojum does Niecza run the standard test suite yet?
15:03 tadzik yes
15:03 snarkyboojum sweet - so there's a point of comparison
15:03 flussence it does, but for some reason prove dies for me when I try it :(
15:04 snarkyboojum t/run_spectests?
15:04 tadzik possibly
15:04 snarkyboojum this is awesome tho
15:06 mkramer1 joined #perl6
15:06 snarkyboojum t/fudgeandrun seems to point to a non-existent t/spec/fudge
15:06 flussence you need to clone roast into t/spec first
15:06 snarkyboojum oic
15:07 sayu joined #perl6
15:07 snarkyboojum how was I supposed to work that out? :D
15:07 mkramer1 left #perl6
15:09 thou joined #perl6
15:10 miso2217 joined #perl6
15:11 snarkyboojum would it make sense for the spectest make target to checkout the spectest as per rakudo?
15:11 TimToady obviously we all need to switch to GFS ;)
15:12 snarkyboojum TimToady: did you just use the G word?
15:12 TimToady I meant git, not google or global
15:12 snarkyboojum oh!
15:12 snarkyboojum :)
15:13 snarkyboojum w00t .. Niecza spectest is working :)
15:13 snarkyboojum should add a roast checkout to the spectest make target tho ;)
15:16 snarkyboojum man, how far has Niecza come
15:16 snarkyboojum quite incredible
15:16 * sorear has t/spec symlinked to a roast checkout elsewhere
15:16 snarkyboojum sorear: fair enough - not obvious to a newbie like me that I have to manually check it out tho
15:16 sorear I wonder why I didn't just have t/spec be a roast checkout.  Probably a git clean issue
15:19 flussence probably - git clean doesn't recurse into other git trees
15:20 snarkyboojum just git clean the t/spec tree separately?
15:25 snarkyboojum For the record, and I know I'm preaching to the converted, but this whole Perl 6 thing is very special.. not just the language, but primarily the community.. the availability of people who'd normally be cloistered in an ivory tower, and the openness. Pretty darn cool imo.
15:25 snarkyboojum </emo> :D
15:26 colomon joined #perl6
15:27 jimmy1980 joined #perl6
15:30 woosley joined #perl6
15:31 MayDaniel joined #perl6
15:33 wolfman2000 joined #perl6
15:36 uasi joined #perl6
15:38 Sarten-X joined #perl6
15:41 sorear hahaha.
15:42 Woodi how in perl6 do s/^(.)/[$1]/ eg: option -> [o]ption ?
15:43 sorear s/^(.)/[$0]/
15:43 thou joined #perl6
15:43 TimToady but doesn't work right in rakudo yet, methinks
15:43 sorear niecza: $_ = 'option'; s/^(.)/[$0]/; say $_
15:43 Woodi it work ? :)
15:43 p6eval niecza v9-30-g2b3ba1c: OUTPUT«[o]ption␤»
15:43 sorear TimToady: masak just filed a bug to the effect that it works in niecza
15:44 Woodi it will stay in perl6 ?
15:44 sorear TimToady: specifically he's complaining about $/ being changed by .subst.  Do you know offhand where I should point him?
15:44 cosimo rakudo: my $x = "option"; $x =~ s/^(.)/[$0]/; say $x;
15:44 p6eval rakudo 10d9ee: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at line 1, near " s/^(.)/[$"␤»
15:44 cosimo ah, a few weeks, and I don't remember anything anymore... :-|
15:45 Woodi thanks sorear++ :)
15:45 TimToady certainly it will stay in P6
15:45 TimToady if matches can change $/, so can substs
15:47 masak joined #perl6
15:47 * sorear is at a loss for google-keywords to find the old Rakudo subst/$/ discussion on perlgeek.de
15:47 masak TimToady: I don't like .subst clobbering $/
15:47 phenny masak: 01:53Z <sorear> tell masak You apparently missed moritz_ bringing up 'Match.ast' earlier
15:47 phenny masak: 01:54Z <sorear> tell masak this behavior is obviously LTA, but without a definition of "expected behavior" I can't call it a bug.  Needs discussion
15:47 masak TimToady: as in, really don't like it.
15:47 masak TimToady: reason: .subst is idempotent. it's the functional version of s///
15:48 snarkyboojum cosimo: o/ - still in Melbourne?
15:48 masak TimToady: when I call it, I don't *expect* $/ in the current scope to be clobbered.
15:48 TimToady s/// is not functional
15:49 jnthn TimToady: I think masak++'s point was that s/// is not but .subst should be.
15:49 masak yes.
15:49 sorear o/ masak
15:49 TimToady I was being asked about s///
15:49 masak sorear \o
15:49 masak TimToady: in Niecza, .subst clobbers $/ in current scope.
15:50 TimToady it would be nice if it could clobber $/ in the replacement closure's scope without having to pass it as a parameter *every* *time*
15:50 masak aye.
15:51 sorear strawman: have .subst set $/ in the calling scope, but restore the original value on return
15:51 masak something like that.
15:51 TimToady well, but then we start needing the concept of single ownership :)
15:53 TimToady it's like the caller's $/ is an implicit rw param to .subst
15:53 TimToady is what I mean
15:53 am0c joined #perl6
15:53 TimToady but that's sorta what rw dynvars are, except everyone own's 'em
15:56 * TimToady has not yet consumed sufficient caffeine to puzzle this through...
15:58 dukeleto joined #perl6
15:59 * masak decommutes
16:00 dukeleto joined #perl6
16:04 ggoebel joined #perl6
16:16 jimmy1980 joined #perl6
16:24 [particle] joined #perl6
16:26 MayDaniel joined #perl6
16:44 Reaganomicon joined #perl6
16:47 aindilis joined #perl6
16:49 * jnthn thinks he's found his multi cache bug from last night.
16:54 plobsing joined #perl6
16:56 Woodi joined #perl6
16:56 silug joined #perl6
16:59 dukeleto joined #perl6
17:01 onlineamateur joined #perl6
17:03 dalek rakudo/nom: 946deda | jnthn++ | src/binder/multidispatch.c:
17:03 dalek rakudo/nom: Be sure to decontainerize values before trying to use the type cache ID in the mutli-dispatch, otherwise we just get the type cache ID of Scalar (d'oh!). Enable multi-dispatch cache, which brings some performance gains.
17:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/946deda010
17:06 jnthn ...and brings spectest runs in just under the 3 minute mark here. \o/
17:16 vlixes joined #perl6
17:20 diakopter jnthn: wow
17:20 phenny diakopter: 04:27Z <moritz> tell diakopter seems that a feather ugprade broke some perl dependencies on feather; working on it...
17:20 phenny diakopter: 04:33Z <moritz> tell diakopter fixed.
17:20 sorear seems I'll be ditching the BValue optimization, maybe
17:20 sorear jnthn: nice
17:20 diakopter moritz: cool thanks
17:21 lichtkind joined #perl6
17:21 TimToady are there any known segv bugs I should be avoiding in my 800 line program?
17:22 jnthn TimToady: In nom?
17:22 TimToady yes
17:22 sorear well, try not to overflow the C-stack...
17:22 TimToady it moves around, so it's probably corruption of some sort
17:22 jnthn TimToady: I don't have any known segfaults at present. The one tadzik++ had reliably reproducable got fixed the other day...
17:23 sorear nom: sub foo($x = foo) { }; foo
17:23 sorear rakudo: sub foo($x = foo) { }; foo
17:23 p6eval nom 10d9ee: OUTPUT«(timeout)maximum recursion depth exceeded␤»
17:23 p6eval rakudo 10d9ee: OUTPUT«(timeout)maximum recursion depth exceeded␤»
17:23 jnthn sorear: That won't blow the C stack, Parrot uses CPS.
17:24 jnthn Oh...though it's a default arg so I guess it's nested runloop...
17:24 sorear jnthn: yes it will, sub defaults are called on an inferior runloop
17:24 jnthn Inferior runloops for the fail.
17:24 jnthn TimToady: Sometimes a gdb backtrace or two gives me a good hint.
17:25 * sorear wonders what TimToady++ is writing
17:25 jnthn But if it is a corruption one then they're trickier to find.
17:26 TimToady oh, it's just my quiz editing program from last year, works fine (if slowly) on ng
17:26 TimToady seems close to working, after I did the workarounds I mentioned last night
17:26 TimToady nom: / $x /  # that one, for instance
17:26 p6eval nom 10d9ee: OUTPUT«===SORRY!===␤Method 'rxtype' not found for invocant of class 'PAST;Regex'␤»
17:27 TimToady and the absense of autoviv
17:27 Sarten-X joined #perl6
17:27 TimToady oh, and the mishandling of // in void and boolean context
17:29 jnthn The autoviv I may be able to fix up. The regex stuff could kinda use a pmichaud++ though.
17:30 TimToady nom: $_ = 'abc 01'; /'abc ' (\d+)/ and say $0
17:30 p6eval nom 10d9ee: OUTPUT«Nil␤»
17:30 TimToady nom: $_ = 'abc 01'; m/'abc ' (\d+)/ and say $0
17:30 jnthn nom: $_ = 'abc 01'; /'abc ' (\d+)/.Bool; say $0
17:30 p6eval nom 10d9ee: OUTPUT«01␤»
17:30 p6eval nom 10d9ee: OUTPUT«Nil␤»
17:30 jnthn nom: $_ = 'abc 01'; say /'abc ' (\d+)/.Bool
17:30 p6eval nom 10d9ee: OUTPUT«Bool::True␤»
17:31 jnthn nom: $_ = 'abc 01'; say /'abcdef ' (\d+)/.Bool
17:31 p6eval nom 10d9ee: OUTPUT«Bool::True␤»
17:31 jnthn ah, no method Bool in Regex...
17:32 TimToady nom: $_ = 'abc 01'; /'abc ' (\d+)/; say $0
17:32 p6eval nom 10d9ee: OUTPUT«Nil␤»
17:32 TimToady that also fails
17:32 jnthn ng: $_ = 'abc 01'; /'abc ' (\d+)/; say $0
17:32 moritz that one needs automagic .sink, I think
17:32 jnthn b: $_ = 'abc 01'; /'abc ' (\d+)/; say $0
17:32 p6eval b 1b7dd1: OUTPUT«Any()␤»
17:32 jnthn moritz: Right.
17:32 jnthn Oh.
17:32 jnthn We have PAST::Want now...
17:33 jnthn Wonder if that helps.
17:34 TimToady niecza: $_ = 'abc 01'; /'abc ' (\d+)/; say $0
17:34 p6eval niecza v9-30-g2b3ba1c: OUTPUT«Any()␤»
17:34 masak joined #perl6
17:34 masak lol hi again
17:34 TimToady ooh, bug?
17:34 TimToady niecza: $_ = 'abc 01'; /'abc ' (\d+)/ and say $0
17:34 p6eval niecza v9-30-g2b3ba1c: OUTPUT«#<match from(4) to(6) text(01) pos([].list) named({}.hash)>␤»
17:34 jnthn lolitsmasak!
17:34 masak lol!
17:35 masak it's jnthn!
17:36 jnthn :P
17:36 sorear "what, you mean jnthn isn't a pmichaud?"
17:36 JimmyZ lolits*!
17:36 masak :P
17:36 jnthn sorear: I...didn't yet learn QRegex guts. :)
17:36 sorear TimToady: maybe bug maybe not
17:36 sorear TimToady: you have a Regex object in void context there.
17:36 TimToady from a p5 viewpoint, certainly a bug
17:37 sorear TimToady: I don't recall anything in the spec saying regexes execute in void context, but even if there was, niecza doesn't really do void context yet
17:37 masak JimmyZ: 中国人是纠正我的lolcat水平。 ^^
17:37 sorear a single 'm' will improve the situation
17:37 TimToady that's a workaround, not a fix :)
17:38 JimmyZ masak: I can't follow you ....
17:38 jnthn > $_ = 'abc 01'; /'abc ' (\d+)/ and say $0
17:38 jnthn 01
17:38 masak JimmyZ: I might've botched it up :/
17:38 jnthn masak: I understood "Chinese people" and "lolcat" :P
17:38 masak JimmyZ: meant to say, "A Chinese guy is correcting my lolspeak".
17:39 JimmyZ masak:  nope,  * means Whatever, which is Perl 6 :)
17:39 sorear 水平 is a very odd construction for that
17:39 masak ooooooohh
17:39 sorear coming of water, really?
17:39 * sorear wonders how it idomatically translates
17:39 TimToady not come
17:39 masak sorear: 平 isn't 'come'.
17:40 TimToady it's level
17:40 TimToady or even
17:40 masak it's "plain".
17:40 masak right, even.
17:40 JimmyZ 水平线
17:40 pernatiy joined #perl6
17:40 JimmyZ which means a level
17:40 moritz jnthn: method True() { self.ACCEPTS(pir::find_caller_lex__Ps('$_')) } # does your patch look roughly like this?
17:40 sorear erm.
17:40 masak JimmyZ: Google Translate probably went for "English level" or something, then.
17:41 * sorear needs to study much more hanzi
17:41 JimmyZ 水平 is completely different from 水平线
17:41 TimToady waterline?
17:41 jnthn moritz: No
17:41 jnthn moritz: I think that'd set the wrong $/
17:41 jnthn moritz: Just pushed fine
17:42 dalek rakudo/nom: 6f801ee | jnthn++ | src/core/Regex.pm:
17:42 dalek rakudo/nom: Implement Regex.Bool (TimToady++ for noticing it was missing).
17:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6f801ee6b6
17:42 JimmyZ but they are the same origin, just like a role :)
17:42 moritz jnthn: btw, 51s for the mandelbrot thing
17:42 jnthn moritz: Get some new passing TODOs also :)
17:42 masak perl6: sub is-a-palindrome($_ is copy) { s:g/\W//; $_ eq .lc }; say is-a-palindrome "Dammit, I'm mad!"
17:42 p6eval pugs: OUTPUT«*** ␤    Unexpected "-"␤    expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block␤    at /tmp/kikl0O2RsD line 1, column 7␤»
17:42 p6eval ..rakudo 10d9ee, niecza v9-30-g2b3ba1c: OUTPUT«Bool::False␤»
17:42 kaleem joined #perl6
17:42 * sorear 's brain interpreted 平 as 来
17:42 masak dammit.
17:43 jnthn nom: say "lol really ng, I run mandelbrot { (60 * 16 + 14) / 51 } times faster than you!"
17:43 p6eval nom 10d9ee: OUTPUT«lol really ng, I run mandelbrot 19.0980392156863 times faster than you!␤»
17:43 masak sorear: I once mixed up 平 and 半 on a test, and vowed never to mix them up again.
17:44 TimToady those are pretty easy to confuse
17:44 TimToady but the one on the right is obviously dividing something in half, and isn't level on top :)
17:44 JimmyZ 曰 and 日 are different
17:44 masak TimToady: that's my rule as well nowadays :P
17:44 masak I have a listing of characters which look like telephone poles: http://masak.org/carl/w/index.php/Characters_that_look_like_telephone_poles
17:44 JimmyZ :)
17:45 JimmyZ 曰 日日曰日曰曰日日日曰日日曰曰曰曰日日
17:46 TimToady masak: don't forget 耒  :)
17:46 masak ;)
17:46 sorear let me guess, that's a grammatical sentence
17:46 masak JimmyZ: looks like a Dr Who convention.
17:46 JimmyZ you will be confused with that
17:46 JimmyZ and me too
17:47 TimToady キ 㐄 专 ????
17:47 sorear does the first really count?  it's kana
17:48 TimToady 手 于
17:48 TimToady
17:48 TimToady
17:48 TimToady ????
17:48 * diakopter wishes he had fonts for those
17:49 cotto_work joined #perl6
17:49 masak perl6: sub is-a-palindrome($_ is copy) { s:g/\W//; .lc.flip eq .lc }; say is-a-palindrome "Dammit, I'm mad!"
17:49 p6eval rakudo 10d9ee, niecza v9-30-g2b3ba1c: OUTPUT«Bool::True␤»
17:49 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "-"␤    expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block␤    at /tmp/Bkki0VKIp0 line 1, column 7␤»
17:49 masak \o/
17:49 TimToady
17:49 TimToady I could go on :)
17:49 masak :)
17:50 * masak likes キ
17:50 masak I know exactly how that telephone pole feels :P
17:51 JimmyZ night
17:54 TimToady commuting &
17:54 sorear perl6: sub is-a-palindrome($_ is copy) { s:g/\W//; .lc ~~ .flip }; say is-a-palindrome "Dammit, I'm mad!"
17:54 p6eval rakudo 10d9ee, niecza v9-30-g2b3ba1c: OUTPUT«Bool::True␤»
17:54 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "-"␤    expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block␤    at /tmp/rlWAFHx3yA line 1, column 7␤»
17:55 masak sorear++
17:55 masak '~~ .flip' is a *really* nice way to say 'is a palindrome'
17:55 masak Dammit, I shoulda thought of that! :)
17:58 masak JimmyZ: 甜蜜的梦,卓明亮
17:59 xinming joined #perl6
17:59 masak "Like her world-famous big sister, Perl 6 intends to carry forward the high ideals of the Perl community." -- I just realized that this sentence talks about Perl 5 the *community*, not about Perl 5 the *language*.
17:59 masak that's interesting.
18:00 masak both have high ideals, for sure. but they're different high ideals.
18:00 daxim masak, “晚安”
18:01 masak dang!
18:01 masak I swear I knew that one. overreliance on GT bad! :(
18:01 daxim also, I had a list of like 1000 characters which are are like a continuum of similarity
18:02 daxim it drives me nuts.  it's like those people who confuse qw( p q d b ), only a hundred times worse
18:02 masak there's also a difference between "Perl 6 [the language] intends to carry forward the high ideals of the Perl community." and "Perl 6 [the community] intends to carry forward the high ideals of the Perl [5] community."
18:03 masak daxim: I once sent an email to the Unicode Consortium, telling them they got the wrong Mandarin pronunciation on a character. got a very polite email back saying "you've probably missed a stroke". I had. :/
18:04 daxim oh, self-pwn of the worst sort
18:04 PerlJam masak: are you proposing a rewrite of that sentence or just musing on the meaning?  :)
18:06 masak PerlJam: I'm just trying to figger out the original intent.
18:09 masak ah, here's the email: "We believe that you are confusing 褔 U+8914 (FU4) with 福 U+798F (FU2."
18:09 masak :/
18:10 jnthn "In summary, F U 2!"
18:10 Woodi joined #perl6
18:11 masak interestingly, the person who replied had a microsoft.com address.
18:11 * jnthn -> store
18:11 masak probably says something good about Microsoft's involvement in Unicode.
18:12 daxim you didn't learn the radicals, then
18:12 Tene joined #perl6
18:12 Tene joined #perl6
18:14 masak no, not enough at that point.
18:14 masak now I know that the one in 福 has to do with deity and the one in 褔 has to do with clothes.
18:15 daxim ah, found my backup.  here, knock yourself out:   http://paste.scsys.co.uk/144125?tx=on
18:19 nebuchadnezzar joined #perl6
18:19 masak daxim: nice list.
18:24 fhelmberger_ joined #perl6
18:28 TimToady well, it's not that simple
18:29 TimToady since there's also 礻 as well as 示
18:30 masak right.
18:30 TimToady it also doesn't help that 福/????福 are the most distorted characters on the planet
18:31 daxim what do you mean with distorted?
18:31 TimToady if you start looking for it, you'll see that character in pretty much every Chinese restaurant, but it'll be highly stylized in some way
18:32 daxim oh, that's just handwriting
18:32 masak sometimes it's upside down. and not by mistake, but because it's said to bring luck.
18:33 TimToady it's *not* just handwriting
18:34 TimToady the right side means "fulljar" and is often drawn as a jar, for instance
18:34 daxim 福到了 ↔ 福“倒”了
18:34 daxim it's a pun
18:35 * masak doesn't get it
18:36 daxim blessing has arrived (punctually for the new year/spring festival).  "arrived" sounds like "inverted"
18:36 daxim so write 福 upside down to convey this saying
18:37 masak ah!
18:37 masak hah!
18:39 moritz any objections to renaming S02-names_and_variables/ to S02-names-vars ?
18:39 sorear +1
18:39 masak go for it.
18:39 moritz I'll also rename some of the other long names
18:43 saaki joined #perl6
18:43 jnthn moritz: +1
18:51 molaf joined #perl6
18:53 Chillance joined #perl6
18:53 dalek roast: eae66cd | moritz++ | S0 (146 files):
18:53 dalek roast: mass rename; get rid of all top level underscores
18:53 dalek roast: review: https://github.com/perl6/roast/commit/eae66cd218
18:53 thou joined #perl6
18:56 dalek roast: 6c2152e | moritz++ | S (3 files):
18:56 dalek roast: rakudo unfudges
18:56 dalek roast: review: https://github.com/perl6/roast/commit/6c2152e0f6
18:57 Kivutarrr joined #perl6
18:58 moritz how can I see the renames of a git commit?
19:00 flussence git diff -M --summary eae66~1..eae66
19:01 moritz flussence++
19:01 masak renames aren't sourced in git. they're calculated information.
19:02 flussence `git show eae66 --find-renames --summary` is probably a better cmdline to use...
19:02 moritz I don't think I have to care about that, as a user :-)
19:02 flussence (didn't realise git-show took git-diff options)
19:02 dalek rakudo/nom: e1e0913 | moritz++ | t/spectest.data:
19:02 dalek rakudo/nom: track test file rename
19:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1e09131da
19:02 masak moritz: you probably don't, except insofar as "the renames of a git commit" don't exist, in the strictest sense.
19:03 masak flussence++ # it does? nice!
19:03 moritz masak: I don't care if it exists, as long as git tells me about them :-)
19:03 masak moritz: you have a point, and I see it. :)
19:04 flussence masak: the git-show manpage didn't contain "rename", which I found odd so I decided to experiment a bit and it worked :)
19:04 masak flussence: I also went looking at that manpage, and also drew a blank. didn't think to experiment, though :)
19:12 dalek niecza: 37fcc8d | moritz++ | t/spectest.data:
19:12 dalek niecza: track test file name changes
19:12 dalek niecza: review: https://github.com/sorear/niecza/commit/37fcc8df27
19:13 packetknife joined #perl6
19:22 mj41 joined #perl6
19:32 alvis joined #perl6
19:32 masak chromatic++ # http://www.modernperlbooks.com/mt/2011/09/why-novice-programmers-cant-program-and-how-to-fix-it.html
19:32 masak chromatic, if you're reading this: s/ceteris paribis/ceteris paribus/
19:38 masak also, the aside about Wikipedia sounds overly bitter...
19:43 itz joined #perl6
19:51 masak anyway, good post.
19:52 masak I'm wondering how much of a correlation there is between leaving newbiehood and entering the Perl community as an active member -- and whether there's causation in any direction involved, too.
19:53 mj41 joined #perl6
19:53 carlin joined #perl6
19:55 im2ee Good night !:)
19:55 masak im2ee: n
19:55 masak hah! :)
20:01 dukeleto joined #perl6
20:05 miso2217 joined #perl6
20:05 localhost joined #perl6
20:17 diakopter jnthn: ping
20:20 jnthn diakopter: pong
20:21 diakopter jnthn: where in rakudo would Object hashes be implemented?  the setting?  6model?
20:23 jnthn diakopter: It may well need some "glue" at the 6model level to provide the VM abstraction for mapping an object to a hash value.
20:24 masak perl6: my @a = [<foo bar baz>]; say "foo" eq any @a[0]
20:24 p6eval rakudo e1e091: OUTPUT«any(False)␤»
20:24 p6eval ..niecza v9-31-g37fcc8d: OUTPUT«any(Bool::False, )␤»
20:24 p6eval ..pugs: OUTPUT«any(VBool False)␤»
20:24 diakopter on a related note, would Sets, KeySet, KeyBag etc be entirely in the setting (can someone implement them now without magic/glue help)?
20:25 masak perl6: my @a = [<foo bar baz>]; say "foo" eq any @a[0].list
20:25 p6eval rakudo e1e091: OUTPUT«any(True, False, False)␤»
20:25 p6eval ..niecza v9-31-g37fcc8d: OUTPUT«any(Bool::True, Bool::False, Bool::False)␤»
20:25 p6eval ..pugs: OUTPUT«any(VBool False)␤»
20:25 masak rakudo++ niecza++
20:25 jnthn We had Set back in ng, so I'm sure that one is possible.
20:25 moritz diakopter: if .WHICH works properly, that should be possible in the setting
20:26 diakopter what would it take to get .WHICH working in nom
20:26 Trashlord joined #perl6
20:26 jnthn The way we do it at the moment, implementing WHICH methods
20:27 jnthn nom: say 'xyz'.WHICH
20:27 p6eval nom e1e091: OUTPUT«19954560␤»
20:27 jnthn nom: say 'xyz'.WHICH; say 'xyz'.WHICH
20:27 p6eval nom e1e091: OUTPUT«23313280␤23313280␤»
20:27 * moritz thinks that should become Str:xyz  or so
20:27 jnthn nom: say ('xy' ~ 'z').WHICH; say ('xy' ~ 'z').WHICH
20:27 p6eval nom e1e091: OUTPUT«11953912␤68550888␤»
20:27 jnthn ah, that's...very wrong.
20:27 moritz though the specs say that there's a special type for .WHICH
20:27 diakopter ObjAt
20:28 jnthn moritz: Yeah...
20:28 moritz jnthn: right, .WHICH needs to be overridden for value types
20:28 masak moritz: just declare Int a special type :P
20:30 * masak removes all the debug statements from the grammar he just got working in Niecza... and things break again
20:30 masak oh, hello LTM! nice to meet you!
20:30 masak it will be a pleasure to get to know you better. :P
20:30 jnthn It looks like Hash_key_type_PMC exists in Parrot hashes
20:30 jnthn if (hash->key_type == Hash_key_type_PMC)
20:30 jnthn return VTABLE_hashvalue(interp, (PMC *)key);
20:31 jnthn In other words, we'd need to map hashvalue v-table to .WHICH
20:32 jnthn Though that's not really gonna give us a portable way to do it.
20:32 diakopter I'd postulate that a lot more of the setting could be written once such things worked correctly
20:32 jnthn diakopter: Indeed.
20:33 jnthn diakopter: It's totally worth doing. Just pondering the best/rightest way.
20:33 masak is {} the canonical way to say "declarative prefix ends here" in Perl 6 grammars?
20:33 jnthn masak: It seems like a popular one at least.
20:33 * masak does it
20:33 * jnthn checks what the spec says about ObjAt
20:34 masak I still don't see why and where I have to apply those, but applying them works.
20:34 * moritz thought there was some better way to end declarative prefixes, but can't remember it
20:35 masak moritz: maybe you're thinking of <!!before
20:35 masak STD.pm6 is fullofem.
20:35 masak whoa, that 'f' looks very weird when written together like that.
20:37 * moritz -> sleep
20:37 masak ooh, :: seems to work just as well.
20:38 masak and I don't have to put them at the very beginning of the rules, either. sometimes I can move them a bit inwards.
20:39 masak aah. livin' the Perl 6 dream :)
20:39 diakopter masak: drat; I almost mentioned :: earlier
20:40 jnthn diakopter: I'm pondering that as a first cut, ObjAt is a type that basically boxes a string
20:41 jnthn diakopter: Can be along the lines of "int:...", "str:..." for objects that care about identify
20:41 masak ooh, there's even a use-case in S05:2276 matching mine!
20:42 jnthn And then just an obj:address for anything else
20:42 diakopter for really long strings (or ints) wouldn't that use a lot of memory
20:43 jnthn Hm
20:43 jnthn Yeah. :/
20:43 jnthn That'd suck.
20:44 jnthn Guess though since strings are immutable, if ObjAt had a pair of native str slots (prefix, value) then at least the long string case could just point to the original...then I guess it's knowing how to make a hash value out of the two hash values of the parts.
20:45 jnthn It'd probably be far cheaper overall though.
20:45 diakopter maybe if the string was really long, the system-wide string internment/caching uses memory location since the string is cached
20:46 jnthn Maybe.
20:47 diakopter that'd be some work
20:47 jnthn Yeah...probably want something that Just Works At All and is going to be reasonably efficient for the first cut, I suspect.
20:48 jnthn Anyway, seems that any solution involves introducing an ObjAt type.
20:48 jnthn And implementing the various WHICHs that return that.
20:49 jnthn Then working out what the "glue" layer to the VMs "gimme a hash value" looks like.
20:49 diakopter .oO( wicked WHICH of the wrest )
20:49 jnthn :)
20:50 sorear this is giving me ideas
20:51 birdwindupbird joined #perl6
20:52 diakopter oh noes
20:54 dalek rakudo/nom: c8ebb4b | jnthn++ | src/ (5 files):
20:54 dalek rakudo/nom: Previously, a sub foo($x = 1) { ... } would generate a thunk that returned the 1. However, it's a literal, so it was kinda silly to do that. Now in these cases we just hand back the value. Good, since these show up in places like MapIter.REIFY.
20:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8ebb4b40b
21:00 alester joined #perl6
21:06 masak jnthn++
21:07 masak perl6: sub foo(Int $x = "foo") {}; say "this doesn't die at compile time"
21:07 p6eval niecza v9-31-g37fcc8d: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/LN8XmYT0a9 line 1:â�¤------> [32msub foo(Int [33mâ��[31m$x = "foo") {}; say "this doesn't die at[0mâ�¤  &foo is declared but not used at /tmp/LN8XmYT0a9 line 1:â�¤------> [32msub foo[33mâ��[31m(Int …
21:07 p6eval ..pugs, rakudo e1e091: OUTPUT«this doesn't die at compile time␤»
21:08 masak niecza: sub foo(Int $x = "foo") { say $x }; say "A"; foo()
21:08 p6eval niecza v9-31-g37fcc8d: OUTPUT«A␤Unhandled exception: Nominal type check failed in binding Int $x = "foo" in MAIN foo; got Str, needed Int␤  at /tmp/guqtcOXanL line 0 (MAIN foo @ 0) ␤  at /tmp/guqtcOXanL line 1 (MAIN mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2060 (COR…
21:08 masak I say catch it at compile time.
21:13 jnthn masak: Fairly easy to do
21:13 jnthn masak: Not sure where to put the check though.
21:17 sorear Is it really compile time, or :loadinit time?
21:18 jnthn sorear: Where I said I could catch it?
21:18 jnthn Compile time.
21:19 masak seems we would have all the information as soon as we've build the AST nodes for that part of the signature.
21:20 jnthn We don't build AST nodes for signatures really.
21:20 jnthn They're part of the model, not the AST.
21:21 dukeleto joined #perl6
21:25 jnthn masak: Anyways, if you want to try a patch for it, then maybe the easiest place is inside create_parameter in Perl6::SymbolTable.
21:26 jnthn masak: You have the nominal type to hand, and the default value, and you know it's a litreal one from one of the flags that is set.
21:26 jnthn masak: Then it's just a case of nqp::istype($value, $nom_type)
21:27 sorear btw, I think PAST is a rather bad name.  It's much lower level than a textbook "abstract syntax tree"
21:28 jnthn Lower level?
21:30 sorear jnthn: abstract syntax trees normally have one kind of node for every source-language construct
21:31 jnthn omg omg!
21:31 jnthn er, wrong window
21:31 jnthn sorear: Ah, in that case then yes, I agree.
21:32 * sorear wonders what jnthn is so excited about
21:33 masak "wait, this isn't privmsg, is it?" ;)
21:33 jnthn :P
21:33 jnthn sorear: Nothing Perl 6 related, I'm afraid.
21:33 jnthn It *woulda* been nice if it was like "oh, another 10% of mandelbrot" though :P
21:35 jimmy1980 joined #perl6
21:39 masak perl6: say +$*ARGS
21:39 p6eval rakudo e1e091: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤  in method Numeric at src/gen/CORE.setting:560␤  in sub prefix:<+> at src/gen/CORE.setting:1732␤  in <anon> at /tmp/FxcVLgSRNB:1␤  in <anon> at /tmp/FxcVLgSRNB:1␤␤…
21:39 p6eval ..pugs, niecza v9-31-g37fcc8d: OUTPUT«0␤»
21:40 jnthn perl6: say $*ARGS.WHAT
21:40 p6eval rakudo e1e091: OUTPUT«Failure()␤»
21:40 p6eval ..pugs: OUTPUT«Scalar␤»
21:40 p6eval ..niecza v9-31-g37fcc8d: OUTPUT«Any()␤»
21:40 soh_cah_toa joined #perl6
21:40 masak oh right. it's @*ARGS
21:41 masak that works just fine, it seems
21:41 masak perl6: say +@*ARGS
21:41 p6eval pugs, rakudo e1e091, niecza v9-31-g37fcc8d: OUTPUT«0␤»
21:41 masak \o/
21:42 tokuhiro_ joined #perl6
21:53 djanatyn joined #perl6
21:53 nebuchadnezzar joined #perl6
21:53 sahadev left #perl6
22:01 s1n joined #perl6
22:12 masak nice. https://gist.github.com/1223133
22:14 dalek rakudo/nom: 0a93f6e | jnthn++ | src/core/ (6 files):
22:14 dalek rakudo/nom: Improve object creation performance in a few hot-path places (e.g. iterators).
22:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a93f6e39e
22:14 dalek rakudo/nom: 58809bb | jnthn++ | src/ (2 files):
22:14 dalek rakudo/nom: Don't re-check types at bind time that the multi-dispatcher already decided were fine.
22:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/58809bb4cf
22:14 jnthn First sub-170s spectest run I've managed.
22:15 masak oh, it's a prime sieve.
22:18 sorear mm, shifty
22:18 masak :)
22:18 masak "Waterbed postulate: all siggie-less programming languages are shifty." :)
22:19 jnthn .oO( The S06 tests are smoking siggies... )
22:22 TimToady nom: given "foo" { when /f(o*)/ { say $0 } }
22:22 p6eval nom c8ebb4: OUTPUT«Nil␤»
22:22 TimToady jnthn: ^^
22:22 * sorear would love to see a sub-1700s niecza spectest run
22:22 TimToady nom: given "foo" { when m/f(o*)/ { say $0 } }
22:22 p6eval nom c8ebb4: OUTPUT«oo␤»
22:22 jnthn sorear: Throw hardware at it :P
22:22 TimToady there's another
22:23 * sorear prefers to throw software at problems
22:23 jnthn nom: given "foo" { when /f(o*) { say 'i waz here' }/ { say $0 } }
22:23 p6eval nom c8ebb4: OUTPUT«i waz here␤Nil␤»
22:23 jnthn sorear: I've adopted a hybrid approach. Faster hardware to help me see if my software throwing has worked out or not ;)
22:25 jnthn TimToady: ah, that one...
22:25 jnthn TimToady: Yeah, I know what's at the base of that one.
22:26 jnthn Getting a bit tired for that today though...will take a look tomorrow.
22:29 jnthn .u ъ
22:29 phenny U+044A CYRILLIC SMALL LETTER HARD SIGN (ъ)
22:30 nmourey joined #perl6
22:31 wknight8111 joined #perl6
23:13 am0c joined #perl6
23:16 japhb joined #perl6
23:18 * japhb is currently building niecza ... it's my first interaction of any kind with Mono/C#.
23:19 diakopter neat; which version of mono
23:20 japhb Where's the best place to start learning enough about Mono/C# to be able to at least do minor niecza fixes?  (Later I'd love to do more, but that's a good start.)  Any good tutorials for people that are competent programmers but just don't know that world yet?
23:20 japhb diakopter, checking
23:20 japhb diakopter, looks like 2.6.7
23:20 japhb (The default in my Ubuntu)
23:20 * diakopter crosses fingers
23:21 japhb The build died.  :-/
23:21 diakopter mberends reported the latest wouldn't build on 2.6.7
23:21 japhb *sigh*
23:21 diakopter and so did you it seems; sorear might be around
23:21 diakopter sorear intends for it to build on 2.6.7; I'm guessing he can fix it pretty quickly
23:22 diakopter sorear: pling
23:23 japhb diakopter, ah good.  I was thinking it was just unsupported and was not looking forward to getting a new version to build, given the massive pile of stuff that just the package manager installed ....
23:24 diakopter later mono versions (2.10.5 latest?) have TONS of fixes and performance improvements though, and of course additional features.
23:26 diakopter error CS0006: cannot find metadata file `Kernel' ?
23:26 diakopter make: *** [boot/obj/CompilerBlob.dll] Error 1
23:26 diakopter is what mberends reported
23:26 japhb yup, that's the error (the first one)
23:26 japhb Oh, actually both.
23:27 masak 'night, #perl6
23:27 diakopter n
23:27 japhb o/
23:28 japhb Well, while I wait for sorear to appear, no seems like a decent time to try current rakudo ...
23:29 japhb *now
23:29 diakopter japhb: as far as contributing to niecza, sorear's code is extremely easy to read; things are named quite appropriately; logic is quite easy to follow
23:30 japhb diakopter, good, then hopefully experience with other "system" languages should serve well.
23:40 static_perl joined #perl6
23:40 thou joined #perl6
23:54 packetknife joined #perl6
23:55 sorear Hi!
23:55 japhb o/
23:56 japhb sorear, How hard would it be to fix niecza to work on mono 2.6.7 again?
23:56 sorear japhb: no clue.
23:56 sorear japhb: did I accidentally commit CompilerBlob to master?
23:57 sorear oh, looks like it wasn't an accident.
23:57 sorear 01739806919 was before I made that change, very few changes rela have been made on the mainline since then
23:59 sorear I'm doing a system redesign now of the compiletime/runtime boundary and output file generation, to enable BEGIN and better roles/metamodel handling
23:59 japhb Hmmm.  If I start using niecza regularly, I'll probably want to ride the HEAD.  How long until you plan to merge the work you're doing now?

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

Perl 6 | Reference Documentation | Rakudo