| Time |
S |
Nick |
Message |
| 00:04 |
|
|
molaf_ joined #perl6 |
| 00:17 |
|
|
PacoLinux_ joined #perl6 |
| 00:40 |
|
|
Eth4n joined #perl6 |
| 00:47 |
|
|
ab5tract joined #perl6 |
| 00:48 |
|
|
bluescreen10 joined #perl6 |
| 01:01 |
|
|
whiteknight joined #perl6 |
| 01:18 |
|
|
dorlamm joined #perl6 |
| 01:25 |
|
|
hypolin joined #perl6 |
| 01:52 |
|
|
ethndbst joined #perl6 |
| 01:53 |
|
|
preflex joined #perl6 |
| 01:54 |
|
|
am0c^ joined #perl6 |
| 01:54 |
|
|
kboga left #perl6 |
| 02:20 |
|
|
wolfman2000 joined #perl6 |
| 02:29 |
|
|
odoacre joined #perl6 |
| 02:42 |
|
|
replore_ joined #perl6 |
| 02:44 |
|
|
am0c joined #perl6 |
| 03:12 |
|
|
envi_ joined #perl6 |
| 03:50 |
|
odoacre |
text |
| 03:52 |
|
sorear |
binary |
| 03:59 |
|
Util |
:raw |
| 04:02 |
|
|
worr joined #perl6 |
| 04:14 |
|
|
agentzh joined #perl6 |
| 04:17 |
|
|
PacoLinux_ joined #perl6 |
| 04:25 |
|
|
pyDude joined #perl6 |
| 04:41 |
|
|
woosley joined #perl6 |
| 04:50 |
|
|
thou joined #perl6 |
| 05:49 |
|
|
PacoLinux_ joined #perl6 |
| 05:52 |
|
|
thou joined #perl6 |
| 05:59 |
|
|
donri joined #perl6 |
| 06:03 |
|
moritz |
good morning |
| 06:05 |
|
|
packetknife joined #perl6 |
| 06:05 |
|
|
alvis joined #perl6 |
| 06:09 |
|
sorear |
good morning mortz |
| 06:12 |
|
tadzik |
good morning #perl6 |
| 06:13 |
|
tadzik |
I'm going to write an open letter to this idiot who drills walls at 7 AM |
| 06:13 |
|
tadzik |
argh. Disregard me |
| 06:14 |
|
moritz |
drills for everone! Open Drill Foundation! |
| 06:15 |
|
tadzik |
phenny: "wiertarka"? |
| 06:15 |
|
phenny |
tadzik: "drill" (pl to en, translate.google.com) |
| 06:15 |
|
tadzik |
ok, no faux pas ;) |
| 06:17 |
|
sorear |
you live in a multiple-family-housing-structure, tadzik? |
| 06:20 |
|
tadzik |
yeah, a block of flats |
| 06:21 |
|
tadzik |
it's quite fine when some idiot is not drilling at 7 AM |
| 06:21 |
|
|
packetknife joined #perl6 |
| 06:25 |
|
|
alvis joined #perl6 |
| 06:41 |
|
|
PacoLinux_ joined #perl6 |
| 06:44 |
|
|
koban joined #perl6 |
| 06:56 |
|
|
birdwindupbird joined #perl6 |
| 07:00 |
|
dalek |
rakudo/bigint: 71b0059 | moritz++ | src/Perl6/Actions.pm: |
| 07:00 |
|
dalek |
rakudo/bigint: use better bigint -> num conversion in radcalc. Might fix the problem with the $Pi constant jnthn++ was seeing |
| 07:00 |
|
dalek |
rakudo/bigint: review: https://github.com/rakudo/raku[…]commit/71b0059ed1 |
| 07:08 |
|
|
wtw joined #perl6 |
| 07:16 |
|
|
nebuchadnezzar joined #perl6 |
| 07:16 |
|
nebuchadnezzar |
yo |
| 07:21 |
|
moritz |
jnthn: hah, found the problem |
| 07:21 |
|
moritz |
$ ./perl6 -e 'say 10000000000000000.Num' |
| 07:21 |
|
moritz |
1874919424 |
| 07:33 |
|
japhb |
moritz, What causes that? |
| 07:33 |
|
moritz |
japhb: a bug in the bigint -> float converter that I wrote |
| 07:34 |
|
japhb |
Right, I meant, what was the bug? |
| 07:34 |
|
moritz |
japhb: "moritz being too silly to read the API docs of the library he is using" |
| 07:35 |
|
japhb |
That'll get you every time. ;-) |
| 07:35 |
|
moritz |
aye :-) |
| 07:35 |
|
moritz |
basically I missed a note that mp_get_int always cuts the result off to 32bit |
| 07:35 |
|
japhb |
ouch. |
| 07:35 |
|
moritz |
which is a nice idea if you want consistency, but not a nice idea if you want to use machine size ints |
| 07:36 |
|
japhb |
NOD |
| 07:36 |
|
moritz |
luckily easy to fix, it seems |
| 07:37 |
|
moritz |
.oO( by reading the API docs :-) ) |
| 07:37 |
|
japhb |
heh |
| 07:37 |
|
japhb |
BTW, did jnthn ever figure out why he was getting 32-bit INTVAL on a 64-bit arch? |
| 07:37 |
|
moritz |
dunno |
| 07:39 |
|
moritz |
I'd guess it's a parrot Configure.pl hiccup, or a weird default in the compiler, or a mixture thereof |
| 07:40 |
|
dalek |
nqp/bigint: d554f1d | moritz++ | / (2 files): |
| 07:40 |
|
dalek |
nqp/bigint: fix, simplify and test bigint -> float conversion for 32 < size < 64 |
| 07:40 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/d554f1d510 |
| 07:40 |
|
* japhb |
suspects "all of the above" |
| 07:40 |
|
moritz |
if you read through that diff, the change from mp_get_int (32 bit) to DIGIT(a, 0) (full "digit" width, ususally 60 bit) is the interesting part |
| 07:41 |
|
moritz |
and it also explains why jnthn didn't see the erorrs, because on his platforms DIGIT is smaller than 32bit |
| 07:41 |
|
japhb |
right. |
| 07:42 |
|
japhb |
That reminds me: might your problem with isbig be because of the upper 4 "reserved" bits left over from DIGIT are not necessarily all 0? |
| 07:43 |
|
japhb |
Meaning, do you need to mask them off before doing your isbig test? |
| 07:44 |
|
japhb |
(I'm not looking at the code at the moment, just something I thought of a while ago) |
| 07:46 |
|
japhb |
g'night, Perlwrights |
| 07:56 |
|
TiMBuS |
moritz |
| 07:57 |
|
moritz |
... yes? |
| 07:57 |
|
TiMBuS |
does the bigint implementation cause all ints to become.. big |
| 07:57 |
|
TiMBuS |
had trouble phrasing that for some reason |
| 07:57 |
|
TiMBuS |
does it box all ints |
| 07:58 |
|
moritz |
well, the question is on what level |
| 07:58 |
|
TiMBuS |
or does it use some overflow/upgrade magic |
| 07:58 |
|
moritz |
an Int now always stores its data in an mp_int structure |
| 07:58 |
|
moritz |
but an int is still a machine-sized integer register |
| 07:59 |
|
TiMBuS |
i see |
| 08:00 |
|
TiMBuS |
i need to use my shift key more |
| 08:00 |
|
moritz |
I'm surprised you don't, with that nick of yours :-) |
| 08:01 |
|
TiMBuS |
about 11 years of using it and its sorta like a tattoo |
| 08:01 |
|
TiMBuS |
i dont like it anymore but im stuck with it |
| 08:02 |
|
* moritz |
doesn't have any tattoos he doesn't like |
| 08:02 |
|
Timbus |
easier than i thought |
| 08:05 |
|
moritz |
Timbus++ |
| 08:05 |
|
dalek |
roast: df923e9 | moritz++ | S32-num/rat.t: |
| 08:05 |
|
dalek |
roast: refudge rat.t for bigint usage |
| 08:05 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/df923e9fb6 |
| 08:07 |
|
moritz |
jnthn: https://gist.github.com/1366434 current spectest status on bigint |
| 08:08 |
|
moritz |
jnthn: it seems the regex tests fail while compiling \x escapes, because I've overridden the hex -> int conversion method to return an Int |
| 08:08 |
|
moritz |
jnthn: I don't know what the best fix is, maybe you have an idea? |
| 08:15 |
|
|
koban left #perl6 |
| 08:29 |
|
|
domidumont joined #perl6 |
| 08:34 |
|
|
mj41 joined #perl6 |
| 08:52 |
|
|
mkramer joined #perl6 |
| 08:57 |
|
|
icwiener joined #perl6 |
| 08:58 |
|
|
flip214 joined #perl6 |
| 09:01 |
|
|
flip214 left #perl6 |
| 09:05 |
|
|
huf joined #perl6 |
| 09:07 |
|
|
[particle] joined #perl6 |
| 09:09 |
|
|
jjore joined #perl6 |
| 09:19 |
|
|
domidumont joined #perl6 |
| 09:22 |
|
|
woosley left #perl6 |
| 09:29 |
|
|
snearch joined #perl6 |
| 09:40 |
|
jnthn |
morning, #perl6 |
| 09:41 |
|
moritz |
\o jnthn |
| 09:43 |
|
jnthn |
Ugh. Caught a cold. |
| 09:43 |
|
* jnthn |
pulls the latest changes |
| 09:44 |
|
jnthn |
moritz: OK, seems like I was having a bunch of those fail too |
| 09:44 |
|
moritz |
rakudo doesn't yet declare the proper nqp/bigint dependency, it's just "the latest" :-) |
| 09:45 |
|
moritz |
$ ./perl6 --ll-exception -e '/\x12/' 2>&1|head |
| 09:45 |
|
moritz |
Null PMC access in invoke() |
| 09:45 |
|
moritz |
current instr.: 'nqp;QRegex;P6Regex;Actions;backslash:sym<x>' pc 76331 (src/stage2/QRegex.pir:26301) (src/stage2/QRegex.nqp:1300) |
| 09:45 |
|
jnthn |
oh, is that the rx.t fail? |
| 09:45 |
|
moritz |
yes |
| 09:45 |
|
moritz |
and another regex fail |
| 09:46 |
|
moritz |
I guess it's because the hex-to-int conversion now returns an Int |
| 09:46 |
|
moritz |
maybe I should revert that, and have it always return a parrot number in nqp, and override all action methods in rakudo |
| 09:47 |
|
jnthn |
Is overriding backslash:sym<x> and friends in Rakudo not enough? |
| 09:47 |
|
moritz |
dunno |
| 09:48 |
|
jnthn |
ok 26 - bigint -> float, 1e16 |
| 09:49 |
|
moritz |
oh, it might be much simpler |
| 09:49 |
|
jnthn |
however |
| 09:49 |
|
jnthn |
not ok 1 - pi (using constant) |
| 09:49 |
|
jnthn |
# got: 3.14159265 |
| 09:49 |
|
jnthn |
# expected: 0.552631241154582 |
| 09:49 |
|
moritz |
I've changed ints_to_string to a method, and QRegex still assumes it's a sub |
| 09:49 |
|
moritz |
:( |
| 09:49 |
|
jnthn |
oh! |
| 09:50 |
|
|
dakkar joined #perl6 |
| 09:51 |
|
* jnthn |
hopes the :: to . fix does it |
| 09:51 |
|
moritz |
jnthn: what does '3.14159265.perl' print on your machine? |
| 09:52 |
|
moritz |
it's 62831853/20000000 here |
| 09:53 |
|
jnthn |
moritz: Seems it's something to do wiht length... https://gist.github.com/1366601 |
| 09:53 |
|
jnthn |
moritz: Note that it's not a Rat - it's a Num literal. |
| 09:53 |
|
jnthn |
> 3.14159265.perl |
| 09:53 |
|
jnthn |
62831853/20000000 |
| 09:54 |
|
moritz |
jnthn: then I need 3.141592653589.perl :-) |
| 09:55 |
|
moritz |
(radcalc deals with Num and Rat mostly the same way, so the output is still interesting) |
| 09:56 |
|
jnthn |
> 3.141592653589.perl |
| 09:56 |
|
jnthn |
3141592653589/1000000000000 |
| 09:56 |
|
jnthn |
moritz: I see we do this: |
| 09:56 |
|
jnthn |
my num $result := nqp::mul_n(nqp::div_n(nqp::unbox_i($iresult), nqp::unbox_i($fdivide)), nqp::pow_n($base, $exponent)); |
| 09:56 |
|
jnthn |
return $*ST.add_numeric_constant('Num', $result); |
| 09:56 |
|
moritz |
I thought I changed that from unbox_i to tonum_I |
| 09:57 |
|
jnthn |
yeah, I was wondering why it wasn't tonum_I |
| 09:57 |
|
jnthn |
Line 4317 |
| 09:57 |
|
moritz |
did I forget to push 71b0059ed1b7a54981de89fa932f077a4e70ac3f ? |
| 09:57 |
|
jnthn |
oh wait |
| 09:57 |
|
moritz |
jnthn: you forgot to pull :-) |
| 09:57 |
|
jnthn |
Yeah...grr |
| 09:57 |
|
jnthn |
sorry. |
| 09:58 |
|
jnthn |
I thought I had :S |
| 09:58 |
|
moritz |
no problem :-) |
| 09:58 |
|
jnthn |
pi.t is happy again \o/ |
| 09:58 |
|
jnthn |
moritz++ |
| 09:58 |
|
moritz |
jnthn: if 3141592653589.Num seems sensible on your machine, the fix is likely to... |
| 09:58 |
|
moritz |
work |
| 09:58 |
|
* moritz |
too slow |
| 09:59 |
|
jnthn |
t/spec/S02-types/infinity.rakudo - I suspect this one may need re-fudging; it doen't take kindly to Int.Inf failing. |
| 09:59 |
|
moritz |
aye |
| 09:59 |
|
moritz |
I'm fine with fudging that one |
| 09:59 |
|
|
GlitchMr joined #perl6 |
| 10:00 |
|
moritz |
it's todo()ed anyway |
| 10:01 |
|
dalek |
roast: 82f7dc2 | moritz++ | S02-types/infinity.t: |
| 10:01 |
|
dalek |
roast: s/todo/skip/ some Inf related tests which bigint branch will break completely |
| 10:01 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/82f7dc2820 |
| 10:01 |
|
jnthn |
oh, heh, I just did it too |
| 10:01 |
|
jnthn |
No changes -- Patch already applied. |
| 10:01 |
|
jnthn |
Everything up-to-date |
| 10:01 |
|
jnthn |
We did the exact same change ;) |
| 10:01 |
|
moritz |
it's nice that git doesn't bother us with conflicts in that case |
| 10:02 |
|
dalek |
nqp/bigint: 13943ae | moritz++ | src/ (2 files): |
| 10:02 |
|
dalek |
nqp/bigint: fix regexes again |
| 10:02 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/13943aedef |
| 10:02 |
|
dalek |
nqp/bigint: feb1973 | moritz++ | src/stage0/ (6 files): |
| 10:02 |
|
dalek |
nqp/bigint: update bootstrap |
| 10:02 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/feb1973aa9 |
| 10:02 |
|
jnthn |
nom: .say for :16<dead_beef> * 16**8, :16<dead_beef*16**8> |
| 10:03 |
|
p6eval |
nom ef4702: OUTPUT«1.60456909810974e+191.60456909810974e+19» |
| 10:03 |
|
jnthn |
> .say for :16<dead_beef> * 16**8, :16<dead_beef*16**8> |
| 10:03 |
|
jnthn |
16045690981097406464 |
| 10:03 |
|
jnthn |
1.60456909810974e+19 |
| 10:03 |
|
jnthn |
hmm...we accidentally the num somewhere :) |
| 10:04 |
|
moritz |
src/Perl6/Actions.pm +4318 I'd guess |
| 10:04 |
|
moritz |
(ack'ing for pow_n) |
| 10:04 |
|
moritz |
hm, yes |
| 10:05 |
|
moritz |
we need to make radcalc smarter |
| 10:05 |
|
moritz |
to not always assume Num when an exponent is present |
| 10:05 |
|
moritz |
maybe just another flag to it |
| 10:05 |
|
jnthn |
ah, yeah, I see what's going on |
| 10:05 |
|
jnthn |
We conflate e123 with the **123 inside the rad |
| 10:06 |
|
moritz |
right |
| 10:06 |
|
moritz |
maybe a :$num named param |
| 10:06 |
|
moritz |
then we can get rid of that exponent definedness check too |
| 10:06 |
|
jnthn |
+1 |
| 10:07 |
|
|
daxim joined #perl6 |
| 10:08 |
|
jnthn |
nom: $x := 0; say 3 div $x; |
| 10:08 |
|
p6eval |
nom ef4702: OUTPUT«===SORRY!===Variable $x is not predeclared at line 1, near " := 0; say"» |
| 10:08 |
|
jnthn |
nom: my $x := 0; say 3 div $x; |
| 10:08 |
|
p6eval |
nom ef4702: OUTPUT«Divide by zero in sub infix:<div> at src/gen/CORE.setting:2324 in block <anon> at /tmp/SJaS0EAVb6:1 in <anon> at /tmp/SJaS0EAVb6:1» |
| 10:08 |
|
jnthn |
> my $x := 0; say 3 div $x; |
| 10:08 |
|
jnthn |
0 |
| 10:09 |
|
jnthn |
That's the arith.t one |
| 10:09 |
|
moritz |
aye |
| 10:10 |
|
moritz |
should probably be fixed on the nqp_bigint_div op level |
| 10:10 |
|
jnthn |
Yeah, looking at the op now :) |
| 10:10 |
|
moritz |
nom: say nqp::box_I(1, 1) |
| 10:10 |
|
p6eval |
nom ef4702: OUTPUT«===SORRY!===Unrecognized nqp:: opcode 'nqp::box_I' at line 1, near ""» |
| 10:10 |
|
moritz |
nom: say nqp::box_i(1, 1) |
| 10:10 |
|
p6eval |
nom ef4702: OUTPUT«1» |
| 10:11 |
|
moritz |
maybe checking the return value of the mp_div call would be a good idea :-) |
| 10:12 |
|
jnthn |
yeah, just making sure that it behaves :) |
| 10:14 |
|
jnthn |
Testing it now |
| 10:20 |
|
dalek |
nqp/bigint: 3bf3807 | jnthn++ | src/ops/nqp_bigint.ops: |
| 10:20 |
|
dalek |
nqp/bigint: Check return value of mp_div and throw exception. Fixes the arith.t regression. |
| 10:20 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/3bf380713d |
| 10:21 |
|
moritz |
jnthn++ |
| 10:23 |
|
jnthn |
nom: .say for +^0xdead +& 0xbeef, 0x2042 |
| 10:23 |
|
p6eval |
nom ef4702: OUTPUT«82588258» |
| 10:24 |
|
jnthn |
> +^0xdead +& 0xbeef, 0x2042 |
| 10:24 |
|
jnthn |
40622 8258 |
| 10:24 |
|
jnthn |
hmm..there's the bit.t one |
| 10:24 |
|
* jnthn |
digs a bit |
| 10:25 |
|
jnthn |
nom: say +^0xdead |
| 10:25 |
|
p6eval |
nom ef4702: OUTPUT«-57006» |
| 10:25 |
|
moritz |
oh. |
| 10:25 |
|
jnthn |
that matches |
| 10:25 |
|
moritz |
not oh. |
| 10:25 |
|
jnthn |
> say +^0xdead |
| 10:25 |
|
jnthn |
-57006 |
| 10:26 |
|
moritz |
$ ./perl6 -e '.say for :16<dead_beef> * 16**8, :16<dead_beef*16**8>' |
| 10:26 |
|
moritz |
16045690981097406464 |
| 10:26 |
|
moritz |
1.60456909810974e+19 |
| 10:26 |
|
moritz |
meh, patch didn't work :/ |
| 10:26 |
|
jnthn |
aww |
| 10:26 |
|
jnthn |
nom: say -1 +& 1 |
| 10:27 |
|
p6eval |
nom ef4702: OUTPUT«1» |
| 10:27 |
|
jnthn |
nom: say -5 +& 2 |
| 10:27 |
|
p6eval |
nom ef4702: OUTPUT«2» |
| 10:27 |
|
moritz |
ah, I see why my patch failed; trying to fix now |
| 10:27 |
|
jnthn |
nom: say -57006 +& 0xbeef |
| 10:27 |
|
p6eval |
nom ef4702: OUTPUT«8258» |
| 10:28 |
|
jnthn |
nom: say +^0xdead +& 0xbeef |
| 10:28 |
|
p6eval |
nom ef4702: OUTPUT«8258» |
| 10:28 |
|
moritz |
jnthn: oh, it might be that bitwise ops from tommath do different things for negative numbers than perl 6 semantis |
| 10:28 |
|
jnthn |
> say +^0xdead +& 0xbeef |
| 10:28 |
|
jnthn |
40622 |
| 10:28 |
|
jnthn |
yeah |
| 10:29 |
|
moritz |
I must admit I just wrapped the ops without thinking about possible semantic mismatches :/ |
| 10:30 |
|
jnthn |
well, guess this is why we have tests :) |
| 10:30 |
|
moritz |
nom: say (-3) +| |
| 10:30 |
|
p6eval |
nom ef4702: OUTPUT«===SORRY!===Confused at line 1, near "say (-3) +"» |
| 10:30 |
|
moritz |
nom: say (-3) +| 3 |
| 10:30 |
|
p6eval |
nom ef4702: OUTPUT«-1» |
| 10:30 |
|
moritz |
that's 3 on bigint branch |
| 10:31 |
|
moritz |
because it just bit-ORs the magnitudes |
| 10:31 |
|
jnthn |
ah, seems you fixed the rx.t \o/ |
| 10:31 |
|
moritz |
\o/ |
| 10:32 |
|
moritz |
any ideas how the bit fiddling can be fixed? |
| 10:33 |
|
jnthn |
t/spec/S10-packages/basic.rakudo also works for me now |
| 10:33 |
|
jnthn |
As does t/spec/S10-packages/use-with-class.t |
| 10:33 |
|
jnthn |
Thinking about the bit fiddling |
| 10:37 |
|
moritz |
sorry, didn't spectest that one, takes too long here :/ |
| 10:37 |
|
dalek |
rakudo/bigint: 14baa3e | moritz++ | src/Perl6/Actions.pm: |
| 10:37 |
|
dalek |
rakudo/bigint: make :16<dead_beef*16**8> return an Int |
| 10:37 |
|
dalek |
rakudo/bigint: review: https://github.com/rakudo/raku[…]commit/14baa3e2b9 |
| 10:37 |
|
dalek |
roast: 9eca146 | jnthn++ | S32-num/rat.t: |
| 10:37 |
|
dalek |
roast: A couple of Inf related skips. |
| 10:37 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/9eca146619 |
| 10:38 |
|
jnthn |
That last one sorts out rat.t |
| 10:38 |
|
jnthn |
moritz: Are those S10 ones working for you again now? |
| 10:38 |
|
moritz |
jnthn: will see in about 20min :/ |
| 10:38 |
|
jnthn |
k |
| 10:39 |
|
moritz |
my laptop has the unhealthy tendency to overheat, and then turn itself off :/ |
| 10:39 |
|
jnthn |
:( |
| 10:39 |
|
jnthn |
Your radix fix works here \o/ |
| 10:39 |
|
* jnthn |
crosses that test off the todo list |
| 10:39 |
|
moritz |
and that's really bad if you use it remotely, and can't switch it on again |
| 10:39 |
|
moritz |
\o/ |
| 10:40 |
|
jnthn |
By my reckoning, we're now down to just needing to fix one test in bit.t, plus I should sort out big rats in pre-comp |
| 10:40 |
|
moritz |
that sounds managable before the release :-) |
| 10:40 |
|
jnthn |
:) |
| 10:41 |
|
jnthn |
2011-11-17 Rakudo #46 -vacant- |
| 10:41 |
|
jnthn |
Anybody who wants their moment of Rakudo release fame, step forward now ;) |
| 10:43 |
|
arnsholt |
I've had mine, thanks =) |
| 10:44 |
|
arnsholt |
moritz: You're the Rat-man, no? |
| 10:44 |
|
moritz |
arnsholt: I think colomon++ implemented them initially :-) |
| 10:45 |
|
jnthn |
phenny: assk japhb if usage message in MAIN is up to the point where we can turn the MAIN entry green in http://perl6.org/compilers/features |
| 10:45 |
|
jnthn |
phenny? |
| 10:45 |
|
jnthn |
oh |
| 10:45 |
|
jnthn |
phenny: ask japhb if usage message in MAIN is up to the point where we can turn the MAIN entry green in http://perl6.org/compilers/features |
| 10:45 |
|
phenny |
jnthn: I'll pass that on when japhb is around. |
| 10:46 |
|
arnsholt |
Ah, right |
| 10:46 |
|
moritz |
anyway, I'm not up for a release this month (vacation in Oslo, unsure about internet access/computer usage at host family) |
| 10:47 |
|
jnthn |
moritz: yes, I wasn't particularly thinking of you :) |
| 10:47 |
|
jnthn |
ooh, Oslo vacation :) |
| 10:47 |
|
jnthn |
enjoy it! |
| 10:47 |
|
jnthn |
afk for a little bit... |
| 10:47 |
|
moritz |
mostly wife's family |
| 10:47 |
|
arnsholt |
I've been toying with an idea of trying to implement Rats with continued fraction representations, but figured it'd be a good idea to have a chat with people familiar with the present Rats |
| 10:48 |
|
moritz |
arnsholt: well, there are two major questions to ask |
| 10:48 |
|
moritz |
1) how expensive is the storage and 2) how costly are operations |
| 10:48 |
|
arnsholt |
Yeah, I agree |
| 10:49 |
|
moritz |
and possibly 3) how easy/hard is it to detect overflow |
| 10:49 |
|
arnsholt |
It'll be more expensive in terms of memory (obviously), but run-time I'm not sure |
| 10:49 |
|
arnsholt |
Which is why I wanna try |
| 10:49 |
|
moritz |
arnsholt: just implement it in user space for a start |
| 10:49 |
|
moritz |
it offers everything you need, really |
| 10:50 |
|
arnsholt |
Yeah, definitely. That's the nice thing with Perl 6: The code I want to compare with is in Perl 6 already, so it's easy to do |
| 10:50 |
|
moritz |
what exactly would you need to store? a variable-sized list of integers? |
| 10:51 |
|
arnsholt |
Yeah, it's a long array of ints |
| 10:51 |
|
arnsholt |
(The idea itself comes from reading MJD's blog, which talks about this a bit) |
| 10:51 |
|
moritz |
you can use a ResizableIntegerArray from parrot for that, I gues |
| 10:51 |
|
arnsholt |
There are some interesting properties to the representation. It's very easy to get good decimal approximations for example |
| 10:52 |
|
arnsholt |
But a priori I suspect the current way and continued fractions will be better at different things |
| 10:52 |
|
moritz |
/home/moritz/p6/rakudo/install/bin/parrot: symbol lookup error: dynext/nqp_group.so/home/moritz/p6/rakudo/install/bin/parrot: symbol lookup error: dynext/nqp_group.so: undefined symbol: pmc_new |
| 10:52 |
|
moritz |
: undefined symbol: pmc_new |
| 10:53 |
|
moritz |
that's when trying to build nqp on newest parrot |
| 11:01 |
|
|
xinming joined #perl6 |
| 11:03 |
|
jnthn |
er, wtf :S |
| 11:05 |
|
jnthn |
https://github.com/parrot/parr[…]6ae4152b7d5f8951b |
| 11:05 |
|
dalek |
nqp/bigint: 52cef6e | moritz++ | src/ (12 files): |
| 11:05 |
|
dalek |
nqp/bigint: track parrot name changes |
| 11:05 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/52cef6e247 |
| 11:05 |
|
jnthn |
aha, the regularly scheduled deckchair rearrangement... |
| 11:09 |
|
|
ab5tract joined #perl6 |
| 11:09 |
|
jnthn |
ooh, though it was by bacek++...wonder if that means we get more awesome bacek hacking again :) |
| 11:09 |
|
moritz |
jnthn: he just announced his intent to merge a branch (after parrot release), so seems like "yes" :-) |
| 11:10 |
|
jnthn |
:D |
| 11:11 |
|
jnthn |
OK, time to pretend I actually have a $dayjob for a while :) |
| 11:31 |
|
|
PacoLinux_ joined #perl6 |
| 11:32 |
|
dalek |
nqp: 76e7d6e | bacek++ | src/6model/knowhow_bootstrapper.c: |
| 11:32 |
|
dalek |
nqp: Use PMCNULL instead of NULL to avoid triggering of assertions |
| 11:32 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/76e7d6e0a2 |
| 11:33 |
|
dalek |
nqp: 397dab4 | bacek++ | src/ (11 files): |
| 11:33 |
|
dalek |
nqp: Avoid using of deprecated parrot's functions |
| 11:33 |
|
dalek |
nqp: |
| 11:33 |
|
dalek |
nqp: Replace pmc_new with Parrot_pmc_new, pmc_type with |
| 11:33 |
|
dalek |
nqp: Parrot_pmc_get_type_str. |
| 11:33 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/397dab4be2 |
| 11:58 |
|
|
lestrrat joined #perl6 |
| 12:05 |
|
|
am0c joined #perl6 |
| 12:13 |
|
colomon |
arnsholt: do you have a link to the relevant sections in MJD's blog? :) |
| 12:15 |
|
arnsholt |
colomon: Just a 'sec |
| 12:16 |
|
|
bluescreen10 joined #perl6 |
| 12:16 |
|
|
Psyche^ joined #perl6 |
| 12:16 |
|
arnsholt |
colomon: http://perl.plover.com/yak/cftalk/ |
| 12:17 |
|
arnsholt |
Turns out it wasn't his blog =) |
| 12:18 |
|
arnsholt |
There's a reference to a website with a more technical presentation at the end |
| 12:23 |
|
colomon |
thanks! |
| 12:23 |
|
colomon |
arnsholt++ |
| 12:23 |
|
arnsholt |
You're welcome =) |
| 12:24 |
|
arnsholt |
As I mentioned to moritz, this is obviously more expensive in terms of memory, but it might offset the cost of gcd a bit |
| 12:24 |
|
arnsholt |
And they're very simple to make lazy |
| 12:31 |
|
|
JimmyZ joined #perl6 |
| 12:31 |
|
JimmyZ |
ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ |
| 12:31 |
|
|
am0c joined #perl6 |
| 12:31 |
|
JimmyZ |
what's this? |
| 12:32 |
|
tadzik |
mirrored n with an umbrella |
| 12:32 |
|
JimmyZ |
ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็à |
| 12:32 |
|
JimmyZ |
¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¸ªà¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹ |
| 12:32 |
|
JimmyZ |
‡à¹‡à¹‡à¹‡à¸ªà¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¸ªà¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡ |
| 12:32 |
|
JimmyZ |
็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็à |
| 12:32 |
|
JimmyZ |
¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¸ªà¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡à¹‡ |
| 12:32 |
|
JimmyZ |
..... |
| 12:33 |
|
moritz |
that was not nice, JimmyZ |
| 12:33 |
|
JimmyZ |
yes |
| 12:33 |
|
JimmyZ |
I don't know it outputs this |
| 12:34 |
|
* flussence |
sometimes wishes there were a regex shorthand to match things like "% 10s" (multiple atoms adding up to a fixed string length) |
| 12:35 |
|
tadzik |
hmm, you could maybe do that |
| 12:36 |
|
tadzik |
/ $<foo>=[ <atom> <matom> <otam> ] <?{ $<foo>.chars == 10 }> / |
| 12:36 |
|
moritz |
flussence: [. **10 & \s* \w*] |
| 12:36 |
|
tadzik |
oh! |
| 12:37 |
|
flussence |
wow. that was easy :D |
| 12:37 |
|
tadzik |
& is like |? |
| 12:37 |
|
arnsholt |
tadzik: Pretty much (in the sense I think you mean =) |
| 12:38 |
|
tadzik |
(: |
| 12:38 |
|
moritz |
nom: say '0045' ~~ / \d ** $ & 0+\d* / |
| 12:38 |
|
p6eval |
nom ef4702: OUTPUT«=> <0>» |
| 12:38 |
|
arnsholt |
Except it requires both branches to match, obviously |
| 12:38 |
|
moritz |
nom: say '0045' ~~ / \d ** & & 0+\d* / |
| 12:38 |
|
p6eval |
nom ef4702: OUTPUT«===SORRY!===Quantifier quantifies nothing at line 1, near " & & 0+\\d*"» |
| 12:38 |
|
moritz |
nom: say '0045' ~~ / \d ** 4 & 0+\d* / |
| 12:38 |
|
p6eval |
nom ef4702: OUTPUT«=> <0045>» |
| 12:38 |
|
moritz |
nom: say '0045' ~~ / ^[\d ** 3 & 0+\d*]$ / |
| 12:38 |
|
p6eval |
nom ef4702: OUTPUT«#<failed match>» |
| 12:38 |
|
moritz |
nom: say '0045' ~~ / ^[\d ** 4 & 0+\d*]$ / |
| 12:38 |
|
p6eval |
nom ef4702: OUTPUT«=> <0045>» |
| 12:38 |
|
moritz |
seems to even work :-) |
| 12:42 |
|
|
benabik joined #perl6 |
| 12:42 |
|
dalek |
rakudo/bigint: c3f6974 | moritz++ | src/ (5 files): |
| 12:42 |
|
dalek |
rakudo/bigint: track parrot renames |
| 12:42 |
|
dalek |
rakudo/bigint: review: https://github.com/rakudo/raku[…]commit/c3f6974231 |
| 12:47 |
|
|
wk joined #perl6 |
| 12:49 |
|
moritz |
$ echo 'class A { method x { say 3.1444444444444444447 } }' > A.pm |
| 12:49 |
|
moritz |
$ ./perl6 --target=pir A.pm > A.pir |
| 12:49 |
|
moritz |
$ ./perl6 -e 'use A; A.x' |
| 12:49 |
|
moritz |
0.645105813011996 |
| 12:49 |
|
moritz |
the Rat serialization problme on 3 lines :-) |
| 12:53 |
|
arnsholt |
Heehee =) |
| 12:54 |
|
|
JimmyZ joined #perl6 |
| 12:56 |
|
moritz |
arnsholt: I've skimmed the slides on continuous fractions. Now I know why it's not used more widely :-) |
| 12:56 |
|
moritz |
it's just much more complicated than storing numerator and denominator |
| 12:57 |
|
arnsholt |
Yeah, it looks a bit more fiddly |
| 12:57 |
|
moritz |
and does seem to make + and * a lot more expensive |
| 12:58 |
|
arnsholt |
Yeah, that's a distinct possibility |
| 12:58 |
|
moritz |
(I'm not saying you shouldn't try, it sure is an interesting experiment) |
| 12:58 |
|
arnsholt |
Yeah, I'm gonna try to find the tuits to tet it |
| 12:58 |
|
arnsholt |
s/tet/test |
| 13:00 |
|
|
tokuhirom joined #perl6 |
| 13:01 |
|
|
Tamal joined #perl6 |
| 13:01 |
|
Tamal |
hello |
| 13:02 |
|
moritz |
hi Tamal |
| 13:02 |
|
Tamal |
how i can set up perl 6 ? |
| 13:02 |
|
Tamal |
and where i can get its book ? |
| 13:02 |
|
Tamal |
plz help |
| 13:03 |
|
moritz |
Tamal: http://rakudo.org/how-to-get-rakudo/ |
| 13:03 |
|
moritz |
and the book from https://github.com/perl6/book/downloads |
| 13:03 |
|
Tamal |
thanks |
| 13:11 |
|
moritz |
jnthn: t/spec/S03-operators/bit.t is now the only failing test in the bigint branch |
| 13:11 |
|
moritz |
on my machine |
| 13:12 |
|
|
takadonet joined #perl6 |
| 13:13 |
|
takadonet |
hey all |
| 13:13 |
|
moritz |
\o takadonet |
| 13:14 |
|
jnthn |
moritz: Great, that matches what I have too |
| 13:17 |
|
jnthn |
moritz: I'm trying to find the bit of the bitwise spec that covers the case we're seeing here |
| 13:18 |
|
jnthn |
(looking in S03) |
| 13:18 |
|
jnthn |
Or is it a "same as 5" thingy? |
| 13:18 |
|
|
J__ joined #perl6 |
| 13:19 |
|
|
mishin joined #perl6 |
| 13:19 |
|
moritz |
+^$x |
| 13:19 |
|
moritz |
Coerces to Int and then does bitwise negation on the number, returning an Int. (In order not to have to represent an infinitude of 1's, represents that value as some negative in 2's complement form.) |
| 13:20 |
|
moritz |
so it is implied that int bitops work with 2's complement |
| 13:20 |
|
jnthn |
aha, ok |
| 13:20 |
|
jnthn |
Which is "fun" since our bigint library has a sign bit |
| 13:20 |
|
moritz |
aye |
| 13:21 |
|
moritz |
(though honestly I'm fine with regressing on that bit for now, and worry about it later) |
| 13:21 |
|
jnthn |
Only a bit later though ;) |
| 13:22 |
|
|
jlaire joined #perl6 |
| 13:23 |
|
moritz |
hm |
| 13:24 |
|
moritz |
can't you emulate $a +| $b (2's complement) as $a +^ ($b + 1) (sign bit)? |
| 13:25 |
|
moritz |
nom: say 3 +| (-6) |
| 13:25 |
|
p6eval |
nom ef4702: OUTPUT«-5» |
| 13:25 |
|
jnthn |
Well, two's complement is flip all the bits (including an extra added MSB) and then add 1. |
| 13:26 |
|
moritz |
yeah, I'm wrong here |
| 13:28 |
|
jnthn |
We could explicitly form the 2's complement of negative numbers |
| 13:28 |
|
jnthn |
(before the anding and oring) |
| 13:30 |
|
moritz |
sounds... inconvenient |
| 13:31 |
|
moritz |
like, growing the integer to the size of the other integer |
| 13:31 |
|
moritz |
manually inverting all the digits |
| 13:31 |
|
moritz |
clipping them to fit into DIGIT_BIT again |
| 13:31 |
|
moritz |
adding one |
| 13:31 |
|
moritz |
doing the bit operation |
| 13:32 |
|
moritz |
and all that only if exactly one of them is negative |
| 13:36 |
|
jnthn |
yeah, not so efficient |
| 13:41 |
|
moritz |
should I try to implement it anyway? |
| 13:43 |
|
jnthn |
Well, guess correctness is a good thing |
| 13:43 |
|
jnthn |
And we provide native ints for people needing raw performance now :) |
| 13:53 |
|
moritz |
nom: say (-1) +& 1 |
| 13:53 |
|
p6eval |
nom ef4702: OUTPUT«1» |
| 13:53 |
|
moritz |
nom: say (-1) +& 3 |
| 13:53 |
|
p6eval |
nom ef4702: OUTPUT«3» |
| 13:54 |
|
moritz |
nom: say (-1) +& (-3) |
| 13:54 |
|
p6eval |
nom ef4702: OUTPUT«-3» |
| 13:58 |
|
|
PacoLinux_ joined #perl6 |
| 14:04 |
|
moritz |
jnthn: http://moritz.faui2k3.org/tmp/bit_fiddling.patch is my current approach (compiles, not tested; doesn't produce the right sign yet) |
| 14:08 |
|
moritz |
oh, and it needs to negate back :/ |
| 14:16 |
|
moritz |
(patch updated) |
| 14:16 |
|
moritz |
seems to work, modulo the sign |
| 14:17 |
|
|
[particle] joined #perl6 |
| 14:18 |
|
|
wknight8111 joined #perl6 |
| 14:19 |
|
wknight8111 |
jnthn: ping |
| 14:20 |
|
|
sayu joined #perl6 |
| 14:24 |
|
jnthn |
wknight8111: pong |
| 14:24 |
|
|
grondilu joined #perl6 |
| 14:25 |
|
|
kaleem joined #perl6 |
| 14:25 |
|
jnthn |
moritz: Looks like what I was expecting. |
| 14:26 |
|
grondilu |
perl6: my $x; push @$x, 42; say @$x |
| 14:26 |
|
p6eval |
niecza v11-23-g18f7db0: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/lib/CORE.setting line 773 (warn @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 168 (Mu.Str @ 9)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting … |
| 14:26 |
|
p6eval |
..rakudo ef4702: OUTPUT«Use of uninitialized value in string context» |
| 14:26 |
|
p6eval |
..pugs b927740: OUTPUT«42» |
| 14:26 |
|
moritz |
I probably have to abort/interrupt my attempts right now; feel free to pick it up |
| 14:26 |
|
jnthn |
moritz: ok, thanks...will see what time I get this evening |
| 14:28 |
|
|
aloha joined #perl6 |
| 14:29 |
|
|
grondilu_ joined #perl6 |
| 14:30 |
|
grondilu_ |
pugs: say q{foo X bar foo Y bar} ~~ /foo [ .* !~~ X ] bar/;' |
| 14:30 |
|
p6eval |
pugs b927740: OUTPUT«***  Unexpected end of input expecting "\\", variable name or "'" at /tmp/bxmJlnFHI5 line 2, column 1» |
| 14:32 |
|
wknight8111 |
jnthn: I was going to try to recruit you to help debug some parrot build errors on windows, but I seem to be making progress myself |
| 14:32 |
|
jnthn |
wknight8111: I'm doing $dayjob bits but can certainly kick off a build and let you know what happens |
| 14:33 |
|
jnthn |
wknight8111: Let me know what branch etc |
| 14:52 |
|
|
Trashlord joined #perl6 |
| 15:07 |
|
|
thou joined #perl6 |
| 15:22 |
|
tadzik |
I get a few 'non zero exit status' spectests on the parrot/kill_constants, do you? |
| 15:27 |
|
wknight8111 |
tadzik: Do you not see those errors on master? |
| 15:28 |
|
wknight8111 |
tadzik: I heard rumors about those kinds of errors on master a while back, but never saw a ticket or anything. I assumed the issue disappeared |
| 15:36 |
|
|
domidumont joined #perl6 |
| 15:42 |
|
tadzik |
wknight8111: I didn't check on master, I can rebuild the thing |
| 15:48 |
|
wknight8111 |
tadzik: I'm just trying to narrow down between a problem specific to the branch or an endemic Parrot problem |
| 15:48 |
|
tadzik |
sure thing |
| 15:48 |
|
tadzik |
building rakudo now |
| 15:49 |
|
jnthn |
I've had various such things |
| 15:49 |
|
jnthn |
Got a couple at the moment |
| 15:49 |
|
jnthn |
(On master) |
| 15:49 |
|
wknight8111 |
I *suspect* it's an issue of inferior runloops coming up to bite us |
| 15:51 |
|
sorear |
good * #perl6 |
| 15:51 |
|
colomon |
\o |
| 15:51 |
|
|
ab5tract joined #perl6 |
| 15:51 |
|
colomon |
sorear: that reminds me, I wanted to ask you about MAIN. :) |
| 15:51 |
|
tadzik |
rakudo doesn't build on plain parrot for me now |
| 15:51 |
|
tadzik |
./perl6: symbol lookup error: dynext/perl6_ops.so: undefined symbol: pmc_type |
| 15:52 |
|
tadzik |
funny, it built just a moment ago on kill_constants |
| 15:52 |
|
tadzik |
wasn't the fix commited to bigint branch or such? |
| 15:52 |
|
sorear |
colomon: not supported, and I don't _quite_ understand how it's supposed to work, mostly for want of research |
| 15:53 |
|
colomon |
sorear: yeah, I was just wondering if you had a notion of how hard it would be to support it, even if just partially. |
| 15:53 |
|
tadzik |
it was, mind me cherry-picking that into nom? |
| 15:53 |
|
tadzik |
moritz, jnthn? |
| 15:55 |
|
jnthn |
tadzik: Go ahead, though we should merge bigint soon anyway :) |
| 15:55 |
|
jnthn |
I can handle losing 1 spectest for bigint support |
| 15:55 |
|
jnthn |
And may be able to not do that |
| 15:55 |
|
tadzik |
done |
| 15:55 |
|
dalek |
rakudo/nom: 0296f41 | moritz++ | src/ (5 files): |
| 15:55 |
|
dalek |
rakudo/nom: track parrot renames |
| 15:55 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/0296f41564 |
| 15:56 |
|
tadzik |
suddenly, karma. Out of nowhere! :) |
| 15:56 |
|
|
pochi joined #perl6 |
| 15:56 |
|
mux |
jnthn: is the bigint support for perl6 "homemade" or are you using libgmp or some other lib? |
| 15:56 |
|
TimToady |
s/perl6/rakudo/ |
| 15:57 |
|
jnthn |
mux: libtommath |
| 15:57 |
|
sorear |
colomon: eheh. discounting argument parsing, I think it would be not-too-hard to inject an ::Op::CallSub.new(|node($/), invocant => mklex($/, '&MAIN'), positionals => []) at the end of the mainline code if $*CURLEX<!sub>.has_lexical('&MAIN') |
| 15:57 |
|
mux |
jnthn: I've heard many good things about this one |
| 15:58 |
|
tadzik |
I've never heard about it, but everyone seems excited :) |
| 15:58 |
|
mux |
same goes for libtomcrypt |
| 15:58 |
|
jnthn |
mux: license and trivial to build on whatever platform are two good ones :) |
| 15:58 |
|
* mux |
nods violently |
| 15:58 |
|
mux |
libtomcrypt seems to be a lot more complete than openssl |
| 15:58 |
|
colomon |
sorear: I may take a look at doing that, then. assuming I get tuits, of course. :) |
| 15:59 |
|
jnthn |
It's bad enough that Rakudo users have to go chase down ICU to get proper unicode support. I didn't want similar fun for bigint. |
| 15:59 |
|
flussence |
(I've heard a few horror stories about openssl's internals...) |
| 15:59 |
|
sorear |
colomon: otoh, this wouldn't work in the case of class Something; sub MAIN() { } # because now &MAIN is in class-Something rather than mainline |
| 15:59 |
|
mux |
flussence: Don't. Ever. Read. It. :-) |
| 15:59 |
|
flussence |
point taken |
| 15:59 |
|
mux |
most people need to seek professional help after having read OpenSSL's code |
| 16:00 |
|
sorear |
hmm, I wonder what would happen if I fed ICU4J into ikvm |
| 16:00 |
|
flussence |
I get headaches just trying to *use* it :) |
| 16:01 |
|
mux |
flussence: hah yeah, merely trying to use the openssl(1) CLI tool is a challenge - every damn time I need to, i fall in the same traps :-) the thing is, I rarely need to use it so I forget everything quickly |
| 16:04 |
|
sorear |
colomon: you could also steal Rakudo's MAIN_HELPER, but you'd have to improve niecza's Sub introspection first |
| 16:05 |
|
colomon |
sorear: that sounds like more of a project. :( |
| 16:06 |
|
TimToady |
how far away is something like 6model for niecza? |
| 16:06 |
|
|
packetkn_ joined #perl6 |
| 16:08 |
|
|
slavik1 joined #perl6 |
| 16:09 |
|
sorear |
I would call finishing the 6model convergence a 2-week project |
| 16:10 |
|
* jnthn |
would call it an ongoing project, given even he doesn't consider 6model "complete" yet ;) |
| 16:10 |
|
TimToady |
that would be 2 sorear-weeks, not 2 mere-mortal-weeks, I presume :) |
| 16:10 |
|
sorear |
the biggest thing between Niecza-today and "6model" functionality is that HOWs aren't real P6 objects yet |
| 16:10 |
|
sorear |
TimToady: more to the point, 2-slow-weeks-at-school :) |
| 16:11 |
|
TimToady |
nodnodnod |
| 16:11 |
|
sorear |
these current weeks aren't slow |
| 16:11 |
|
TimToady |
much as we are in favor of Perl 6, we are also in favor of people not blowing up their lives :) |
| 16:11 |
|
sorear |
also it's a little hard to say what is meant by 6model |
| 16:12 |
|
sorear |
niecza is never going to quite look like 6model/clr because niecza made a few design decisions rather differently, like the one to use global "CPS" |
| 16:13 |
|
jnthn |
Well, one of the points of "small core" was that the core could be implemented as best suits a platform. |
| 16:27 |
|
tadzik |
arr, 451 open |
| 16:27 |
|
tadzik |
not on my watch |
| 16:30 |
|
|
smash joined #perl6 |
| 16:30 |
|
|
ethndbst joined #perl6 |
| 16:30 |
|
smash |
hello everyone |
| 16:31 |
|
tadzik |
hi smash |
| 16:32 |
|
tadzik |
https://rt.perl.org/rt3/Ticket[…]ay.html?id=100782 closable |
| 16:35 |
|
* masak |
closed it |
| 16:35 |
|
masak |
(hi, #perl6) |
| 16:36 |
|
jnthn |
evenin', masak |
| 16:36 |
|
|
kaare_ joined #perl6 |
| 16:38 |
|
tadzik |
hello masak |
| 16:38 |
|
tadzik |
wknight8111: same results on parrot master |
| 16:39 |
|
|
wk joined #perl6 |
| 16:39 |
|
dalek |
roast: f362fbd | tadzik++ | S14-roles/mixin.t: |
| 16:39 |
|
dalek |
roast: Tests for RT #100782 |
| 16:39 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/f362fbd43b |
| 16:39 |
|
dalek |
roast: 681e1e4 | tadzik++ | S02-lexical-conventions/sub-block-parsing.t: |
| 16:39 |
|
dalek |
roast: Test for RT #85844 |
| 16:39 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/681e1e4d35 |
| 16:39 |
|
wknight8111 |
tadzik: okay, so it's a pervasive problem. Like I said, I suspect it's related to inferior runloops but don't know for certain |
| 16:39 |
|
tadzik |
m'kay |
| 16:40 |
|
tadzik |
https://rt.perl.org/rt3/Ticket[…]lay.html?id=85844 closable |
| 16:40 |
|
tadzik |
and below 450 again :) |
| 16:40 |
|
flussence |
.oO( I'm having a productive week so far at $dayjob... 500 lines of code removed :) |
| 16:43 |
|
tadzik |
testneeded in https://rt.perl.org/rt3/Ticket[…]lay.html?id=77112 |
| 16:45 |
|
masak |
tadzik: closed. |
| 16:45 |
|
masak |
(the #85844, that is) |
| 16:45 |
|
tadzik |
heh, I added a test for wrap.t, but we don't run wrap.t yet |
| 16:45 |
|
tadzik |
never sure what to do in such situation :) |
| 16:46 |
|
jnthn |
Implement .wrap? ;-) |
| 16:46 |
|
tadzik |
:> |
| 16:46 |
|
tadzik |
hehe |
| 16:46 |
|
tadzik |
is meet('masak'), 'meet masak', 'wrapped meet() works'; |
| 16:46 |
|
jnthn |
.oO( wrapped meat ) |
| 16:47 |
|
tadzik |
hrm |
| 16:47 |
|
tadzik |
nom: use Test; eval_dies_ok 'nextsame' # what kind of error is that? |
| 16:47 |
|
p6eval |
nom 0296f4: OUTPUT«not ok 1 - » |
| 16:48 |
|
tadzik |
it doesn't die, it's just the compiler failing |
| 16:48 |
|
|
alester joined #perl6 |
| 16:48 |
|
mls |
Hi huys! |
| 16:48 |
|
tadzik |
nom: use Test; dies_ok { nextsame } |
| 16:48 |
|
tadzik |
hi mls! |
| 16:48 |
|
mls |
guys |
| 16:48 |
|
p6eval |
nom 0296f4: OUTPUT«not ok 1 - » |
| 16:48 |
|
jnthn |
gi mls! |
| 16:48 |
|
mls |
;) |
| 16:49 |
|
tadzik |
oh, heh |
| 16:49 |
|
mls |
jnthn: rakudo's closure creation code doesn't do a capture_lex |
| 16:49 |
|
tadzik |
"huys" could sound offensive in Polish :> |
| 16:50 |
|
jnthn |
mls: oh? It should do that at block entry... |
| 16:50 |
|
jnthn |
mls: Example? |
| 16:50 |
|
mls |
block entry doesn't work when recursion happens |
| 16:50 |
|
mls |
we had an example last week, wait a sec |
| 16:52 |
|
tadzik |
I have a feeling https://rt.perl.org/rt3/Ticket[…]lay.html?id=76328 is an alter ego of https://rt.perl.org/rt3/Ticket[…]lay.html?id=70267 and should be closed as well |
| 16:52 |
|
mls |
https://gist.github.com/1367579 |
| 16:53 |
|
tadzik |
masak: your call ^ |
| 16:53 |
|
|
KirG0FF joined #perl6 |
| 16:55 |
|
mls |
jnthn: my proposed fix is to add a perl6_capture_lex op that does a capture_lex on the $!do of the Code object and use it after "clone" is called |
| 16:55 |
|
jnthn |
mls: will look in a moment |
| 16:55 |
|
|
donri left #perl6 |
| 16:56 |
|
dalek |
roast: 43de0a9 | tadzik++ | S12-class/augment-supersede.t: |
| 16:56 |
|
dalek |
roast: Test for RT #75432 |
| 16:56 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/43de0a9b02 |
| 16:57 |
|
tadzik |
https://rt.perl.org/rt3/Ticket[…]lay.html?id=75432 closable |
| 16:59 |
|
tadzik |
nom: =pod  die   say 1 |
| 16:59 |
|
p6eval |
nom 0296f4: OUTPUT«1True in block <anon> at /tmp/HV4njUElSg:4 in <anon> at /tmp/HV4njUElSg:1» |
| 17:00 |
|
masak |
tadzik: I don't know about alter ego. they look distinct enough to me. |
| 17:00 |
|
masak |
even though the error messages are now the same. |
| 17:00 |
|
tadzik |
hrm |
| 17:00 |
|
* masak |
closes #75432 |
| 17:01 |
|
slavik1 |
would anyone advise against using perl6 for text processing? like reading a csv and dumping text after substituting some text? |
| 17:02 |
|
tadzik |
I won't :) |
| 17:02 |
|
masak |
slavik1: have you tried the Text::CSV module? :) |
| 17:02 |
|
slavik1 |
masak: for perl6 or perl5? |
| 17:02 |
|
masak |
for Perl 6. |
| 17:02 |
|
tadzik |
masak: works on nom? |
| 17:03 |
|
slavik1 |
not yet, I haven't really used perl6 yet :) |
| 17:03 |
|
masak |
tadzik: unlikely. |
| 17:03 |
|
slavik1 |
masak: the goal is to use perl6, not to parse csv files ;) |
| 17:03 |
|
masak |
don't attempt to parse CSV on your own. it's tricky. |
| 17:03 |
|
tadzik |
masak: may be worth adding to https://github.com/perl6/ecosy[…]of-modules-on-nom |
| 17:03 |
|
masak |
http://secretgeek.net/csv_trouble.asp |
| 17:03 |
|
slavik1 |
besides a simple while $*IN, split /\s*,\s*/ will be fine for this |
| 17:03 |
|
masak |
tadzik: please feel free, I don't have tuits big enough right now :/ |
| 17:04 |
|
tadzik |
masak: okay |
| 17:04 |
|
masak |
slavik1: it's your data. you do what you want. |
| 17:04 |
|
masak |
slavik1: just saying it's a common trap :) |
| 17:04 |
|
slavik1 |
sounds good, thanks :) |
| 17:04 |
|
japhb |
o/ |
| 17:04 |
|
phenny |
japhb: 10:45Z <jnthn> ask japhb if usage message in MAIN is up to the point where we can turn the MAIN entry green in http://perl6.org/compilers/features |
| 17:05 |
|
slavik1 |
is rakudo still the most actively developed implementation? |
| 17:05 |
|
masak |
slavik1: it has the highest bus number, if that's what you mean. |
| 17:05 |
|
tadzik |
slavik1: niecza is actively developed too |
| 17:05 |
|
masak |
slavik1: but sorear is pretty impressive in terms of output. |
| 17:05 |
|
tadzik |
not sure about more-less active |
| 17:05 |
|
slavik1 |
hmm, if I asked what implementation to use for perl6, what would be the recomendation? |
| 17:06 |
|
|
ethndbst joined #perl6 |
| 17:06 |
|
|
ethndbst joined #perl6 |
| 17:06 |
|
slavik1 |
and least broken in basic stuffs |
| 17:06 |
|
tadzik |
Rakudo Star imho |
| 17:06 |
|
masak |
slavik1: try Niecza if you're about to parse something. |
| 17:06 |
|
masak |
fewer unpleasant surprises. |
| 17:06 |
|
slavik1 |
I want to start using perl6 more and more |
| 17:06 |
|
masak |
\o/ |
| 17:06 |
|
japhb |
jnthn, I haven't backlogged to see if you said anything else, but I'd say: We can turn it green as soon as the generation of the USAGE message is moved out of MAIN_HELPER so that it is available as $*USAGE for the user's &USAGE. We talked about that at one point, but I had not had tuits to make it happen. |
| 17:07 |
|
slavik1 |
so niecza and rakudo* |
| 17:07 |
|
jnthn |
japhb: ok |
| 17:07 |
|
japhb |
jnthn, there is definitely more to do to improve src/core/Main.pm -- see the TODO list at the top of the file -- but I think we're good enough for green on MAIN with just that improvement. |
| 17:08 |
|
japhb |
er, I guess that was $?USAGE |
| 17:08 |
|
japhb |
I've been doing the Str.Numeric() work because I wanted to kill that top block of TODO items dead. ;-) |
| 17:09 |
|
tadzik |
<?before> NYI in nom,? |
| 17:10 |
|
jnthn |
tadzik: I think it's protoregexes that are the biggest blocker |
| 17:11 |
|
tadzik |
right |
| 17:11 |
|
jnthn |
tadzik: That's mostly been waiting on pmichaud++, though I've not had the tuits to really give us any other options over the last month |
| 17:11 |
|
masak |
nom: say so "foo" /<?before foo> foo/ |
| 17:11 |
|
slavik1 |
so, what is "special" about nom? |
| 17:11 |
|
p6eval |
nom 0296f4: OUTPUT«===SORRY!===Confused at line 1, near "say so \"fo"» |
| 17:11 |
|
masak |
nom: say so "foo" ~~ /<?before foo> foo/ |
| 17:11 |
|
p6eval |
nom 0296f4: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected in before at src/stage2/QRegex.nqp:612 in regex <anon> at /tmp/E0e8greiX0:1 in method ACCEPTS at src/gen/CORE.setting:6602 in block <anon> at /tmp/E0e8greiX0:1 in <anon> at /tmp/E0e8greiX0:1»… |
| 17:12 |
|
tadzik |
jnthn: I understand |
| 17:12 |
|
jnthn |
Now I have tuits and I'm tired of us being blocked on the ecosystem and so forth, so I'll probably see what I can do. |
| 17:12 |
|
jnthn |
Plus we can't go on having a bus number of 1 on the regex engine. |
| 17:12 |
|
jnthn |
Plus it will need its code-gen porting at some point. |
| 17:12 |
|
masak |
slavik1: new, more p6ish object model, which in turn means a lot of doors open to other stuff. |
| 17:14 |
|
|
MayDaniel joined #perl6 |
| 17:14 |
|
slavik1 |
I see, so rakudo* will eventually be nom* or something along those lines? |
| 17:14 |
|
jnthn |
slavik1: No, we'll just do a Rakudo * release based on the "nom" development line. |
| 17:15 |
|
tadzik |
once it's functional enough we'll just stop calling it "nom" :) |
| 17:16 |
|
arnsholt |
slavik1: An optimiser and native types are some good highlights from nom |
| 17:17 |
|
slavik1 |
ok, I see |
| 17:17 |
|
slavik1 |
so, we'll get bignum? |
| 17:17 |
|
slavik1 |
:P |
| 17:17 |
|
slavik1 |
nom: say 2**64 |
| 17:17 |
|
p6eval |
nom 0296f4: OUTPUT«-9223372036854775808» |
| 17:17 |
|
slavik1 |
:( |
| 17:17 |
|
jnthn |
slavik1: We have it in a branch |
| 17:17 |
|
slavik1 |
rakudo: say 2**64 |
| 17:17 |
|
p6eval |
rakudo 0296f4: OUTPUT«-9223372036854775808» |
| 17:17 |
|
jnthn |
slavik1: Expect to merge it tonight, all being well |
| 17:18 |
|
jnthn |
locally |
| 17:18 |
|
jnthn |
> say 2**64 |
| 17:18 |
|
jnthn |
18446744073709551616 |
| 17:18 |
|
jnthn |
:) |
| 17:18 |
|
slavik1 |
nice, so tomorrow, it will output the right stuff :) |
| 17:18 |
|
slavik1 |
pugs: say 2**64 |
| 17:18 |
|
p6eval |
pugs b927740: OUTPUT«18446744073709551616» |
| 17:18 |
|
jnthn |
slavik1: Yeah, moritz++ has been busily working away at it :) |
| 17:18 |
|
slavik1 |
^^ |
| 17:18 |
|
slavik1 |
moritz: come to NYC, I buy you vodka and beer |
| 17:18 |
|
slavik1 |
:) |
| 17:19 |
|
slavik1 |
will there ever be a YAPC around NYC? |
| 17:20 |
|
jnthn |
mls: Yes, see the issue |
| 17:21 |
|
jnthn |
mls: oh, maybe |
| 17:21 |
|
mls |
you maybe see the issue? ;) |
| 17:22 |
|
jnthn |
:) |
| 17:22 |
|
jnthn |
mls: It is doing capture_lex at the top |
| 17:22 |
|
mls |
right |
| 17:22 |
|
mls |
doesn't work when it recurses |
| 17:22 |
|
mls |
as it doesn't get restored when it comes back |
| 17:22 |
|
jnthn |
oh! |
| 17:23 |
|
jnthn |
ok, now I get it :) |
| 17:23 |
|
mls |
actually I plan a bigger change: I want to get rid at all of the capture_lex at the beginning of the subs |
| 17:23 |
|
mls |
cause that can't work when we have multiple threads in the future |
| 17:23 |
|
jnthn |
*nod* |
| 17:24 |
|
|
Mowah_ joined #perl6 |
| 17:24 |
|
mls |
so I rewrote parrot's autoclosing so that it no longer uses that "ctx" element |
| 17:24 |
|
mls |
(in fact, sub no longer has ctx in my branch) |
| 17:25 |
|
mls |
autoclose now uses the call chain to find the correct outer ctx |
| 17:25 |
|
wknight8111 |
mls: what's the status of that branch? Is it ready to merge? |
| 17:25 |
|
mls |
not before you release parrot ;) |
| 17:26 |
|
mls |
(and I want to merge my exception branch first) |
| 17:26 |
|
mls |
anyway, today I got nqp and rakudo to work with the new autoclose semantics |
| 17:26 |
|
wknight8111 |
mls: oh, that hasn't gotten merged either? We are running behind! |
| 17:26 |
|
mls |
we'll have it in next months release |
| 17:27 |
|
mls |
so nqp and rakudo works again, surprisingly few changes were needed but it took some time to find the correct spots ;) |
| 17:28 |
|
jnthn |
mls: Would be interested to see what changed, fwiw |
| 17:28 |
|
mls |
I'll paste the rakudo changes, just a sec |
| 17:29 |
|
tadzik |
flussence: oh, btw. Did the Pod issues you've noticed eventually get to the RT? |
| 17:29 |
|
wknight8111 |
hopefully this cycle I'll have enough time to get to work on my growing to-do list and help out with all this stuff |
| 17:30 |
|
mls |
jnthn: https://gist.github.com/1367707 |
| 17:30 |
|
mls |
so it's just a couple of capture_lex added |
| 17:30 |
|
mls |
;) |
| 17:31 |
|
mls |
The difference is that immediate blocks no longer do a capture_lex |
| 17:31 |
|
mls |
we still have it for sub and method definitions |
| 17:31 |
|
mls |
(which is something we maybe want to change at somepoint in the future, I don't know the correct semantics tough) |
| 17:32 |
|
benabik |
mls: Do immediate blocks have their :outer set correctly? |
| 17:32 |
|
mls |
they always had |
| 17:32 |
|
|
pyrimidine joined #perl6 |
| 17:35 |
|
mls |
jnthn: proposed closure fix https://gist.github.com/1367725 |
| 17:36 |
|
mls |
(probably needs a comment in perl6.ops, though) |
| 17:36 |
|
|
localhost joined #perl6 |
| 17:37 |
|
|
orafu joined #perl6 |
| 17:39 |
|
jnthn |
mls: oh heh, I was just compiling almost exactly that patch locally :) |
| 17:39 |
|
jnthn |
hm, segv :/ |
| 17:39 |
|
mls |
make clean |
| 17:40 |
|
flussence |
tadzik: I think I forgot to do that... |
| 17:41 |
|
|
pyrimidine left #perl6 |
| 17:41 |
|
tadzik |
flussence: no worries :) |
| 17:41 |
|
flussence |
(I've been distracted by trying to get Text::Wrap usable lately) |
| 17:41 |
|
tadzik |
not that I look forward to bugs and such |
| 17:45 |
|
jnthn |
mls: Seems to work. Testing. |
| 17:50 |
|
jnthn |
mls: ooh. It seems to fix some spectests too :) |
| 17:52 |
|
|
ksi joined #perl6 |
| 17:52 |
|
mls |
\o/ |
| 17:54 |
|
|
pyrimidine joined #perl6 |
| 17:55 |
|
jnthn |
Think I have a fix for the rat issue that's blocking bigint too :) |
| 17:56 |
|
|
lichtkind joined #perl6 |
| 17:56 |
|
lichtkind |
perl6:my $a = [1..4] |
| 17:56 |
|
lichtkind |
perl6: my $a = [1..4] |
| 17:56 |
|
p6eval |
niecza v11-23-g18f7db0: OUTPUT«Potential difficulties:� $a is declared but not used at /tmp/ZSyMYf_3st line 1:�------> my �$a = [1..4]��» |
| 17:56 |
|
p6eval |
..pugs b927740, rakudo 0296f4: ( no output ) |
| 17:57 |
|
lichtkind |
rakudo: my $a = [1..4] |
| 17:57 |
|
p6eval |
rakudo 0296f4: ( no output ) |
| 17:57 |
|
lichtkind |
rakudo: my $a = [1..4]; say $a |
| 17:57 |
|
p6eval |
rakudo 0296f4: OUTPUT«1 2 3 4» |
| 17:58 |
|
lichtkind |
hm strange |
| 17:59 |
|
colomon |
rakudo: my $a = [1..4]; say $a.perl |
| 17:59 |
|
p6eval |
rakudo 0296f4: OUTPUT«[1, 2, 3, 4]» |
| 17:59 |
|
lichtkind |
yes but that doesnt work in my lokal rakudo |
| 17:59 |
|
colomon |
rakudo: say [1, 2, 3, 4] |
| 17:59 |
|
p6eval |
rakudo 0296f4: OUTPUT«1 2 3 4» |
| 17:59 |
|
colomon |
lichtkind: oh, okay, that is strange. :) |
| 18:00 |
|
jnthn |
lichtkind: "doesn't work"? :) |
| 18:00 |
|
dalek |
rakudo/bigint: 768d3b9 | jnthn++ | src/ (2 files): |
| 18:00 |
|
dalek |
rakudo/bigint: Apply patch from mls++ that fixes a lexical capturing and recursion interaction bug. |
| 18:00 |
|
dalek |
rakudo/bigint: review: https://github.com/rakudo/raku[…]commit/768d3b914d |
| 18:00 |
|
dalek |
rakudo/bigint: 9a4fc87 | jnthn++ | src/Perl6/SymbolTable.pm: |
| 18:00 |
|
dalek |
rakudo/bigint: Fix handling of rats in pre-compiled code. |
| 18:00 |
|
dalek |
rakudo/bigint: review: https://github.com/rakudo/raku[…]commit/9a4fc8764d |
| 18:00 |
|
tadzik |
I'll try this bigint branch with you :) |
| 18:00 |
|
jnthn |
mls: Your patch went into the bigint branch 'cus I was doing other stuff there...will be merging this into master soon though |
| 18:00 |
|
jnthn |
tadzik: Testing welcome. Only one test in bit.t is regressed, all being well. |
| 18:00 |
|
jnthn |
This goes for anyone else, btw. |
| 18:00 |
|
mls |
no prob. |
| 18:01 |
|
tadzik |
jnthn: do we have any bigint-specific (spec)tests? |
| 18:01 |
|
jnthn |
tadzik: I suspect grepping through the test suite for "bigint" may get us some :) |
| 18:01 |
|
jnthn |
tadzik: If not, we could do with some :) |
| 18:04 |
|
colomon |
yes, we have bigint specific tests |
| 18:04 |
|
colomon |
they are either todo'd or skipped at the moment, obviously. :) |
| 18:05 |
|
colomon |
(in roast, I mean.) |
| 18:05 |
|
jnthn |
OK, great :) |
| 18:07 |
|
tadzik |
I just love this university code. "///Coping constructor." I wonder what it's coping with, supposedly that other object passed into it :) |
| 18:08 |
|
jnthn |
:) |
| 18:08 |
|
jnthn |
Then there's those constructors commented "Initializes the object" |
| 18:08 |
|
jnthn |
Wow, really?!?! |
| 18:08 |
|
colomon |
mind you, that isn't to say that we have all the bigint tests we need -- just that there are quite a few already. |
| 18:09 |
|
tadzik |
jnthn: I got better ones in this code:P "///const iterator.\nclass const_iterator {};" |
| 18:10 |
|
jnthn |
nom: say -3 +& 1; say -3 +& 2; |
| 18:10 |
|
p6eval |
nom 0296f4: OUTPUT«10» |
| 18:10 |
|
tadzik |
we are supposed to fill-in the code, so maybe this documentation is supposed to make us cry and fill it in as well ;) |
| 18:12 |
|
jnthn |
.oO( what is our children learning?! ) |
| 18:12 |
|
|
ethndbst joined #perl6 |
| 18:12 |
|
|
ethndbst joined #perl6 |
| 18:13 |
|
|
wk joined #perl6 |
| 18:14 |
|
tadzik |
oh, I'm laughing at this code from the very beginning. "Your task is to fill in the code in aisdihashmap.h. It's not very nice to write all the code in .h, but, well, deal with it" |
| 18:15 |
|
tadzik |
oh well, I should stop bothering with all this probably |
| 18:17 |
|
jnthn |
moritz: Hmm. Bitwise patches don't quite work. There was a compile error that I fixed (missing &s). Will look for logic bugs now. |
| 18:22 |
|
|
alvis joined #perl6 |
| 18:23 |
|
mls |
afk -> home |
| 18:25 |
|
moritz |
jnthn: it needs to check the MSB, and grow_and_negate again if it's one |
| 18:25 |
|
moritz |
I think you can try DIGIT(that_int, USED(that_int)-1) & (MP_MASK > 1) |
| 18:26 |
|
moritz |
for that check |
| 18:26 |
|
jnthn |
moritz: Where exactly? |
| 18:26 |
|
moritz |
in the nqp_bigint_bor at the end of the if (SIGN(a) xor SIGN(b)) branch |
| 18:27 |
|
moritz |
s/at/opcode at/ |
| 18:28 |
|
jnthn |
moritz: We already have a |
| 18:28 |
|
jnthn |
grow_and_negate(&d, d.used, get_bigint(interp, $1)); |
| 18:28 |
|
jnthn |
moritz: We need to do it a second time? |
| 18:29 |
|
jnthn |
hm, think I need dinner ;) |
| 18:30 |
|
|
mj41 joined #perl6 |
| 18:32 |
|
|
Sarten-X joined #perl6 |
| 18:35 |
|
moritz |
jnthn: we need it once *only* if the MSB is 1 |
| 18:38 |
|
|
cotto joined #perl6 |
| 18:44 |
|
japhb |
jnthn, when you're back: I'd like to try to get the MAIN feature green before this week's release. So IIRC you said I needed to do three things: 1. move MAIN_HELPER's private gen-usage() to be a Routine.usage method, 2. Create a $?USAGE variable per compilation unit, 3. Fill $?USAGE with &MAIN.usage if &MAIN exists in the comp unit after it is fully compiled. SO: A) Do those steps sound right? and B) How do I do #2 and #3? :-) |
| 18:44 |
|
japhb |
moritz, feel free to chime in if you know the answers, of course ... |
| 18:47 |
|
* moritz |
feels free, but not useful :-) |
| 18:48 |
|
japhb |
awww |
| 18:48 |
|
moritz |
japhb: I can only suggest to look at how tadzik++ did it with the POD variable(s) |
| 18:48 |
|
slavik1 |
what is "MAIN" ? |
| 18:48 |
|
moritz |
$pod2text.push(PAST::Var.new(:name<$=POD>, :node($/))) |
| 18:48 |
|
moritz |
that sounds promising, no? |
| 18:48 |
|
moritz |
slavik1: a routine that is automatically called on program start |
| 18:49 |
|
slavik1 |
ahh |
| 18:49 |
|
moritz |
nom: sub MAIN($x = 5) { say $x } |
| 18:49 |
|
p6eval |
nom 0296f4: OUTPUT«5» |
| 18:49 |
|
slavik1 |
like BEGIN{} ? :P |
| 18:49 |
|
jnthn |
japhb: bit distracted making food but 2 and 3 will involve interaction with $*ST |
| 18:49 |
|
slavik1 |
rakudo: sub MAIN($x = 5) { say $x } |
| 18:49 |
|
p6eval |
rakudo 0296f4: OUTPUT«5» |
| 18:49 |
|
slavik1 |
:D |
| 18:49 |
|
moritz |
if you provide a command line argument to that script, it ends up being in $x |
| 18:49 |
|
slavik1 |
moritz: is there a similar way to do what python users do: if __name__ == something, call main |
| 18:49 |
|
jnthn |
japhb: You can create a variable in the top scope using that and give it a compile-time value |
| 18:49 |
|
moritz |
slavik1: http://perl6advent.wordpress.c[…]e-with-main-subs/ |
| 18:50 |
|
slavik1 |
to know whether a script was called as main or loaded as module |
| 18:50 |
|
moritz |
jnthn: I might have a working bit twiddling patch, just a sec |
| 18:50 |
|
moritz |
slavik1: well, it does much more, it parses the command line for you |
| 18:50 |
|
jnthn |
japhb: You can get hold of the MAIN routine and just call its usage method |
| 18:50 |
|
slavik1 |
yeah, reading that, nice :) |
| 18:50 |
|
jnthn |
japhb: You'll want to nqp::unbox_s($main.usage()) |
| 18:51 |
|
masak |
slavik1: MAIN is meant to be called only if the file *wasn't* loaded as a module. |
| 18:51 |
|
jnthn |
japhb: And then $*ST.add_constant to add a string constant to the SC |
| 18:51 |
|
slavik1 |
masak: awesome! |
| 18:51 |
|
slavik1 |
so MAIN is good practice/style |
| 18:51 |
|
jnthn |
japhb: Then after that you'll be able to take the returned value and set install it as a lexical |
| 18:52 |
|
jnthn |
$*ST.install_lexical_symbol(...) |
| 18:52 |
|
* jnthn |
goes to keep an eye on food |
| 18:52 |
|
japhb |
jnthn, OK, thank you so far. |
| 18:52 |
|
slavik1 |
masak: how come last example has :$how, but previous examples have only the variable |
| 18:52 |
|
japhb |
I'll look for similar expressions and see if I can figure it out. |
| 18:53 |
|
dalek |
nqp/bigint: ed5e66c | bacek++ | src/6model/knowhow_bootstrapper.c: |
| 18:53 |
|
dalek |
nqp/bigint: Use PMCNULL instead of NULL to avoid triggering of assertions |
| 18:53 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/ed5e66cb33 |
| 18:53 |
|
dalek |
nqp/bigint: 6dc4277 | moritz++ | src/ops/nqp_bigint.ops: |
| 18:53 |
|
dalek |
nqp/bigint: try to adopt bigint bitop semantics to 2s complement, which Perl 6 needs |
| 18:53 |
|
dalek |
nqp/bigint: review: https://github.com/perl6/nqp/commit/6dc4277870 |
| 18:53 |
|
moritz |
jnthn: I haven't tested that patch in detail yet, but in the one example that I tried it gave the right result :-) |
| 18:55 |
|
|
wk joined #perl6 |
| 18:56 |
|
masak |
slavik1: not sure I understand the question. both nameds and positionals work. |
| 18:56 |
|
jnthn |
masak: doing a make install and then will build Rakudo against it |
| 18:57 |
|
jnthn |
er |
| 18:57 |
|
jnthn |
moritz: ^^ |
| 18:57 |
|
* masak |
tapes a note with the word "mis-tab" on jnthn and runs off tittering |
| 18:58 |
|
slavik1 |
masak: what is the diff between sub MAIN(:$var) {} and sub MAIN ($var) {} ? |
| 18:58 |
|
masak |
nom: sub foo($var) { say $var }; foo(5); foo( :var(5) ) |
| 18:58 |
|
p6eval |
nom 0296f4: OUTPUT«5Not enough positional parameters passed; got 0 but expected 1 in sub foo at /tmp/lYlHlbM5ng:1 in block <anon> at /tmp/lYlHlbM5ng:1 in <anon> at /tmp/lYlHlbM5ng:1» |
| 18:59 |
|
masak |
nom: sub foo(:$var) { say $var }; foo( :var(5) ); foo(5) |
| 18:59 |
|
p6eval |
nom 0296f4: OUTPUT«5Too many positional parameters passed; got 1 but expected 0 in sub foo at /tmp/QHxcMbZe0u:1 in block <anon> at /tmp/QHxcMbZe0u:1 in <anon> at /tmp/QHxcMbZe0u:1» |
| 18:59 |
|
slavik1 |
lol |
| 19:00 |
|
moritz |
slavik1: if the declaration says :$var, the command line expects --var=vars_value |
| 19:00 |
|
slavik1 |
ahh, I see |
| 19:00 |
|
slavik1 |
getopt::long for free :) |
| 19:01 |
|
slavik1 |
would -v work? |
| 19:02 |
|
jnthn |
moritz: bit.t passes \o/ |
| 19:02 |
|
jnthn |
moritz: And I fixed the rat pre-comp bug earlier |
| 19:02 |
|
jnthn |
moritz: Running a full spectest now...looks like we're on the verge of a merge \o/ |
| 19:02 |
|
tadzik |
wooo |
| 19:03 |
|
|
snearch joined #perl6 |
| 19:04 |
|
japhb |
jnthn, OK, it looks like I need to add a new my variable $*USAGE to the list at the top of token comp_unit in Grammar.pm, and then around line 450 in the same token add a line: $*ST.install_lexical_symbols($*UNIT, '$?USAGE', $*USAGE); |
| 19:04 |
|
japhb |
Does that sound about right? |
| 19:04 |
|
japhb |
And then where do I set it's value? |
| 19:04 |
|
japhb |
In the block around 462-471? |
| 19:04 |
|
jnthn |
japhb: oh, you could do it that way |
| 19:05 |
|
japhb |
OK, what did I not understand? ;-) |
| 19:05 |
|
* japhb |
is going deep into new-to-him code here |
| 19:05 |
|
jnthn |
japhb: I was thinking of just keeping track of the MAIN |
| 19:05 |
|
jnthn |
japhb: And calling .usage() on that when we come to install $?USAGE |
| 19:06 |
|
jnthn |
japhb: You could do it the way you have it too, though :) |
| 19:06 |
|
jnthn |
japhb: To set $*USAGE, you need to tkae the result of calling .usage(), unbox it (nqp::unbox_s) |
| 19:06 |
|
jnthn |
And then do |
| 19:07 |
|
|
benabik joined #perl6 |
| 19:07 |
|
jnthn |
$*USAGE := $*ST.add_string_constant($unboxed_result_of_usage)<compile_time_value>; |
| 19:09 |
|
japhb |
So how do I find &MAIN (or track it, as you suggest) from within Grammar.pm? MAIN_HELPER uses callframe(1).my<&MAIN>, but I'm assuming that's as nonsensical as it appears in Grammar.pm |
| 19:12 |
|
japhb |
jnthn: ^^ |
| 19:12 |
|
jnthn |
japhb: Oh, I was assuming you already tracked that in the grammar |
| 19:12 |
|
jnthn |
japhb: Well, one way is in routine_def |
| 19:12 |
|
jnthn |
if the name eq 'MAIN'... |
| 19:12 |
|
jnthn |
And you have the code object there |
| 19:12 |
|
jnthn |
Well, you do after create_code_object is called |
| 19:13 |
|
japhb |
I've spent time some time learning the setting and STD.pm. I had not yet learned Rakudo's Grammer.pm and Actions.pm ... :-/ |
| 19:13 |
|
japhb |
No time like the present, I guess. |
| 19:14 |
|
jnthn |
japhb: The main thing to keep in mind is that Rakudo keeps a 3-way distinction |
| 19:14 |
|
jnthn |
Grammar for parsing, Actions for making AST, and SymbolTable which keeps track of all the declarational stuff, including meta-objects |
| 19:16 |
|
* jnthn |
noms, bbs |
| 19:16 |
|
japhb |
enjoy! |
| 19:18 |
|
|
wolfman2000 joined #perl6 |
| 19:19 |
|
|
localhost joined #perl6 |
| 19:28 |
|
moritz |
jnthn: I get a failure in t/spec/S11-modules/require.t |
| 19:28 |
|
moritz |
not ok 3 - can require with variable name |
| 19:28 |
|
moritz |
# Incorrect pre-compiled version of src/gen/Metamodel.pm loaded |
| 19:29 |
|
moritz |
(but I've seen that one before; a clean rebuild might fix it |
| 19:29 |
|
|
envi_ joined #perl6 |
| 19:33 |
|
japhb |
jnthn, OK, if I'm reading method routine_def() properly, it looks like I need to track MAIN in two places, depending on whether it is a multi or not: 1) Around line 1455, at the end of the block that begins "if $*MULTINESS eq 'multi' {", I need to "$*MAIN := $proto", so that the &MAIN I call .usage on is actually the proto. and 2) in the block around line 1470 that begins "elsif $*SCOPE eq 'our', I need to set "$*MAIN := $code", because i |
| 19:33 |
|
japhb |
t's an only routine. |
| 19:33 |
|
japhb |
Is that about right? |
| 19:33 |
|
japhb |
Hmmmm, I guess &MAIN will still get called even if it has 'my' scope ... |
| 19:34 |
|
moritz |
all subs are 'my' by default |
| 19:34 |
|
japhb |
Ah, OK, good. |
| 19:35 |
|
japhb |
Now the question is ... the line at the top of MAIN_HELPER that says 'my $m = callframe(1).my<&MAIN>' ... will that be foiled if the programmer wrote 'our sub MAIN ...' ? |
| 19:37 |
|
PerlJam |
japhb: probably. |
| 19:38 |
|
japhb |
Yeah, that felt like an old bug. I didn't mess with it when I did the rewrite, but I think now's the time to fix it. What should it be, anyway? |
| 19:41 |
|
jnthn |
back |
| 19:42 |
|
jnthn |
moritz: require.t works fine here fwiw |
| 19:42 |
|
moritz |
jnthn: trying again after a real clean |
| 19:42 |
|
jnthn |
japhb: our installs a lexical alias |
| 19:42 |
|
jnthn |
japhb: The bigger issue is if they write |
| 19:43 |
|
jnthn |
module Foo { sub MAIN() { } } |
| 19:43 |
|
japhb |
oh, eww. |
| 19:43 |
|
japhb |
Yeah. |
| 19:44 |
|
PerlJam |
jnthn: shouldn't it be more like $*ST.find_symbol('&MAIN') ? |
| 19:44 |
|
PerlJam |
(note, I'm only barely paying attention here :) |
| 19:44 |
|
jnthn |
PerlJam: If we're in the Actions, yes |
| 19:45 |
|
PerlJam |
japhb: what's the problem you're trying to solve? |
| 19:45 |
|
jnthn |
But MAIN_HELPER isn't - it's on the runtime side of the fence :) |
| 19:45 |
|
jnthn |
moritz: I'm good for merging, if you are. I can do it |
| 19:46 |
|
|
packetknife joined #perl6 |
| 19:46 |
|
moritz |
jnthn: go right ahead |
| 19:46 |
|
moritz |
I can confirm that the Rat precompilation problem is gone too |
| 19:46 |
|
moritz |
there are still two things that bother me |
| 19:47 |
|
moritz |
1) &radcalc is called twice for every Rat literal |
| 19:47 |
|
moritz |
and 2) since Rat serialization is specialized, the argument passing to $*ST.add_constant('Rat', ...) in &radcalc can probably be simplified |
| 19:47 |
|
jnthn |
moritz: (1) is true for master too, I believe |
| 19:47 |
|
moritz |
but nothing of that should hold off the merge |
| 19:47 |
|
moritz |
jnthn: any idea why? |
| 19:48 |
|
jnthn |
moritz: Not off hand...seems like it's backtracking or something |
| 19:48 |
|
PerlJam |
Isn't there supposed to be a Rakudo compiler release this week? (or are we going to skip it again like we did in Aug?) |
| 19:48 |
|
jnthn |
PerlJam: We'll do it this week |
| 19:48 |
|
jnthn |
PerlJam: Thus the work to get bigint into shape for it ;) |
| 19:49 |
|
PerlJam |
yeah, sorry I haven't kept up with #perl6 or the bigint progress :) |
| 19:49 |
|
PerlJam |
jnthn++ moritz++ |
| 19:49 |
|
PerlJam |
and tom++ whoever he is ;) |
| 19:51 |
|
dalek |
nqp: ed5e66c | bacek++ | src/6model/knowhow_bootstrapper.c: |
| 19:51 |
|
dalek |
nqp: Use PMCNULL instead of NULL to avoid triggering of assertions |
| 19:51 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/ed5e66cb33 |
| 19:51 |
|
dalek |
nqp: 6dc4277 | moritz++ | src/ops/nqp_bigint.ops: |
| 19:51 |
|
dalek |
nqp: try to adopt bigint bitop semantics to 2s complement, which Perl 6 needs |
| 19:51 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/6dc4277870 |
| 19:51 |
|
dalek |
nqp: 0e7280c | jnthn++ | / (154 files): |
| 19:51 |
|
dalek |
nqp: Merge branch 'bigint' |
| 19:51 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/0e7280c179 |
| 19:53 |
|
|
benabik_ joined #perl6 |
| 19:57 |
|
japhb |
Excellent, once nom merges rakudo/bigint, I can move my current snapshot of the Str.Numeric() over to use the bigint ops, and then it's mergeable, I think. (Far from finished, but sufficiently more capable than the existing that it'll be a decent win.) |
| 19:58 |
|
japhb |
After that, I'll try to get these MAIN/USAGE things nailed. |
| 19:58 |
|
japhb |
*snapshot of the Str.Numeric() rewrite |
| 20:04 |
|
dalek |
rakudo/nom: 768d3b9 | jnthn++ | src/ (2 files): |
| 20:04 |
|
dalek |
rakudo/nom: Apply patch from mls++ that fixes a lexical capturing and recursion interaction bug. |
| 20:04 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/768d3b914d |
| 20:04 |
|
dalek |
rakudo/nom: 9a4fc87 | jnthn++ | src/Perl6/SymbolTable.pm: |
| 20:04 |
|
dalek |
rakudo/nom: Fix handling of rats in pre-compiled code. |
| 20:04 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/9a4fc8764d |
| 20:04 |
|
dalek |
rakudo/nom: 7cd5def | jnthn++ | / (10 files): |
| 20:04 |
|
dalek |
rakudo/nom: Merge branch 'bigint' into nom |
| 20:04 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/7cd5def7c9 |
| 20:04 |
|
dalek |
rakudo/nom: 2926f27 | jnthn++ | tools/build/NQP_REVISION: |
| 20:04 |
|
dalek |
rakudo/nom: Bump to latest NQP_REVISION. |
| 20:04 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/2926f27d4f |
| 20:05 |
|
dalek |
roast: eac8f06 | jnthn++ | S04-statements/for.t: |
| 20:05 |
|
dalek |
roast: Untodo now passing test for 103332 (mls++ for the fix). |
| 20:05 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/eac8f069d4 |
| 20:07 |
|
|
kfo_ joined #perl6 |
| 20:08 |
|
|
MayDaniel joined #perl6 |
| 20:15 |
|
japhb |
jnthn, everything ready to pull and rebuild nom at this point? |
| 20:15 |
|
|
mikehh joined #perl6 |
| 20:15 |
|
jnthn |
japhb: yes |
| 20:16 |
|
jnthn |
japhb: let me know if you run into any issues |
| 20:16 |
|
dalek |
roast: 6ca8c15 | jnthn++ | S06-signature/unpack-array.t: |
| 20:16 |
|
dalek |
roast: Unfudge a couple of tests we now pass. |
| 20:16 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/6ca8c15a1c |
| 20:16 |
|
dalek |
roast: 987ade2 | jnthn++ | S0 (2 files): |
| 20:16 |
|
dalek |
roast: Unfudge some bigint tests; remove a stray say. |
| 20:16 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/987ade269c |
| 20:16 |
|
* jnthn |
wonders if today's Parrot release was cut yet |
| 20:16 |
|
japhb |
OK, doing 'make realclean; rm -rf install/; perl Configure.pl --gen-parrot; make' |
| 20:16 |
|
benabik |
jnthn: Not yet. |
| 20:18 |
|
|
am0c joined #perl6 |
| 20:18 |
|
dalek |
rakudo/nom: 0bd4922 | jnthn++ | docs/ChangeLog: |
| 20:18 |
|
dalek |
rakudo/nom: Update changelog a little. |
| 20:18 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/0bd4922e32 |
| 20:19 |
|
masak |
not long ago, I received a nice email from a Mr Eugene Burmako, pertaining to my macro grant. |
| 20:19 |
|
masak |
turns out Mr Burmako is the person behind http://scalamacros.org/ |
| 20:20 |
|
masak |
(which looks at least vaguely similar to Perl 6 macros) |
| 20:21 |
|
masak |
I'm thinking I should study Scala macros a little bit. at least enough to make sure that they're not doing something we should clearly be doing too :) |
| 20:23 |
|
dalek |
roast: 06ae20e | jnthn++ | S03-operators/ (2 files): |
| 20:23 |
|
dalek |
roast: Two more sets of unfudges now we have bigint landed. |
| 20:23 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/06ae20ea1b |
| 20:23 |
|
|
natureboy joined #perl6 |
| 20:24 |
|
dalek |
nqp: f1b02e1 | moritz++ | src/ops/nqp_bigint.ops: |
| 20:24 |
|
dalek |
nqp: save an allocation in nqp_bigint_div |
| 20:24 |
|
dalek |
nqp: |
| 20:24 |
|
dalek |
nqp: the mp_div code allows NULL as remainder, so no need to allocate it |
| 20:24 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/f1b02e115d |
| 20:25 |
|
colomon |
bigint has landed! \o/ |
| 20:26 |
|
jnthn |
moritz: Does git describe work for you in the Parrot repo? |
| 20:26 |
|
moritz |
jnthn: needs git describe --tags |
| 20:26 |
|
jnthn |
moritz: thanks! |
| 20:27 |
|
* jnthn |
tries a build against latest Parrot |
| 20:28 |
|
masak |
wow. big Ints. |
| 20:28 |
|
moritz |
and our rats are all Fat right now |
| 20:28 |
|
colomon |
doh! |
| 20:29 |
|
colomon |
I was wondering if it's time to work on the Rational role |
| 20:29 |
|
dalek |
features: 834bed4 | jnthn++ | features.json: |
| 20:29 |
|
dalek |
features: Rakudo now has big integers. |
| 20:29 |
|
dalek |
features: review: https://github.com/perl6/featu[…]commit/834bed4aba |
| 20:29 |
|
jnthn |
moritz: Yeah |
| 20:30 |
|
jnthn |
moritz: Realized that. :) |
| 20:30 |
|
moritz |
I thought I had already done that patch days ago, turns out I was wrong |
| 20:34 |
|
jnthn |
std: method addto (|args, $self: @x) { trace(args); $self += [+] @x } |
| 20:34 |
|
p6eval |
std be1f10e: OUTPUT«===[0mSORRY!===[0m�Malformed parameter at /tmp/Ms0bHxEqw8 line 1:�------> method addto (�|args, $self: @x) { trace(args); $self +� expecting any of:� method_def� name� parameter� signature�Parse failed�FAILED 00:01 120m�»… |
| 20:34 |
|
jnthn |
ENOTYET |
| 20:38 |
|
dalek |
nqp: 2fcf054 | jnthn++ | tools/build/PARROT_REVISION: |
| 20:38 |
|
dalek |
nqp: Bump to latest Parrot (not quite release yet) in order to get more testing against it. |
| 20:38 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/2fcf0546bd |
| 20:42 |
|
japhb |
jnthn, initial build and run of the old version of my Str.Numeric() stress test worked on the newly merged nom. |
| 20:42 |
|
japhb |
Now to figure out what to change to make it use the new bigint ops |
| 20:43 |
|
|
pyrimidine joined #perl6 |
| 20:44 |
|
japhb |
BAH |
| 20:45 |
|
japhb |
ARGH |
| 20:45 |
|
jnthn |
? |
| 20:45 |
|
benabik |
Grr, argh? |
| 20:46 |
|
* japhb |
messed up, and pulled and built the wrong thing. It looked like nom ... but it was not nom. |
| 20:46 |
|
jnthn |
oops :( |
| 20:46 |
|
jnthn |
japhb: nqp::radix_I is probably the op you're looking for |
| 20:47 |
|
japhb |
jnthn, yep. And that's how I new I had somehow gotten the wrong thing. nqp::radix_I wasn't being used anywhere. :-/ |
| 20:47 |
|
japhb |
Ah well, just some wasted time. |
| 20:47 |
|
jnthn |
phenny: tell mls I tried to bring in your directaccess patch to nqp again, but it breaks the Rakudo build. |
| 20:47 |
|
phenny |
jnthn: I'll pass that on when mls is around. |
| 20:50 |
|
benabik |
homebrew++ # libtommath |
| 20:53 |
|
|
Lothbot joined #perl6 |
| 20:54 |
|
japhb |
lunch & |
| 21:04 |
|
dalek |
Heuristic branch merge: pushed 229 commits to nqp/nfa by jnthn |
| 21:05 |
|
|
mj41 joined #perl6 |
| 21:09 |
|
dalek |
rakudo/nom: abc35ca | moritz++ | src/Perl6/Actions.pm: |
| 21:09 |
|
dalek |
rakudo/nom: simplify Rat codegen a bit |
| 21:09 |
|
dalek |
rakudo/nom: review: https://github.com/rakudo/raku[…]commit/abc35ca2fb |
| 21:20 |
|
|
ethndbst joined #perl6 |
| 21:20 |
|
|
ethndbst joined #perl6 |
| 21:20 |
|
tadzik |
spectest is not slower (significantly) than before the merge |
| 21:21 |
|
jnthn |
tadzik: Yeah, same result here |
| 21:21 |
|
tadzik |
good |
| 21:22 |
|
dalek |
nqp/nfa: 4e60875 | jnthn++ | src/NQPQ/Actions.pm: |
| 21:22 |
|
dalek |
nqp/nfa: Fix nqpq enough that it can at least run an nqp program with regexes in. |
| 21:22 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/4e60875923 |
| 21:33 |
|
dalek |
nqp/nfa: ffb5596 | jnthn++ | src/NQPQ/Actions.pm: |
| 21:33 |
|
dalek |
nqp/nfa: Catch NQPQ up with changes to NQP (just some actions twiddles). |
| 21:33 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/ffb55961ee |
| 21:36 |
|
|
rjbs- joined #perl6 |
| 21:37 |
|
rjbs- |
perl6: my $x = 5 || ...; say $x |
| 21:37 |
|
p6eval |
pugs b927740, rakudo 0bd492, niecza v11-23-g18f7db0: OUTPUT«5» |
| 21:37 |
|
rjbs- |
(Hi, I'm just here to harass the bot) |
| 21:37 |
|
|
rjbs joined #perl6 |
| 21:37 |
|
masak |
interesting. :) |
| 21:38 |
|
* rjbs |
was just feeling sad that p5's ... can't be used as an expression. |
| 21:38 |
|
rjbs |
I was 99% sure p6's could, and wanted to check. |
| 21:38 |
|
jnthn |
It's just parsed as a term. |
| 21:38 |
|
rjbs |
That's what I thought / hoped. Excellent. |
| 21:49 |
|
dalek |
nqp/nfa: 0be2206 | jnthn++ | src/QRegex/Cursor.nqp: |
| 21:49 |
|
dalek |
nqp/nfa: Add missing .chars method to NQPMatch, getting us a bit further with 31-grammar.t. |
| 21:49 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/0be2206303 |
| 21:49 |
|
dalek |
nqp/nfa: 60b88d4 | jnthn++ | src/QRegex/Cursor.nqp: |
| 21:49 |
|
dalek |
nqp/nfa: Add a couple of missing vtable overrides to NQPMatch. Gets 31-grammar.t passing again. |
| 21:49 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/60b88d4f12 |
| 21:50 |
|
rjbs |
niecza? |
| 21:51 |
|
colomon |
niecza what? |
| 21:51 |
|
rjbs |
What is it? |
| 21:51 |
|
rjbs |
aha, CLR |
| 21:52 |
|
colomon |
a separate implementation of Perl 6 |
| 21:52 |
|
rjbs |
Yeah, I figured that part (since p6eval mentioned it) but hadn't heard of it before. Should've googled, but I thought some infobot might just tell me :) |
| 21:53 |
|
|
benabik joined #perl6 |
| 21:57 |
|
|
ab5tract joined #perl6 |
| 21:59 |
|
masak |
rjbs: we haven't found the right balance between infobot and too chatty in here yet :) |
| 22:01 |
|
masak |
thankfully, single-word questions tend to cause non-bot players to proffer information too... |
| 22:03 |
|
|
Trashlord joined #perl6 |
| 22:05 |
|
rjbs |
masak: :) yeah, infobots can be a real pain, too |
| 22:05 |
|
masak |
ss/can be/are/ # :) |
| 22:06 |
|
masak |
*cough* purl *cough* |
| 22:07 |
|
tadzik |
I liked that guy |
| 22:07 |
|
masak |
tadzik: purl is (1) a girl, (2) not likeable. :) |
| 22:07 |
|
* rjbs |
still likes purl. |
| 22:07 |
|
rjbs |
I get annoyed when purl *and* dispy are around. |
| 22:08 |
|
masak |
haha |
| 22:09 |
|
rjbs |
"what's up?" // "up is a pronoun, or your face, or a good REM album, or at http://example.com/~someguy/301-up.html // url title: 301 up at someguy // uh oh! long url! try this one: http://sho.rt/123 // url title: 301-up at someguy // ... |
| 22:11 |
|
masak |
aaugh |
| 22:12 |
|
* rjbs |
will not further remind you of such nonsense. |
| 22:12 |
|
masak |
:) |
| 22:14 |
|
masak |
rjbs: by the way, congratulations on being the new Holder of the Perl 5 Pumkin. |
| 22:14 |
|
masak |
'night, #perl6 |
| 22:14 |
|
rjbs |
Thanks! Here's hoping I come out of it unscathed. |
| 22:15 |
|
masak |
-Ounscathing |
| 22:15 |
|
dalek |
nqp/nfa: 71ec512 | jnthn++ | src/NQPQ/Actions.pm: |
| 22:15 |
|
dalek |
nqp/nfa: Get regex grammar related actions in nqpq switched over from PAST::Regex to QAST::Regex. Fixes various of the failing tests. |
| 22:16 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/71ec5120e5 |
| 22:17 |
|
|
pyrimidine left #perl6 |
| 22:18 |
|
|
am0c joined #perl6 |
| 22:35 |
|
|
daniel-s joined #perl6 |
| 22:59 |
|
|
whiteknight joined #perl6 |
| 23:08 |
|
|
addicted joined #perl6 |
| 23:08 |
|
addicted |
hi |
| 23:08 |
|
addicted |
i need some help with a small simple project |
| 23:08 |
|
addicted |
already have the program done, but i have to chance the website it uses |
| 23:08 |
|
addicted |
basicly it takes a list of domains in a .txt and passes it throught the www.websiteoutlook.com |
| 23:08 |
|
addicted |
and it gets the value of the website in the list and its daily views |
| 23:08 |
|
addicted |
but now the websiteoutlook.com closed.. |
| 23:08 |
|
addicted |
so i need someone to "update" the progrm to use alexa.com |
| 23:11 |
|
|
cooper joined #perl6 |
| 23:24 |
|
|
fsergot joined #perl6 |
| 23:27 |
|
dalek |
nqp/nfa: 9e0867d | jnthn++ | src/NQPQ/Grammar.pm: |
| 23:27 |
|
dalek |
nqp/nfa: Add missing contextual declaration to / / parsing, so QRegex nibbler won't explode. |
| 23:27 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/9e0867df7c |
| 23:27 |
|
dalek |
nqp/nfa: 1427edb | jnthn++ | src/NQPQ/Grammar.pm: |
| 23:27 |
|
dalek |
nqp/nfa: Also toss now-unwanted #=open usage. |
| 23:27 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/1427edb387 |
| 23:27 |
|
dalek |
nqp/nfa: 6efeb3c | jnthn++ | src/ops/nqp.ops: |
| 23:27 |
|
dalek |
nqp/nfa: Fix is_invokable op. |
| 23:27 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/6efeb3c75d |
| 23:27 |
|
dalek |
nqp/nfa: 3611d39 | jnthn++ | src/QRegex/Cursor.nqp: |
| 23:27 |
|
dalek |
nqp/nfa: Make NQPCursor.parse able to handle being passed an invokable rule. Sketch in NQPRegexMethod and NQPRegex classes, as QRegexy replacements for Regex::Method and Regex::Regex. |
| 23:27 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/3611d39594 |
| 23:29 |
|
japhb |
Unfortunately I've lost the earlier run back past the start of my scrollback buffer, but if my recollection of the orginal values is correct, my Str.Numeric() stress test perf test *WITHOUT* updating to newer bigint ops is 20-30% slower than pre-bigint-merges. |
| 23:29 |
|
japhb |
Now let's see what happens when I convert to bigint ops ... |
| 23:32 |
|
dalek |
nqp/nfa: 2da67f4 | jnthn++ | src/NQPQ/Actions.pm: |
| 23:32 |
|
dalek |
nqp/nfa: Update quote:sym</ /> actions. We can now do things like say('b33r' ~~ /\d+/) again. |
| 23:32 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/2da67f4c71 |
| 23:32 |
|
dalek |
nqp/nfa: 124f95e | jnthn++ | t/nqp/50-regex.t: |
| 23:32 |
|
dalek |
nqp/nfa: Update a test to use the new NQPCursor type. |
| 23:32 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/124f95e717 |
| 23:33 |
|
|
cognominal joined #perl6 |
| 23:40 |
|
dalek |
nqp/nfa: a915744 | jnthn++ | src/NQPQ/Actions.pm: |
| 23:40 |
|
dalek |
nqp/nfa: Make regex declartors work out of sink context and smartmatch correctly. Mostly fixes 45-smartmatch.t (if you remove the last test, which compile fails while building the NFA). |
| 23:40 |
|
dalek |
nqp/nfa: review: https://github.com/perl6/nqp/commit/a915744500 |