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