| Time |
S |
Nick |
Message |
| 00:00 |
|
colomon |
jnthn++ # awesome day of hacking. |
| 00:04 |
|
jnthn |
'twas fun. :-) |
| 00:06 |
|
colomon |
I'm trying to build everything now, don't know if I'll have a proper chance to take a look at it tonight. |
| 00:06 |
|
colomon |
We've been watching Life on Mars (BBC) with a friend who's coming over in about an hour for the next episode. :) |
| 00:10 |
|
eternaleye |
__rnddim__: re converting to hes, try $int.fmt: '%x' |
| 00:10 |
|
eternaleye |
ng: 16.fmt: '%x' |
| 00:10 |
|
p6eval |
ng aa0a08: OUTPUT«Could not find non-existent sub &sprintfcurrent instr.: 'perl6;Any;fmt' pc 251735 (src/gen/core.pir:19794)» |
| 00:10 |
|
eternaleye |
rakudo: 16.fmt: '%x' |
| 00:10 |
|
p6eval |
rakudo 1d4928: ( no output ) |
| 00:10 |
|
eternaleye |
rakudo: say 16.fmt: '%x' |
| 00:10 |
|
p6eval |
rakudo 1d4928: OUTPUT«10» |
| 00:10 |
|
eternaleye |
rakudo: say 16.fmt: '0x%x' |
| 00:10 |
|
p6eval |
rakudo 1d4928: OUTPUT«0x10» |
| 00:11 |
|
eternaleye |
__rnddim__: See ^^^ |
| 00:11 |
|
jnthn |
colomon: Nice. :-) |
| 00:11 |
|
jnthn |
colomon: No worries about not getting more done today. There's tomorrow, and the day after, and... :-) |
| 00:11 |
|
colomon |
:) |
| 00:11 |
|
jnthn |
colomon: Is there anything you'd especially like me to look at? I can likely give Perl 6 a few hours tomorrow. |
| 00:12 |
|
colomon |
hmmm.... |
| 00:12 |
|
jnthn |
I'll probably try and { x => 42, ... } style hash constructors in place. |
| 00:12 |
|
jnthn |
and .keys, .values, .kv on EnumMap |
| 00:12 |
|
jnthn |
(and thus Hash) |
| 00:13 |
|
jnthn |
But those shouldn't take long. |
| 00:13 |
|
colomon |
I'd still be in heaven if my ($a, $b) = (1, 2) worked, and sub always dispatched to the right type.... |
| 00:13 |
|
colomon |
but I understand the first of those is more pmichaud's area... |
| 00:14 |
|
colomon |
and the second is super hard. |
| 00:14 |
|
jnthn |
Yeah, I'd like that to work too. |
| 00:14 |
|
colomon |
Do enums work after what you've done today? |
| 00:14 |
|
jnthn |
No |
| 00:14 |
|
jnthn |
Enum is just the name for "immutable Pair" really. |
| 00:14 |
|
jnthn |
And EnumMap for "immutable Hash" |
| 00:15 |
|
jnthn |
Though they're both needed for making enums work. |
| 00:15 |
|
jnthn |
On list assignment - I can try and work out why it doesn't work. I thought Pm had done it... |
| 00:15 |
|
colomon |
maybe I missed it. |
| 00:15 |
|
jnthn |
It may be an easy-ish fix. |
| 00:15 |
|
colomon |
ng: my ($a, $b) = (1, 2); |
| 00:16 |
|
p6eval |
ng aa0a08: ( no output ) |
| 00:16 |
|
colomon |
ng: my ($a, $b) = (1, 2); say $a; say $b |
| 00:16 |
|
jnthn |
ng: my ($a, $b) = (1, 2); say $a; |
| 00:16 |
|
p6eval |
ng aa0a08: OUTPUT«Mu()Mu()» |
| 00:16 |
|
p6eval |
ng aa0a08: OUTPUT«Mu()» |
| 00:16 |
|
jnthn |
:-/ |
| 00:16 |
|
colomon |
yeah, that. |
| 00:16 |
|
jnthn |
ng: my ($a, $b); ($a, $b) = (1, 2); say $a; say $b; |
| 00:16 |
|
colomon |
he had it working at one point (though "my" didn't work in conjunction with it) but it broke again in his last round of changes. |
| 00:16 |
|
p6eval |
ng aa0a08: OUTPUT«Mu()Mu()» |
| 00:16 |
|
jnthn |
ng: my ($a, $b); list($a, $b) = (1, 2); say $a; say $b; |
| 00:17 |
|
p6eval |
ng aa0a08: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 14862 (src/builtins/Junction.pir:113)» |
| 00:17 |
|
jnthn |
meh. |
| 00:17 |
|
jnthn |
OK, certainly br0ken. |
| 00:17 |
|
colomon |
Getting that working would be really nice for a bunch of numeric stuff. :) |
| 00:17 |
|
jnthn |
Yeah |
| 00:18 |
|
colomon |
BTW, S32-str/index.t is broken now? |
| 00:18 |
|
jnthn |
I'll take a look and see if I can work out what's wrong. |
| 00:18 |
|
jnthn |
Oh? |
| 00:18 |
|
jnthn |
I didn't notice that. :-/ |
| 00:18 |
|
colomon |
looks like it's dying before the last three tests? |
| 00:18 |
|
jnthn |
I knew I'd broken that whitespace one... |
| 00:19 |
|
colomon |
That's all I can think of off the top of my head, I've got to get my boy in the bath ASAP here. |
| 00:19 |
|
jnthn |
colomon: It runs all tests here. Odd. :-/ |
| 00:19 |
|
jnthn |
OK, I'm going for sleep in a moment too...it's late here. |
| 00:19 |
|
colomon |
Good night! |
| 00:20 |
|
jnthn |
night! o/ |
| 00:47 |
|
huf |
jnthn: well yeah, i'm slightly insane so i know it's not fun |
| 00:47 |
|
huf |
... only very slightly tho ;) |
| 00:52 |
|
diakopter |
best spam Subject: ever: I have redesigned your website! |
| 00:55 |
|
__rnddim__ |
I'm back after only 2 hours! Now, can someone point me to rakudo and ng source code? :} |
| 00:56 |
|
mberends |
http://rakudo.org |
| 00:57 |
|
* __rnddim__ |
feels stupid for not checking that first. |
| 00:58 |
|
mberends |
:) you'll need a bit of git-fu to switch branches from master to ng |
| 00:58 |
|
__rnddim__ |
I'll start on all that in a minute. |
| 01:09 |
|
* __rnddim__ |
does not know what to do. He is screaming into the 5th dimension. |
| 01:10 |
|
* diakopter |
can't perceive the 5th dimension |
| 01:10 |
|
mberends |
Step 1: DON'T PANIC! |
| 01:10 |
|
__rnddim__ |
Step 2: IGNORE STEP ONE!!!! |
| 01:10 |
|
* __rnddim__ |
is now screaming in 7 dimensions. |
| 01:12 |
|
* __rnddim__ |
is now screaming in .25 dimensions. All is calm. |
| 01:12 |
|
* mberends |
redirects the 5th, 6th and 7th dimensions to /dev/null |
| 01:15 |
|
__rnddim__ |
You destroyed probability and existence!? Noes! (I have this theory where 4d is time, 5d is probability, and 6d is existence) |
| 01:16 |
|
lisppaste3 |
mberends pasted "faulty unlink() for jnthn to nitpick" at http://paste.lisp.org/display/94502 |
| 01:17 |
|
mberends |
oops. redirect.rollback() |
| 01:19 |
|
__rnddim__ |
So... should I just sign up a github, download ng branch, and upload patches? Or get a 'commit bit(?)'? Or... |
| 01:19 |
|
__rnddim__ |
Recommended course of action, please. |
| 01:20 |
|
mberends |
__rnddim__: only get a github account if you want to break, er, program Rakudo |
| 01:21 |
|
mberends |
read-only access is publicly available |
| 01:22 |
|
mberends |
commit bits usually come to people who've submitted a few nice patches via that paste site |
| 01:22 |
|
__rnddim__ |
by paste site, do you mean something like paste.lisp.org? |
| 01:22 |
|
mberends |
yes |
| 01:23 |
|
__rnddim__ |
so, for now at least, if I fix something (base 16 conversion in ng, for example), should I put it on a place like paste.lisp.org? |
| 01:24 |
|
mberends |
that's right, and the others with commit bits will test it out and commit it for you |
| 01:24 |
|
__rnddim__ |
alrighty. |
| 01:24 |
|
* __rnddim__ |
will download ng branch. |
| 01:25 |
|
mberends |
you may find http://www.gitready.com/ useful |
| 01:29 |
|
|
nihiliad joined #perl6 |
| 01:30 |
|
* mberends |
falls asleep (2:30am localtime) |
| 01:35 |
|
* __rnddim__ |
figures out mberends' timezone is UTC+1 (using mberends' time and mine) |
| 01:36 |
|
* __rnddim__ |
that's (1/24)th of the world, though. |
| 01:36 |
|
|
quietfanatic joined #perl6 |
| 01:39 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3); A(3); |
| 01:39 |
|
p6eval |
rakudo 1d4928: OUTPUT«Not enough positional parameters passed; got 1 but expected 3in Main (file src/gen_setting.pm, line 324)» |
| 01:39 |
|
quietfanatic |
ng: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3); A(3); |
| 01:39 |
|
p6eval |
ng aa0a08: OUTPUT«Not enough positional parameters passed; got 1 but expected 3current instr.: '_block26' pc 163 (EVAL_1:60)» |
| 01:39 |
|
diakopter |
rakudo: say < <><> > |
| 01:39 |
|
p6eval |
rakudo 1d4928: OUTPUT«Confused at line 10, near ">"in Main (file <unknown>, line <unknown>)» |
| 01:40 |
|
quietfanatic |
Notice that giving the wrong number of parameters to an 'assuming' sub causes the error message to report the arity of the old sub, not the new sub. |
| 01:41 |
|
diakopter |
std: say < <><> > |
| 01:41 |
|
p6eval |
std 29655: OUTPUT«ok 00:01 105m» |
| 01:41 |
|
diakopter |
ng: say < <><> > |
| 01:41 |
|
p6eval |
ng aa0a08: OUTPUT«Confused at line 1, near "say < <><>"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 01:41 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3); A(3, 4, 5); |
| 01:41 |
|
p6eval |
rakudo 1d4928: ( no output ) |
| 01:41 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3); A(3); |
| 01:41 |
|
p6eval |
rakudo 1d4928: OUTPUT«Not enough positional parameters passed; got 1 but expected 3in Main (file src/gen_setting.pm, line 324)» |
| 01:41 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3); A(3, 4, 5, 6); |
| 01:41 |
|
p6eval |
rakudo 1d4928: OUTPUT«Too many positional parameters passed; got 4 but expected 3in Main (file src/gen_setting.pm, line 324)» |
| 01:42 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b) {...}; my &B = &A.assuming(3, 4); $B(1); |
| 01:42 |
|
p6eval |
rakudo 1d4928: OUTPUT«Symbol '$B' not predeclared in <anonymous> (/tmp/qpHd9Zw3oE:10)in Main (file <unknown>, line <unknown>)» |
| 01:42 |
|
diakopter |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3, 6, 7, 8); B(); |
| 01:42 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b) {...}; my &B = &A.assuming(3, 4); B(1); |
| 01:42 |
|
p6eval |
rakudo 1d4928: OUTPUT«Too many positional parameters passed; got 4 but expected 3in Main (file src/gen_setting.pm, line 324)» |
| 01:42 |
|
p6eval |
rakudo 1d4928: OUTPUT«Too many positional parameters passed; got 3 but expected 2in Main (file src/gen_setting.pm, line 324)» |
| 01:43 |
|
diakopter |
cuz it's deferred |
| 01:43 |
|
diakopter |
it seems. |
| 01:43 |
|
quietfanatic |
But then its "got X" value is the number of arguments given to the new sub... |
| 01:44 |
|
diakopter |
not in my example |
| 01:44 |
|
quietfanatic |
...well, except that last one |
| 01:44 |
|
diakopter |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3, 6, 7, 8); |
| 01:44 |
|
p6eval |
rakudo 1d4928: ( no output ) |
| 01:44 |
|
diakopter |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3, 6, 7, 8); B(); |
| 01:44 |
|
p6eval |
rakudo 1d4928: OUTPUT«Too many positional parameters passed; got 4 but expected 3in Main (file src/gen_setting.pm, line 324)» |
| 01:44 |
|
quietfanatic |
rakudo: my &A = sub ($a, $b, $c) {...}; my &B = &A.assuming(3, 6, 7, 8); B(3) |
| 01:45 |
|
p6eval |
rakudo 1d4928: OUTPUT«Too many positional parameters passed; got 5 but expected 3in Main (file src/gen_setting.pm, line 324)» |
| 01:45 |
|
quietfanatic |
But its not reliably that way. |
| 01:45 |
|
diakopter |
it's the sum.. |
| 01:45 |
|
diakopter |
you had A() a lot previously instead of B() |
| 01:46 |
|
diakopter |
I think. |
| 01:46 |
|
* diakopter |
goes back to pessimizing an OPP by implementing it as the naive recdescent equivalent. |
| 01:47 |
|
quietfanatic |
Oh... |
| 01:47 |
|
quietfanatic |
:| |
| 01:47 |
|
|
patspam joined #perl6 |
| 01:48 |
|
quietfanatic |
So this is my real problem... |
| 01:48 |
|
quietfanatic |
rakudo: sub A (*@_) {say @_.perl; if 1 { say @_.perl } }; A(5, 4) |
| 01:49 |
|
p6eval |
rakudo 1d4928: OUTPUT«[5, 4][]» |
| 01:49 |
|
quietfanatic |
The if block clobbers my @_ |
| 01:49 |
|
__rnddim__ |
how do I get the ng branch specifically? I've done git clone git://github.com/rakudo/rakudo.git, and it doesn't seem to be there :/ |
| 01:50 |
|
quietfanatic |
I don't know if it's supposed to do that, but it's kinda surprising |
| 01:52 |
|
quietfanatic |
__rnddim__ I think 'git checkout ng' might work, but I haven't tried it. |
| 01:53 |
|
|
IllvilJa joined #perl6 |
| 01:54 |
|
__rnddim__ |
It says: error: pathspec 'ng' did not match any file(s) known to git. |
| 01:54 |
|
colomon |
git checkout -t ng |
| 01:54 |
|
colomon |
? |
| 01:55 |
|
colomon |
I can never remember |
| 01:55 |
|
__rnddim__ |
git checkout -t ng said missing branch, try -b. |
| 01:55 |
|
__rnddim__ |
git checkout -t -b ng is working... |
| 01:56 |
|
__rnddim__ |
Here's what it said: Switched to new branch ng. I'm not an expert, but seems to have worked. |
| 01:57 |
|
diakopter |
"new branch"? |
| 01:57 |
|
diakopter |
as in, it created a local branch with that name? |
| 01:58 |
|
__rnddim__ |
git branch shows this: master \n * ng |
| 01:58 |
|
__rnddim__ |
I think it said new branch because I didn't have it before. |
| 01:59 |
|
__rnddim__ |
let me see something. |
| 01:59 |
|
__rnddim__ |
rakudo: say :16<16D.4> |
| 01:59 |
|
p6eval |
rakudo 1d4928: OUTPUT«365» |
| 02:00 |
|
__rnddim__ |
ng: say :16<16D.4> |
| 02:00 |
|
p6eval |
ng aa0a08: OUTPUT«Confused at line 1, near "say :16<16"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 02:00 |
|
__rnddim__ |
if I run say :16<16D.4> in what I got from git, it should cause the error if it's ng. |
| 02:01 |
|
* __rnddim__ |
is now compiling rakudo to find out. |
| 02:02 |
|
* __rnddim__ |
is obviously new to git, or he would not have to compile to find out. |
| 02:04 |
|
|
cognominal joined #perl6 |
| 02:04 |
|
* __rnddim__ |
is beginning to scream again. Trying to make sure w/o compiling. |
| 02:13 |
|
__rnddim__ |
How do I *know* I have the ng branch? |
| 02:14 |
|
* diakopter |
doesn't know; I use rakudo only through the p6eval bot |
| 02:15 |
|
__rnddim__ |
std: say :16<16D.4> |
| 02:15 |
|
p6eval |
std 29655: OUTPUT«ok 00:01 107m» |
| 02:18 |
|
diakopter |
o_O proto token infix is binary is defequiv(%additive) |
| 02:26 |
|
|
rv2733 joined #perl6 |
| 02:28 |
|
* __rnddim__ |
really wants to know how to know if he has ng branch. |
| 02:32 |
|
* __rnddim__ |
is starting over |
| 02:32 |
|
|
ruoso joined #perl6 |
| 02:33 |
|
__rnddim__ |
I need something that will tell me how to get the ng branch. I'm hopelessly new to git. |
| 02:36 |
|
__rnddim__ |
git clone [directory] -b ng seems promising... |
| 02:43 |
|
* __rnddim__ |
is still finding out how to get the ng branch :( |
| 02:43 |
|
PerlJam |
__rnddim__: once you have a clone of rakudo, you have the ng branch as a remote. To make a local branch that tracks the remote you do: git co -b ng -t origin/ng |
| 02:43 |
|
__rnddim__ |
let me try that. |
| 02:44 |
|
PerlJam |
__rnddim__: sorry, "co" is my shortcut for "checkout", so use "checkout" where I have "co" |
| 02:45 |
|
* PerlJam |
goes back to sleep & |
| 02:51 |
|
__rnddim__ |
YES! I've been using the git log command to see what branch I'm in, and comparing it to what github says just happened to ng. They finally match! |
| 02:52 |
|
* __rnddim__ |
's drive to get the ng branch on the computer has worn off, and is now asleep on the keyboarawhoeon ddcv . |
| 03:10 |
|
|
nbrown joined #perl6 |
| 03:17 |
|
|
nbrown joined #perl6 |
| 03:28 |
|
diakopter |
ng: sub A (*@_) { my @a := @_; say @_.perl; if 1 { say @_.perl } }; A(5, 4) |
| 03:28 |
|
p6eval |
ng aa0a08: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907)» |
| 04:14 |
|
diakopter |
masak: re declarations: http://blogs.msdn.com/ericlipp[…]-many-passes.aspx |
| 05:07 |
|
|
REPLeffect joined #perl6 |
| 05:13 |
|
|
__rnddim__ joined #perl6 |
| 05:29 |
|
|
patspam joined #perl6 |
| 06:02 |
|
|
justatheory joined #perl6 |
| 06:11 |
|
|
gfx joined #perl6 |
| 06:53 |
|
|
iblechbot joined #perl6 |
| 07:11 |
|
|
kaare joined #perl6 |
| 07:58 |
|
s1n |
hmm: http://news.perlfoundation.org[…]l_perl_compi.html |
| 08:02 |
|
diakopter |
std: | | | | |3 |
| 08:02 |
|
p6eval |
std 29655: OUTPUT«ok 00:03 106m» |
| 08:03 |
|
diakopter |
s1n: what about it |
| 08:04 |
|
diakopter |
s1n: oh, the mention of parrot? |
| 08:05 |
|
s1n |
yeah, but the idea is still interesting |
| 08:05 |
|
diakopter |
1000 euros for a year of work that he would probably do anyway? :) |
| 08:05 |
|
s1n |
well, not that idea in particular, but what the grant is about |
| 08:05 |
|
diakopter |
(if I were TPF, I'd fund it) |
| 08:05 |
|
s1n |
likewise |
| 08:06 |
|
diakopter |
s1n: have you read his use.perl journal or tweetfeed? |
| 08:06 |
|
s1n |
no, should i? |
| 08:08 |
|
diakopter |
http://use.perl.org/~rurban/journal/ and http://twitter.com/Reini_Urban |
| 08:08 |
|
diakopter |
sure, if you're interested by that idea |
| 08:10 |
|
s1n |
hmm, thanks for the heads up then |
| 08:10 |
|
* s1n |
needs sleep though |
| 08:11 |
|
* diakopter |
*finally* had a breakthrough in the OPP |
| 08:12 |
|
diakopter |
realized that TimToady's implementation in STD.pm is essentially the precedence-climbing algorithm (as mentioned in [slightly higher] ignorance by yours truly on this channel 1.5 years ago). |
| 08:12 |
|
* diakopter |
happy about this. |
| 08:13 |
|
diakopter |
and so... I finally see the need for an LTM engine :D |
| 08:13 |
|
diakopter |
heh |
| 08:13 |
|
diakopter |
goodnight moon |
| 08:16 |
|
|
eternaleye joined #perl6 |
| 08:22 |
|
|
pnate joined #perl6 |
| 08:37 |
|
|
xinming joined #perl6 |
| 08:38 |
|
|
mssm joined #perl6 |
| 08:50 |
|
|
drbean joined #perl6 |
| 09:06 |
|
|
pnate joined #perl6 |
| 09:17 |
|
|
pnate joined #perl6 |
| 09:22 |
|
|
Su-Shee joined #perl6 |
| 09:22 |
|
Su-Shee |
good morning |
| 09:32 |
|
|
barney joined #perl6 |
| 09:49 |
|
|
scott__ joined #perl6 |
| 09:55 |
|
|
scotl joined #perl6 |
| 10:01 |
|
|
barney joined #perl6 |
| 11:22 |
|
|
meppl joined #perl6 |
| 11:43 |
|
|
am0c joined #perl6 |
| 12:13 |
|
|
drbean joined #perl6 |
| 12:16 |
|
jnthn |
oh hai, šesťfolk. |
| 12:22 |
|
|
mberends joined #perl6 |
| 12:22 |
|
mberends |
dobor dan, jnthn |
| 12:23 |
|
jnthn |
\o/ |
| 12:24 |
|
mberends |
could you please help me a little with http://paste.lisp.org/display/94502 |
| 12:24 |
|
|
payload joined #perl6 |
| 12:26 |
|
jnthn |
eww Q:PIR |
| 12:26 |
|
jnthn |
:-) |
| 12:26 |
|
jnthn |
mberends: %r = status |
| 12:26 |
|
mberends |
it seemed to need that instead of pir::whatever |
| 12:26 |
|
jnthn |
That's why it doesn't work though |
| 12:26 |
|
jnthn |
%r = box status |
| 12:26 |
|
mberends |
oh. boxing |
| 12:26 |
|
mberends |
:D |
| 12:26 |
|
jnthn |
You need to give back a PMC result in %r :-) |
| 12:26 |
|
mberends |
thanks :) |
| 12:27 |
|
|
masak joined #perl6 |
| 12:27 |
|
masak |
oh hai #perl6 |
| 12:27 |
|
masak |
rakudo: sub A (*@_) {say @_.perl; if 1 { say @_.perl } }; A(5, 4) |
| 12:27 |
|
p6eval |
rakudo 1d4928: OUTPUT«[5, 4][]» |
| 12:27 |
|
* masak |
submits rakudobug |
| 12:27 |
|
masak |
quietfanatic++ |
| 12:27 |
|
jnthn |
wtf?! |
| 12:27 |
|
jnthn |
shift that bug! |
| 12:27 |
|
masak |
:) |
| 12:28 |
|
masak |
& |
| 12:29 |
|
jnthn |
o/ |
| 12:30 |
|
colomon |
o/ |
| 12:30 |
|
colomon |
ng: sub A (*@_) {say @_.perl; if 1 { say @_.perl } }; A(5, 4) |
| 12:30 |
|
p6eval |
ng aa0a08: OUTPUT«Placeholder variable cannot override existing signature at line 1, near "; A(5, 4)"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 12:32 |
|
jnthn |
std: sub A (*@_) {say @_.perl; if 1 { say @_.perl } }; A(5, 4) |
| 12:32 |
|
p6eval |
std 29655: OUTPUT«ok 00:02 111m» |
| 12:34 |
|
colomon |
ng: sub A {say @_.perl; if 1 { say @_.perl } }; A(5, 4) |
| 12:34 |
|
p6eval |
ng aa0a08: OUTPUT«[5, 4][]» |
| 12:35 |
|
colomon |
ng: sub A ($_) {say $_.perl; if 1 { say $_.perl } }; A(5) |
| 12:35 |
|
p6eval |
ng aa0a08: OUTPUT«55» |
| 12:35 |
|
jnthn |
Hmm |
| 12:36 |
|
mberends |
\o/ jnthn++ # just that poxy box was missing :-) |
| 12:36 |
|
jnthn |
So despite ng having a fresh impl, it still exhibits the same behavior! |
| 12:36 |
|
jnthn |
mberends: Yay! |
| 12:36 |
|
jnthn |
mberends: Of course, question now is, does unlink.t pass? :-) |
| 12:37 |
|
mberends |
testing... |
| 12:38 |
|
mberends |
:-( Confused at line 8, near "sub nonce(" |
| 12:39 |
|
jnthn |
mberends: Maybe not anything to do with unlink though...check what's on that line. |
| 12:39 |
|
mberends |
and t/spec/S16-filehandles/io_in_while_loops.t passes all 13 tests :-) |
| 12:41 |
|
jnthn |
Oh? |
| 12:41 |
|
jnthn |
Uncomment in spectest.data! :-) |
| 12:41 |
|
mberends |
yes... |
| 12:41 |
|
* jnthn |
likes passing tests. |
| 12:52 |
|
dalek |
rakudo/ng: 25b48ad | (Martin Berends)++ | (2 files): |
| 12:52 |
|
dalek |
rakudo/ng: [IO.pm] re-implement unlink() and some tests that use it |
| 12:52 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]a038d4d19995aa969 |
| 12:52 |
|
|
payload1 joined #perl6 |
| 12:55 |
|
|
orafu joined #perl6 |
| 13:00 |
|
|
payload joined #perl6 |
| 13:00 |
|
|
xomas_ joined #perl6 |
| 13:00 |
|
|
xomas_ joined #perl6 |
| 13:10 |
|
|
payload joined #perl6 |
| 13:11 |
|
|
lichtkind joined #perl6 |
| 13:20 |
|
|
tlb joined #perl6 |
| 13:26 |
|
colomon |
jnthn: don't look now, but the index.t problem from last night appears to be another of the classic random test crashes. |
| 13:27 |
|
colomon |
It dies before printing out the full # SKIP message for test 35. |
| 13:27 |
|
jnthn |
colomon: Oh. That's probably why I didn't get it. :-/ |
| 13:27 |
|
colomon |
I added say "Hello?" between that and the next test. With the say in there, all 38 tests run and pass. |
| 13:34 |
|
|
JimmyZ joined #perl6 |
| 13:36 |
|
|
JimmyZ joined #perl6 |
| 13:36 |
|
|
pmurias joined #perl6 |
| 13:41 |
|
|
lichtkind_ joined #perl6 |
| 13:48 |
|
* jnthn |
-> shopping, bbiab |
| 14:03 |
|
* masak |
is baking @ buns |
| 14:04 |
|
mberends |
yummy! |
| 14:04 |
|
colomon |
what kind of buns? |
| 14:07 |
|
dalek |
rakudo/ng: a8ab00b | (Solomon Foster)++ | src/core/IO.pm: |
| 14:07 |
|
dalek |
rakudo/ng: Simple lazy implementation of .lines. |
| 14:07 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]b84547cf5ea14d6be |
| 14:10 |
|
masak |
colomon: it's an internal joke between me and frettled. :) the symbol '@' is sometimes called 'kanelbulle' (cinnamon bun) in Swedish. |
| 14:12 |
|
mberends |
a good illustration http://en.wikipedia.org/wiki/Cinnamon_bun |
| 14:12 |
|
colomon |
jnthn: It would probably be better to make a specific Iterator type for IO, but the question of exactly how to do that is kind of funky. This gather / take implementation should work fine in the meantime. |
| 14:12 |
|
colomon |
masak: ah. :) |
| 14:15 |
|
jnthn |
As an oper, I always have a kanelbulle besides me. :-) |
| 14:16 |
|
jnthn |
colomon: Yay, lazy lines. :-) |
| 14:17 |
|
jnthn |
colomon: Does that make any other IO tests pass, btw? |
| 14:17 |
|
colomon |
I haven't tried. I peaked in S32-io and didn't see any obvious lines tests. |
| 14:17 |
|
jnthn |
S16-filehandles may have some. |
| 14:17 |
|
colomon |
ah |
| 14:17 |
|
jnthn |
Or S16-io generally. |
| 14:18 |
|
colomon |
I'm reasonably confident in the implementation, because it is just a simple variation on the old version of the function. :) |
| 14:18 |
|
colomon |
and it passes my simple tests in the REPL. |
| 14:19 |
|
frettled |
Oh, look, two cinnamon buns were ready. |
| 14:19 |
|
frettled |
;) |
| 14:19 |
|
jnthn |
A few more and they'll be abundant. |
| 14:20 |
|
|
flight16 joined #perl6 |
| 14:21 |
|
|
greenhorn joined #perl6 |
| 14:21 |
|
|
greenhorn left #perl6 |
| 14:22 |
|
frettled |
oh ho ho :) |
| 14:23 |
|
colomon |
t/spec/S16-filehandles/io_in_for_loops.t almost works (29 of 31 passing) |
| 14:24 |
|
jnthn |
Sounds close enough to fix or fudge. :-) |
| 14:24 |
|
jnthn |
colomon: Just going to nom my lunch and then I'll dig in to some Rakudo hacking. |
| 14:25 |
|
frettled |
fudge buns! |
| 14:25 |
|
flight16 |
time to nom my #sleep |
| 14:25 |
|
flight16 |
goodnight |
| 14:26 |
|
colomon |
looks like the issue is when we run the file through a for loop, we get a last "undef". |
| 14:26 |
|
colomon |
(No idea why it's undef rather Mu or something) |
| 14:27 |
|
jnthn |
...sleep is eddible? |
| 14:27 |
|
jnthn |
colomon: Oh, eww. :-/ |
| 14:28 |
|
masak |
jnthn: no, but the IRC channel #sleep might be :) |
| 14:28 |
|
colomon |
jnthn: I wouldn't be surprised if it is a for bug rather than a lines bug. |
| 14:30 |
|
colomon |
oh, nope, it's a .lines bug. |
| 14:30 |
|
colomon |
pretty easy to fix, though, I think. |
| 14:31 |
|
|
greenhorn_ joined #perl6 |
| 14:31 |
|
colomon |
.defined tests definedness, yes? |
| 14:32 |
|
jnthn |
Should do. :-) |
| 14:34 |
|
colomon |
yeah, I've got a patch. |
| 14:34 |
|
|
am0c joined #perl6 |
| 14:36 |
|
colomon |
running spectest now, will push as soon as that's done. |
| 14:41 |
|
colomon |
pushed |
| 14:41 |
|
dalek |
rakudo/ng: 9c39328 | (Solomon Foster)++ | src/core/IO.pm: |
| 14:41 |
|
dalek |
rakudo/ng: Be a little more careful to ensure we do not get a last line of undef (when calling IO.lines). |
| 14:41 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]2013fd7a6381c5a65 |
| 14:41 |
|
dalek |
rakudo/ng: 36620c0 | (Solomon Foster)++ | t/spectest.data: |
| 14:41 |
|
dalek |
rakudo/ng: Turn on S16-filehandles/io_in_for_loops.t. |
| 14:41 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]ab2ac68fc79031a28 |
| 14:44 |
|
|
dolmen joined #perl6 |
| 14:45 |
|
|
fda314925 joined #perl6 |
| 14:47 |
|
jnthn |
colomon++ |
| 14:48 |
|
colomon |
io.t is blocking right away on Range.pick |
| 14:49 |
|
colomon |
I hacked that out just to see what would happen, and we then passes 64 tests before we block on String.Int. |
| 14:50 |
|
colomon |
that's of 69 tests altogether, I believe, so we are very close. |
| 14:51 |
|
|
greenhorn joined #perl6 |
| 14:51 |
|
colomon |
ng: say (+"5").Int |
| 14:51 |
|
p6eval |
ng 36620c: OUTPUT«5» |
| 14:51 |
|
colomon |
word. |
| 14:52 |
|
colomon |
errr... Str versus String? |
| 14:53 |
|
masak |
it's Str in Perl 6. |
| 14:55 |
|
colomon |
masak: how do you square that with the error message Method 'Int' not found for invocant of class 'String' |
| 14:55 |
|
masak |
probably Parrot shining through. |
| 14:55 |
|
masak |
hiding the host system is tricky :P |
| 14:55 |
|
colomon |
and after I added Str.Int and that tested passed, now I get |
| 14:55 |
|
colomon |
Method 'e' not found for invocant of class 'Str' |
| 14:56 |
|
colomon |
ah, that's $filename !~~ :e |
| 14:58 |
|
colomon |
okay, can fudge that. |
| 14:58 |
|
colomon |
then all I need is to figure out how to get Range.pick to work. |
| 14:59 |
|
|
JimmyZ joined #perl6 |
| 15:00 |
|
jnthn |
colomon: I put back Pair's smart-matching yesterday, so implementing .e in the appropriate place should be all we need to do. |
| 15:02 |
|
|
cjk101010 joined #perl6 |
| 15:09 |
|
colomon |
jnthn: I don't really know how to do that, so I'm fine with fudging it for the moment. Though if someone else wants to step up and do it.... :) |
| 15:10 |
|
|
jmf joined #perl6 |
| 15:10 |
|
jnthn |
:-) |
| 15:10 |
|
mberends |
where is the use of pir::func__XX() documented? (the XX in particular) |
| 15:12 |
|
colomon |
mberends: I always just ask jnthn or pmichaud if I can't figure out from examples in the code. |
| 15:13 |
|
jnthn |
mberends: They are Parrot ops, so see the Parrot opcode docs for names and what register types they want. |
| 15:13 |
|
* colomon |
needs an embarrassed to admit that smiley. |
| 15:13 |
|
jnthn |
mberends: The XX describes the register signature. |
| 15:13 |
|
mberends |
I'm stuck on the parameter and return type of sleep() |
| 15:13 |
|
jnthn |
mberends: That is documented in...oh gah, github is down. |
| 15:13 |
|
jnthn |
vN perhaps. |
| 15:14 |
|
jnthn |
checking |
| 15:14 |
|
|
k23z__ joined #perl6 |
| 15:14 |
|
jnthn |
mberends: vI if you want to sleep an integer amount for vN for a number. |
| 15:14 |
|
mberends |
it's not II, NI or IN :( |
| 15:14 |
|
jnthn |
mberends: Yes, it has no result, so you need a v (= void) first. |
| 15:15 |
|
jnthn |
mberends: The first char always represents what the opcode "returns", as it were. |
| 15:15 |
|
mberends |
thanks. sleep.t expects sleep() to return how long it akshually slept |
| 15:15 |
|
mberends |
got that, never thought about lowercase v |
| 15:16 |
|
jnthn |
heh heh |
| 15:16 |
|
jnthn |
From sys.ops: |
| 15:16 |
|
jnthn |
if ($1 < 0.0) { |
| 15:16 |
|
jnthn |
opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next, |
| 15:16 |
|
jnthn |
EXCEPTION_NEG_SLEEP, |
| 15:16 |
|
jnthn |
"Cannot go back in time"); |
| 15:16 |
|
jnthn |
goto ADDRESS(handler); |
| 15:16 |
|
jnthn |
} |
| 15:16 |
|
mberends |
aw, no time travel :( |
| 15:17 |
|
jnthn |
mberends: Well, if you want, to complain about that, trac.parrot.org ;-) |
| 15:17 |
|
jnthn |
mberends: I think to get the "time we akshually slept" then get the time before, get the time after and subtract. |
| 15:18 |
|
jnthn |
pir::time__N() |
| 15:18 |
|
mberends |
jnthn: then it makes more sense to return a fractional Num |
| 15:19 |
|
jnthn |
mberends: time gives you: |
| 15:19 |
|
jnthn |
Puts the current system time (represented as a number of seconds, with |
| 15:19 |
|
jnthn |
microseconds) in $1. |
| 15:19 |
|
jnthn |
(the time opcode) |
| 15:19 |
|
jnthn |
mberends: Or do you mean, what Perl 6's sleep should return? |
| 15:20 |
|
mberends |
will do a subtract and return seconds.microseconds |
| 15:20 |
|
jnthn |
That sounds sane. |
| 15:20 |
|
mberends |
the test expects a value back, either int on num would do |
| 15:21 |
|
mberends |
but returning the int you gave it is lame |
| 15:21 |
|
jnthn |
Yeah, it is. :-) |
| 15:21 |
|
mberends |
"I went for an hour's snooze, and woke up 100 years later..." |
| 15:22 |
|
* colomon |
thinks his Str.Int push made it through to github just before github went down.... |
| 15:23 |
|
* jnthn |
hacks on anonymous hash syntax. |
| 15:24 |
|
mberends |
sleeping for longer than you intended will occur if the computer suspends or hibernates, so it does make sense to measure it |
| 15:27 |
|
|
Psyche^ joined #perl6 |
| 15:27 |
|
|
cognominal joined #perl6 |
| 15:29 |
|
colomon |
it's wacky how laziness sometimes reverses what was hard and what was easy from the old non-lazy versions. |
| 15:29 |
|
mathw |
I found that when I was doing a lot of Haskell coding |
| 15:29 |
|
mathw |
It turns everything upside down in code and the compiler |
| 15:29 |
|
colomon |
like die "Infinite lazy pick not implemented" if $replace; -- impossible in master, trivial in ng |
| 15:30 |
|
colomon |
in fact, infinite lazy pick is actually easier than the non-replacing pick of a finite number of elements. |
| 15:30 |
|
colomon |
(in ng) |
| 15:32 |
|
cognominal |
I have not followed things lately. ng1 has been merges with ng? |
| 15:32 |
|
cognominal |
*merged |
| 15:32 |
|
colomon |
cognominal: yes. |
| 15:32 |
|
jnthn |
cognominal: And then we've been Widly Patching ng. :-) |
| 15:32 |
|
jnthn |
OK, I got the Hash or Block detection done. Now I "just" need to write circumfix:<{ }> |
| 15:32 |
|
cognominal |
is ng now usable for programming? |
| 15:33 |
|
* masak |
chuckles |
| 15:33 |
|
jnthn |
cognominal: Well, it's Turing Complete... |
| 15:33 |
|
|
greenhorn joined #perl6 |
| 15:33 |
|
jnthn |
cognominal: Things work in master that don't work in ng. Things work in ng that don't work in master. :-) |
| 15:34 |
|
cognominal |
hum, that what I feared :) |
| 15:34 |
|
jnthn |
And we're currently beavering away at making the first of those less and less true. :-) |
| 15:34 |
|
cognominal |
I bet. |
| 15:34 |
|
jnthn |
.oO( oops, I used "beavering" outside of Yorkshire ) |
| 15:35 |
|
cognominal |
I don't mind perl 6 being closer to haskell |
| 15:37 |
|
jnthn |
cognominal: Last time I saw you talk about Haskell at a Perl conference, the talk involved dominatrix... :-) |
| 15:38 |
|
jnthn |
cognominal: BTW, will there be a French Perl Workshop this year? :-) |
| 15:38 |
|
cognominal |
yes, but we don't know yet where and when |
| 15:38 |
|
cognominal |
you will be most welcome as usual |
| 15:39 |
|
jnthn |
I'll try and make it this year; I missed last years. |
| 15:40 |
|
cognominal |
one candidate is Calais. So you could even make a trip to England from there. |
| 15:41 |
|
colomon |
ng: my $a = -10; $a .= abs; say $a; |
| 15:41 |
|
p6eval |
ng 36620c: OUTPUT«10» |
| 15:41 |
|
cognominal |
...and not as an illegal immigrant :) |
| 15:41 |
|
jnthn |
Aww, go and spoil my fun! :-P |
| 15:42 |
|
colomon |
ng: say Inf.floor; |
| 15:42 |
|
p6eval |
ng 36620c: OUTPUT«-9223372036854775808» |
| 15:42 |
|
colomon |
!!! |
| 15:43 |
|
jnthn |
o_O |
| 15:43 |
|
cognominal |
I know Calais is nice. I don't know how far from the center is the university though. |
| 15:43 |
|
jnthn |
ng: our sub circumfix:<{ }>(*@elements) { } |
| 15:43 |
|
p6eval |
ng 36620c: OUTPUT«Method 'value' not found for invocant of class 'PAST;Op'current instr.: 'perl6;Perl6;Actions;deflongname' pc 153909 (src/gen/perl6-actions.pir:170)» |
| 15:44 |
|
jnthn |
ng: our sub prefix:<{ }>(*@elements) { } |
| 15:44 |
|
p6eval |
ng 36620c: OUTPUT«Method 'value' not found for invocant of class 'PAST;Op'current instr.: 'perl6;Perl6;Actions;deflongname' pc 153909 (src/gen/perl6-actions.pir:170)» |
| 15:44 |
|
jnthn |
ng: our sub infix:<{ }>(*@elements) { } |
| 15:44 |
|
p6eval |
ng 36620c: OUTPUT«Method 'value' not found for invocant of class 'PAST;Op'current instr.: 'perl6;Perl6;Actions;deflongname' pc 153909 (src/gen/perl6-actions.pir:170)» |
| 15:44 |
|
jnthn |
ng: our sub infix:<x>(*@elements) { } |
| 15:44 |
|
p6eval |
ng 36620c: ( no output ) |
| 15:44 |
|
jnthn |
ng: our sub circumfix:<x>(*@elements) { } |
| 15:44 |
|
p6eval |
ng 36620c: ( no output ) |
| 15:44 |
|
jnthn |
oh hm |
| 15:44 |
|
jnthn |
ng: our sub monkey:<x>(*@elements) { } |
| 15:44 |
|
p6eval |
ng 36620c: ( no output ) |
| 15:46 |
|
jnthn |
std: our sub circumfix:<{ }>(*@elements) { } |
| 15:46 |
|
p6eval |
std 29655: OUTPUT«ok 00:03 109m» |
| 15:47 |
|
jnthn |
ng: say <a b c> |
| 15:47 |
|
p6eval |
ng 36620c: OUTPUT«sh: ./perl6: No such file or directory» |
| 15:49 |
|
jnthn |
ng: our sub circumfix:<[ ]>(*@elements) { } |
| 15:49 |
|
p6eval |
ng 36620c: OUTPUT«sh: ./perl6: No such file or directory» |
| 15:49 |
|
* jnthn |
wonders how on earth to fix this one... |
| 15:50 |
|
colomon |
> say (1..100).WHAT |
| 15:50 |
|
colomon |
Type objects do not have state, but you tried to access attribute $!excludes_min |
| 15:51 |
|
colomon |
:\ |
| 15:51 |
|
masak |
we've been baking and making food for almost 2 hours. time to go offline and see how things taste :) |
| 15:51 |
|
masak |
& |
| 15:51 |
|
colomon |
masak: I'm jealous. |
| 15:52 |
|
jnthn |
colomon: Only if they taste good. :-) |
| 15:52 |
|
jnthn |
colomon: I think I know what's up with that one... |
| 15:52 |
|
colomon |
it's just a sideline to my attempt to getting a very primitive version of .pick up and running... |
| 15:52 |
|
jnthn |
(Need to teach protoobjects a little about stringiication) |
| 15:52 |
|
jnthn |
Well, a little more about... |
| 15:53 |
|
jnthn |
ng: say <foo>.WHAT |
| 15:53 |
|
p6eval |
ng d53e02: OUTPUT«Str()» |
| 15:53 |
|
jnthn |
ng: say <{ }>.WHAT |
| 15:53 |
|
p6eval |
ng d53e02: OUTPUT«» |
| 15:53 |
|
jnthn |
gah |
| 15:55 |
|
jnthn |
oh, maybe I know what to do... |
| 15:56 |
|
jnthn |
(For those curious, it turns out that circumfix:<{ }> ends up in current impl with us getting a whitespace seperated list of '{' and '}', and then the code building the subname explodes.) |
| 15:58 |
|
mathw |
that's... not good |
| 15:58 |
|
jnthn |
Indeed...it means I can't write circumfix:<{ }> |
| 15:59 |
|
jnthn |
I wonder if really want deflongname to parse a generic circumfix there... :| |
| 15:59 |
|
jnthn |
There's a bunch of ways I could tweak things. |
| 16:00 |
|
jnthn |
Not found one I like yet. |
| 16:01 |
|
jnthn |
oh |
| 16:01 |
|
jnthn |
maybe I have |
| 16:05 |
|
jnthn |
whee |
| 16:05 |
|
jnthn |
> say { a => 42}<a> |
| 16:05 |
|
jnthn |
42 |
| 16:05 |
|
* mathw |
applauds |
| 16:06 |
|
mathw |
jnthn can have his dinner tonight |
| 16:07 |
|
jnthn |
Only if I didn't break any spectests. :-) |
| 16:07 |
|
mathw |
nah |
| 16:07 |
|
mathw |
fixing the spectests gets you pudding |
| 16:09 |
|
jnthn |
Don't think I've broken anything that wasn't already broken. :-) |
| 16:11 |
|
jnthn |
Pushed (seems github's git part is still up, even if the site is fail) |
| 16:12 |
|
|
nihiliad joined #perl6 |
| 16:14 |
|
colomon |
blast, you beat me to the punch. ;) |
| 16:15 |
|
jnthn |
mwaha |
| 16:16 |
|
pugs_svn |
r29656 | colomon++ | [t/spec] Fudge to avoid missing :e in ng. |
| 16:16 |
|
colomon |
git pull didn't work for me. :( |
| 16:17 |
|
jnthn |
Oh? |
| 16:17 |
|
jnthn |
:-/ |
| 16:17 |
|
greenhorn |
quit |
| 16:17 |
|
colomon |
Storage server temporarily offline. Please try again in a few minutes or contact GitHub. |
| 16:17 |
|
jnthn |
Probably just flakey. |
| 16:18 |
|
jnthn |
ng: my $x = -> {}; my $y = $x(); |
| 16:19 |
|
p6eval |
ng d53e02: OUTPUT«Null PMC access in can()current instr.: 'perl6;Mu;!STORE' pc 1906 (src/builtins/Mu.pir:387)» |
| 16:19 |
|
jnthn |
If I can fix that one, we win back |
| 16:19 |
|
jnthn |
S04-blocks-and-statements/pointy.t |
| 16:33 |
|
|
dual joined #perl6 |
| 16:35 |
|
jnthn |
ng: my @x; for @x -> $v { } |
| 16:35 |
|
p6eval |
ng d53e02: OUTPUT«Null PMC access in elements()current instr.: 'perl6;SeqIter;get' pc 11981 (src/builtins/Positional.pir:16)» |
| 16:36 |
|
jnthn |
ng: my @x = 1,2,3; for @x -> $v { say $v } |
| 16:36 |
|
p6eval |
ng d53e02: OUTPUT«123» |
| 16:36 |
|
jnthn |
ng: my @x = 1,2,3; for @x <-> $v { say $v } |
| 16:36 |
|
p6eval |
ng d53e02: OUTPUT«Missing block at line 1, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 16:39 |
|
colomon |
git pull finally worked for me. |
| 16:40 |
|
jnthn |
:-) |
| 16:40 |
|
jnthn |
I'm currently puzzling over why <-> doesn't parse, even though it's right there in token lambda |
| 16:42 |
|
jmf |
quit |
| 16:58 |
|
jnthn |
std: my @x; my $x; @x <-> $x { } |
| 16:58 |
|
p6eval |
std 29656: OUTPUT«ok 00:01 110m» |
| 16:59 |
|
jnthn |
...so it parses, but what does it mean? |
| 17:00 |
|
jnthn |
oh noes |
| 17:00 |
|
jnthn |
It's parsing as @x < -> $x { } |
| 17:01 |
|
jnthn |
Trouble is, we also end up doing that in xblock's EXPR |
| 17:04 |
|
jnthn |
phenny: tell phenny are you alive? |
| 17:04 |
|
phenny |
Hey, I'm not as stupid as Monty you know! |
| 17:04 |
|
jnthn |
\o/ |
| 17:05 |
|
jnthn |
phenny: tell pmichaud seems there's some issues with parsing <-> lambdas, I think the xblock's EXPR swallows up < as an infix operator, and then -> { } as a pointy block. Stared at STD a bit, don't immediately notice the solution. LTM? Any thoughts? |
| 17:05 |
|
phenny |
jnthn: I'll pass that on when pmichaud is around. |
| 17:05 |
|
jnthn |
Thanks, phenny |
| 17:05 |
|
diakopter |
ltm fail |
| 17:06 |
|
jnthn |
Damm. |
| 17:06 |
|
jnthn |
diakopter: Know a solution? |
| 17:06 |
|
jnthn |
Other than hacking infix:<< < >> to check it's not followed by ->... |
| 17:06 |
|
diakopter |
I didn't think nqp-rx knew about real ltm... |
| 17:07 |
|
jnthn |
diakopter: It doesn't. |
| 17:07 |
|
jnthn |
Well |
| 17:07 |
|
jnthn |
It does and it diesn't. |
| 17:07 |
|
jnthn |
*doesn't |
| 17:07 |
|
jnthn |
It knows the bits of it tangled up with protoregexes. |
| 17:07 |
|
dalek |
rakudo/ng: d53e02e | (Solomon Foster)++ | src/core/Str.pm: |
| 17:07 |
|
dalek |
rakudo/ng: Implement Str.Int and tweak Str.Bool declaration. |
| 17:07 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]f29faec33b888fe70 |
| 17:07 |
|
dalek |
rakudo/ng: aed45d8 | jonathan++ | src/ (2 files): |
| 17:07 |
|
dalek |
rakudo/ng: Implement anonymous hash constructors; also a tweak so that we are able to define circumfix:<{ }> in the core setting. |
| 17:07 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]a64913af56884507a |
| 17:08 |
|
diakopter |
I guess try to force the lambda one to be tried earlier than the xblock one |
| 17:08 |
|
colomon |
dang it, bushwhacked again by jnthn's speedy commits. |
| 17:09 |
|
colomon |
;) |
| 17:09 |
|
jnthn |
diakopter: That's not quite the issue. |
| 17:09 |
|
jnthn |
diakopter: xblock does <EXPR> <pblock> |
| 17:10 |
|
jnthn |
diakopter: It's that EXPR that swallows up what the following <pblock> wants. |
| 17:10 |
|
diakopter |
oh |
| 17:10 |
|
jnthn |
Or at least, so far as I can track it down. |
| 17:11 |
|
jnthn |
Anyways, I'll put it aside for now; no point me agonising for longer over something Pm may well have a good idea how to fix right away. |
| 17:12 |
|
diakopter |
lack-of-real-ltm-fail, but I don't know how to fix it other than your suggestion to hack infix:<< < >> or fix lack-of-real-ltm |
| 17:13 |
|
dalek |
rakudo/ng: 5c70962 | jonathan++ | src/Perl6/ (3 files): |
| 17:13 |
|
dalek |
rakudo/ng: Some tweaks and improvements to pointy blocks. We can't get the <-> form working yet, due to parsing issues. |
| 17:13 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]a59f7672001c26092 |
| 17:13 |
|
dalek |
rakudo/ng: 245ca14 | jonathan++ | t/spectest.data: |
| 17:13 |
|
dalek |
rakudo/ng: We now pass S04-blocks-and-statements/pointy.t again. |
| 17:13 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]6a46ee57ecea46225 |
| 17:13 |
|
diakopter |
I wonder if std parses it correctly |
| 17:13 |
|
jnthn |
diakopter: Yeah, I believe so. |
| 17:13 |
|
jnthn |
It parses what we fail on, anyway. |
| 17:14 |
|
jnthn |
std: my %h; for %h.values <-> $v { $v += 1 } |
| 17:14 |
|
p6eval |
std 29656: OUTPUT«ok 00:01 108m» |
| 17:14 |
|
jnthn |
ng: my %h; for %h.values <-> $v { $v += 1 } |
| 17:14 |
|
p6eval |
ng aed45d: OUTPUT«Missing block at line 1, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 17:14 |
|
diakopter |
std: my @x = 1,2,3; for @x < 3 |
| 17:14 |
|
p6eval |
std 29656: OUTPUT«===[0mSORRY!===[0mMissing block at /tmp/fAt9n6kGaN line 1 (EOF):------> my @x = 1,2,3; for @x < 3⏏<EOL> expecting any of: POST postfix postfix_prefix_meta_operatorFAILED 00:01 107m» |
| 17:15 |
|
diakopter |
either ltm works or it backtracks correctly |
| 17:15 |
|
jnthn |
Yeah |
| 17:16 |
|
jnthn |
colomon: about? |
| 17:17 |
|
colomon |
jnthn: I was just about ready to push when you did, that's all. :) |
| 17:17 |
|
colomon |
so I had to pull, rebuild, and re-test. |
| 17:17 |
|
jnthn |
:-) |
| 17:17 |
|
colomon |
too many commits coming too fast, it's a fantastic problem to have. :) |
| 17:17 |
|
jnthn |
colomon: I want to make an iterator for hashes. |
| 17:17 |
|
jnthn |
colomon: Any thoughts? |
| 17:18 |
|
colomon |
jnthn: cool. |
| 17:18 |
|
jnthn |
colomon: I mean, if I do... |
| 17:18 |
|
jnthn |
method iterator() { gather { ... take Pair.new($k, $v); ... } } |
| 17:18 |
|
diakopter |
speaking of ltm/opp, the thought occurred to me that every grammar (even a Perl 6 one) can be expressed in terms of a prefix/postfix/infix OPP like the one in STD, just adding a new precedence level for each pattern... |
| 17:18 |
|
jnthn |
Or some such |
| 17:18 |
|
jnthn |
Will that work out? |
| 17:18 |
|
jnthn |
(in theory) :-) |
| 17:18 |
|
colomon |
jnthn: it ought to. |
| 17:18 |
|
jnthn |
colomon: OK, cool. |
| 17:18 |
|
colomon |
(in theory) |
| 17:18 |
|
jnthn |
heh |
| 17:19 |
|
jnthn |
diakopter: That...hurts my head. :-) |
| 17:19 |
|
dalek |
rakudo/ng: 80d23e1 | (Solomon Foster)++ | src/core/Iterable.pm: |
| 17:19 |
|
dalek |
rakudo/ng: Add Iterable.pm and Iterable.Seq. |
| 17:19 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]d3159be01085b3de4 |
| 17:19 |
|
dalek |
rakudo/ng: dc7327e | (Solomon Foster)++ | src/core/Any-list.pm: |
| 17:19 |
|
dalek |
rakudo/ng: Very simplified version of .pick. (More complete but broken in ng implementation included in this check-in but commented out.) |
| 17:19 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]d4137b662981a4293 |
| 17:19 |
|
dalek |
rakudo/ng: 67ca67b | (Solomon Foster)++ | src/ (2 files): |
| 17:19 |
|
dalek |
rakudo/ng: Merge branch 'ng' of git github.com:rakudo/rakudo into ng |
| 17:19 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]86f794e775ff10183 |
| 17:19 |
|
dalek |
rakudo/ng: 7191517 | (Solomon Foster)++ | build/Makefile.in: |
| 17:19 |
|
dalek |
rakudo/ng: Add Iterable.pm to the makefile. |
| 17:19 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]a2c7e4336edb3cff5 |
| 17:19 |
|
dalek |
rakudo/ng: b65c299 | (Solomon Foster)++ | t/spectest.data: |
| 17:19 |
|
dalek |
rakudo/ng: Add S16-filehandles/io.t to the spectests. |
| 17:19 |
|
colomon |
though it might be worthwhile to actually make an iterator class for hash. |
| 17:19 |
|
|
justatheory joined #perl6 |
| 17:19 |
|
jnthn |
Wow! |
| 17:19 |
|
colomon |
(and understanding that I have no clue how you internally iterate a hash) |
| 17:20 |
|
colomon |
jnthn: just a bunch of small patches. :) |
| 17:20 |
|
jnthn |
colomon: It's easy enough to do gather/take |
| 17:20 |
|
jnthn |
colomon: I've just yet to get a good feel of when to make a class like HashIter or when not to bother. :-) |
| 17:21 |
|
colomon |
jnthn: I believe no one has a good feeling for that yet. |
| 17:21 |
|
jnthn |
rakudo: my @x = :a(1), :b(2), :c(3); for @x.map({ $^p.key }) { .say } |
| 17:21 |
|
p6eval |
rakudo 1d4928: OUTPUT«abc» |
| 17:22 |
|
jnthn |
Nice. |
| 17:22 |
|
jnthn |
rakudo: my @x = :a(1), :b(2), :c(3); for @x.map({ $^p.key, $^p.value }) { .say } |
| 17:22 |
|
colomon |
? |
| 17:22 |
|
p6eval |
rakudo 1d4928: OUTPUT«a1b2c3» |
| 17:22 |
|
colomon |
why for and map? |
| 17:22 |
|
jnthn |
OK, if I write Hash.iterator, looks like .keys, .values and .kv are just a map. |
| 17:23 |
|
jnthn |
colomon: Oh, was just wanting to iterate over what map returned. |
| 17:23 |
|
colomon |
jnthn: (re .keys, etc) that makes sense. |
| 17:23 |
|
* jnthn |
gets on it |
| 17:23 |
|
colomon |
ah, I see. |
| 17:29 |
|
|
masak joined #perl6 |
| 17:29 |
|
masak |
o/ |
| 17:30 |
|
mathw |
o/ |
| 17:31 |
|
masak |
fwiw, the pasta and cinnamon @ tasted very nice :) |
| 17:31 |
|
mathw |
pasta and cinnamon |
| 17:31 |
|
mathw |
interesting |
| 17:31 |
|
masak |
um. nono. |
| 17:31 |
|
masak |
sequentially :) |
| 17:31 |
|
masak |
not that I never use cinnamon in my non-sweet cooking :) |
| 17:32 |
|
mathw |
of course |
| 17:32 |
|
mathw |
it's good in curries |
| 17:32 |
|
masak |
oh yes. |
| 17:33 |
|
masak |
(of course people involved in Perl 6 appreciate a good curry) |
| 17:33 |
|
mathw |
:D |
| 17:34 |
|
masak |
more language features should be named after foods, in my opinion. |
| 17:36 |
|
masak |
phenny: tell phenny are you as stupid as Monty? |
| 17:36 |
|
phenny |
Hey, I'm not as stupid as Monty you know! |
| 17:37 |
|
mathw |
well, currying was named after a man... |
| 17:37 |
|
mathw |
who may have been named after food :) |
| 17:37 |
|
mathw |
or one of his ancestors was, anyway |
| 17:37 |
|
masak |
yes, both Haskell and currying was named after a man. the same one, even :) |
| 17:37 |
|
mathw |
indeed |
| 17:37 |
|
masak |
that's quite an honour. |
| 17:37 |
|
mathw |
and thus it's highly appropriate that Haskell programmers make extensive use of currying |
| 17:38 |
|
masak |
it's like someone would name a language 'Carl' and then a language feature 'masaking'. |
| 17:39 |
|
mathw |
I think currying was around before Haskell, and it's possible one of the reasons they chose Haskell was because they knew currying would be central to its techniques |
| 17:39 |
|
|
__rnddim__ joined #perl6 |
| 17:39 |
|
|
iblechbot joined #perl6 |
| 17:39 |
|
masak |
I think you're right. |
| 17:40 |
|
mathw |
it's slightly less interesting that way though |
| 17:41 |
|
masak |
jnthn: interesting conundurum with the '<->' thingy! |
| 17:45 |
|
jnthn |
Gah, colomon beat me to patch! |
| 17:45 |
|
jnthn |
;-) |
| 17:45 |
|
masak |
are you two competing? :) |
| 17:46 |
|
* __rnddim__ |
thinks it takes too long to compile rakudo (the ... src/gen/core.pm -> src/gen/core.pir command, anyway) |
| 17:47 |
|
masak |
__rnddim__: I believe the stage1 step is the slowest. |
| 17:47 |
|
masak |
__rnddim__: hi, by the way. :) |
| 17:47 |
|
__rnddim__ |
right now I'm running make. |
| 17:48 |
|
__rnddim__ |
Hello to you to. |
| 17:48 |
|
colomon |
masak: nah, it's just patches are flying so quickly this weekend, that it's very common to get everything tested and ready to go and then discover ng's been updated while you were busy, and so you have to rebuild and retest again. :) |
| 17:48 |
|
* __rnddim__ |
IN A WORLD, where hellos come after talking to each other. |
| 17:48 |
|
masak |
jnthn: STD has a <?before <.lambda> | '{'> in 'token pblock'. |
| 17:49 |
|
masak |
colomon: ah, so you're doing different but taking turns pushing and having to pull? that's not so bad, then. :) |
| 17:50 |
|
jnthn |
masak: afaict that's just for the error detection. But akshually we're already screwed by the time we make it into pblock. |
| 17:50 |
|
__rnddim__ |
yes! It took so long last night for this poor old computer to get past that core.pm->core.pir thing, it shut itself down! |
| 17:51 |
|
masak |
jnthn: yes, because the EXPR won't let go. |
| 17:52 |
|
masak |
it's easy to construct one situation where it should continue and one where it should backtrack. |
| 17:52 |
|
|
p6eval joined #perl6 |
| 17:52 |
|
masak |
continue: 'if 3 <4 {' |
| 17:53 |
|
masak |
backtrack: 'if 3 <-> $a {' |
| 17:53 |
|
masak |
thus I conclude that the optable parser must have the ability to notice when it shouldn't consume a '<->'. |
| 17:54 |
|
masak |
either by knowing about it directly (probably not) or by realizing that what comes after the '<' isn't a term. |
| 17:55 |
|
jnthn |
masak: iiuc, that's what LTM would give us. |
| 17:55 |
|
masak |
please elaborate. |
| 17:55 |
|
jnthn |
<-> is longer than < |
| 17:55 |
|
masak |
yes... |
| 17:55 |
|
masak |
I'm with you so far. :P |
| 17:56 |
|
jnthn |
But we can't parse <-> as an operator, since it ain't one. |
| 17:56 |
|
masak |
but the EXPR is being parsed by the optable parser, which (IIUC) doesn't even do LTM. |
| 17:56 |
|
masak |
or does it? |
| 17:56 |
|
jnthn |
I think it works differntly in STD (and nqp-rx) than it does in PGE. |
| 17:56 |
|
masak |
that's entirely possible. |
| 17:57 |
|
masak |
none of the parsers in PGE do LTM. |
| 17:57 |
|
|
eternaleye joined #perl6 |
| 17:57 |
|
masak |
I just assumed it was only something the recdescent parser would do. |
| 17:57 |
|
jnthn |
My impression is that things aren't quite so divorced in STD and nqp-rx as they are in PGE |
| 17:57 |
|
masak |
well, sure, the optable parser always picks the longest operator; that's just common sense. |
| 17:58 |
|
masak |
but in the case of '<->', that's not something the optable parser in a PGE setting would even be aware of. |
| 17:58 |
|
masak |
since it's not an operator per se. |
| 17:59 |
|
jnthn |
Where you've two easily identifiable units working together. |
| 17:59 |
|
jnthn |
(gah, this lag is awful...) |
| 17:59 |
|
dalek |
rakudo/ng: ea2b864 | jonathan++ | src/core/Hash.pm: |
| 17:59 |
|
dalek |
rakudo/ng: Finish filling out hash assignment; you can now assign a hash to a hash. Unbreaks that spectest that I broke yesterday, apart from it passes for the Right Reason now. :-) |
| 17:59 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]b59df574171921999 |
| 17:59 |
|
dalek |
rakudo/ng: 16fd613 | jonathan++ | src/core/EnumMap.pm: |
| 17:59 |
|
dalek |
rakudo/ng: Give EnumMap (and thus Hash) .iterator, .keys, .values and .kv, all done in the core setting. |
| 17:59 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]55a1cc2c3560a6b1e |
| 17:59 |
|
masak |
jnthn: that's quite a lag you've got :) |
| 17:59 |
|
jnthn |
And now I crossed out one more item on http://wiki.github.com/rakudo/[…]r-features-needed :-) |
| 18:00 |
|
|
aindilis joined #perl6 |
| 18:00 |
|
jnthn |
colomon: Co is the status of Range? |
| 18:01 |
|
jnthn |
s/Co/What/ |
| 18:01 |
|
masak |
:) |
| 18:01 |
|
jnthn |
! |
| 18:01 |
|
masak |
jnthn: are you context-switching between languages again? |
| 18:02 |
|
jnthn |
masak: Yeah, arranging a time to skype with a Slovak girl who wants English practice. :-) |
| 18:02 |
|
jnthn |
masak: I'm also kinda keen to try and get some arrangement like that, so I can keep getting practice at Slovak once I'm not living here too. |
| 18:02 |
|
jnthn |
Would suck to have to re-learn it. |
| 18:02 |
|
jnthn |
:-) |
| 18:03 |
|
masak |
sounds like a good mutual deal. :) |
| 18:03 |
|
jnthn |
Aye. |
| 18:03 |
|
jnthn |
masak: By the way... |
| 18:03 |
|
colomon |
cool, I was working on some Newfoundland tunes with a flute player from there over Skype earlier this week. :) |
| 18:03 |
|
jnthn |
masak: Hash, if you are interested still, is probably in a state where it's quite hackable on, btw. |
| 18:04 |
|
colomon |
jnthn: Range sort of works. |
| 18:04 |
|
jnthn |
masak: .perl, .fmt, .ACCEPTS etc could all do with going back. |
| 18:04 |
|
jnthn |
masak: Note they probably want to go in EnumMap |
| 18:04 |
|
masak |
jnthn: thanks. if it can wait until tonight, I'll have a go. |
| 18:04 |
|
jnthn |
masak: Which is like, immutable version. |
| 18:04 |
|
jnthn |
masak: Oh, for sure it can. |
| 18:05 |
|
masak |
excellent. |
| 18:05 |
|
* __rnddim__ |
is running make spectest, and S02-whitespace_and_comments/minimal-whitespace.t failed 6 of 7 subtests. (ng branch) |
| 18:05 |
|
jnthn |
.fmt and .perl can probably be put back in more places. |
| 18:05 |
|
jnthn |
__rnddim__: I fixed that one 10 mins ago. :-) |
| 18:06 |
|
jnthn |
Thanks for reporting though :-) |
| 18:06 |
|
masak |
__rnddim__: time to rebuild. :) |
| 18:06 |
|
jnthn |
masak: Crule! |
| 18:06 |
|
__rnddim__ |
AAAAAH! This code came from last night. |
| 18:06 |
|
* __rnddim__ |
is screaming in 7 dimensions (again) |
| 18:06 |
|
colomon |
jnthn: basic Range iteration works for numbers, but it doesn't always convert the way you'd expect it to yet. |
| 18:06 |
|
masak |
__rnddim__: is your nick an abbreviation of 'random dimension'? |
| 18:07 |
|
jnthn |
colomon: OK. |
| 18:07 |
|
__rnddim__ |
why yes, it is. |
| 18:07 |
|
jnthn |
colomon: Was curious if we could cross Range off the todo list yet. ;-) |
| 18:07 |
|
colomon |
jnthn: probably shouldn't just yet. |
| 18:08 |
|
colomon |
unless you mean the ng todo list, in which case it might be okay. |
| 18:09 |
|
colomon |
Actually, I think the biggest obstacle might be the incorrect dispatch thing again, that's why it won't work for arbitrary types, for instance. |
| 18:09 |
|
pugs_svn |
r29657 | jnthn++ | [t/spec] Tweak an m/.../ into just /.../. |
| 18:10 |
|
jnthn |
colomon: I meant the one I linked to a mo ago. |
| 18:10 |
|
jnthn |
http://wiki.github.com/rakudo/[…]r-features-needed |
| 18:11 |
|
dalek |
rakudo/ng: 1f37989 | jonathan++ | t/spectest.data: |
| 18:11 |
|
dalek |
rakudo/ng: Passing S16-unfiled/slurp.t again. |
| 18:11 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]0d27e88399d9df563 |
| 18:11 |
|
__rnddim__ |
(From the complete beginner dept.) I now need to know how to update my copy of rakudo thru git. |
| 18:11 |
|
colomon |
jnthn: yeah, I'd cross it off that list. :) |
| 18:11 |
|
colomon |
__rnddim__: git pull |
| 18:11 |
|
__rnddim__ |
I'm hopeless! :) |
| 18:12 |
|
* __rnddim__ |
notes he's hopeless, because he should look closer. |
| 18:12 |
|
colomon |
or git pull --ff if you've got commits you haven't pushed. |
| 18:13 |
|
* __rnddim__ |
is now starting the make...make test...make spectest...make install stuff all o'er again. |
| 18:14 |
|
* __rnddim__ |
notes the /me command has to be what twitter feels like. |
| 18:15 |
|
jnthn |
colomon: OK, done. |
| 18:16 |
|
jnthn |
Of the two remaining things given to me on there, one is easy and boring. The other is Epic Hard. |
| 18:17 |
|
__rnddim__ |
go with Epic Hard. All the cool spies do it! (All the cool spies don't use the front door, for example...) |
| 18:20 |
|
__rnddim__ |
rakudo: say :16<16D.4> |
| 18:20 |
|
p6eval |
rakudo 1d4928: OUTPUT«365» |
| 18:20 |
|
colomon |
__rnddim__: unless maybe the front door is so heavily guarded you couldn't possibly get through it, in which case a cool spy might consder going that way. |
| 18:20 |
|
__rnddim__ |
colomon: not even then. It's "the front door". |
| 18:20 |
|
__rnddim__ |
ng: say :16<16D.4> |
| 18:20 |
|
p6eval |
ng b65288: OUTPUT«sh: ./perl6: No such file or directory» |
| 18:20 |
|
__rnddim__ |
??? |
| 18:21 |
|
jnthn |
__rnddim__: p6eval automatically re-builds once in a while. |
| 18:21 |
|
colomon |
__rnddim__: that means it's rebuilding with the latest changes |
| 18:21 |
|
__rnddim__ |
alright |
| 18:21 |
|
jnthn |
__rnddim__: It's just doing that at the moemnt...will work again in a moment. |
| 18:22 |
|
__rnddim__ |
btw, a cool spy would squeeze through the plumbing if he could. |
| 18:22 |
|
jnthn |
__rnddim__: See http://svn.pugscode.org/pugs/src/perl6/STD.pm for how those things are parsed; look up rad_number |
| 18:22 |
|
* jnthn |
doubts he'll squeeze through much :-) |
| 18:22 |
|
__rnddim__ |
A cool spy would be friends with santa :) |
| 18:23 |
|
masak |
"Top 50 things a cool spy would do" |
| 18:24 |
|
|
cognominal joined #perl6 |
| 18:24 |
|
__rnddim__ |
jnthn: the not defined worries me a little. |
| 18:24 |
|
__rnddim__ |
std: say :16<16D.4> |
| 18:24 |
|
p6eval |
std 29657: OUTPUT«ok 00:01 107m» |
| 18:24 |
|
jnthn |
.oO( 42. Use Perl 6 ) |
| 18:24 |
|
colomon |
ng: say 6 ~~ 5..11 |
| 18:24 |
|
p6eval |
ng 1f3798: OUTPUT«0» |
| 18:24 |
|
jnthn |
Gah! |
| 18:25 |
|
jnthn |
fail. |
| 18:25 |
|
colomon |
expected, that's one of the things I need to fix. |
| 18:25 |
|
__rnddim__ |
.oO( 1. Know Santa) |
| 18:25 |
|
masak |
g'ah! my rakudobug finger is twiching. :) |
| 18:26 |
|
* __rnddim__ |
says: ".oO(...) is for the Top 50 things a cool spy would do list" to the uninitiated. |
| 18:26 |
|
masak |
__rnddim__: 2. Squeeze through the plumbing when necessary. |
| 18:26 |
|
colomon |
ng: say 2 ~~ 5..21 |
| 18:26 |
|
p6eval |
ng 1f3798: OUTPUT«0» |
| 18:26 |
|
__rnddim__ |
.oO(23. Create lists out-of-order) |
| 18:27 |
|
jnthn |
masak: Only another couple of days. ;-) |
| 18:27 |
|
masak |
aye. |
| 18:29 |
|
masak |
__rnddim__: 3. Write a Perl 6 debugger in Perl 6. |
| 18:30 |
|
jnthn |
That *would* be cool. :-) |
| 18:30 |
|
* __rnddim__ |
is writing down the Top 50. |
| 18:32 |
|
* __rnddim__ |
says his favorite game is seagull. |
| 18:32 |
|
masak |
__rnddim__: 4. Get into *and out of* the Pentagon without anyone noticing. |
| 18:33 |
|
__rnddim__ |
.oO(5. Says the palindrome of Bolton is Notlob) |
| 18:33 |
|
jnthn |
Nooooooooooooo :'( |
| 18:34 |
|
masak |
that's not spyishly cool, that's just weird. |
| 18:34 |
|
* __rnddim__ |
says it's a monty python reference |
| 18:34 |
|
__rnddim__ |
I can put multiple number 5s on the list, if you wish. |
| 18:34 |
|
colomon |
ng: say 1 ~~ 5..21 |
| 18:34 |
|
p6eval |
ng 1f3798: OUTPUT«0» |
| 18:35 |
|
__rnddim__ |
It's not supposed to be a traditional list... |
| 18:35 |
|
masak |
:) |
| 18:36 |
|
__rnddim__ |
ng: say "Bolton".reverse |
| 18:36 |
|
p6eval |
ng 1f3798: OUTPUT«Method 'list' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Any;reverse' pc 228301 (src/gen/core.pir:10076)» |
| 18:36 |
|
__rnddim__ |
darn, hoping it'd work. |
| 18:36 |
|
masak |
__rnddim__: it's .flip |
| 18:36 |
|
__rnddim__ |
ng: say "Bolton".flip |
| 18:36 |
|
masak |
hm. unlike a cool spy's battery, mine is about to run out. will need to go undercover. |
| 18:36 |
|
p6eval |
ng 1f3798: OUTPUT«notloB» |
| 18:37 |
|
__rnddim__ |
ng: say "torraP daeD".flip |
| 18:37 |
|
p6eval |
ng 1f3798: OUTPUT«Dead Parrot» |
| 18:37 |
|
__rnddim__ |
masak: carryover from coding in python. |
| 18:38 |
|
__rnddim__ |
switched for switch statements and pointers :) |
| 18:38 |
|
* __rnddim__ |
says: .oO(6. Puts his entire hard drive into a floppy disk) |
| 18:46 |
|
__rnddim__ |
I look at any Top 50 Spies when I'm back. Anyway, I'm off to pronounce the japanese "u" in rakudo correctly! |
| 18:48 |
|
|
cognominal joined #perl6 |
| 18:54 |
|
colomon |
Well, bother. |
| 18:55 |
|
colomon |
If I fix Range so that it does correct comparisons for the end points in .ACCEPTS, I break gazillions of Range tests that work just fine now, because of the dispatch bug. :\ |
| 19:00 |
|
colomon |
ng: say 21 ~~ 3..10 |
| 19:01 |
|
p6eval |
ng 1f3798: OUTPUT«0» |
| 19:01 |
|
colomon |
ng: say 21 ~~ 3..30 |
| 19:01 |
|
p6eval |
ng 1f3798: OUTPUT«0» |
| 19:02 |
|
colomon |
ng: say 21 ~~ 3..50 |
| 19:02 |
|
p6eval |
ng 1f3798: OUTPUT«0» |
| 19:12 |
|
Tene |
colomon: what is this dispatch bug? |
| 19:13 |
|
colomon |
Tene: in ng, nested multi dispatch (at least I think that's what causes it) doesn't always dispatch to the correct multi. |
| 19:13 |
|
colomon |
ng: say "a" cmp "b" |
| 19:13 |
|
p6eval |
ng 1f3798: OUTPUT«-1» |
| 19:13 |
|
|
rgrau joined #perl6 |
| 19:14 |
|
|
k23z__ joined #perl6 |
| 19:14 |
|
colomon |
ng: multi sub comparer($a, $b) { say $a cmp $b }; comparer("a", "b"); |
| 19:14 |
|
p6eval |
ng 1f3798: OUTPUT«-1» |
| 19:14 |
|
colomon |
bother, I don't have an easy test case for it. |
| 19:14 |
|
colomon |
but it's a very real problem. |
| 19:14 |
|
colomon |
ng: say "a" after "b" |
| 19:14 |
|
p6eval |
ng 1f3798: OUTPUT«Nominal type check failed for parameter '$a'; expected Num but got Str insteadcurrent instr.: '&infix:<cmp>' pc 219804 (src/gen/core.pir:6492)» |
| 19:14 |
|
colomon |
there you go. |
| 19:15 |
|
jnthn |
colomon: eww |
| 19:15 |
|
jnthn |
colomon: I need to nom now |
| 19:15 |
|
colomon |
jnthn: happy nomming. |
| 19:15 |
|
jnthn |
colomon: May get to look at that later, but I kinda want to read a bit too :-) |
| 19:15 |
|
colomon |
Tene: it's the source of many headaches for me. |
| 19:15 |
|
jnthn |
Got an interestingish book on the go. :-) |
| 19:15 |
|
colomon |
jnthn: :) |
| 19:16 |
|
colomon |
Tene: after is just |
| 19:16 |
|
colomon |
our multi infix:<after>($a, $b) { |
| 19:16 |
|
colomon |
($a cmp $b) == +1; |
| 19:16 |
|
colomon |
} |
| 19:16 |
|
colomon |
but if you call it with two strings, you get that error message, even though calling cmp with two strings works fine. |
| 19:17 |
|
colomon |
That, in turn, means that Range is pretty broken for anything other than Ints and Nums. |
| 19:17 |
|
colomon |
also negatively affects Rat and Complex math. |
| 19:17 |
|
colomon |
probably other stuff too. |
| 19:20 |
|
dalek |
rakudo/ng: c3371de | jonathan++ | src/builtins/ (2 files): |
| 19:20 |
|
dalek |
rakudo/ng: Keep around high level signature object and cache the params data structure it computes, which makes repeated .arity and .count or introspection cheaper. Will also let us do parameter traits some day. |
| 19:20 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]a24b7fff428d5ce65 |
| 19:22 |
|
pugs_svn |
r29658 | colomon++ | [t/spec] Add Range tests which will fail if the Range is doing Str comparisons rather than Num comparisons internally. |
| 19:23 |
|
jnthn |
mwaha...I have less items assigned to me than Pm on http://wiki.github.com/rakudo/[…]r-features-needed now. ;-) |
| 19:26 |
|
|
fridim_ joined #perl6 |
| 19:27 |
|
colomon |
\o/ |
| 19:31 |
|
jnthn |
Woo, nom is nearly cooked :-) |
| 19:31 |
|
* jnthn |
ponders if he should move from use.perl.org to blogs.perl.org |
| 19:34 |
|
Su-Shee |
jnthn: yes. perl6-ish blogging is highly underrepresented there. |
| 19:38 |
|
|
xomas_ joined #perl6 |
| 19:38 |
|
|
xomas_ joined #perl6 |
| 19:38 |
|
obra |
blogs.perl.org has been...unreliable |
| 19:38 |
|
obra |
many folks I know haven't been able to create accounts/post/comment |
| 19:39 |
|
jnthn |
obra: Yeah, thus my hesitation. |
| 19:59 |
|
Su-Shee |
that seems to be over. I could post and login and so on. |
| 20:10 |
|
|
astoria` joined #perl6 |
| 20:10 |
|
astoria` |
Hi |
| 20:11 |
|
colomon |
hello |
| 20:24 |
|
dalek |
rakudo/ng: 5cc8d5b | mberends++ | src/builtins/control.pir: |
| 20:24 |
|
dalek |
rakudo/ng: [builtins/control.pir] copy in the exit function from master |
| 20:24 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]2e18e4f2fe26523f4 |
| 20:28 |
|
|
silug joined #perl6 |
| 20:37 |
|
|
rgrau joined #perl6 |
| 20:40 |
|
|
renormalist joined #perl6 |
| 20:40 |
|
|
mssm joined #perl6 |
| 20:41 |
|
|
renormalist joined #perl6 |
| 20:58 |
|
|
Chillance joined #perl6 |
| 21:01 |
|
|
KingOfKarlsruhe joined #perl6 |
| 21:03 |
|
|
ash_ joined #perl6 |
| 21:23 |
|
colomon |
mberends++ |
| 21:26 |
|
|
cggoebel joined #perl6 |
| 21:32 |
|
|
masak joined #perl6 |
| 21:33 |
|
masak |
jnthn: ping |
| 21:33 |
|
jnthn |
masak: destination host unreachable |
| 21:33 |
|
jnthn |
er, |
| 21:33 |
|
jnthn |
pong |
| 21:33 |
|
jnthn |
:-) |
| 21:33 |
|
masak |
jnthn: oh hai, I'm here for a bit of synching and guidance. |
| 21:33 |
|
* diakopter |
lurks |
| 21:34 |
|
masak |
I've looked at t/spec/S02-builtin_data_types/hash.rakudo |
| 21:34 |
|
jnthn |
Heh, I looked at that too :-) |
| 21:34 |
|
__rnddim__ |
I'm back. I'm just wondering if there is a todo list of sorts. I remember seeing it, but can't find it again. |
| 21:34 |
|
masak |
jnthn: so, %lolimahash.WHAT stringifies to '()' |
| 21:34 |
|
masak |
that's the first problem. |
| 21:35 |
|
jnthn |
masak: Thankfully that's a more general / not too tricky to solve issue. |
| 21:35 |
|
jnthn |
masak: just a "name of the punned class not being set" one. |
| 21:35 |
|
masak |
I might be totally off, but there's a WHAT in src/builtins/Role.pir that just does '.return (self)'. might that be why it does that? |
| 21:35 |
|
masak |
anyway, that's my guess :) |
| 21:36 |
|
masak |
I have a few more points I want to dump too :) |
| 21:36 |
|
jnthn |
masak: No, since it's defining the type object for the role. |
| 21:36 |
|
masak |
oh ah. |
| 21:36 |
|
masak |
ng: my $a = try { fail horribly } |
| 21:36 |
|
p6eval |
ng 5cc8d5: OUTPUT«Null PMC access in can()current instr.: 'perl6;Mu;!STORE' pc 1906 (src/builtins/Mu.pir:387)» |
| 21:36 |
|
masak |
the test file eventually runs up against this issue, after test 14 or so. |
| 21:36 |
|
masak |
just a heads-up. |
| 21:37 |
|
jnthn |
Ah, thanks |
| 21:37 |
|
jnthn |
rakudo: my $a = try { fail horribly } |
| 21:37 |
|
p6eval |
rakudo 1d4928: OUTPUT«Null PMC access in isa()in Main (file <unknown>, line <unknown>)» |
| 21:37 |
|
jnthn |
... |
| 21:37 |
|
jnthn |
Oh well, at least it's not a regression. :-/ |
| 21:37 |
|
masak |
:) |
| 21:38 |
|
jnthn |
Anyway, good to know, thanks. Sadly, I don't immediately know how to fix that one. |
| 21:38 |
|
masak |
strange that no-one's noticed that though. we do that in Test.pm |
| 21:38 |
|
jnthn |
Yeah, I do find it...odd. |
| 21:38 |
|
diakopter |
rakudo: my $a := try { fail horribly }; say $a.WHAT |
| 21:38 |
|
p6eval |
rakudo 1d4928: OUTPUT«Null PMC access in find_method('WHAT')in Main (file <unknown>, line <unknown>)» |
| 21:38 |
|
|
wanradt_ joined #perl6 |
| 21:39 |
|
diakopter |
ng: my $a := try { fail horribly }; say $a.WHAT |
| 21:39 |
|
p6eval |
ng 5cc8d5: OUTPUT«Confused at line 1, near "my $a := t"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 21:39 |
|
diakopter |
o |
| 21:41 |
|
diakopter |
rakudo: say (eval '{ fail horribly }').WHAT |
| 21:41 |
|
dalek |
rakudo/ng: 5635e93 | masak++ | src/builtins/Role.pir: |
| 21:41 |
|
dalek |
rakudo/ng: [src/builtins/Role.pir] fixed typo |
| 21:41 |
|
dalek |
rakudo/ng: review: http://github.com/rakudo/rakud[…]20f2a88d0b36c01df |
| 21:41 |
|
* diakopter |
waits |
| 21:41 |
|
masak |
a couple more things: that hash.rakudo contains a m{...} pattern match which ng doesn't parse yet. is it hard to add to the grammar? should I have a go at it? |
| 21:41 |
|
p6eval |
rakudo 1d4928: ( no output ) |
| 21:41 |
|
diakopter |
timed out |
| 21:42 |
|
masak |
and also, we don't do `$i++ for @stuff;` yet. same questions there: is it hard, should I add it? |
| 21:43 |
|
|
ash_ joined #perl6 |
| 21:44 |
|
jnthn |
masak: The m{...} stuff I don't personally know how to do without a good bit of digging. It may be in the "easy if your name is Pm" category, or alternatively "easy if you know how quoting constructs are parsed". |
| 21:44 |
|
masak |
I used to know approximately how they were parsed in master. |
| 21:45 |
|
masak |
I fixed a few bugs in those PIR routines in 2008. |
| 21:45 |
|
diakopter |
oh, 2008. how I miss thee. |
| 21:45 |
|
frettled |
s/200/199/ |
| 21:46 |
|
jnthn |
masak: OK, it's probably more STD-ish now I guess. nibblers and the like. ;-) |
| 21:46 |
|
__rnddim__ |
ng: say :16<16D.4> |
| 21:46 |
|
p6eval |
ng 5cc8d5: OUTPUT«Confused at line 1, near "say :16<16"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 21:46 |
|
diakopter |
I leapt into 1988 by tracing my hands and feet on paper in 2nd grade |
| 21:46 |
|
__rnddim__ |
heh, that still needs fixing. |
| 21:47 |
|
jnthn |
masak: I'd say, look if it interests you, but if you've spent 30 mins on it and are no further forward at all, maybe catch Pm about it. :-) |
| 21:47 |
|
__rnddim__ |
rakudo: say :16<16D.4> |
| 21:47 |
|
p6eval |
rakudo 1d4928: OUTPUT«365» |
| 21:47 |
|
masak |
jnthn: will do. |
| 21:47 |
|
jnthn |
I'm a bit surprised $i++ for @stuff; doesn't work. |
| 21:47 |
|
__rnddim__ |
pugs: say :16<16D.4> |
| 21:47 |
|
p6eval |
pugs: OUTPUT«365.25» |
| 21:47 |
|
__rnddim__ |
only pugs gets floating-point base conversion completely right. Hm. |
| 21:47 |
|
masak |
ng: my $i; my @stuff; $i++ for @stuff; |
| 21:47 |
|
p6eval |
ng 5cc8d5: OUTPUT«sh: ./perl6: No such file or directory» |
| 21:47 |
|
jnthn |
__rnddim__: A lot of things in ng do, and it's on the list. A few things are ahead of it though. :-) |
| 21:47 |
|
masak |
dang. |
| 21:48 |
|
__rnddim__ |
can I see this list? |
| 21:48 |
|
jnthn |
Time of hour. |
| 21:48 |
|
__rnddim__ |
I can't find it. |
| 21:48 |
|
* masak |
waits patiently |
| 21:49 |
|
jnthn |
__rnddim__: The "most urgent thingies" list is at http://wiki.github.com/rakudo/[…]r-features-needed |
| 21:49 |
|
jnthn |
__rnddim__: After that, it's a case of working through the commented out tests in http://github.com/rakudo/rakud[…]g/t/spectest.data |
| 21:50 |
|
jnthn |
There's still a lot uncommented in there, but we seem to be picking up the pace a little this weekend. :-) |
| 21:50 |
|
masak |
ng: my $i; my @stuff; $i++ for @stuff; |
| 21:50 |
|
p6eval |
ng 5cc8d5: OUTPUT«sh: ./perl6: No such file or directory» |
| 21:51 |
|
* masak |
rattles p6eval |
| 21:51 |
|
* jnthn |
hears a smashing sound from inside of it |
| 21:51 |
|
masak |
ng: my $i; my @stuff; $i++ for @stuff; |
| 21:51 |
|
p6eval |
ng 5635e9: OUTPUT«Missing block at line 1, near ";"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 21:51 |
|
masak |
there you go. :) |
| 21:52 |
|
__rnddim__ |
none of those big features sound fun and easy. :) |
| 21:52 |
|
__rnddim__ |
But if they were, they'd be done :) |
| 21:52 |
|
masak |
I figure if it's missing a block, then statement-modifying 'for' isn't implemented (correctly). |
| 21:52 |
|
jnthn |
That...kinda looks like it. :-/ |
| 21:53 |
|
jnthn |
Also |
| 21:53 |
|
jnthn |
# S04-statement-modifiers/for.t |
| 21:53 |
|
jnthn |
So |
| 21:54 |
|
jnthn |
That hints it's not had so much attention yet. |
| 21:54 |
|
masak |
jnthn: so, the deal is as follows: you look at %hash.WHAT, and I look to see if m{} and statement-mod for are LHF. :) |
| 21:54 |
|
masak |
jnthn: also, I noted that in S32/Containers, Hash is a role but EnumMap istn't, whereas in ng, both are. |
| 21:54 |
|
jnthn |
masak: ... |
| 21:55 |
|
masak |
jnthn: also, in S32/Containers, nowhere is it hinted that Hash is a derived role from EnumMap. |
| 21:55 |
|
jnthn |
masak: I think we might fix S32/Containers then. :-) |
| 21:55 |
|
masak |
in fact, I was initially shocked to notice they were. |
| 21:55 |
|
masak |
only after a few minutes did it start to make sense. |
| 21:55 |
|
jnthn |
masak: The thing is... |
| 21:55 |
|
diakopter |
ng: my $i; my @stuff; $i++ for @stuff; |
| 21:55 |
|
p6eval |
ng 5635e9: OUTPUT«Missing block at line 1, near ";"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» |
| 21:55 |
|
jnthn |
masak: We want to do Associative[T] |
| 21:55 |
|
masak |
but I still think EnumMap is strangely named if it's really just an immutable Hash. |
| 21:55 |
|
jnthn |
masak: Well, in master it was Mapping |
| 21:56 |
|
masak |
aye. |
| 21:56 |
|
jnthn |
masak: It fits with Enum being the name for the immutable Pair. |
| 21:56 |
|
jnthn |
That's the only logic I can see to it. |
| 21:56 |
|
jnthn |
masak: Just 'cus I implement spec doesn't always mean I like it. ;-) |
| 21:56 |
|
masak |
jnthn: try saying it out loud: "a Hash is a kind of EnumMap..." |
| 21:56 |
|
jnthn |
Remember Mu. ;-) |
| 21:56 |
|
masak |
jnthn: I admire your pragmatism. :) |
| 21:57 |
|
jnthn |
Yeah |
| 21:57 |
|
jnthn |
I'm kinda a bit hmm on the name. |
| 21:58 |
|
lichtkind |
masak: ah there you hayden |
| 21:58 |
|
jnthn |
.oO( is hayden a compliment or an insult? ) |
| 21:58 |
|
|
payload joined #perl6 |
| 21:58 |
|
mberends |
a classic compliment |
| 21:58 |
|
masak |
:) |
| 21:58 |
|
lichtkind |
hahaha |
| 21:59 |
|
masak |
lichtkind: I'm not Hayden, I'm more a combination of a Liszt and a BHash |
| 21:59 |
|
jnthn |
Well. Google Image Search for Hayden agrees it's a compliment... |
| 21:59 |
|
lichtkind |
jnthn: it was remiscence to the film where the therapist made cheaps jokes about the similiarites of hiding and hayden |
| 21:59 |
|
jnthn |
...of sorts... |
| 21:59 |
|
lichtkind |
masak: well answer :9 |
| 22:00 |
|
masak |
jnthn: looks a bit like your gas princess. :) |
| 22:00 |
|
lichtkind |
masak: a simple server restart woldn't do it? |
| 22:00 |
|
masak |
lichtkind: don't know yet. but I doubt it. |
| 22:00 |
|
masak |
it's probably something deeper. |
| 22:00 |
|
jnthn |
masak: My gas princess was an elekshun FAIL though. </3 |
| 22:01 |
|
masak |
jnthn: I'm truely sorry for your lots. |
| 22:01 |
|
* __rnddim__ |
thinks he should know perl before fixing it :) |
| 22:01 |
|
masak |
__rnddim__: why? never stopped the rest of us. :) |
| 22:01 |
|
pmurias |
masak: how did your run the tests constantly and commit if all pass thing end up? |
| 22:01 |
|
* __rnddim__ |
doesn't worry about it too much though. |
| 22:02 |
|
masak |
pmurias: parse error. |
| 22:03 |
|
__rnddim__ |
ng: my @rray=1,2,3; say @rray[0..*]; |
| 22:03 |
|
p6eval |
ng 5635e9: OUTPUT«No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'current instr.: '!postcircumfix:<[ ]>' pc 306755 (src/gen/core.pir:39427)» |
| 22:03 |
|
__rnddim__ |
pugs: my @rray=1,2,3; say @rray[0..*]; |
| 22:03 |
|
p6eval |
pugs: OUTPUT«123» |
| 22:03 |
|
* masak |
should perhaps say 'confused', like STD.pm does |
| 22:04 |
|
jnthn |
masak: I'll be sure to fix that WHAT thingy tomorrow, BTW. |
| 22:04 |
|
masak |
eeeexcellent. |
| 22:04 |
|
* __rnddim__ |
decides to attempt to turn rakudo/ng into a teenager (whatever indices). |
| 22:04 |
|
pmurias |
masak: i remember reading on your blog that you wrote a program to run the test suit constantly and commit if all of them pass |
| 22:04 |
|
masak |
pmurias: ah. right. |
| 22:05 |
|
masak |
pmurias: suddenly I can parse your original question :) |
| 22:05 |
|
masak |
pmurias: I'm still using it when developing GGE. I'm learning stuff all the time about it. |
| 22:05 |
|
masak |
pmurias: it's written in Perl 5. if I were to release it to the public, I'd re-write it in Perl 6. |
| 22:06 |
|
masak |
with tests, and a bit less hackishly done. |
| 22:07 |
|
__rnddim__ |
pugs: say "hello"[0..*] |
| 22:07 |
|
p6eval |
pugs: OUTPUT«hello» |
| 22:07 |
|
__rnddim__ |
ng: say "hello"[0..*] |
| 22:07 |
|
p6eval |
ng 5635e9: OUTPUT«Can't postcircumfix:<[ ]> foreign objects yet.current instr.: '!postcircumfix:<[ ]>' pc 306755 (src/gen/core.pir:39427)» |
| 22:07 |
|
pmurias |
masak: why don't you want to release Perl 5 things? |
| 22:08 |
|
masak |
pmurias: I didn't say that. it's more like I don't want to release a hard-coded hack. |
| 22:10 |
|
lichtkind |
mberends: some tuits to help me on the larger p6tut? |
| 22:10 |
|
masak |
__rnddim__: what do you expect indexing into a string to produce? individual characters? |
| 22:11 |
|
__rnddim__ |
just experimenting. |
| 22:11 |
|
__rnddim__ |
pugs: say "hello"[2..*] |
| 22:11 |
|
p6eval |
pugs: OUTPUT«» |
| 22:11 |
|
__rnddim__ |
hm.. |
| 22:11 |
|
__rnddim__ |
Too used to python :) |
| 22:11 |
|
masak |
__rnddim__: it doesn't work like that in Perl 6. |
| 22:11 |
|
* __rnddim__ |
again feels he should know perl before fixing it |
| 22:11 |
|
masak |
__rnddim__: you should use Str.substr($from, $chars) |
| 22:12 |
|
__rnddim__ |
ok. I'm focusing on whatever indices. Was wondering if it was array only or in general. |
| 22:13 |
|
masak |
in general, but strings are not one of the things you can index. |
| 22:13 |
|
__rnddim__ |
so arrays, list, hashes, that sort of thing? |
| 22:13 |
|
masak |
or rather, I guess it's up to the .[] method on a type to decide how to treat whatever indices. |
| 22:13 |
|
masak |
__rnddim__: yes... you'd not do .[] on hashes either. |
| 22:13 |
|
masak |
they don't have an ordering in that sense. |
| 22:14 |
|
__rnddim__ |
Alright. Off to fix * indices. |
| 22:15 |
|
* __rnddim__ |
thinks of how he REALLY needs to read up on stuff... |
| 22:15 |
|
masak |
jnthn: also, I discovered Proxy... |
| 22:15 |
|
* __rnddim__ |
no longer wishes to be a beginner. |
| 22:15 |
|
masak |
__rnddim__: one step at a time, that's the only way... :) |
| 22:16 |
|
__rnddim__ |
Yeah, I know. I'm trying to find where indices are handled (w/o looking at documentation, mind you. Just looking at code) |
| 22:17 |
|
jnthn |
masak: Yes, me too. ;-) |
| 22:17 |
|
jnthn |
Then I (ab)used it to do hash. |
| 22:17 |
|
masak |
__rnddim__: well, in the case of @a[0..*], what you have is a call to a .[] method on an array, with the argument being a range (0..*), with the upper bound being a whatever (*). |
| 22:18 |
|
masak |
jnthn: I immediately declared Proxy as my arch-enemy. |
| 22:18 |
|
masak |
jnthn: I mean, I see what it's for, but I just... I dunno. it's pipes sticking out. |
| 22:19 |
|
masak |
it's an object saying "I'm not here, but if you like, I could make something appear in my place". |
| 22:19 |
|
__rnddim__ |
I like hunting through code, but only for the joy you feel finding what you need. |
| 22:19 |
|
masak |
__rnddim__: you should try the rush of having tests pass. :) |
| 22:19 |
|
mberends |
lichtkind: perhaps a random hour-tuit or two per day for a week? |
| 22:20 |
|
lichtkind |
mberends: terrorific :) |
| 22:20 |
|
mberends |
:) |
| 22:20 |
|
lichtkind |
mberends: i want finally close the gaps there |
| 22:21 |
|
__rnddim__ |
or the sound deadlines make when they woosh by. :D |
| 22:21 |
|
__rnddim__ |
that's my favorite sound. |
| 22:21 |
|
masak |
speaking of docs and deadlines, I've recently felt an urge to become really productive with the u4x contents. |
| 22:22 |
|
masak |
but then I remember that we're supposed to deliver a book by March, and so I decide to put u4x on hold for now. :) |
| 22:22 |
|
__rnddim__ |
I'm hunting through the code with a terminal, by the way. It's easier for me. |
| 22:22 |
|
mberends |
the entire perllfoundation.org Perl 6 wiki needs tidying. all volunteers welcome. |
| 22:24 |
|
masak |
__rnddim__: ...as opposed to...? :) |
| 22:25 |
|
__rnddim__ |
GUI interfaces. |
| 22:25 |
|
|
hercynium joined #perl6 |
| 22:26 |
|
__rnddim__ |
It's in Range.pm where the infix .. is defined. Now to go and try and fix it :) |
| 22:26 |
|
lichtkind |
mberends: dont worry i will take by big edit gloves and clean that out since i dont see anybody else doing that |
| 22:26 |
|
masak |
__rnddim__: I'm not sure .. in Range is broken. is it? |
| 22:26 |
|
masak |
ng: say (1..5).perl |
| 22:26 |
|
p6eval |
ng 5635e9: OUTPUT«1..5» |
| 22:26 |
|
masak |
ng: say (1..*).perl |
| 22:26 |
|
p6eval |
ng 5635e9: OUTPUT«1..*» |
| 22:27 |
|
masak |
__rnddim__: seems to work. |
| 22:27 |
|
__rnddim__ |
ng my @rray=[1,2,3];say @rray[0..*]; |
| 22:28 |
|
__rnddim__ |
ng my @rray=[1,2,3];say @rray[0..*]; |
| 22:28 |
|
masak |
__rnddim__: ('ng: ') |
| 22:28 |
|
__rnddim__ |
ng: my @rray=[1,2,3];say @rray[0..*]; |
| 22:28 |
|
p6eval |
ng 5635e9: OUTPUT«No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'current instr.: '!postcircumfix:<[ ]>' pc 306755 (src/gen/core.pir:39381)» |
| 22:28 |
|
* __rnddim__ |
just noticed that. |
| 22:28 |
|
__rnddim__ |
rakudo: my @rray=[1,2,3];say @rray[0..*]; |
| 22:28 |
|
mberends |
lichtkind: I'll do a bit as well. I plan to document Perlito (MiniPerl6) because it's compact and terrorifically fast. |
| 22:28 |
|
p6eval |
rakudo 1d4928: OUTPUT«1 2 3Use of uninitialized value» |
| 22:28 |
|
__rnddim__ |
pugs: my @rray=[1,2,3];say @rray[0..*]; |
| 22:28 |
|
p6eval |
pugs: OUTPUT«1 2 3» |
| 22:28 |
|
__rnddim__ |
From what I understand, it should come out like pugs does. |
| 22:28 |
|
* masak |
thinks so |
| 22:29 |
|
masak |
S09 has some wording on that. |
| 22:29 |
|
__rnddim__ |
I'm there. Problem is, in the code, there are four infixes defined. |
| 22:29 |
|
lichtkind |
mberends: excellent i wll mor finish my tuts and clean up some general pages |
| 22:29 |
|
__rnddim__ |
'..', '..^', '^..', and '^..^' |
| 22:30 |
|
* __rnddim__ |
is thinking. |
| 22:30 |
|
lichtkind |
mberends: dont use that word too much or bush will hount you and want to come back to oral office |
| 22:30 |
|
|
cognominal joined #perl6 |
| 22:30 |
|
mberends |
lichtkind: lol |
| 22:31 |
|
|
diakopter left #perl6 |
| 22:32 |
|
* __rnddim__ |
wishes he didn't have to ask so many questions |
| 22:33 |
|
masak |
__rnddim__: yes, all of those are separate operators. |
| 22:33 |
|
masak |
__rnddim__: they just differ in whether they cut off the endpoints. |
| 22:33 |
|
masak |
__rnddim__: I just saw recently how some Japanese Perl 6 users named the '^..^' one the 'neko operator'. ('neko' is Japanese for 'cat'.) |
| 22:33 |
|
cognominal |
__rnddim__, the underscores in your nick are a pain on the eyes :( |
| 22:34 |
|
__rnddim__ |
Sorry. I use to have rnddim, but I forgot the password to that... :) |
| 22:34 |
|
__rnddim__ |
just a second... |
| 22:35 |
|
cognominal |
that's incredible how little insignficant things can be so bothersome |
| 22:36 |
|
cognominal |
lue++ |
| 22:36 |
|
lue |
I'm now lue |
| 22:36 |
|
lue |
I was __rnddim__. LUE stands for Life, the Universe, and Everything. |
| 22:37 |
|
cognominal |
thx |
| 22:37 |
|
lue |
welcome |
| 22:43 |
|
|
diakopter joined #perl6 |
| 22:44 |
|
* mberends |
gives regards to diakopter |
| 22:45 |
|
* diakopter |
tries to alcheme regards to tuits |
| 22:47 |
|
lichtkind |
lue: and everything represents perl 6 ? |
| 22:48 |
|
lichtkind |
diakopter: need a good book on alchemy? |
| 22:50 |
|
|
pnate joined #perl6 |
| 22:51 |
|
|
lue joined #perl6 |
| 22:51 |
|
lue |
blasted computer shut down on me >:( |
| 22:51 |
|
lue |
Just wondering about indices. So does 0..5 say [0,5] (in interval notation), 0^..5 say (0,5], and so on? |
| 22:54 |
|
lue |
I've got noms to nom, see you guys soon! |
| 22:58 |
|
cognominal |
lue, yes |
| 22:58 |
|
cognominal |
or ]0,5] in French, which I find more mnemoic :) |
| 22:59 |
|
cognominal |
*mnenonic |
| 23:04 |
|
lichtkind |
mberends: so we discuss our atack plan later |
| 23:04 |
|
lichtkind |
what i quit don't get how american call people who enjoy using their brain nerds, shouldn't be it the other way around? |
| 23:06 |
|
jnthn |
lichtkind: No, because the people who use their brains realize that name-calling is a worthless exercise. ;-) |
| 23:06 |
|
lichtkind |
jnthn: excellent answer $jnthn+=2 |
| 23:08 |
|
diakopter |
those Name-Callers! |
| 23:10 |
|
|
patspam joined #perl6 |
| 23:31 |
|
|
dual joined #perl6 |
| 23:38 |
|
|
eternaleye joined #perl6 |
| 23:41 |
|
lue |
noms nommed. thank you for the answer. |
| 23:42 |
|
lue |
happy promotion cognominal! |
| 23:46 |
|
sjohnson |
hi guys |
| 23:47 |
|
jnthn |
hi sj |
| 23:47 |
|
lue |
hello. |
| 23:47 |
|
jnthn |
*sjohnson even # missed, tab :-) |
| 23:48 |
|
sjohnson |
:*] |
| 23:49 |
|
eternaleye |
Y'know, it would probably not be too hard to eliminate the downtime from the p6eval bot rebuilding rakudo/ng/what-have-you |
| 23:50 |
|
lue |
compile behind the scenes when it's time, leaving the old one to use, and then quickly switch the old with the new? Doesn't seem that hard... |
| 23:50 |
|
eternaleye |
Just have a bare .git repository of rakudo, and checkout to an external dir and build it. When it updates, checkout to a _new_ external dir, build in that, and then cd to the new dir when it finishes - deleting the old dir behind it |
| 23:51 |
|
eternaleye |
lue: You type faster ;D |
| 23:51 |
|
lue |
I typed less. Don't know about fast... |
| 23:51 |
|
lue |
Then again, I used Mavis Beacon Teaches Typing when I was, what, 10 or 11. |
| 23:52 |
|
eternaleye |
The thing is that the bot would have to be aware of it, which might be difficult if the rebuild is a cron job - just deleting the dir under it and renaming in the new one would cause everything to error out |
| 23:52 |
|
eternaleye |
I still hunt-and-peck. They tried to teach me keyboarding, but it never stuck |
| 23:52 |
|
|
drbean joined #perl6 |
| 23:56 |
|
lue |
Has anyone seen the Periodic Table of the Operators for perl6? It's huge! http://www.ozonehouse.com/mark/periodic/ |
| 23:58 |
|
jnthn |
lue: I've seen a nicely printed up copy of it once, even. :-) |