»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
diakopter | nom: gist.github.com/1220847 | 00:00 | |
p6eval | nom 960833: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 871» | ||
diakopter | nom: gist.github.com/1220847 | ||
p6eval | nom 960833: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 871» | ||
diakopter | b: gist.github.com/1220847 | 00:03 | |
p6eval | b 1b7dd1: ( no output ) | ||
diakopter hopes that didn't launch an http server on p6eval box | |||
jnthn | diakopter: Think sockets are blocked for p6eval. | 00:04 | |
diakopter | jnthn: imcc:syntax error is strange | 00:05 | |
jnthn | diakopter: yeah, very | 00:06 | |
nom: s:g/\-/_/; | |||
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» | ||
jnthn | nom: say "\x0D\x0A" | ||
p6eval | nom 960833: OUTPUT« | ||
jnthn | hm, neither of those does it. | 00:07 | |
00:08
replore_ joined
00:09
whiteknight joined
00:13
uasi left,
uasi joined
|
|||
diakopter | nom: say 3 | 00:13 | |
p6eval | nom 960833: OUTPUT«3» | ||
00:21
lestrrat joined,
[Coke] left
00:23
[Coke] joined
00:35
tokuhirom left
|
|||
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:40 | |
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:43 | ||
00:44
colomon joined
|
|||
dalek | kudo/nom: a834325 | jnthn++ | src/binder/multidispatch. (2 files): Refactor in preparation for adding multi-dispatch cache; sketch it structures related to it. |
00:44 | |
kudo/nom: 9961471 | jnthn++ | src/binder/multidispatch.c: Add calls to add/find things in the multi-dispatch cache. |
|||
kudo/nom: 2257709 | jnthn++ | src/binder/multidispatch. (2 files): 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. |
|||
jnthn | Will try and hunt down the issue tomorrow. Sleep time now. & | ||
00:49
jimmy1980 left
00:54
jimmy1980 joined
|
|||
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:04 | |
01:17
woosley joined,
wolfman2000 joined
01:21
supernovus left
01:23
jaldhar left,
jaldhar joined
01:24
daniel-s joined
01:25
donri left
01:29
jdv79 joined
|
|||
jdv79 | jnthn: thanks for the blogging; as usual! | 01:29 | |
01:34
whiteknight left
01:41
uasi left,
uasi joined
|
|||
sorear | good * #perl6 | 01:52 | |
phenny | sorear: 15 Sep 21:16Z <masak> tell sorear irclog.perlgeek.de/perl6/2011-09-15#i_4435311 is the golf'd version of the casting error that's been haunting me. | ||
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. | ||
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
|
|||
sorear | niecza: say (e ** (i * $x)).re | 01:57 | |
p6eval | niecza v9-30-g2b3ba1c: OUTPUT«===SORRY!===Variable $x is not predeclared at /tmp/9hTGIZFM28 line 1:------> say (e ** (i * ⏏$x)).reUnhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2)  at /ho… | ||
sorear | niecza: my $x = 0.25; say (e ** (i * $x)).re # mberends | ||
p6eval | niecza v9-30-g2b3ba1c: OUTPUT«0.968912421710645» | ||
sorear | mberends: alternatively, get in touch with colomon++ who is redesigning the trig system :) | 01:58 | |
02:01
uasi left
|
|||
colomon | what's mberends' question? | 02:12 | |
02:15
uasi joined
02:18
uasi left
|
|||
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. | ||
snarkyboojum | std: role A { /\s/ } | 02:25 | |
p6eval | std bb4f150: OUTPUT«ok 00:01 120m» | ||
snarkyboojum | perl6: role A { /\s/ } | ||
p6eval | niecza v9-30-g2b3ba1c: ( no output ) | ||
..rakudo 225770: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 527» | |||
..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… | |||
snarkyboojum | perl6: role A { /\t/ } | ||
p6eval | rakudo 225770, niecza v9-30-g2b3ba1c: ( no output ) | ||
..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… | |||
snarkyboojum | something like that | ||
star: role A { /\s/ } | 02:29 | ||
p6eval | star 2011.04: ( no output ) | ||
snarkyboojum | phenny: tell supernovus, and golfed -> irclog.perlgeek.de/perl6/2011-09-16#i_4436458 | 02:31 | |
phenny | snarkyboojum: I'll pass that on when supernovus is around. | ||
02:35
wamba left
|
|||
snarkyboojum | so, a regression of sorts praps | 02:37 | |
02:40
uasi joined
|
|||
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«===SORRY!===Strange text after block (missing comma, semicolon, comment marker?) at /tmp/9Ir92MGKaK line 1:------> { method doit($a, $b){return $a + $b} }⏏ my $a = A.new(); doit $a: 5, 4; expecting any of: bracketed infix… | ||
02:44
soh_cah_toa left
|
|||
sorear | colomon: mberends was complaining about the lack of &cos | 02:48 | |
colomon | ah, yup, that's my fault. :) | 02:57 | |
sorear | "fault"? | 02:58 | |
03:02
xdhmoore joined
03:04
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
03:20
supernovus joined
|
|||
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. | ||
supernovus: 02:31Z <snarkyboojum> tell supernovus and golfed -> irclog.perlgeek.de/perl6/2011-09-16#i_4436458 | |||
03:22
wolfman2000 left
|
|||
supernovus | okay, that's weird. So the \s is doing it? Then why does it work as a class, but not a role? | 03:23 | |
03:33
daniel-s left
03:38
buubot_backup joined
|
|||
snarkyboojum | supernovus: no idea - ask jnthn or someone :) | 03:45 | |
supernovus: | 03:46 | ||
supernovus: \n in a role gives the same error here | |||
anyway - I'll leave it to the experts :) | |||
supernovus | same here, I'm switching to a class instead of a role for now :-) | 03:58 | |
WWW::App + HTTP::Easy == super easy PSGI web apps in Perl 6 testable without a standalone web server. | 04:01 | ||
04:03
birdwindupbird joined
04:11
abercrombie left
|
|||
supernovus | Are $!private variable no longer accessible by inherited classes? | 04:13 | |
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
04:24
novusordo joined,
packetknife joined,
satyavvd joined
04:25
novusordo left
|
|||
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. | ||
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:31 | |
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:32 | ||
moritz | phenny: tell diakopter fixed. | 04:33 | |
phenny | moritz: I'll pass that on when diakopter is around. | ||
04:33
supernovus left
04:34
molaf joined
04:40
uasi left
04:47
uasi joined
04:48
packetknife left
|
|||
TimToady | nom: / $_ / | 05:01 | |
p6eval | nom 225770: OUTPUT«===SORRY!===Method 'rxtype' not found for invocant of class 'PAST;Regex'» | ||
TimToady | known bug? | ||
benabik | … what? | ||
TimToady | just chopped everything that wasn't that bug out of an 826 line program, littl by little | 05:03 | |
benabik | nom: // | ||
p6eval | nom 225770: OUTPUT«===SORRY!===Null regex not allowed at line 1, near ""» | ||
[Coke] | that error appears in t/spectest.data a few times. | ||
TimToady | nom: /$x/ | 05:04 | |
p6eval | nom 225770: OUTPUT«===SORRY!===Method 'rxtype' not found for invocant of class 'PAST;Regex'» | ||
TimToady | doesn't even matter if it's defined | ||
nom: /@x/ # curious | |||
p6eval | nom 225770: OUTPUT«===SORRY!===Method 'rxtype' not found for invocant of class 'PAST;Regex'» | ||
TimToady | nom: /<$x>/ | ||
p6eval | nom 225770: OUTPUT«===SORRY!===Method 'rxtype' not found for invocant of class 'PAST;Regex'» | ||
moritz | that error basically means "NYI regex feature" | 05:05 | |
05:14
molaf left
|
|||
TimToady | nom: $_ = 'abc 01'; /'abc ' (\d+)/; say $0 | 05:15 | |
p6eval | nom 225770: OUTPUT«Nil» | ||
TimToady | nom: $_ = 'abc 01'; m/'abc ' (\d+)/; say $0 | ||
p6eval | nom 225770: OUTPUT«01» | ||
TimToady | there's another bug | ||
nom: $_ = 'abc 01'; /'abc ' (\d+)/ and say $0 | 05:17 | ||
p6eval | nom 225770: OUTPUT«Nil» | ||
05:22
xdhmoore left
|
|||
TimToady | oh, cool, now I've got a segfault :) | 05:24 | |
05:26
koban` joined,
koban` left
05:27
kaleem joined
|
|||
TimToady | and the segfault moves around as I put in print statements; I think that's enough of that for tonight... | 05:40 | |
05:46
packetknife joined
05:54
wtw joined,
wtw left,
wtw joined
|
|||
sorear sleep | 05:56 | ||
06:00
Tedd1 joined
06:09
orafu left
06:10
mishin_ joined
06:12
kaleem left
06:13
kaleem joined,
orafu joined
06:14
sunnavy joined
06:16
kaleem left,
kaleem joined
06:23
kaleem left,
kaleem joined
06:25
kaleem left,
kaleem joined
06:28
uasi left
06:34
lue left
06:36
kaleem left
06:37
kaleem joined
06:38
Con joined,
Con left
06:40
egillth joined
06:42
kaleem left
06:44
kaleem joined
06:46
packetknife left
06:49
jimmy1980 left
06:55
jimmy1980 joined
07:02
pnu joined
07:03
xinming left
07:04
xinming joined
07:29
uasi joined
07:31
woosley left
07:41
am0c left
07:53
mberends left
|
|||
snarkyboojum | ahhh.. into 250MB of swap on my 256MB slice to build rakudo ;) | 07:57 | |
07:59
uasi left
08:03
SHODAN joined
|
|||
tadzik | good morning | 08:07 | |
moritz | good tadzik, tadzik | 08:10 | |
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:11 | ||
snarkyboojum | guten moaning! | 08:12 | |
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 | ||
snarkyboojum | oh.. for some reason.. bootstrap doesn't see the adjusted PERL6LIB on my machine | 08:17 | |
tadzik | hmm | ||
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 :| | ||
tadzik | :/ | 08:19 | |
jnthn | morning | 08:20 | |
moritz: Thanks for confirming. | |||
moritz: Should be able to pull it under a minute once I get the multi cache in. | |||
Unless the lexical lookup improvements already did that... | 08:21 | ||
moritz | ssh: connect to host github.com port 22: Connection timed out | ||
fatal: The remote end hung up unexpectedly | |||
08:21
russellw left
|
|||
moritz | seems I can't git pull atm :( | 08:21 | |
works again | 08:23 | ||
jnthn | nom: role Foo { /s/ } | 08:28 | |
p6eval | nom 225770: ( no output ) | ||
jnthn | nom: role Foo { /\s/ } | ||
p6eval | nom 225770: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 527» | ||
jnthn | nom: class Foo { /\s/ } | ||
p6eval | nom 225770: ( no output ) | ||
moritz | real 0m58.549s | ||
jnthn | moritz: Ooh, below a minute! :) | 08:29 | |
nom: BEGIN { /\s/ } | 08:30 | ||
p6eval | nom 225770: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 12355950» | ||
jnthn | aha | ||
snarkyboojum watches on with interest :) | 08:31 | ||
08:36
woosley joined
08:37
wamba joined
|
|||
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:42
SHODAN left
08:47
Alias_ left
|
|||
moritz | (fwiw, niecza does it in 8.5s :-) | 08:49 | |
08:50
SHODAN joined
|
|||
moritz | rakudo: say 58.5 / 8.5 | 08:51 | |
p6eval | rakudo 225770: OUTPUT«6.88235294117647» | ||
moritz | rakudo: say (16 * 60 + 14) / 58.5 | 08:52 | |
p6eval | rakudo 225770: OUTPUT«16.6495726495727» | ||
08:54
russellw joined
|
|||
tadzik | heh, we're not that far then :) | 08:54 | |
moritz | logarithmically speaking, we're closer to niecza than to master :-) | 08:55 | |
one thing where rakudo is faster is startup | 08:56 | ||
0.8s, compared to 2.5s by niecza | |||
btw, I just found a bug | |||
perl6 -e '' # goes to the REPL | 08:57 | ||
perl6 -e '0' # too | |||
tadzik | I sense a if %adverbs<if> somewhere | ||
moritz | nqp does that too | ||
tadzik: correct | |||
tadzik | erm, %adverbs<e> | ||
moritz | erm, meant to say, that's my suspicion too | ||
indeed, there is one in src/HLL/Compiler.pm | 08:59 | ||
dalek | p: 9e5f3e8 | moritz++ | src/HLL/Compiler.pm: -e "" and -e "0" should no go to the REPL |
09:03 | |
jnthn doesn't consider 0.8s a particularly good startup time, fwiw | 09:06 | ||
09:07
daxim joined
|
|||
dalek | kudo/nom: b4fcd22 | jnthn++ | src/Perl6/ (2 files): Unify loadlibs handling for BEGIN-time dynamic compilation and the normal compilation path. |
09:08 | |
09:15
daniel-s joined
09:17
static_perl left
|
|||
moritz | evalbot rebuild nom | 09:21 | |
p6eval | OK (started asynchronously) | ||
09:22
mishin_ left
|
|||
dalek | kudo/nom: 977dd63 | jnthn++ | src/Perl6/SymbolTable.pm: 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 | |
09:26
DarthGandalf joined
09:35
bbkr1 left
09:39
replore_ left
09:44
daniel-s left,
daniel-s joined
09:58
woosley left
10:03
im2ee joined
|
|||
im2ee | hi! :) | 10:03 | |
daxim | hello | 10:05 | |
jnthn | o/ im2ee | 10:09 | |
jnthn reluctantly puts the Rakudo hacking aside so he can get today's slice of $dayjob done | 10:10 | ||
eiro | you're not full time perl6 hacker ? | 10:13 | |
well ... is there a full time hacker ? | 10:14 | ||
jnthn | eiro: No, I do quite a few other things too :) | 10:15 | |
eiro | jnthn, perl developement related ? or at least you're using perl at work ? | 10:16 | |
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:17 | |
Rakudo is usually the project I write the most code for in a week these days, though. | 10:18 | ||
Well, Rakudo/NQP. | |||
eiro | ok | 10:24 | |
10:46
static_perl joined
10:48
kaleem left
11:06
kaleem joined
11:07
kaleem left
11:13
woosley joined
11:36
replore joined
11:38
Patterner left
11:40
Psyche^ joined,
Psyche^ is now known as Patterner
11:57
satyavvd left
|
|||
moritz | tart.googlecode.com/files/TartIntro.pdf looks nice-ish | 12:09 | |
jnthn | Hmm. Turns out that some time ago, the is_clearly_returnless optimization got made useless. | 12:26 | |
Which means that every infix:<+>(Int,Int) creates one more GCable than it need do so, for example. | 12:27 | ||
Started on a patch over lunch...should get us another little bit off mandelbrot...and, well, everything else. :) | 12:28 | ||
ingy | o/ | 12:32 | |
moritz | \o | 12:33 | |
ingy | <a> ** <b> # will match one or more a separated by b? | ||
moritz | correct | ||
ingy | how do I match 0 or more.... | 12:34 | |
moritz | short for <a> [<b> <a>]* | ||
[<a> ** <b>]? | |||
ingy | k, that's what I thought | ||
<a> [<b> <a>]* seems like it produce a different ast | 12:35 | ||
I'm adding ** to pegex, btw | |||
12:36
fhelmberger joined
|
|||
ingy | github.com/ingydotnet/pegex-pgx/bl.../pegex.pgx is now self hosting! | 12:36 | |
moritz | fwiw I find it a unfortunate that <regex> ** 1..3 and <regex> ** <other_regex> use the same syntax for slightly different things | 12:37 | |
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) | ||
ingy | moritz: +1 on that | ||
moritz | and then it's not an error, but interprets the range as the separator regex | ||
ingy | I think I will use ** for <a> ** <b> but something else for ranges | 12:39 | |
<a>1,3 comes to mind | |||
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 | ||
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 | ||
flussence | so is "1..*" a range or a rx:p5/\d . .*/x in that context? do we need to write 1..Inf instead? | ||
moritz | ie if you write \w31,42 it's ambiguous | ||
flussence: 1..* is a range | |||
maybe <a> *!* 1..3 # dies if the RHS is not a proper range | 12:41 | ||
ingy | moritz: pegex puts regexes in // | ||
moritz | or *** | ||
ingy | it's not p6 :) | ||
so /<WORD>/1,3 | |||
moritz | still looks like two terms in a row | 12:42 | |
ie both /<WORD>/ and 1,3 looks termish to me | |||
(it's probably easy to distinguish, but still leaves me uneasy) | |||
ingy | pegex only has a few primitives: | 12:43 | |
flussence | (why can't we do +** and ~** to disambiguate like normal p6 operators?) | ||
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,
woosley left
|
|||
ingy | a: !<b> =<c> .<d> -<e> <f>? <g>* <h>+ # so far... | 12:45 | |
. | |||
moritz | what do the prefixes mean? | 12:46 | |
dalek | kudo/nom: 6629ed7 | jnthn++ | src/Perl6/Actions.pm: 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 | |
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 ;) | ||
moritz will see | 12:49 | ||
ingy | trying to borrow sensible things from P6R, P:RD, and Rx:G | 12:50 | |
12:50
jimmy1980 left,
woosley joined
|
|||
moritz | soo -<x> makes $x.ast the ast of the current rule? | 12:50 | |
ingy | I was toying with ** to mean _zero_ or more in a list and ++ to mean 1 or more | 12:51 | |
also | |||
a: ... # explicit ws | |||
a:: ... # use .<ws>* everywhere | 12:52 | ||
a:myws: ... # use .<myws>* | |||
moritz: um... | |||
moritz | ingy: ++ is already taken in p5, might confuse people (+ plus backtracking surpression) | 12:53 | |
ingy: or what does "pass up in the ast without rule name" mean? | |||
ingy | x: <y>; y: /O HAI/; would return {x => { y => 'O HAI' }} | 12:54 | |
x: -<y>; y: /O HAI/; would return {x => 'O HAI' } | 12:55 | ||
moritz | ok, that was basically what I meant :-) | ||
ingy | x: .<y>; y: /O HAI/; would return {x => undef } | ||
12:55
jimmy1980 joined
|
|||
ingy | moritz: pegex grammars compile to github.com/ingydotnet/pegex-pgx/bl...x.pgx.yaml | 12:56 | |
moritz no good at reading YAML | |||
ingy | read the json then :) | 12:57 | |
github.com/ingydotnet/pegex-json-pgx/ | |||
another grammar | |||
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 | ||
ingy | TestML is written in Pegex and Pegex is tested with TestML | 12:59 | |
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 | ||
ie next week at OSDC | |||
13:01
Holy_Cow joined
|
|||
ingy | Holy_Cow! | 13:01 | |
moritz | sounds nice | ||
ingy | (sorry, couldn't resist) | ||
when the toolchain builds up we could try writing a toy P6 implemenation in P5 with it | 13:02 | ||
13:02
JimmyZ joined
|
|||
PerlJam | ingy: It sounds like you're trying for similar goals as parrot, but directly with HLLs | 13:02 | |
(as far as interoperability goes that is) | 13:03 | ||
13:03
bluescreen10 joined
|
|||
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 | ||
moritz | jnthn: yes | ||
jnthn | moritz: OK, small but worth having. | ||
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) | ||
ingy | moritz: correct | 13:05 | |
C'Dent is defined as an in memory AST | |||
PerlJam | Well, DSLs are all the rage these days anyway :) | ||
ingy | which can produce equiv native code modules in 15 langs | ||
PerlJam | 15?!? | 13:06 | |
ingy | I think so | ||
PerlJam | which? | ||
ingy | one sec | ||
snarkyboojum | BF? :D | ||
PerlJam | ingy++ for the shear brilliant craziness! | ||
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') | ||
16 kinda | 13:07 | ||
PerlJam | where's haskell? ;) | ||
ingy | cdent.org/examples/hello-world/ | 13:08 | |
PerlJam: want commit? :) | |||
PerlJam | ingy: I think not. my commit bit would most likely just rot | 13:09 | |
13:09
pernatiy joined
|
|||
ingy | moritz: I'll prolly just use [ <a> ** <b> ]? | 13:09 | |
13:10
Holy_Cow left
|
|||
ingy | but it seems so common :( | 13:10 | |
moritz | ingy: it isn't | ||
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 | ||
hmm | |||
moritz | I know | ||
ingy | I'll take your word for it for now :) | ||
moritz | but json also doesn't allow trailing commas | ||
ingy | which is perfect | 13:12 | |
does <a> ** <b> allow trailing <b>? | |||
PerlJam idly wonders if pegex does or will have an equivalent to P6's ~ | |||
moritz | ingy: no | ||
PerlJam | ingy: no | 13:13 | |
ingy | PerlJam: what is it? | ||
tadzik | ingy: you missed vala | ||
ingy | so that would be perfect for json, right? | ||
PerlJam | ingy: <a> <b> ~ <c> == <a> <c> <b> Useful when <a> and <b> are delimiters | ||
ingy | hi tadzik | ||
tadzik | hello ingy | ||
ingy | vala? | ||
tadzik | yeah, on the list you poste | ||
d | |||
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 | ||
ingy | oh right | ||
looks like we forgot a part | |||
moritz | very useful for things like '(' ~ ')' <statementlist> | ||
PerlJam | ingy: listen to moritz, he gets it righter than me this morning :) | 13:15 | |
moritz | that's because it's not morning for me anymore :-) | 13:16 | |
ingy | :D | ||
15:16 here | |||
tadzik | same here | ||
PerlJam | aye, and I haven't had my caffiene yet either | ||
moritz | here too | ||
ingy | PerlJam: better get on that | ||
ingy is at liz+wendy's house in .nl | 13:17 | ||
tadzik | sounds fun | 13:18 | |
moritz | are liz and wendy the ones who bring Martian Fluxx to the YAPCs? | ||
moritz tries to sort his brainz | |||
ingy | back to the trenches. thx all o/ | 13:19 | |
moritz: correct | |||
moritz | \o | ||
tadzik | I'm missing a like I think | ||
ingy | tadzik: add vala to the cdent list, please | 13:20 | |
tadzik | I'll try, ok | ||
I'll just finish dying my hair :> | |||
moritz | .oO( and then your hair is dead? ) |
13:21 | |
ingy | :D | ||
tadzik | no, they look pretty lively | ||
snarkyboojum | all hair is dead :P (it had to be said) :D | 13:22 | |
tadzik | : | 13:23 | |
:P | |||
13:23
_ilbot joined
13:33
daniel-s left
13:43
wtw left,
ilyuhan joined
|
|||
snarkyboojum | what's the easiest way to go about debugging something like Perl6/ModuleLoader.pm ? | 13:59 | |
13:59
_sri left
14:02
_sri joined
|
|||
moritz | add nqp::say() calls o it | 14:04 | |
*to | |||
snarkyboojum | moritz: cheers | ||
moritz | or write an NQP debugger, and use it :-) | ||
snarkyboojum | moritz: let me just whip one up :P | ||
jnthn | say(...) is fine in NQP | 14:05 | |
(won't get confused with Perl 6 say) | |||
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 :| | ||
so no need to debug ModuleLoader.pm now really ;) | |||
moritz | snarkyboojum: does it pick up right perl6 executable? | ||
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 | |
o | |||
moritz | did you 'make install'? | ||
snarkyboojum | yep | ||
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 | ||
has anyone else tried using panda recently? :D | |||
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? | ||
tadzik | hmm | ||
I seem to have | |||
snarkyboojum | because that works for me | ||
but the bootstrapper doesn't assume that.. | |||
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 | ||
snarkyboojum | ah - excellent :) | ||
me too | |||
flussence | me three! | ||
tadzik | clearly it did not pick up PERL6LIB | ||
snarkyboojum | aye | ||
flussence | that colon is confusing it somehow. | 14:12 | |
snarkyboojum | flussence: oh - was wondering that | ||
flussence | rakudo should split that on its own | ||
I'm guessing... | |||
snarkyboojum | which colon? | ||
moritz | is that nom or master? | ||
flussence | in PERL6LIB= in bootstrap.sh | ||
fresh nom here | |||
snarkyboojum | moritz: I'm running nom | ||
flussence: right | 14:13 | ||
moritz | correct, nom doesn't seem to do the splitting yet | ||
snarkyboojum | I thought PERL6LIB as an env var would be platform dependent - i.e. rakudo wouldn't do the splitting… ? | ||
flussence | unless it's been changed to some other delimiter...? | ||
snarkyboojum | I guess it has to :| | ||
but then why is the error message splitting the lib folders correctly | 14:14 | ||
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 | |||
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 .") | ||
snarkyboojum | etc | ||
moritz | snarkyboojum: it doesn't | ||
snarkyboojum | moritz: no? | ||
oh bugger | 14:15 | ||
right | |||
moritz | snarkyboojum: the first path has a : in it | ||
snarkyboojum | :) | ||
moritz | the rest are WS separated | ||
snarkyboojum | kinda missed that | ||
moritz | @INC.push(%ENV<PERL6LIB>.split($VM<config><osname> eq 'MSWin32' ?? ':' !! ';')) if %ENV<PERL6LIB>; | ||
the condition is inverted, no? | |||
flussence | er... yes. | ||
moritz | should be ';' !! ':' | ||
snarkyboojum | yep | ||
true that! | |||
moritz fixes | |||
snarkyboojum | what a team :) | 14:16 | |
flussence has no idea what win32's separator is so I'll just agree with everyone else there :) | |||
moritz | I'm pretty sure that linux' separator is not ; :-) | ||
daxim | need's mo' onfig | 14:18 | |
damn you, chat client | |||
dalek | kudo/nom: 10d9ee6 | moritz++ | src/core/terms.pm: fix PERL6LIB separator |
||
daxim | need's mo' %Config | ||
snarkyboojum | even worse, I think the path separator can be set on the environment... | 14:20 | |
anyway - that'll fix it.. thanks moritz++ :) | |||
flussence | anyone who does that deserves to keep the pieces :) | ||
snarkyboojum | gotta love sniffing osname and munging stuff like that tho :) | 14:21 | |
14:21
alester joined
|
|||
snarkyboojum | tadzik: now i should be able to get to the json panda blocker ;) | 14:22 | |
tadzik | :) | ||
snarkyboojum | 2 down.. n to go ;) | ||
moritz | well, if all the other n fixes turn out to be so easy... :-) | 14:26 | |
14:27
domm joined
14:28
woosley left
|
|||
snarkyboojum | excellent :) it works.. I now get 'protoregexes not yet implemented at line 10, near ";\ntoken va"' - as planned | 14:28 | |
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 | ||
snarkyboojum: only in runtime errors | |||
snarkyboojum | moritz: aww.. I always thought they were a little more usable.. | 14:30 | |
so this is in JSON::Tiny::Grammar - so is that truly NYI in nom? | 14:31 | ||
tadzik | yes | 14:32 | |
snarkyboojum | okydoke | ||
moritz | (not even beijing/old master had file name in parse errors) | 14:33 | |
b: 1 1 | |||
p6eval | b 1b7dd1: OUTPUT«===SORRY!===Confused at line 22, near "1 1"» | 14:34 | |
moritz | see, only a line number | ||
std: 1 1 | |||
p6eval | std bb4f150: OUTPUT«===SORRY!===Two terms in a row at /tmp/CCd4o8Tp4G line 1:------> 1 ⏏1 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 119m» | ||
sorear | good * #perl6 | ||
moritz | \o sorear | ||
TCIF | |||
snarkyboojum | just tried Niecza, and it seems it can't find Shell::Command :) | 14:35 | |
moritz | where does niecza look for modules? | ||
snarkyboojum | haven't dug into that yet | 14:36 | |
the author must know :) | |||
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) | ||
snarkyboojum | unmeasurably low startup times sound rockin' | ||
moritz | snarkyboojum: huh? it reliably gives real 0m0.005s here | 14:37 | |
sorry, meant sorear | |||
moritz should not type s<tab> | |||
sorear | moritz: the current directory, $COMPILER_ROOT/lib, and anything specified with -I | 14:38 | |
moritz | one could always not load the setting if the argument to -e is empty... :-) | 14:39 | |
snarkyboojum | -l is an undocumented switch? | ||
moritz | -I is known from perl 5 | 14:40 | |
(capital i, not small l ) | |||
snarkyboojum | oh | ||
so, undocumented ;) | |||
sorear | huh, so it is. | 14:42 | |
oversight | |||
sorear files a bug so ey will not forget | |||
moritz | current S19 even forbids -Ifoo, iirc | 14:43 | |
(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 | |||
sorear | yeah I don't put much faith in S19 | ||
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 | ||
but it has other issues with panda unfortunately | |||
sorear | ...rakudo doesn't? | ||
snarkyboojum | just the line number | ||
"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 :( | ||
snarkyboojum: that's just a warning | |||
snarkyboojum | moritz: ok ;) | ||
Niecza gives me line numbers without a filename too :) Undeclared routines: 'mkdir' used at line 43 | 14:47 | ||
or perhaps I'm not reading the info I'm given properly | |||
moritz | std: foo | 14:48 | |
14:48
silug left
|
|||
p6eval | std bb4f150: OUTPUT«===SORRY!===Undeclared routine: 'foo' used at line 1Check failedFAILED 00:01 117m» | 14:48 | |
moritz | std omits it too | ||
snarkyboojum | I guess std isn't being used to run and debug code using modules and other libraries? or is it? | 14:49 | |
moritz | it's not | 14:50 | |
snarkyboojum | in this case Niecza doesn't know about mkdir and unlink etc which is part of the core setting in rakudo | 14:54 | |
but well played I say :) | |||
moritz | snarkyboojum: open tickets at github.com/sorear/niecza/issues | 14:55 | |
14:56
jimmy1980 left,
JimmyZ left
|
|||
snarkyboojum | moritz: even for NYI stuff? | 14:56 | |
ok | |||
14:58
JimmyZ joined
|
|||
snarkyboojum | I see your point about std not giving line numbers.. it seems neither rakudo or Niecza does for parse errors.. | 14:58 | |
I'm a bit slow here atm, very early Sat morning in Oz ;) | 14:59 | ||
how many tests does nom pass c.f. ng (old master).. much regression? | 15:00 | ||
tadzik | c.f.? | 15:01 | |
flussence | about 15k | ||
snarkyboojum | "compared with" | ||
flussence | ng had about 21k | ||
tadzik | yes | ||
snarkyboojum | almost 30% less eh | 15:02 | |
15:02
mkramer left
|
|||
flussence | This is where we're at now... it seems to have hit a plateau: github.com/flussence/specgraphs/ra...-tests.png | 15:02 | |
snarkyboojum | I wonder if that's a function of turning on tests, or missing functionality :) | ||
does Niecza run the standard test suite yet? | 15:03 | ||
tadzik | yes | ||
snarkyboojum | sweet - so there's a point of comparison | ||
flussence | it does, but for some reason prove dies for me when I try it :( | ||
snarkyboojum | t/run_spectests? | 15:04 | |
tadzik | possibly | ||
snarkyboojum | this is awesome tho | ||
15:06
mkramer1 joined
|
|||
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 | ||
snarkyboojum | oic | ||
15:07
sayu joined,
colomon left
|
|||
snarkyboojum | how was I supposed to work that out? :D | 15:07 | |
15:07
mkramer1 left
15:09
thou joined
15:10
miso2217 joined
|
|||
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:11
thou left
|
|||
snarkyboojum | TimToady: did you just use the G word? | 15:12 | |
TimToady | I meant git, not google or global | ||
snarkyboojum | oh! | ||
:) | |||
w00t .. Niecza spectest is working :) | 15:13 | ||
should add a roast checkout to the spectest make target tho ;) | |||
15:14
birdwindupbird left
|
|||
snarkyboojum | man, how far has Niecza come | 15:16 | |
quite incredible | |||
sorear has t/spec symlinked to a roast checkout elsewhere | |||
snarkyboojum | sorear: fair enough - not obvious to a newbie like me that I have to manually check it out tho | ||
sorear | I wonder why I didn't just have t/spec be a roast checkout. Probably a git clean issue | ||
flussence | probably - git clean doesn't recurse into other git trees | 15:19 | |
snarkyboojum | just git clean the t/spec tree separately? | 15:20 | |
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 | ||
</emo> :D | |||
15:26
colomon joined
15:27
jimmy1980 joined
15:30
woosley joined
15:31
MayDaniel joined
15:33
wolfman2000 joined
15:36
uasi joined
15:38
Sarten-X joined
15:39
MayDaniel left
|
|||
sorear | hahaha. | 15:41 | |
Woodi | how in perl6 do s/^(.)/[$1]/ eg: option -> [o]ption ? | 15:42 | |
sorear | s/^(.)/[$0]/ | 15:43 | |
15:43
thou joined
|
|||
TimToady | but doesn't work right in rakudo yet, methinks | 15:43 | |
sorear | niecza: $_ = 'option'; s/^(.)/[$0]/; say $_ | ||
Woodi | it work ? :) | ||
p6eval | niecza v9-30-g2b3ba1c: OUTPUT«[o]ption» | ||
sorear | TimToady: masak just filed a bug to the effect that it works in niecza | ||
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? | ||
cosimo | rakudo: my $x = "option"; $x =~ s/^(.)/[$0]/; say $x; | ||
p6eval | rakudo 10d9ee: OUTPUT«===SORRY!===Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at line 1, near " s/^(.)/[$"» | ||
cosimo | ah, a few weeks, and I don't remember anything anymore... :-| | ||
Woodi | thanks sorear++ :) | 15:45 | |
TimToady | certainly it will stay in P6 | ||
if matches can change $/, so can substs | |||
15:47
masak joined
|
|||
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 $/ | ||
phenny | masak: 01:53Z <sorear> tell masak You apparently missed moritz_ bringing up 'Match.ast' earlier | ||
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 | |||
masak | TimToady: as in, really don't like it. | ||
TimToady: reason: .subst is idempotent. it's the functional version of s/// | 15:48 | ||
snarkyboojum | cosimo: o/ - still in Melbourne? | ||
masak | TimToady: when I call it, I don't *expect* $/ in the current scope to be clobbered. | ||
TimToady | s/// is not functional | ||
jnthn | TimToady: I think masak++'s point was that s/// is not but .subst should be. | 15:49 | |
masak | yes. | ||
sorear | o/ masak | ||
TimToady | I was being asked about s/// | ||
masak | sorear \o | ||
TimToady: in Niecza, .subst clobbers $/ in current scope. | |||
15:50
jaldhar left
|
|||
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 | |
15:50
wolfman2000 left
|
|||
masak | aye. | 15:50 | |
sorear | strawman: have .subst set $/ in the calling scope, but restore the original value on return | 15:51 | |
masak | something like that. | ||
TimToady | well, but then we start needing the concept of single ownership :) | ||
it's like the caller's $/ is an implicit rw param to .subst | 15:53 | ||
is what I mean | |||
15:53
am0c joined
|
|||
TimToady | but that's sorta what rw dynvars are, except everyone own's 'em | 15:53 | |
TimToady has not yet consumed sufficient caffeine to puzzle this through... | 15:56 | ||
15:58
dukeleto left,
dukeleto joined
|
|||
masak decommutes | 15:59 | ||
15:59
masak left,
dukeleto left
16:00
dukeleto joined
16:05
ggoebel joined
16:06
woosley left
16:15
jimmy1980 left
16:16
jimmy1980 joined
16:24
ilyuhan left,
[particle] joined
16:26
MayDaniel joined
16:44
Reaganomicon joined
16:47
aindilis joined
|
|||
jnthn thinks he's found his multi cache bug from last night. | 16:49 | ||
16:50
pernatiy left
16:52
plobsing left
16:54
plobsing joined
16:56
Woodi joined,
silug joined
16:59
dukeleto left,
dukeleto joined
17:01
onlineamateur joined
|
|||
dalek | kudo/nom: 946deda | jnthn++ | src/binder/multidispatch.c: 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 | |
17:04
onlineamateur left
|
|||
jnthn | ...and brings spectest runs in just under the 3 minute mark here. \o/ | 17:06 | |
17:08
Woodi left
17:16
vlixes joined
17:18
uasi left
17:19
Sarten-X left
|
|||
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... | ||
diakopter: 04:33Z <moritz> tell diakopter fixed. | |||
sorear | seems I'll be ditching the BValue optimization, maybe | ||
jnthn: nice | |||
diakopter | moritz: cool thanks | ||
17:21
lichtkind joined
|
|||
TimToady | are there any known segv bugs I should be avoiding in my 800 line program? | 17:21 | |
jnthn | TimToady: In nom? | 17:22 | |
TimToady | yes | ||
sorear | well, try not to overflow the C-stack... | ||
TimToady | it moves around, so it's probably corruption of some sort | ||
jnthn | TimToady: I don't have any known segfaults at present. The one tadzik++ had reliably reproducable got fixed the other day... | ||
sorear | nom: sub foo($x = foo) { }; foo | 17:23 | |
rakudo: sub foo($x = foo) { }; foo | |||
p6eval | nom 10d9ee: OUTPUT«(timeout)maximum recursion depth exceeded» | ||
rakudo 10d9ee: OUTPUT«(timeout)maximum recursion depth exceeded» | |||
jnthn | sorear: That won't blow the C stack, Parrot uses CPS. | ||
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 | ||
jnthn | Inferior runloops for the fail. | ||
TimToady: Sometimes a gdb backtrace or two gives me a good hint. | |||
sorear wonders what TimToady++ is writing | 17:25 | ||
jnthn | But if it is a corruption one then they're trickier to find. | ||
TimToady | oh, it's just my quiz editing program from last year, works fine (if slowly) on ng | 17:26 | |
seems close to working, after I did the workarounds I mentioned last night | |||
nom: / $x / # that one, for instance | |||
p6eval | nom 10d9ee: OUTPUT«===SORRY!===Method 'rxtype' not found for invocant of class 'PAST;Regex'» | ||
TimToady | and the absense of autoviv | 17:27 | |
17:27
Sarten-X joined
|
|||
TimToady | oh, and the mishandling of // in void and boolean context | 17:27 | |
17:29
alester left
|
|||
jnthn | The autoviv I may be able to fix up. The regex stuff could kinda use a pmichaud++ though. | 17:29 | |
TimToady | nom: $_ = 'abc 01'; /'abc ' (\d+)/ and say $0 | 17:30 | |
p6eval | nom 10d9ee: OUTPUT«Nil» | ||
jnthn | nom: $_ = 'abc 01'; /'abc ' (\d+)/.Bool; say $0 | ||
TimToady | nom: $_ = 'abc 01'; m/'abc ' (\d+)/ and say $0 | ||
p6eval | nom 10d9ee: OUTPUT«01» | ||
nom 10d9ee: OUTPUT«Nil» | |||
17:30
thou left
|
|||
jnthn | nom: $_ = 'abc 01'; say /'abc ' (\d+)/.Bool | 17:30 | |
p6eval | nom 10d9ee: OUTPUT«Bool::True» | ||
jnthn | nom: $_ = 'abc 01'; say /'abcdef ' (\d+)/.Bool | 17:31 | |
p6eval | nom 10d9ee: OUTPUT«Bool::True» | ||
jnthn | ah, no method Bool in Regex... | ||
TimToady | nom: $_ = 'abc 01'; /'abc ' (\d+)/; say $0 | 17:32 | |
p6eval | nom 10d9ee: OUTPUT«Nil» | ||
TimToady | that also fails | ||
jnthn | ng: $_ = 'abc 01'; /'abc ' (\d+)/; say $0 | ||
moritz | that one needs automagic .sink, I think | ||
jnthn | b: $_ = 'abc 01'; /'abc ' (\d+)/; say $0 | ||
p6eval | b 1b7dd1: OUTPUT«Any()» | ||
jnthn | moritz: Right. | ||
Oh. | |||
We have PAST::Want now... | |||
Wonder if that helps. | 17:33 | ||
TimToady | niecza: $_ = 'abc 01'; /'abc ' (\d+)/; say $0 | 17:34 | |
p6eval | niecza v9-30-g2b3ba1c: OUTPUT«Any()» | ||
17:34
masak joined
|
|||
masak | lol hi again | 17:34 | |
TimToady | ooh, bug? | ||
niecza: $_ = 'abc 01'; /'abc ' (\d+)/ and say $0 | |||
p6eval | niecza v9-30-g2b3ba1c: OUTPUT«#<match from(4) to(6) text(01) pos([].list) named({}.hash)>» | ||
jnthn | lolitsmasak! | ||
masak | lol! | ||
it's jnthn! | 17:35 | ||
jnthn | :P | 17:36 | |
sorear | "what, you mean jnthn isn't a pmichaud?" | ||
JimmyZ | lolits*! | ||
masak | :P | ||
jnthn | sorear: I...didn't yet learn QRegex guts. :) | ||
sorear | TimToady: maybe bug maybe not | ||
TimToady: you have a Regex object in void context there. | |||
TimToady | from a p5 viewpoint, certainly a bug | ||
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水平。 ^^ | ||
sorear | a single 'm' will improve the situation | ||
TimToady | that's a workaround, not a fix :) | ||
JimmyZ | masak: I can't follow you .... | 17:38 | |
jnthn | > $_ = 'abc 01'; /'abc ' (\d+)/ and say $0 | ||
01 | |||
masak | JimmyZ: I might've botched it up :/ | ||
jnthn | masak: I understood "Chinese people" and "lolcat" :P | ||
masak | JimmyZ: meant to say, "A Chinese guy is correcting my lolspeak". | ||
17:38
SHODAN left
|
|||
JimmyZ | masak: nope, * means Whatever, which is Perl 6 :) | 17:39 | |
sorear | 水平 is a very odd construction for that | ||
masak | ooooooohh | ||
sorear | coming of water, really? | ||
sorear wonders how it idomatically translates | |||
TimToady | not come | ||
masak | sorear: 平 isn't 'come'. | ||
TimToady | it's level | 17:40 | |
or even | |||
masak | it's "plain". | ||
right, even. | |||
JimmyZ | 水平线 | ||
17:40
pernatiy joined
|
|||
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? | ||
sorear | erm. | ||
masak | JimmyZ: Google Translate probably went for "English level" or something, then. | ||
sorear needs to study much more hanzi | 17:41 | ||
JimmyZ | 水平 is completely different from 水平线 | ||
TimToady | waterline? | ||
jnthn | moritz: No | ||
moritz: I think that'd set the wrong $/ | |||
moritz: Just pushed fine | |||
dalek | kudo/nom: 6f801ee | jnthn++ | src/core/Regex.pm: Implement Regex.Bool (TimToady++ for noticing it was missing). |
17:42 | |
JimmyZ | but they are the same origin, just like a role :) | ||
jnthn | moritz: Get some new passing TODOs also :) | ||
moritz | jnthn: btw, 51s for the mandelbrot thing | ||
masak | perl6: sub is-a-palindrome($_ is copy) { s:g/\W//; $_ eq .lc }; say is-a-palindrome "Dammit, I'm mad!" | ||
p6eval | pugs: OUTPUT«***  Unexpected "-" expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block at /tmp/kikl0O2RsD line 1, column 7» | ||
..rakudo 10d9ee, niecza v9-30-g2b3ba1c: OUTPUT«Bool::False» | |||
17:42
kaleem joined
|
|||
sorear 's brain interpreted 平 as 来 | 17:42 | ||
masak | dammit. | ||
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!» | ||
masak | sorear: I once mixed up 平 and 半 on a test, and vowed never to mix them up again. | ||
TimToady | those are pretty easy to confuse | 17:44 | |
but the one on the right is obviously dividing something in half, and isn't level on top :) | |||
JimmyZ | 曰 and 日 are different | ||
masak | TimToady: that's my rule as well nowadays :P | ||
I have a listing of characters which look like telephone poles: masak.org/carl/w/index.php/Characte...hone_poles | |||
JimmyZ | :) | ||
曰 日日曰日曰曰日日日曰日日曰曰曰曰日日 | 17:45 | ||
TimToady | masak: don't forget 耒 :) | 17:46 | |
masak | ;) | ||
sorear | let me guess, that's a grammatical sentence | ||
masak | JimmyZ: looks like a Dr Who convention. | ||
JimmyZ | you will be confused with that | ||
and me too | 17:47 | ||
TimToady | キ 㐄 专 𠂖 | ||
17:47
xinming left
|
|||
sorear | does the first really count? it's kana | 17:47 | |
TimToady | 手 于 | 17:48 | |
乇 | |||
壬 | |||
𡈼 | |||
diakopter wishes he had fonts for those | |||
17:49
cotto_work joined
|
|||
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» | ||
..pugs: OUTPUT«***  Unexpected "-" expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block at /tmp/Bkki0VKIp0 line 1, column 7» | |||
masak | \o/ | ||
TimToady | 王 | ||
I could go on :) | |||
masak | :) | ||
masak likes キ | 17:50 | ||
I know exactly how that telephone pole feels :P | |||
JimmyZ | night | 17:51 | |
17:51
JimmyZ left
|
|||
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!" | ||
p6eval | rakudo 10d9ee, niecza v9-30-g2b3ba1c: OUTPUT«Bool::True» | ||
..pugs: OUTPUT«***  Unexpected "-" expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block at /tmp/rlWAFHx3yA line 1, column 7» | |||
masak | sorear++ | 17:55 | |
'~~ .flip' is a *really* nice way to say 'is a palindrome' | |||
Dammit, I shoulda thought of that! :) | |||
JimmyZ: 甜蜜的梦,卓明亮 | 17:58 | ||
17:59
xinming joined
|
|||
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 | |
that's interesting. | |||
both have high ideals, for sure. but they're different high ideals. | 18:00 | ||
daxim | masak, “晚安” | ||
masak | dang! | 18:01 | |
I swear I knew that one. overreliance on GT bad! :( | |||
daxim | also, I had a list of like 1000 characters which are are like a continuum of similarity | ||
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." | ||
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:03 | ||
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? :) | ||
masak | PerlJam: I'm just trying to figger out the original intent. | 18:06 | |
ah, here's the email: "We believe that you are confusing 褔 U+8914 (FU4) with 福 U+798F (FU2." | 18:09 | ||
:/ | |||
jnthn | "In summary, F U 2!" | 18:10 | |
18:10
Woodi joined
|
|||
masak | interestingly, the person who replied had a microsoft.com address. | 18:11 | |
jnthn -> store | |||
masak | probably says something good about Microsoft's involvement in Unicode. | ||
daxim | you didn't learn the radicals, then | 18:12 | |
18:12
Tene joined,
Tene left,
Tene joined
|
|||
masak | no, not enough at that point. | 18:14 | |
now I know that the one in 福 has to do with deity and the one in 褔 has to do with clothes. | |||
daxim | ah, found my backup. here, knock yourself out: paste.scsys.co.uk/144125?tx=on | 18:15 | |
18:19
nebuchadnezzar joined
|
|||
masak | daxim: nice list. | 18:19 | |
18:24
fhelmberger_ joined
18:26
kaleem left
|
|||
TimToady | well, it's not that simple | 18:28 | |
18:28
saaki left
|
|||
TimToady | since there's also 礻 as well as 示 | 18:29 | |
masak | right. | 18:30 | |
TimToady | it also doesn't help that 福/xF0xAFxA5x96xEFxA8x9B are the most distorted characters on the planet | ||
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 | ||
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. | ||
TimToady | it's *not* just handwriting | 18:33 | |
the right side means "fulljar" and is often drawn as a jar, for instance | 18:34 | ||
daxim | 福到了 ↔ 福“倒”了 | ||
it's a pun | |||
masak doesn't get it | 18:35 | ||
18:35
sayu left
|
|||
daxim | blessing has arrived (punctually for the new year/spring festival). "arrived" sounds like "inverted" | 18:36 | |
so write 福 upside down to convey this saying | |||
masak | ah! | 18:37 | |
hah! | |||
moritz | any objections to renaming S02-names_and_variables/ to S02-names-vars ? | 18:39 | |
sorear | +1 | ||
masak | go for it. | ||
moritz | I'll also rename some of the other long names | ||
18:40
MayDaniel left
18:43
saaki joined
|
|||
jnthn | moritz: +1 | 18:43 | |
18:46
frhodes left
18:51
molaf joined
18:53
Chillance joined
|
|||
dalek | ast: eae66cd | moritz++ | S0 (146 files): mass rename; get rid of all top level underscores |
18:53 | |
18:53
thou joined
|
|||
dalek | ast: 6c2152e | moritz++ | S (3 files): rakudo unfudges |
18:56 | |
18:56
envi left
18:57
daxim left,
Kivutarrr joined
|
|||
moritz | how can I see the renames of a git commit? | 18:58 | |
flussence | git diff -M --summary eae66~1..eae66 | 19:00 | |
19:00
pernatiy left
|
|||
moritz | flussence++ | 19:01 | |
masak | renames aren't sourced in git. they're calculated information. | ||
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 :-) | ||
flussence | (didn't realise git-show took git-diff options) | ||
dalek | kudo/nom: e1e0913 | moritz++ | t/spectest.data: track test file rename |
||
masak | moritz: you probably don't, except insofar as "the renames of a git commit" don't exist, in the strictest sense. | ||
flussence++ # it does? nice! | 19:03 | ||
moritz | masak: I don't care if it exists, as long as git tells me about them :-) | ||
masak | moritz: you have a point, and I see it. :) | ||
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:06
vlixes left,
Kivutarrr left
|
|||
dalek | ecza: 37fcc8d | moritz++ | t/spectest.data: track test file name changes |
19:12 | |
19:13
packetknife joined
19:21
packetknife left
19:22
mj41 joined
19:28
thou left
19:32
alvis joined
|
|||
masak | chromatic++ # www.modernperlbooks.com/mt/2011/09/...ix-it.html | 19:32 | |
chromatic, if you're reading this: s/ceteris paribis/ceteris paribus/ | |||
19:33
mj41 left
19:37
itz left
|
|||
masak | also, the aside about Wikipedia sounds overly bitter... | 19:38 | |
19:43
itz joined
|
|||
masak | anyway, good post. | 19:51 | |
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:52 | ||
19:53
mj41 joined,
carlin joined
|
|||
im2ee | Good night !:) | 19:55 | |
masak | im2ee: n | ||
19:55
im2ee left
|
|||
masak | hah! :) | 19:55 | |
19:55
miso2217 left
20:01
dukeleto left,
dukeleto joined
20:04
localhost left
20:05
miso2217 joined,
localhost joined
20:09
mj41 left
|
|||
diakopter | jnthn: ping | 20:17 | |
jnthn | diakopter: pong | 20:20 | |
diakopter | jnthn: where in rakudo would Object hashes be implemented? the setting? 6model? | 20:21 | |
20:21
Trashlord left
|
|||
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:23 | |
masak | perl6: my @a = [<foo bar baz>]; say "foo" eq any @a[0] | 20:24 | |
p6eval | rakudo e1e091: OUTPUT«any(False)» | ||
..niecza v9-31-g37fcc8d: OUTPUT«any(Bool::False, )» | |||
..pugs: OUTPUT«any(VBool False)» | |||
diakopter | on a related note, would Sets, KeySet, KeyBag etc be entirely in the setting (can someone implement them now without magic/glue help)? | ||
masak | perl6: my @a = [<foo bar baz>]; say "foo" eq any @a[0].list | 20:25 | |
p6eval | rakudo e1e091: OUTPUT«any(True, False, False)» | ||
..niecza v9-31-g37fcc8d: OUTPUT«any(Bool::True, Bool::False, Bool::False)» | |||
..pugs: OUTPUT«any(VBool False)» | |||
masak | rakudo++ niecza++ | ||
jnthn | We had Set back in ng, so I'm sure that one is possible. | ||
moritz | diakopter: if .WHICH works properly, that should be possible in the setting | ||
diakopter | what would it take to get .WHICH working in nom | 20:26 | |
20:26
Trashlord joined
|
|||
jnthn | The way we do it at the moment, implementing WHICH methods | 20:26 | |
nom: say 'xyz'.WHICH | 20:27 | ||
p6eval | nom e1e091: OUTPUT«19954560» | ||
jnthn | nom: say 'xyz'.WHICH; say 'xyz'.WHICH | ||
p6eval | nom e1e091: OUTPUT«2331328023313280» | ||
moritz thinks that should become Str:xyz or so | |||
jnthn | nom: say ('xy' ~ 'z').WHICH; say ('xy' ~ 'z').WHICH | ||
p6eval | nom e1e091: OUTPUT«1195391268550888» | ||
jnthn | ah, that's...very wrong. | ||
moritz | though the specs say that there's a special type for .WHICH | ||
diakopter | ObjAt | ||
jnthn | moritz: Yeah... | 20:28 | |
moritz | jnthn: right, .WHICH needs to be overridden for value types | ||
masak | moritz: just declare Int a special type :P | ||
masak removes all the debug statements from the grammar he just got working in Niecza... and things break again | 20:30 | ||
oh, hello LTM! nice to meet you! | |||
it will be a pleasure to get to know you better. :P | |||
jnthn | It looks like Hash_key_type_PMC exists in Parrot hashes | ||
if (hash->key_type == Hash_key_type_PMC) | |||
return VTABLE_hashvalue(interp, (PMC *)key); | |||
In other words, we'd need to map hashvalue v-table to .WHICH | 20:31 | ||
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 | ||
jnthn | diakopter: Indeed. | ||
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? | ||
jnthn | masak: It seems like a popular one at least. | ||
masak does it | |||
jnthn checks what the spec says about ObjAt | |||
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 | |||
masak | moritz: maybe you're thinking of <!!before | 20:35 | |
STD.pm6 is fullofem. | |||
whoa, that 'f' looks very weird when written together like that. | |||
20:37
bluescreen10 left
|
|||
moritz -> sleep | 20:37 | ||
masak | ooh, :: seems to work just as well. | ||
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:38 | ||
aah. livin' the Perl 6 dream :) | 20:39 | ||
diakopter | masak: drat; I almost mentioned :: earlier | ||
jnthn | diakopter: I'm pondering that as a first cut, ObjAt is a type that basically boxes a string | 20:40 | |
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! | ||
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 | ||
jnthn | Hm | 20:43 | |
Yeah. :/ | |||
That'd suck. | |||
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:44 | ||
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 | ||
jnthn | Maybe. | 20:46 | |
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. | ||
Anyway, seems that any solution involves introducing an ObjAt type. | 20:48 | ||
And implementing the various WHICHs that return that. | |||
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 ) |
||
jnthn | :) | ||
sorear | this is giving me ideas | 20:50 | |
20:51
birdwindupbird joined,
birdwindupbird left
|
|||
diakopter | oh noes | 20:52 | |
dalek | kudo/nom: c8ebb4b | jnthn++ | src/ (5 files): 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 | |
21:00
alester joined
|
|||
masak | jnthn++ | 21:06 | |
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:------> sub foo(Int ⏏$x = "foo") {}; say "this doesn't die at &foo is declared but not used at /tmp/LN8XmYT0a9 line 1:------> sub foo⏏(Int … | ||
..pugs, rakudo e1e091: OUTPUT«this doesn't die at compile time» | |||
masak | niecza: sub foo(Int $x = "foo") { say $x }; say "A"; foo() | 21:08 | |
p6eval | niecza v9-31-g37fcc8d: OUTPUT«AUnhandled 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… | ||
masak | I say catch it at compile time. | ||
jnthn | masak: Fairly easy to do | 21:13 | |
masak: Not sure where to put the check though. | |||
sorear | Is it really compile time, or :loadinit time? | 21:17 | |
jnthn | sorear: Where I said I could catch it? | 21:18 | |
Compile time. | |||
masak | seems we would have all the information as soon as we've build the AST nodes for that part of the signature. | 21:19 | |
jnthn | We don't build AST nodes for signatures really. | 21:20 | |
They're part of the model, not the AST. | |||
21:21
dukeleto left,
dukeleto joined
|
|||
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:25 | |
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 | ||
masak: Then it's just a case of nqp::istype($value, $nom_type) | |||
sorear | btw, I think PAST is a rather bad name. It's much lower level than a textbook "abstract syntax tree" | 21:27 | |
jnthn | Lower level? | 21:28 | |
21:29
jimmy1980 left
|
|||
sorear | jnthn: abstract syntax trees normally have one kind of node for every source-language construct | 21:30 | |
jnthn | omg omg! | 21:31 | |
er, wrong window | |||
sorear: Ah, in that case then yes, I agree. | |||
sorear wonders what jnthn is so excited about | 21:32 | ||
masak | "wait, this isn't privmsg, is it?" ;) | 21:33 | |
jnthn | :P | ||
sorear: Nothing Perl 6 related, I'm afraid. | |||
It *woulda* been nice if it was like "oh, another 10% of mandelbrot" though :P | |||
21:35
nebuchadnezzar left
21:36
jimmy1980 joined
|
|||
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… | ||
..pugs, niecza v9-31-g37fcc8d: OUTPUT«0» | |||
jnthn | perl6: say $*ARGS.WHAT | 21:40 | |
p6eval | rakudo e1e091: OUTPUT«Failure()» | ||
..pugs: OUTPUT«Scalar» | |||
..niecza v9-31-g37fcc8d: OUTPUT«Any()» | |||
21:40
soh_cah_toa joined
|
|||
masak | oh right. it's @*ARGS | 21:40 | |
that works just fine, it seems | 21:41 | ||
perl6: say +@*ARGS | |||
p6eval | pugs, rakudo e1e091, niecza v9-31-g37fcc8d: OUTPUT«0» | ||
masak | \o/ | ||
21:41
molaf left
21:42
tokuhiro_ joined
21:53
djanatyn joined,
nebuchadnezzar joined
22:01
s1n joined
22:05
fhelmberger_ left
|
|||
masak | nice. gist.github.com/1223133 | 22:12 | |
dalek | kudo/nom: 0a93f6e | jnthn++ | src/core/ (6 files): Improve object creation performance in a few hot-path places (e.g. iterators). |
22:14 | |
kudo/nom: 58809bb | jnthn++ | src/ (2 files): Don't re-check types at bind time that the multi-dispatcher already decided were fine. |
|||
jnthn | First sub-170s spectest run I've managed. | ||
22:14
alester left
|
|||
masak | oh, it's a prime sieve. | 22:15 | |
sorear | mm, shifty | 22:18 | |
masak | :) | ||
"Waterbed postulate: all siggie-less programming languages are shifty." :) | |||
jnthn | .oO( The S06 tests are smoking siggies... ) |
22:19 | |
TimToady | nom: given "foo" { when /f(o*)/ { say $0 } } | 22:22 | |
p6eval | nom c8ebb4: OUTPUT«Nil» | ||
TimToady | jnthn: ^^ | ||
sorear would love to see a sub-1700s niecza spectest run | |||
TimToady | nom: given "foo" { when m/f(o*)/ { say $0 } } | ||
p6eval | nom c8ebb4: OUTPUT«oo» | ||
jnthn | sorear: Throw hardware at it :P | ||
TimToady | there's another | ||
sorear prefers to throw software at problems | 22:23 | ||
jnthn | nom: given "foo" { when /f(o*) { say 'i waz here' }/ { say $0 } } | ||
p6eval | nom c8ebb4: OUTPUT«i waz hereNil» | ||
jnthn | sorear: I've adopted a hybrid approach. Faster hardware to help me see if my software throwing has worked out or not ;) | ||
TimToady: ah, that one... | 22:25 | ||
TimToady: Yeah, I know what's at the base of that one. | |||
Getting a bit tired for that today though...will take a look tomorrow. | 22:26 | ||
.u ъ | 22:29 | ||
phenny | U+044A CYRILLIC SMALL LETTER HARD SIGN (ъ) | ||
22:30
nmourey joined
22:31
wknight8111 joined
22:37
donri left
22:45
am0c left
22:52
jimmy1980 left
23:13
am0c joined
23:15
wamba left
23:16
japhb joined
|
|||
japhb is currently building niecza ... it's my first interaction of any kind with Mono/C#. | 23:18 | ||
diakopter | neat; which version of mono | 23:19 | |
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 | |
diakopter, checking | |||
diakopter, looks like 2.6.7 | |||
(The default in my Ubuntu) | |||
diakopter crosses fingers | |||
japhb | The build died. :-/ | 23:21 | |
diakopter | mberends reported the latest wouldn't build on 2.6.7 | ||
japhb | *sigh* | ||
diakopter | and so did you it seems; sorear might be around | ||
sorear intends for it to build on 2.6.7; I'm guessing he can fix it pretty quickly | |||
sorear: pling | 23:22 | ||
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:23 | |
diakopter | later mono versions (2.10.5 latest?) have TONS of fixes and performance improvements though, and of course additional features. | 23:24 | |
error CS0006: cannot find metadata file `Kernel' ? | 23:26 | ||
make: *** [boot/obj/CompilerBlob.dll] Error 1 | |||
is what mberends reported | |||
japhb | yup, that's the error (the first one) | ||
Oh, actually both. | |||
masak | 'night, #perl6 | 23:27 | |
diakopter | n | ||
japhb | o/ | ||
23:27
masak left
|
|||
japhb | Well, while I wait for sorear to appear, no seems like a decent time to try current rakudo ... | 23:28 | |
*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 | ||
japhb | diakopter, good, then hopefully experience with other "system" languages should serve well. | 23:30 | |
23:39
static_perl left
23:40
static_perl joined,
thou joined
23:44
aindilis left
23:54
packetknife joined
|
|||
sorear | Hi! | 23:55 | |
japhb | o/ | ||
sorear, How hard would it be to fix niecza to work on mono 2.6.7 again? | 23:56 | ||
sorear | japhb: no clue. | ||
japhb: did I accidentally commit CompilerBlob to master? | |||
oh, looks like it wasn't an accident. | 23:57 | ||
01739806919 was before I made that change, very few changes rela have been made on the mainline since then | 23:58 | ||
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 | ||
23:59
packetknife left
|
|||
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? | 23:59 |