»ö« | 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. |
|||
00:04
fridim_ left
00:05
justatheory left
00:07
am0c joined
00:10
fda314925 left
00:11
fda314925 joined,
lumi left,
lumi joined
00:18
cotto_work left
|
|||
TimToady | rakudo: class A { method foo {say "foo"} }; class B {has A $.aaa handles 'foo' }; my B $b .= new; $b.foo | 00:26 | |
p6eval | rakudo 1d4928: ( no output ) | ||
00:26
breinbaas left,
breinbaas joined
|
|||
TimToady | same can't-do-class bug, I expect | 00:26 | |
hudnix: but it works with a .= new | 00:27 | ||
00:29
ash_ joined
00:30
ash_ is now known as _ash
00:31
meppl left
00:45
nihiliad left,
lichtkind left
00:51
lumi left,
lumi joined
00:53
kraih_sri joined
01:06
gabiruh_ left
|
|||
diakopter | ok, I've reproduced the can't-do-class bug outside of p6eval. finally. | 01:11 | |
TimToady | lemme guess, you used chroot | 01:14 | |
colomon | \o/ | ||
01:16
mssm left
01:21
p6eval left,
p6eval joined
01:22
p6eval left,
p6eval joined
|
|||
diakopter | rakudo: class A { method foo {say "foo"} }; class B {has A $.aaa handles 'foo' }; my B $b .= new; $b.foo | 01:23 | |
p6eval | rakudo 1d4928: foo | ||
colomon | \o/ | ||
diakopter | YA-TAA | ||
01:23
davidfetter left
|
|||
diakopter | TimToady: it was the prefix "use Safe;\n" | 01:24 | |
hudnix | ah | ||
diakopter | apparently when rakudo loads a module, it enters another level of repl | ||
TimToady | another run loop, you mean? | 01:25 | |
diakopter | so 'use Safe;'.$user_code was dropping it back to a > prompt | ||
colomon verifies that adding use Safe; locally is slow as a slow dog. | |||
diakopter | so I inlined the contents of lib/Safe.pm instead of 'use Safe' | ||
TimToady | huh | ||
diakopter | I should specify | 01:26 | |
it drops it back to a > prompt when you do this: | |||
01:26
araujo left
|
|||
diakopter | export PERL6LIB=lib | 01:26 | |
01:27
lumi left
|
|||
diakopter | echo 'use Safe; class A { }'|./perl6 | 01:27 | |
01:27
lumi joined
|
|||
diakopter | oh. I guess actually it's the 'class' declaration that enters another repl loop | 01:27 | |
maybe it's eval loop | |||
I dunno | |||
TimToady | rakudo: run("ls /etc") | 01:28 | |
p6eval | rakudo 1d4928: Too many positional parameters passed; got 1 but expected 0in Main (file src/gen_setting.pm, line 324) | ||
diakopter | heh | ||
colomon | seriously, the use Safe; version of that double class declaration is still just sitting there on my system. (Sounds like it is ramping up the processor fan, too...) | ||
TimToady | rakudo: say qx[ls /etc] | 01:29 | |
diakopter | yeah, it enters an unending eval("die") loop or something | ||
p6eval | rakudo 1d4928: Too many positional parameters passed; got 1 but expected 0in Main (file src/gen_setting.pm, line 324) | ||
diakopter | hey, it's my VPS; it's still protected. you can still open sockets, though. | ||
well, ok, brb | |||
01:29
drbean joined
01:30
p6eval left,
p6eval joined
|
|||
diakopter | rakudo: say qx[ls /etc] | 01:31 | |
p6eval | rakudo 1d4928: operation not permitted in safe modein Main (file /tmp/JbdQ6TvxT0, line 1) | ||
diakopter | rakudo: run("ls /etc") | ||
p6eval | rakudo 1d4928: operation not permitted in safe modein Main (file /tmp/vzQMpNlV40, line 1) | ||
diakopter | rakudo: run('rm -Rf ~/') | 01:32 | |
p6eval | rakudo 1d4928: operation not permitted in safe modein Main (file /tmp/RAAB3feL0T, line 1) | ||
diakopter | rakudo: run("ls /etc", 'rm -Rf ~/') | ||
p6eval | rakudo 1d4928: operation not permitted in safe modein Main (file /tmp/66bgq60PDY, line 1) | ||
01:34
lestrrat is now known as lest_away
|
|||
pugs_svn | r29592 | diakopter++ | [evalbot] fix stuff | 01:37 | |
diakopter | rakudo: my $ss_SS_S_S__S_S_s; | 01:38 | |
p6eval | rakudo 1d4928: Redeclaration of variable $ss_SS_S_S__S_S_s | ||
01:39
japhb left
|
|||
diakopter | colomon: is it still running? ;) | 01:42 | |
01:43
payload left
|
|||
diakopter | huri.net/tech/pspec | 01:45 | |
01:45
dhaivat joined
|
|||
_ash | cool link diakopter | 01:51 | |
01:51
_Chillance_ left
01:55
_ash left
02:00
agentzh joined
02:05
_ash joined
02:10
lest_away is now known as lestrrat
02:15
payload joined,
justatheory joined,
payload left,
payload joined
02:17
c1sung_ is now known as c1sung
02:26
dhaivat left
02:34
stephenlb left
02:36
ShaneC left
02:41
orafu left,
orafu joined
|
|||
colomon | diakopter: sorry, I killed it and went downstairs to exercise before you asked the question. :) | 03:01 | |
never finished on its own, I think I let it run for 10 minutes or so before I kiolled it. | 03:02 | ||
03:07
lumi left,
lumi joined
03:16
tarski left
03:31
araujo joined
|
|||
diakopter | I just realized how to give the compiled edition of program compiled by sprixel access to a routine that can build a copy of each's own originating syntax tree. | 03:32 | |
(in addition to an emit() method, each node needs an emit_emitter() method, which just emits a CIL edition of each's regen() method) | 03:37 | ||
oh, and, the same must be done for the originating grammar. | 03:39 | ||
but not necessarily the compiler itself. | |||
because that would get a little too circular. | 03:40 | ||
03:44
colomon left
03:51
_ash left
03:55
Chazz is now known as Asleep
03:57
Asleep is now known as zz_Asleep
04:04
jaldhar joined
04:09
lumi left,
lumi joined
04:10
jaldhar left
04:11
agentzh left
04:12
am0c left
04:14
jaldhar joined
04:17
jaldhar left
04:20
tolkad joined,
jaldhar joined
|
|||
tolkad | !help | 04:20 | |
@help | 04:21 | ||
diakopter | I don't think any of the bots reply to those | 04:22 | |
tolkad | dalek did | 04:23 | |
diakopter | oh :) | ||
oh yeah | |||
tolkad | it asked me to log in | ||
0_o | |||
diakopter | yeah, and there aren't any users registered with it | ||
tolkad | lol | ||
the website lies! lambdabot isn't in here | 04:24 | ||
diakopter | do you want to leave a message for someone? | ||
lisppaste3 | test1 pasted "test2" at paste.lisp.org/display/93982 | ||
tolkad | no | 04:25 | |
04:26
jaldhar left
04:28
jaldhar joined
04:29
smash_ joined
|
|||
tolkad | perl6: echo "test" | 04:30 | |
p6eval | rakudo 1d4928: Could not find non-existent sub echoin Main (file src/gen_setting.pm, line 324) | ||
..elf 29592: Undefined subroutine &GLOBAL::echo called at (eval 124) line 3. at ./elf_h line 5881 | |||
..pugs: *** No such subroutine: "&echo" at /tmp/2abhQXzqSZ line 1, column 1 - line 2, column 1 | |||
tolkad | perl6: print "test" | ||
p6eval | elf 29592, pugs, rakudo 1d4928: test | ||
tolkad | rakudo: print "test" | 04:31 | |
p6eval | rakudo 1d4928: test | ||
diakopter | ooo p6eval's rakudo is now much speedier (now that 'use Safe' is removed) | ||
tolkad | rakudo: print "test" x 100 | 04:32 | |
p6eval | rakudo 1d4928: | ||
..testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttestt… | |||
tolkad | what was that 0_o | ||
some strange unicode characters just confused my IRC client | 04:33 | ||
diakopter | oh, an ellipsis | ||
tolkad | no, before that | ||
after the number | |||
and the colon | |||
diakopter | it's whitespace to me | ||
tolkad | I get two newlines and then "p6eval" in blue | ||
It shouldn't be able to force my client to print newlines | 04:34 | ||
diakopter | no one's reported that before.. which irc client do you use | ||
tolkad | xchat aqua | ||
diakopter | oh | ||
take a look at the bottom of irc.pugscode.org | |||
to see how it "should" appear | |||
then again, I dunno | 04:35 | ||
tolkad | wait, was that two messages or one? | ||
diakopter | 2 | 04:36 | |
maybe xchat aqua tried to "intelligently" combine them | |||
tolkad | nah, it never does that. I'm suspecting some control character in there | ||
buubot: echo "test" | 04:37 | ||
buubot | tolkad: "test" | ||
tolkad | phenny: .o echo test | ||
.o echo test | |||
phenny | test | ||
tolkad | hmm | 04:38 | |
phenny: o echo test | |||
diakopter | .o echo  | ||
phenny |  | ||
diakopter | do you see 3 "NL" chars? | 04:39 | |
tolkad | I see 3 squigglies | ||
oh they are NL | |||
diakopter | heh; small font | ||
tolkad | well, it's not important | 04:40 | |
x is foo | |||
buubot: x is foo | |||
buubot | tolkad: Stored x is foo | ||
diakopter | x? | ||
tolkad | buubot: x | ||
buubot | tolkad: x is foo | ||
diakopter | buubot: x is buubot: x? | 04:41 | |
buubot | diakopter: Stored x is buubot: x? | ||
diakopter | buubot: x? | ||
buubot | diakopter: x is buubot: x? | ||
diakopter | buubot: x? is x? | ||
buubot | diakopter: Stored x? is x? | ||
diakopter | buubot: x?? | ||
buubot | diakopter: x? is x? | ||
diakopter | buubot: buubot: x? is buubot: x? is buubot: x? | 04:42 | |
buubot | diakopter: Stored x? is buubot: x? is buubot: x? | ||
diakopter | buubot: x? | ||
buubot | diakopter: x? is buubot: x? is buubot: x? | ||
diakopter | hee | ||
buubot: buubot? | 04:43 | ||
buubot | diakopter: buubot is a swiss army knife where each tool is a smaller swiss army knife. | ||
tolkad | x? | ||
what is x? | |||
diakopter | buubot: those smaller swiss army knives... do they have smaller ones too? | ||
buubot | diakopter: Couldn't match input. | ||
diakopter | buubot: buu? | 04:44 | |
buubot | diakopter: buu is qq | ||
diakopter | blah: buubot: x? | 04:45 | |
04:46
smash__ left
|
|||
diakopter | rakudo: human | 04:46 | |
p6eval | rakudo 1d4928: Could not find non-existent sub humanin Main (file src/gen_setting.pm, line 324) | ||
diakopter | rakudo: space | 04:48 | |
p6eval | rakudo 1d4928: Could not find non-existent sub spacein Main (file src/gen_setting.pm, line 324) | ||
diakopter | rakudo: strate | ||
p6eval | rakudo 1d4928: Could not find non-existent sub stratein Main (file src/gen_setting.pm, line 324) | ||
diakopter | rakudo: versives | 04:49 | |
p6eval | rakudo 1d4928: Could not find non-existent sub versivesin Main (file src/gen_setting.pm, line 324) | ||
tolkad | Could we get lambdabot in here? | ||
lambdabot is the best bot ever | |||
diakopter | dunno. maybe ask on #lambdabot | 04:50 | |
rakudo: conscious | 04:51 | ||
tolkad | nqp: say('x') | ||
p6eval | rakudo 1d4928: Could not find non-existent sub consciousin Main (file src/gen_setting.pm, line 324) | ||
nqp: x | |||
tolkad | nqp: say('x' x 500) | ||
p6eval | nqp: Confused at line 1, near "say('x' x "current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197) | ||
tolkad | nqp: say("x" x 500) | ||
p6eval | nqp: Confused at line 1, near "say(\"x\" x "current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197) | ||
tolkad | wtf | ||
diakopter | nqp is a small subset | ||
tolkad | nqp: $x = "x" x 500;say($x) | ||
p6eval | nqp: Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " \"x\" x 500"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197) | ||
tolkad | nqp: $x := "x" x 500;say($x) | 04:52 | |
p6eval | nqp: Confused at line 1, near "$x := \"x\" "current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197) | ||
diakopter | nqp doesn't have the x operator | ||
tolkad | phenny: tell tolkad test | ||
phenny | You can tell yourself that. | ||
tolkad | phenny: tell p6eval test | ||
phenny | tolkad: I'll pass that on when p6eval is around. | ||
tolkad | nqp: $x := "x" x 500;say($x) | ||
p6eval | nqp: Confused at line 1, near "$x := \"x\" "current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197) | ||
phenny | p6eval: 04:52Z <tolkad> tell p6eval test | ||
diakopter | bots are good whipping boys after a rough day. | 04:53 | |
04:54
lumi left,
lumi joined
|
|||
tolkad | buubot: macro foo is [echo x] | 04:55 | |
buubot | tolkad: Stored foo is [echo x] | ||
tolkad | foo | ||
buubot: foo | |||
buubot | tolkad: x | 04:56 | |
diakopter | buubot: macro foo is [echo x] [echo x] | ||
buubot | diakopter: Stored foo is [echo x] [echo x] | ||
diakopter | buubot: foo | ||
buubot | diakopter: Error: unmatched closing parenthesis in compose | ||
04:56
FurnaceBoy joined
|
|||
diakopter | hee | 04:56 | |
buubot: macro foo is [echo x] [echo x]) | 04:57 | ||
buubot | diakopter: Stored foo is [echo x] [echo x]) | ||
diakopter | buubot: foo | ||
buubot | diakopter: Error: unmatched opening parenthesis in compose | ||
diakopter | buubot: macro foo is [echo x] ([echo x] | ||
buubot | diakopter: Stored foo is [echo x] ([echo x] | ||
diakopter | buubot: foo | ||
buubot | diakopter: x | ||
diakopter | buubot: macro foo is ([echo x] [echo x] | ||
buubot | diakopter: Stored foo is ([echo x] [echo x] | ||
diakopter | buubot: foo | ||
buubot | diakopter: Error: unmatched closing parenthesis in compose | ||
diakopter | buu: ^^ | 04:58 | |
tolkad | buubot: macro foo is ([echo x] [echo x]) | ||
buubot | tolkad: Stored foo is ([echo x] [echo x]) | ||
tolkad | buubot: macro foo is [echo x] [echo x] | ||
buubot | tolkad: Stored foo is [echo x] [echo x] | ||
tolkad | buubot: macro foo is [echo x] | ||
buubot | tolkad: Stored foo is [echo x] | ||
tolkad | buubot: macro foo is ([echo x] [echo x]) | ||
buubot | tolkad: Stored foo is ([echo x] [echo x]) | ||
tolkad | buubot: foo? | ||
buubot | tolkad: Compose failed to find a plugin named: [echo | ||
tolkad | buubot: quote x | 04:59 | |
buubot | tolkad: Couldn't match input. | ||
diakopter | heh | 05:00 | |
bot fun is fun | |||
rakudo: ject | |||
p6eval | rakudo 1d4928: Could not find non-existent sub jectin Main (file src/gen_setting.pm, line 324) | ||
tolkad | phenny: tell p6eval test | 05:02 | |
phenny | tolkad: I'll pass that on when p6eval is around. | ||
tolkad | rakudo a | ||
rakudo: a | |||
p6eval | rakudo 1d4928: Could not find non-existent sub ain Main (file src/gen_setting.pm, line 324) | 05:03 | |
phenny | p6eval: 05:02Z <tolkad> tell p6eval test | ||
diakopter | phenny: tell rakudo liminal | ||
phenny | diakopter: I'll pass that on when rakudo is around. | ||
05:03
diakopter is now known as rakudo
|
|||
rakudo | hi | 05:03 | |
phenny | rakudo: 05:03Z <diakopter> tell rakudo liminal | ||
p6eval | rakudo 1d4928: Leading 0 does not indicate octal in Perl 6Confused at line 10, near ":03Z <diak"in Main (file <unknown>, line <unknown>) | ||
05:03
rakudo is now known as diakopter
|
|||
diakopter | o | 05:04 | |
phenny: tell buubot is hihi | 05:05 | ||
phenny | diakopter: I'll pass that on when buubot is around. | ||
diakopter | buubot: hihi? | ||
buubot | diakopter: No factoid found. Did you mean one of these: [how] | ||
phenny | buubot: 05:05Z <diakopter> tell buubot is hihi | ||
buubot | phenny: Stored 05Z <diakopter> tell buubot is hihi | ||
diakopter | buubot: how? | 05:06 | |
buubot | diakopter: how are you today? | ||
diakopter | buubot: GFY? | ||
buubot | diakopter: Couldn't match input. | ||
05:10
gfx joined
|
|||
tolkad | print "buubot: macro "+str(time.localtime().tm_hour)+":"+str(time.localtime().tm_min)+"Z <phenny> " | 05:13 | |
whoops | |||
.o py print "buubot: macro "+str(time.localtime().tm_hour)+":"+str(time.localtime().tm_min)+"Z <phenny> " | |||
phenny | buubot: macro 5:13Z <phenny> | ||
buubot | phenny: Couldn't match input. | ||
tolkad | hmm | ||
.o py print "buubot: macro "+str(time.localtime().tm_hour)+":"+str(time.localtime().tm_min)+"Z <phenny> is [echo [args]]" | 05:14 | ||
phenny | buubot: macro 5:14Z <phenny> is [echo [args]] | ||
buubot | phenny: Stored 5:14Z <phenny> is [echo [args]] | ||
tolkad | hmm I need a 3rd bot for this lets see what we have... | 05:15 | |
I forgot you can't do a tell to yourself : / | |||
buubot: echo tell buubot x | 05:16 | ||
buubot | tolkad: tell buubot x | 05:17 | |
tolkad | .o echo buubot: echo tell buubot x | ||
phenny | buubot: echo tell buubot x | ||
buubot | phenny: tell buubot x | ||
phenny | You can tell yourself that. | ||
tolkad | *sigh* | ||
diakopter | I don't think the bots are together turing-complete | ||
tolkad | diakopter: phenny is | ||
diakopter: But yeah, the problem is phenny only responds to tell and help as far as I know | |||
diakopter | phenny: ? | 05:18 | |
tolkad | phenny: help | ||
phenny | tolkad: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see inamidst.com/phenny/ for more general details. My owner is sbp. | ||
diakopter | phenny: help | ||
phenny | diakopter: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see inamidst.com/phenny/ for more general details. My owner is sbp. | ||
tolkad | phenny: echo z | ||
diakopter | phenny: "moi"? | 05:19 | |
phenny | diakopter: "me" (fr to en, translate.google.com) | ||
tolkad | ooh | ||
phenny: "me"? | 05:20 | ||
phenny | tolkad: Language guessing failed, so try suggesting one! | ||
tolkad | phenny: moi? | ||
phenny: en "me"? | |||
phenny | tolkad: Language guessing failed, so try suggesting one! | ||
tolkad | phenny: es mi? | ||
phenny: es "mi"? | |||
phenny | tolkad: "my" (es to en, translate.google.com) | ||
diakopter | phenny: "es mi"? | ||
phenny | diakopter: "my" (es to en, translate.google.com) | ||
tolkad | phenny: es en "mi"? | ||
phenny | tolkad: "my" (es to en, translate.google.com) | ||
tolkad | phenny: en en "mi"? | ||
phenny | tolkad: Language guessing failed, so try suggesting one! | ||
tolkad | phenny: en en "me"? | ||
phenny | tolkad: Language guessing failed, so try suggesting one! | ||
tolkad | phenny: en en "hat"? | ||
phenny | tolkad: Language guessing failed, so try suggesting one! | ||
tolkad | phenny: en es "hat"? | 05:21 | |
phenny | tolkad: "sombrero" (en to es, translate.google.com) | ||
tolkad | oooh.... we can work with this | ||
phenny: "moi?"? | 05:23 | ||
phenny | tolkad: "Me?" (fr to en, translate.google.com) | ||
tolkad | buubot: "Me? is x | ||
buubot | tolkad: Stored "Me? is x | ||
tolkad | buubot: Me?? | ||
buubot | tolkad: "Me? is x | ||
tolkad | buubot: "Me?? | ||
buubot | tolkad: "Me? is x | ||
diakopter | .val perl6.org | 05:24 | |
phenny | diakopter: perl6.org is Valid | ||
diakopter | orly | ||
.val perl.com | |||
phenny | diakopter: perl.com is Invalid (58 errors) | ||
diakopter | .val perlcabal.org | ||
phenny | diakopter: perlcabal.org is Invalid (36 errors) | ||
tolkad | buubot: "Me? is "moi?"? | ||
buubot | tolkad: Stored "Me? is "moi?"? | ||
tolkad | .o echo buubot "Me?? | 05:25 | |
phenny | buubot "Me?? | ||
buubot | phenny: "Me? is "moi?"? | ||
phenny | buubot: "Me? is "me?" (fr to en, translate.google.com) | ||
buubot | phenny: Stored "Me? is "me?" (fr to en, translate.google.com) | ||
tolkad | -_- | ||
hmm | |||
diakopter | .gc Perl 6 | ||
phenny | Perl 6: 7,310,000 | ||
diakopter | .gc "Perl 6" | ||
phenny | "Perl 6": 54,500 | ||
diakopter | .gc "Perl6" | ||
phenny | "Perl6": 30,000 | ||
diakopter | .gc "Perl 5" | ||
phenny | "Perl 5": 92,100 | ||
diakopter | .gc "Perl5" | ||
phenny | "Perl5": 117,000 | ||
diakopter | .gc "TimToady" | 05:26 | |
phenny | "TimToady": 689 | ||
diakopter | .gc "tolkad" | ||
phenny | "tolkad": 2,550 | ||
diakopter | .gc "Randal Schwartz" | ||
phenny | "Randal Schwartz": 5,050 | ||
diakopter | .gc "Randal L. Schwartz" | ||
phenny | "Randal L. Schwartz": 10,300 | ||
05:26
rekhajos joined
|
|||
diakopter | .gc "rekhajos" | 05:27 | |
phenny | "rekhajos": 7 | ||
diakopter | .gc "diakopter" | ||
phenny | "diakopter": 135 | ||
diakopter | .gc "phenny" | ||
phenny | "phenny": 2,550 | ||
diakopter | .gc "pmichaud" | ||
phenny | "pmichaud": 2,080 | ||
tolkad | buubot: macro "Me? is [echo "Moi"?] | ||
buubot | tolkad: Stored "Me? is [echo "Moi"?] | ||
tolkad | .o echo buubot "Me? | ||
phenny | buubot "Me? | ||
buubot | phenny: "Moi"? | ||
phenny | buubot: "Me" (fr to en, translate.google.com) | ||
buubot | phenny: Couldn't match input. | ||
tolkad | buubot: macro "Me? is [echo "Moi?"?] | 05:28 | |
buubot | tolkad: Stored "Me? is [echo "Moi?"?] | ||
tolkad | .o echo buubot "Me? | ||
phenny | buubot "Me? | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: Couldn't match input. | ||
diakopter | .bytes ㋡ | ||
phenny | diakopter: '\xe3\x8b\xa1' | ||
tolkad | buubot: macro "Moi? is [echo "Moi?"?] | ||
buubot | tolkad: Stored "Moi? is [echo "Moi?"?] | ||
tolkad | .o echo buubot "Me? | ||
phenny | buubot "Me? | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: Couldn't match input. | ||
diakopter | sweet | ||
tolkad | buubot: "Moi?" | ||
buubot | tolkad: "Moi?"? | ||
diakopter | I think 4 is a new record | ||
tolkad | buubot: "Moi?" xlkjlksj | ||
buubot | tolkad: Couldn't match input. | 05:29 | |
tolkad | buubot: "Moi? xlkjlksj | ||
buubot | tolkad: Couldn't match input. | ||
tolkad | humm | ||
buubot: "Moi?" (fr to en, translate.google.com) is test | |||
buubot | tolkad: Stored "Moi?" (fr to en, translate.google.com) is test | ||
tolkad | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | tolkad: "Moi?" (fr to en, translate.google.com) is test | ||
diakopter | phenny: doc doc? | ||
phenny | diakopter: Shows a command's documentation, and possibly an example. | ||
e.g. phenny: doc tell? | |||
tolkad | buubot: "Moi?" (fr to en, translate.google.com) is macro [echo "Moi?"?] | 05:30 | |
buubot | tolkad: Stored "Moi?" (fr to en, translate.google.com) is macro [echo "Moi?"?] | ||
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?" (fr to en, translate.google.com) is macro [echo "Moi?"?] | ||
tolkad | gah I forgot | ||
buubot: macro "Moi?" (fr to en, translate.google.com) is [echo "Moi?"?] | |||
buubot | tolkad: Stored "Moi?" (fr to en, translate.google.com) is [echo "Moi?"?] | ||
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | ... | ||
tolkad | lol | ||
diakopter | haha | ||
tolkad | phenny is well coded | 05:31 | |
05:31
lumi left
|
|||
diakopter | ok, now get them to program each other with "is" | 05:31 | |
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | ... | ||
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
05:31
lumi joined
|
|||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | 05:31 | |
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
tolkad | buubot x? | ||
buubot | tolkad: x? is buubot: x? is buubot: x? | ||
tolkad | .o echo buubot "Moi?" (fr to en, translate.google.com) | ||
phenny | buubot "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | buubot: "Moi?" (fr to en, translate.google.com) | ||
buubot | phenny: "Moi?"? | ||
phenny | ... | ||
diakopter | I'll be impressed if you can get cyclical definitions going | 05:32 | |
tolkad | diakopter: they only ever respond with one message, I don't think it's possible | ||
oh wait | |||
except buubot responds to anything | 05:33 | ||
diakopter | cyclical redefinitions, I mean | ||
tolkad | phenny: tell buubot lol | ||
phenny | tolkad: I'll pass that on when buubot is around. | ||
tolkad | buubot: macro I'll pass that on when buubot is around. is [echo tell buubot x] | ||
buubot | tolkad: Stored I'll pass that on when buubot is around. is [echo tell buubot x] | ||
phenny | buubot: 05:33Z <tolkad> tell buubot lol | ||
buubot | phenny: Couldn't match input. | 05:34 | |
tolkad | phenny: tell buubot lol | ||
phenny | tolkad: I'll pass that on when buubot is around. | ||
tolkad | .o echo buubot: I'll pass that on when buubot is around. | ||
phenny | buubot: I'll pass that on when buubot is around. | ||
buubot | phenny: Stored I'll pass that on when buubot is around. | ||
phenny | buubot: 05:34Z <tolkad> tell buubot lol | ||
buubot | phenny: Couldn't match input. | ||
tolkad | hmm, not possible because of that pesky timestamp | ||
diakopter | phenny: Stored I'll pass that on when buubot? | ||
phenny: "Stored I'll pass that on when buubot"? | 05:35 | ||
phenny | diakopter: Language guessing failed, so try suggesting one! | ||
diakopter | buubot: macro I'll pass that on when buubot is around. is [echo tell buubot x is x is x] | 05:36 | |
buubot | diakopter: Stored I'll pass that on when buubot is around. is [echo tell buubot x is x is x] | ||
diakopter | phenny: tell buubot around is | ||
phenny | diakopter: I'll pass that on when buubot is around. | ||
diakopter | buubot: macro I'll pass that on when buubot is around. is [echo tell buubot x is x is x] | ||
buubot | diakopter: Stored I'll pass that on when buubot is around. is [echo tell buubot x is x is x] | ||
phenny | buubot: 05:36Z <diakopter> tell buubot around is | ||
buubot | phenny: No factoid found. Did you mean one of these: [05Z <diakopter> tell buubot] | ||
diakopter | fail :) | 05:37 | |
oh! | 05:38 | ||
tolkad: buubot drops whatever's before the last : | |||
buubot: 05:36Z <diakopter> tell buubot blah: around is | |||
buubot | diakopter: No factoid found. Did you mean one of these: [05Z <diakopter> tell buubot] | ||
diakopter | I mean phenny | ||
phenny: 05:36Z <diakopter> tell buubot blah: around? | 05:39 | ||
tolkad | meh, I'm bored now that I know they have flood protection | ||
diakopter | oh. | ||
actually | |||
rakudo: print ("test" x 30) ~ " is tell phenny: around?" | 05:40 | ||
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is tell phenny: around? | ||
diakopter | rakudo: print ("test" x 34) ~ " is tell phenny: around?" | ||
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is tell phenny: around? | ||
diakopter | rakudo: print ("test" x 37) ~ " is tell phenny: around?" | 05:41 | |
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is tell phenny: around? | ||
diakopter | rakudo: print ("test" x 40) ~ " is tell phenny: around?" | ||
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is tell phenny: around? | ||
tolkad | aaaah | ||
that makes sense | |||
diakopter | rakudo: print ("test" x 44) ~ " is tell phenny: around?" | ||
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is tell phenny: around? | ||
diakopter | rakudo: print ("test" x 50) ~ " is tell phenny: around?" | ||
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is tell phenny: around? | ||
diakopter | rakudo: print ("test" x 7\0) ~ " is tell phenny: around?" | ||
p6eval | rakudo 1d4928: Confused at line 10, near "\\0) ~ \" is"in Main (file <unknown>, line <unknown>) | ||
diakopter | rakudo: print ("test" x 70) ~ " is tell phenny: around?" | ||
tolkad | rakudo: print ("test" x 50 ^ 2) | ||
p6eval | rakudo 1d4928: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest is | ||
..tell … | |||
rakudo 1d4928: one("testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest", 2) | |||
tolkad | rakudo: print ("test" x (50 ^ 2)) | 05:42 | |
diakopter | rakudo: print ("." x 270) ~ " phenny: tell phenny: around?" | ||
p6eval | rakudo 1d4928: one("testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest", "testtest") | ||
rakudo 1d4928: .............................................................................................................................................................................................................................................................................. phenny: tell | |||
..phenn… | |||
05:42
jaldhar left
|
|||
diakopter | rakudo: print ("." x 270) ~ " phenny: tell buubot around?" | 05:42 | |
tolkad | rakudo: print ("test" x 500000000) | ||
lol | 05:43 | ||
>.> | |||
diakopter | rakudo: print "test" x 1E50 | ||
p6eval | rakudo 1d4928: .............................................................................................................................................................................................................................................................................. phenny: tell | ||
..buubo… | |||
tolkad | rakudo: print ("test" x 500000000) | ||
p6eval | rakudo 1d4928: ( no output ) | ||
05:44
tolkad left
|
|||
diakopter | tolkad: hang on | 05:44 | |
oh | |||
p6eval | rakudo 1d4928: ( no output ) | 05:45 | |
05:47
p6eval left,
p6eval joined
|
|||
diakopter | ok, whoever's torturing p6eval in privmsg, please stop | 05:47 | |
my VPS isn't *that* resilient | 05:48 | ||
sjohnson | it's not in priv | 05:49 | |
it was tolkad | |||
diakopter | no, I saw lots spawned after he left | ||
sjohnson | oh | ||
05:50
p6eval left,
p6eval joined
|
|||
diakopter | rakudo: sleep 16 | 05:50 | |
p6eval | rakudo 1d4928: ( no output ) | 05:51 | |
diakopter | sigh | ||
rakudo: sleep 30 | |||
p6eval | rakudo 1d4928: ( no output ) | ||
diakopter | oh wait, sleep breaks the SIGALRM | 05:53 | |
rakudo: 1 while 1 | |||
p6eval | rakudo 1d4928: ( no output ) | ||
diakopter | oh well. | 05:54 | |
I thought I re-enabled the TIMEDOUT | |||
05:59
p6eval left,
p6eval joined
06:00
p6eval left,
p6eval joined
06:01
p6eval left,
p6eval joined
06:02
p6eval left,
p6eval joined,
agentzh joined
|
|||
diakopter gives up | 06:03 | ||
06:23
FurnaceBoy left
06:25
mssm joined
|
|||
sjohnson | heh | 06:29 | |
06:29
justatheory left
06:31
cognominal joined
06:35
TiMBuS joined
06:36
zz_Asleep left
06:37
Chazz joined,
Chazz is now known as Guest77926
06:52
Guest77926 left
06:54
Chazz joined
06:55
Chazz is now known as Guest60782
07:00
cognominal left
07:03
mikehh_ joined
07:04
mikehh_ is now known as mikehh,
pnate joined
|
|||
saschi | moin | 07:04 | |
^^ | |||
07:06
drbean left
07:09
cjk101010 joined
|
|||
cjk101010 | morning. | 07:09 | |
07:10
mikehh left
07:13
Doser joined
07:14
Doser left
07:17
kaare joined
07:18
kaare is now known as Guest81783
07:20
lumi left,
lumi joined,
jonasbn joined
07:26
pnate2 joined
07:29
Su-Shee joined
|
|||
Su-Shee | good morning | 07:29 | |
07:35
pnate left
07:43
Baggiokwok joined
08:03
iblechbot joined
08:15
cognominal joined
08:19
gfx left
08:21
payload left
08:22
japhb joined
08:24
vamped joined
08:25
Mantis joined,
Mantis left
08:26
charsbar_ joined,
charsbar left
08:52
cognominal left
08:53
pnate2 left,
bbkr left,
nbrown left,
baest_ left,
c9s__ left,
Khisanth left,
_ilbot2 left,
jjore left,
ingy left,
stepnem left
08:54
gfldex left,
Juerd left,
PerlJam left,
Exodist left,
elmex left,
jnthn left,
Khisanth joined,
pnate2 joined,
bbkr joined,
nbrown joined,
baest_ joined,
stepnem joined,
jjore joined,
ingy joined,
_ilbot2 joined,
c9s__ joined,
irc.freenode.net sets mode: +ov Khisanth _ilbot2,
elmex joined,
Juerd joined,
Exodist joined,
PerlJam joined
08:58
lumi left,
lumi joined
09:03
colomon joined
09:09
dakkar joined
09:18
Baggiokwok left
09:21
lestrrat is now known as lest_away
09:31
vamped left
09:32
Guest60782 left
09:33
Chazz joined
09:34
Chazz is now known as Guest87460
09:35
meppl joined
09:37
lumi left,
lumi joined
09:45
krakan left
10:04
rblasch joined
10:16
TiMBuS left
10:17
agentzh left
10:18
am0c joined
10:22
lumi left,
lumi joined
10:55
ejs joined
10:56
hanekomu left
11:04
fridim_ joined
11:10
ejs1 joined
11:19
ejs left
11:25
lumi left,
lumi joined
11:33
he_ joined
11:35
elgatito joined
11:36
BoyBs joined
11:38
lumi left
11:39
lumi joined
11:42
k23z__ joined
11:44
payload joined
|
|||
moritz_ | good localtime fellow Perl 6 mongers and monks | 11:44 | |
jettero | morning | ||
11:51
Baggiokwok joined
11:53
drbean joined
11:54
elgatito left
11:56
lest_away is now known as lestrrat
12:00
SmokeMachine joined
12:12
baest_ left,
nbrown left,
bbkr left,
pnate2 left,
c9s__ left,
Khisanth left,
_ilbot2 left,
jjore left,
ingy left,
stepnem left,
lumi left,
Khisanth joined,
pnate2 joined,
bbkr joined,
nbrown joined,
baest_ joined,
stepnem joined,
jjore joined,
ingy joined,
_ilbot2 joined,
c9s__ joined,
irc.freenode.net sets mode: +ov Khisanth _ilbot2,
lumi joined
12:13
plainhao joined
12:15
rjh left
12:18
mikehh joined
12:33
ruoso joined
12:38
renormalist|work joined
12:44
ignacio_ joined,
lichtkind joined
|
|||
lichtkind | /msg NickServ identify pru.dence | 12:44 | |
shit | 12:45 | ||
haha | |||
moritz_ | lol | ||
12:46
BoyBs left
12:51
lumi left,
lumi joined
|
|||
takadonet | morning all | 12:56 | |
12:58
sss joined
|
|||
sss | wow~ | 12:58 | |
.... | 13:00 | ||
wonderful~~ | |||
kkkk | |||
't' | |||
'ㅅ' | |||
13:01
krakan joined,
sss left
13:05
iblechbot left
13:16
patspam left
13:22
tkr left
13:24
tkr joined
13:28
lumi left,
lumi joined
|
|||
colomon | morning! | 13:30 | |
13:30
patspam joined
|
|||
takadonet | colomon:morning | 13:34 | |
13:36
Baggiokwok left
13:38
arnsholt left,
buubot left,
aesop left,
ascent_ left,
Woody2143 left,
jql left,
wolverian left,
huf left,
betterworld left,
Maddingue left,
c1sung left,
debux left,
lestrrat left,
yath left,
arnsholt_ joined,
ascent__ joined,
huf_ joined
13:39
wolverian joined,
lestrrat joined
13:40
buubot joined
13:41
rekhajos left,
huf_ is now known as huf
13:42
patspam left
13:44
payload left
13:45
patspam joined
13:50
patspam left
13:51
yath joined
13:52
mssm left
13:57
kaare joined,
kaare is now known as Guest88832
13:58
k23z__ left
14:00
payload joined
14:02
bluescreen joined
14:03
Woody2143 joined
14:04
Baggiokwok joined
14:09
lumi left,
lumi joined
14:22
Guest81783 left
14:27
hanekomu joined,
hanekomu left,
payload left
14:28
payload joined
14:36
iblechbot joined
14:41
drbean left
14:47
lumi left,
lumi joined
14:49
SmokeMachine left
14:53
Guest88832 left
15:00
mssm joined
|
|||
pmichaud | good morning, #perl6 | 15:19 | |
colomon | o/ | 15:20 | |
takadonet | pmichaud:morning | 15:22 | |
colomon | pmichaud: how goes ng1? | 15:27 | |
pmichaud | colomon: it's coming along, albeit a bit slowly | ||
I'm drafting a RangeIterator class now that I'd like you to work on | |||
colomon | groovy! | ||
pmichaud | (it won't work yet, as there are other pieces needed, but I figure you can work on it a bit while I get the other pieces in place) | 15:28 | |
colomon | I will try to get ng1 built here as soon as I get a couple of long-term tests running for $work. | ||
pmichaud | good deal | ||
ng1 still fails tests -- mainly anything using arrays | |||
or ranges | |||
or .map | |||
colomon | wow, the sun just broke through the clouds here, for what seems like the first time in days... | 15:29 | |
...and it's gone again. :) | 15:30 | ||
15:31
iblechbot left
15:32
fridim_ left
15:33
lumi left,
lumi joined
15:37
ignacio_ left
15:38
payload left
15:39
nihiliad joined
|
|||
colomon | building ng1, and trying to figure out how to rework a big hunk of my unit tests for $work. | 15:42 | |
15:44
Psyche^ joined
15:46
twbks joined,
tadzik joined
|
|||
tadzik | hello there | 15:46 | |
colomon | hello | ||
15:47
twbks left
|
|||
pmichaud | colomon: just pushed a draft RangeIterator to ng1 -- your comments/improvements welcome | 15:47 | |
diakopter | pmichaud: did you see I "fixed" class declarations in p6eval? | ||
pmichaud | diakopter: no, didn't see that | 15:48 | |
tadzik | could someone give me a hand? I'm trying to compile some helloworld in rakudo and run it with parrot. Here are my attempts: wklej.org/id/269705/ What am I missing? | ||
colomon | pmichaud: isn't the last return; in RangeIterator.get incorrect? | 15:49 | |
diakopter | rakudo: class A { method foo {say "foo"} }; class B {has A $.aaa handles 'foo' }; my B $b .= new; $b.foo | ||
p6eval | rakudo 1d4928: OUTPUT«foo» | ||
pmichaud | diakopter++ | ||
what was the problem? | 15:50 | ||
diakopter | pmichaud: it was due to some problem with 'use Safe;'... I just inlined the contents of Safe.pm and it works | ||
pmichaud | colomon: it's "$return" and not "return". Feel free to improve. | ||
colomon | pmichaud: duh. must not be awake yet this morning. | ||
diakopter | rakudo: run('rm -rf ~/') | ||
p6eval | rakudo 1d4928: OUTPUT«operation not permitted in safe modein Main (file /tmp/FnGH2NqWot, line 1)» | ||
diakopter | it's a ton more responsive, too, after removing 'use Safe;' | 15:51 | |
pmichaud | colomon: yeah, but you're correct it's easy to misread -- so we probably need to change it | ||
15:54
lumi left,
lumi joined
|
|||
diakopter | pmichaud: see for yourself: export PERL6LIB=lib ; echo 'use Safe; class A { }' | ./perl6 | 15:55 | |
colomon | pmichaud: I don't think the "return blah if" construct currently works in ng. | 15:56 | |
pmichaud | ng: return 1 if 0; | ||
p6eval | ng b8201f: OUTPUT«Missing block at line 1, near ";"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» | ||
pmichaud | colomon: okay, we need to fix that then. | ||
colomon | pmichaud: but on the whole, this is nice code, IMO. | ||
pmichaud | ng: (return 1) if 0; | ||
p6eval | ng b8201f: ( no output ) | ||
15:56
dakkar left
|
|||
pmichaud | try parenthesizing the return for now, I guess. | 15:56 | |
15:57
Patterner left,
Psyche^ is now known as Patterner
|
|||
pmichaud | ng: say 'yes' if 1; | 15:57 | |
p6eval | ng b8201f: OUTPUT«yes» | ||
pmichaud | oh! | ||
I know the problem -- 'return' is still listed as a builtin | |||
diakopter | ng: say 'yes' if 0; | ||
p6eval | ng b8201f: ( no output ) | ||
diakopter | ng: say 'yes' if return 0; | ||
p6eval | ng b8201f: OUTPUT«Could not find non-existent sub &returncurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
pmichaud | yeah, looks like return is unimpl | 15:58 | |
er, &return is unimpl | |||
colomon: can also change it to a normal if ... { return IterDone; } | |||
I was somewhat avoiding the extra block, but it's not a big deal in this case. | |||
colomon | pmichaud: right, that's how I've been doing it in ng. :) | 15:59 | |
16:01
Baggiokwok left
|
|||
colomon | after and before are the equivalent of > and < in the generic world of cmp ? | 16:01 | |
pmichaud | right, they don't coerce | 16:02 | |
colomon | that's brill, wonder how I managed to not notice them before. :) | ||
pmichaud | so it'll work for string iterations as well as numerics | ||
colomon | ng: say 2 after 3 | 16:03 | |
p6eval | ng b8201f: OUTPUT«Confused at line 1, near "say 2 aft"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)» | ||
pmichaud | well, maybe not, since string iters are weird at the moment, but it's a good start for the moment. | ||
colomon | seems like most of the early work is going to go to making ng(1) actually support your pretty code. :) | ||
I can work on getting before and after up and running in a few minutes. | 16:04 | ||
16:04
alester joined
16:08
kaare_ joined
16:11
k23z__ joined
|
|||
TimToady | that backlog was...not worth backlogging... | 16:12 | |
colomon | ng: say 2 cmp 3 | 16:14 | |
p6eval | ng b8201f: OUTPUT«-1» | 16:15 | |
pmichaud | colomon: (ng support pretty code) -- right, that's why I thought I'd go ahead and draft it so you could fill in the details :) | 16:17 | |
and others too :) | |||
colomon | tadzik: sorry for the lack of useful feedback so far. personally, I never try to run perl6 code that way, and I don't have time to play around and figure it out at the moment. | ||
pmichaud | it's certainly okay to "cheat" for the moment and simply define multi sub infix:<before>($a, $b) { $a < $b } :-) | 16:18 | |
colomon | pmichaud: what about multi sub infix:<before>($a, $b) { ($a cmp $b) == -1 } ? | ||
pmichaud | == -1 is wrong | ||
colomon | == +1 ? | 16:19 | |
pmichaud | no, it should be Order::* | ||
colomon | Is that implemented yet? | ||
pmichaud | I suppose numifying it is okay | ||
colomon | (btw, these should go in operators.pm ?) | ||
pmichaud | there's a good question to be had as to whether <before> and <after> are defined in terms of <cmp> or vice-versa :-) | 16:20 | |
I guess <cmp> is more fundamental. | |||
TimToady | one could apply the circularity saw either way | 16:21 | |
pmichaud | right | ||
colomon | pmichaud: I reckon if cmp is already defined, then you define after and before in terms of them. :) | ||
16:21
tadzik left
|
|||
pmichaud | well, it kind of bugs me to define before in terms of cmp and ==, when == is itself defined in terms of cmp | 16:21 | |
TimToady | it is likely that an implementation will want cmp to be more fundamental | ||
16:22
tadzik joined
|
|||
tadzik | damn this screen | 16:22 | |
TimToady | I don't have that power | ||
pmichaud | I do, but it's highly ineffective. | ||
tadzik | colomon: My point is to compile this to bytecode, parrot /usr/lib/parrot/2.0.0/languages/perl6/perl6.pbc hello.pl works fine, still even in this case -o does nothing, so I'm compiling the code on every run, which is what I'm trying to avoid | ||
colomon | tadzik: right, but it | 16:23 | |
's certainly possibly to compile p6 to pir. | |||
but even if I do that, I always use the perl6 executable to run the pir. | 16:24 | ||
so I don't know the magic invocation to do it from parrot. | |||
pmichaud | perl6 --target=pir hello.pl | ||
tadzik | yep. Though, running it via "parrot /usr/lib/parrot/2.0.0/languages/perl6/perl6.pbc hello.pir" gives me the following: wklej.org/id/269723/ | ||
pmichaud | oops | ||
perl6 --target=pir hello.pl >hello.pir | |||
parrot hello.pir | |||
16:24
brrant is now known as Havelock
|
|||
tadzik | running pir from perl6 also fails for some reason | 16:25 | |
pmichaud: seen my previous paste? | |||
pmichaud | the perl6 compiler doesn't know how to compile straight pir | ||
if you have .pir, you just feed it directly to parrot | |||
as in "parrot hello.pir" | 16:26 | ||
tadzik | pmichaud: wklej.org/id/269723/ last case | ||
colomon | ng: say "a" cmp "b" | ||
p6eval | ng b8201f: OUTPUT«-1» | ||
pmichaud | what does "hello.pir" look like? | ||
tadzik | pasting | ||
wklej.org/id/269724/ | 16:27 | ||
16:27
justatheory joined
|
|||
colomon | pmichaud: good news: I've got after and before now. bad news: if you hit them with strings, they appear to run afoul of the bug where the wrong version of a multi is called. | 16:28 | |
tadzik | oh, I should be using paste.lisp.org | ||
pmichaud | tadzik: what does "parrot --version" report? | ||
tadzik | This is Parrot version 2.0.0 built for -linux. | 16:29 | |
I wrote this port today :) | |||
16:30
hicx174 joined
|
|||
colomon | pmichaud: pushed before and after. your ListIterator doesn't seem to build? | 16:30 | |
pmichaud | tadzik: here's how it looks on my sys: nopaste.snit.ch/19383 | 16:32 | |
16:32
tadzik_ joined
|
|||
tadzik | weird | 16:32 | |
what the… | |||
16:33
tadzik_ left
|
|||
tadzik | pmichaud: mind showing your rakudo and parrot build options, if available? | 16:33 | |
pmichaud | tadzik: this was built using plain ol --gen-parrot from the rakudo command line | ||
tadzik | so no separate parrot installation? | 16:34 | |
pmichaud | tadzik: correct. | ||
tadzik | darn | ||
pmichaud | tadzik: I tend to have several development branches going at once, and I want each one to have its own parrot (appropriate for the branch) | ||
tadzik | I see | ||
pmichaud | colomon: no problem on string before/after, we'll see about fixing it soonish | ||
colomon: no, ListIterator isn't configured into the build yet -- I'm still just drafting code | 16:35 | ||
16:35
Havelock left,
brrant joined,
lumi left
16:36
brrant left
|
|||
pmichaud | oh, I see the problem, I forgot to take it out of Make | 16:36 | |
fixing | |||
16:37
brrant joined,
lumi joined
16:49
_ash joined
|
|||
pmichaud | pushed fix for ListIterator | 16:49 | |
16:50
jackyf joined
|
|||
_ash | how are the iterator changes coming along? | 16:52 | |
pmichaud | slowly but I'm pretty happy with the way things are looking | 16:53 | |
I'll know more here shortly as I get arrays working again | |||
TimToady | have we settled on a name for the end of all things? | ||
pmichaud | for now I've got IterDone | ||
reminds me of "git-r-done" :-) | |||
TimToady | that's...easy to search for, fortunately | 16:54 | |
pmichaud | right :) | ||
I decided I didn't want to bog down on a name, so I picked a name that was instantly recognizable, easy to search/replace, and either going to be obviously correct or obviously incorrect. :) | |||
TimToady | it's good that somebody here is practical | 16:55 | |
colomon | pmichaud++ | ||
pmichaud | I'll let everyone else bikeshed the name. | ||
but so far, IterDone seems to read well in code | 16:56 | ||
16:56
payload joined
|
|||
TimToady | at the moment I'm more interested in working out the best syntax on the receiver end, which may well end up an infix | 16:56 | |
and not mention the sentinal name at all | 16:57 | ||
colomon | pmichaud: with the latest, I'm still getting | ||
The opcode 'getprop_p_p_sc' (getprop<3>) was not found. Check the type and number of the arguments | |||
in file 'src/builtins/ListIterator.pir' line 52 | |||
pmichaud | colomon: did you pull the most recent change? | ||
colomon | yes. | ||
pmichaud | just a sec | ||
colomon | it was to IterDone.pir, not ListIterator... | 16:58 | |
pmichaud | oh, I didn't commit | ||
PerlJam | TimToady++ "Bags are really just histograms with a cute name." :-) | ||
pmichaud | (sigh) | ||
too many things | |||
pushed. | |||
TimToady | there's nothing that can't be solved by another fork, except the problem of too many forks... | 16:59 | |
_ash | i feel like i need to alias perl Configure --gen-parrot && make && make install since i do it almost twice a day | ||
PerlJam | _ash: luckily your shell has a built-in aliasing ability. | 17:00 | |
_ash | yeah, but then i'd need to go edit the .bashrc file and well, i am lazy... but not so lazy i wana type that all the time | ||
17:02
ignacio_ joined
17:03
_ash_ joined
|
|||
colomon | pmichaud++ # builds again | 17:05 | |
17:07
RichiH left
17:08
buubot left,
ejs1 left
17:09
iblechbot joined,
buubot joined,
RichiH joined
17:11
cdarroch joined
17:17
lumi left,
lumi joined,
alex15 joined
17:19
arnsholt_ is now known as arnsholt
17:20
_ash left,
_ash_ is now known as _ash
17:34
c0tt0 joined
17:37
alex15 left
17:39
cottoo left
|
|||
hudnix | rakudo: class A { method foo {say "foo"} }; role B {has A $.aaa handles <foo> }; class AB does B { }; | 17:47 | |
p6eval | rakudo 1d4928: OUTPUT«Null PMC access in get_string()in Main (file <unknown>, line <unknown>)» | ||
hudnix | can't have "handles" in a role... | 17:48 | |
17:49
SmokeMachine joined
17:55
rblasch left
|
|||
TimToady | ng: class A { method foo {say "foo"} }; role B {has A $.aaa handles <foo> }; class AB does B { }; | 17:58 | |
p6eval | ng b8201f: ( no output ) | ||
TimToady | ng: class A { method foo {say "foo"} }; role B {has A $.aaa handles <foo> }; class AB does B { }; AB.new.foo | ||
p6eval | ng b8201f: OUTPUT«Method 'foo' not found for invocant of class 'AB'current instr.: '_block14' pc 29 (EVAL_1:0)» | 17:59 | |
TimToady | closer than rakudo, I think | ||
hudnix | I've been away for a while... wot's ng? :) | 18:00 | |
TimToady | No Good :) | ||
officially, Next Generation | |||
hudnix | A rakudo fork? | 18:01 | |
TimToady | a git fork that will eventually become rakudo master | ||
where eventually is, we hope, very soon now | |||
but yes, basically a large refactor that hasn't quite landed to extent of passing all the same tests yet | 18:02 | ||
hudnix | so which fork should I be using to play around, look for bugs, etc? | ||
18:02
cotto_work joined
|
|||
TimToady | probably depends on what kind of bug you're hunting | 18:02 | |
won't do much good to hunt a bug in rakudo that's already fixed in ng | 18:03 | ||
but anything systemic, doesn't matter which | |||
colomon | and the goal is to make incredible progress in ng over the next couple of weeks. | ||
TimToady | ng will become rakudo soon, so it's more bleeding edge | 18:04 | |
emphasis on the blood | |||
pmichaud | ng is the current development branch -- has a lot of major refactors in it | ||
so at the moment it's a significant regression from rakudo master | |||
18:05
ShaneC joined
18:06
lumi left,
lumi joined
|
|||
hudnix | what I take away from this: rakudo for trying to get something to work, ng for bug hunting. | 18:06 | |
pmichaud | hudnix: yes, with the caveat that at the moment ng is a target rich environment :) | 18:07 | |
colomon | hudnix: right, except that at the moment there are so many unimplemented things in ng... what pmichaud said. :) | ||
hopefully that will change very rapidly, and then ng bug hunting help will be super useful. | 18:08 | ||
TimToady | and due to better underpinnings, easier to implement stuff, usually | ||
and bug fixes tend to be easier too, except when they're not | |||
colomon | TimToady: the fact that I am able to add stuff to the grammar in ng is a shining example of how things are easier now. | 18:09 | |
(even if admittedly I mostly just crib from STD.pm) | |||
_ash | hey, if ng can in the hopefully not so distant future use the STD.pm that would be awesome, so by all means use things from it :P | 18:10 | |
PerlJam | colomon: Well, rakudo's grammar and STD should converge at some point, so you're just helping that happen. :) | ||
_ash | iPad was just announced btw | 18:11 | |
thats going to be its name | |||
colomon | _ash++ # thanks for reminding me to follow that. | 18:13 | |
_ash | i am at live.gizmodo.com | ||
its basically a 10.1 inch iPod touch | |||
18:13
FurnaceBoy_ joined
18:14
FurnaceBoy_ left
18:17
jackyf left
|
|||
_ash | now i really wana finish seeing if i can build Parrot with the iphone sdk, it builds for the simulator fine, and others said it compiles fine on an arm, but i haven't figured out all the issues of cross compiling it using xcode | 18:18 | |
colomon | :) | 18:19 | |
_ash | cross compiling's annoying enough to begin with, but parrot likes to build parts of itself using itself :P but the bytecode should transfer from one architecture to another without modification | 18:20 | |
pmichaud | ENOJNTHN :-( | 18:30 | |
I guess I'll just figure it out on my own after lunch | 18:31 | ||
colomon | pmichaud: I'm going to try to get RangeIterator at least compiling here. | ||
pmichaud | colomon: excellent | ||
colomon | quick question -- what is the == equivalent for the cmp family? eq? | 18:32 | |
pmichaud | not infix:<eq> | ||
don't know that there is one | |||
colomon | Just so we're clear, I've got before and after, and want the $a cmp $b == 0 infix to go with them... | 18:33 | |
pmichaud | I don't think there is one | 18:35 | |
afk, lunch | |||
PerlJam | colomon: $a and $b are strings? | 18:38 | |
colomon | PerlJam: $a and $b are anything. | ||
ng: say 3 cmp 4 | |||
p6eval | ng b8201f: OUTPUT«-1» | ||
colomon | ng: say "a" cmp "b"; | ||
p6eval | ng b8201f: OUTPUT«-1» | ||
colomon | I'm looking for the infix op which is true when cmp would equal 0. | 18:39 | |
pmichaud | does there have to be one? | ||
18:39
hjs joined
|
|||
_ash | ~~ ? | 18:42 | |
if you don't know the types maybe ~~ will pick the right comparision | 18:43 | ||
colomon | pmichaud: nah, I can work around it. | 18:44 | |
just seemed like the sort of thing that must be out there somewhere... | |||
probably can work around it very easily. | |||
_ash | are you trying to see if they equal eachother or if they are exactly the same object? you can use === for that if they are the exact same object | 18:46 | |
colomon | trying to see if they equal each other. | ||
PerlJam | like eqv ? | 18:47 | |
colomon | PerlJam: maybe? | ||
sounds like it would do what I want for value types. | 18:48 | ||
_ash | S03-operators/eqv.t has tests for that | 18:49 | |
18:49
_ash left
18:50
stephenlb joined
18:51
lumi left
|
|||
colomon | thanks. | 18:51 | |
18:51
lumi joined
18:58
kuiti joined
18:59
ejs joined,
kuiti left
19:03
ckruse joined
|
|||
colomon | > my $a = RangeIterator.new(1..5); say $a.get; say $a.get; say $a.get; | 19:04 | |
Type objects do not have state, but you tried to access attribute $!value | |||
> my $r = 1..5; say $r.WHAT; | |||
No such attribute '$!list' | |||
19:06
hercynium left
19:07
_ash joined
19:08
cjk101010 left,
ckruse is now known as cjk101010,
_ash left
19:09
_ash joined
|
|||
pmichaud | back from lunch | 19:13 | |
'say' is broken in ng1 right now | 19:14 | ||
because it relies on slurpy arrays | |||
use pir::say(...) instead | |||
colomon | > my $a = RangeIterator.new(1..5); say $a.get; say $a.get; say $a.get; | ||
Method 'get' not found for invocant of class 'Parcel' | |||
is my latest error. | 19:15 | ||
19:15
REPLeffect joined
|
|||
colomon | er, say broken, right. | 19:15 | |
pmichaud | that's weird | ||
oh, right | |||
don't use say :-) | |||
19:15
mariano__ joined
|
|||
colomon | one moment... | 19:15 | |
.say doesn't work either, right? | |||
pmichaud | no, for the same reason | ||
colomon | > my $a = RangeIterator.new(1..5); pir::say($a.get); | 19:16 | |
Method 'get' not found for invocant of class 'Parcel' | |||
pmichaud | can you commit+push what you have? | ||
that seems... odd. | |||
colomon | I've changed RangeIterator.new so that it does bless now. | ||
pmichaud | $a should be a RangeIterator, certainly | ||
oh, perhaps bless is returning a parcel | |||
colomon | it's a parcel | ||
I mean, $a is a parcel. | 19:17 | ||
pmichaud | it should be a RangeIterator, in that case | ||
colomon | trying to add debugging say to new at the moment. | ||
pir::say(self.WHAT); | |||
should do it, right? | |||
pmichaud | yes. | ||
colomon | recompiling.... | ||
pmichaud | > my $a = Str.new('xyz'); pir::say($a.WHAT); | 19:18 | |
Str() | |||
colomon | oh, I see. | ||
I've screwed up .new completely. rewrite in a moment. | |||
pmichaud | so, the problem isn't strictly in assignment | ||
colomon | bad C++ habits, I fear. | ||
pmichaud | I'd go with a simple .new to begin with, until we get things working | ||
also, keep in mind that .bless is expensive | |||
colomon | pmichaud: without the bless, we got | 19:19 | |
> my $a = RangeIterator.new(1..5); say $a.get; say $a.get; say $a.get; | |||
[2:04pm] colomon: Type objects do not have state, but you tried to access attribute $!value | |||
TimToady | loop { take @iters>>.get E last } # E returns values on left unless any of them are END | ||
pmichaud | colomon: oh, yeah | ||
okay, you're right. | |||
I'm so used to writing my own .new in PIR :) | |||
try it with .bless, then | |||
colomon | what happened was, I never really internalized that .new has to internally return the new object. | 19:20 | |
so I wrote the bless, and then wrote some stuff after it. | |||
which is wrong wrong wrong, unless you return self at the end. | 19:21 | ||
pmichaud | not self | ||
in method new, self is the type object | |||
colomon | woot! | ||
pmichaud | (your C++ habits are showing through :-) | ||
colomon | really? | 19:22 | |
pmichaud | TimToady: that seems plausible | ||
colomon | anyway, rewriting to have bless last was trivial. | ||
and now... | |||
> my $a = RangeIterator.new(1..5); pir::say($a.get);1 | |||
TimToady | with possibility of extending metacharacter E& and E| | ||
extending to | |||
19:22
payload left
|
|||
pmichaud | E takes a slice on its lhs? | 19:22 | |
TimToady | much like we could extend listop Z into a zipwith | ||
it's a list infix precedence, I think | 19:23 | ||
colomon | > my $a = RangeIterator.new(1..5); pir::say($a.get); pir::say($a.get);pir::say($a.get);pir::say($a.get); pir::say($a.get); pir::say($a.get); | ||
1 | |||
2 | |||
3 | |||
4 | |||
5 | |||
Could not find non-existent sub &IterDone | |||
pmichaud | colomon: for that last part, you need to re-run configure | ||
then it'll say IterDone() | |||
TimToady | IterDone is probably going to turn into "END" | ||
colomon | hmmm.... I think I already did that, when I added RangeIterator.pm to the Makefile.in. Let me see... | 19:24 | |
pmichaud | possible pun with =begin END ? | ||
PerlJam | TimToady: without conceptual conflation with END phasers? | ||
pmichaud | or yeah, END phasers? | ||
TimToady | hmm | ||
lichtkind | TimToady: are you happy with the name rakudo star? | ||
TimToady | yeah, that's a problem | ||
19:24
athaba joined
|
|||
PerlJam | DONE works for me :) | 19:24 | |
TimToady | doesn't fit so well with E :) | 19:25 | |
E looks more like parallel streams than D does | |||
pmichaud | E might also be confused with 1.0E+12 | ||
TimToady | I suppose End would work | ||
or just E | |||
PerlJam | ETOOSHORT | ||
TimToady | E for empty | 19:26 | |
she's running on E | |||
Empty | |||
PerlJam | E for the elephant in the room? | ||
_ash | so if i wrote my own iterator, when i was done i'd return End or E or IterDone? | 19:27 | |
pmichaud | we've already consumed other single-letter caps: S R Z Q .... might as well grab E while we're at it :) | ||
TimToady | EMPTY is a valid Unix error name :) Must Pass, Thank You | ||
I tend to prefer uppercase for list infixes for visibility reasons | |||
_ash | is E going to be a magic object or a function or an op? | ||
pmichaud | magic object | 19:28 | |
might also be an op :-) | |||
TimToady | Empty is probably a specific form of Failure | ||
pmichaud | we'll have a magic object to signal "iteration completed" | ||
TimToady | E the operator is special in taking a thunk on the right like && and || | ||
_ash | so, it could be impelmented as a child of Failure? | ||
pmichaud | we may also have an op to detect if an iterator (or iterators) have returned the magic object | ||
TimToady | E is the proposed op | 19:29 | |
also special in that it returns its left side unmolested if the E doesn't match | |||
19:29
lumi left
|
|||
TimToady | hence my take above | 19:29 | |
19:29
lumi joined
|
|||
PerlJam | oddly, I think of "empty" in an iterator context more like success than failure. | 19:29 | |
pmichaud | speaking more generally | ||
TimToady | loop { take @iters>>.get E last } | ||
the E is inside the take | 19:30 | ||
pmichaud | we already have A || B which returns B if A is false, and A && B which returns B if A is true, and A // B which returns B if A is undefined | ||
should there be a smart-match like thing also? | |||
(it'd have to be a ternary of some sort, I suppose) | |||
i.e., returns B if A doesn't smartmatch X ? | 19:31 | ||
(or if A does smartmatch X) | |||
or, a version of smart match that returns the lhs if matched, false otherwise? | |||
TimToady | would want to see a frequent enough use case | 19:32 | |
pmichaud | right | ||
this isn't a valid usecase, but something like: take (@iters>>get !~~ IterDone) || last | |||
colomon | pmichaud: when I pulled latest and rebuilt everything I get IterDone(). \o/ | ||
colomon just pushed RangeIterator. | 19:33 | ||
pmichaud | except that the !~~ would need to return the lhs instead of just "True" | ||
TimToady | and it isn't hypered | ||
pmichaud | agreed that it might be obscure for now... but might be useful someday | ||
TimToady | E is implicitly hypered | ||
19:33
Chillance joined
|
|||
pmichaud | ah | 19:33 | |
TimToady | E is short for the theoretical E| rather than E& | 19:34 | |
pmichaud | right. | ||
TimToady | unless it's the other way around :) | ||
pmichaud | to eliminate the need for any(...) and all(...) | ||
TimToady | which don't like to give up eigenstates, and disorder them anyway | ||
pmichaud | agreed. | 19:35 | |
TimToady | and we want to optimize the heck out of E | ||
pmichaud | so, is "Empty" likely to be the replacement for IterDone ? | ||
or shall we wait a bit longer | |||
? | |||
19:35
uniejo joined
|
|||
TimToady | it'll be something with E, likely | 19:35 | |
ENEVERMORE | |||
pmichaud | ENOMORE | 19:36 | |
EITERDONE :-) | |||
TimToady | I prefer the literary allusion | ||
pmichaud | or, even ETERDONE : "eternally done" | ||
TimToady | as in quote the raven | ||
pmichaud | I thought of the raven but decided not to quote it :-) | ||
TimToady | now we should rename iterators to ravens | ||
or ravins | 19:37 | ||
pmichaud | as in "ravenous"? | ||
those would be the eager iterators, I guess. | |||
TimToady | yeah | ||
19:37
ignacio_ left
|
|||
TimToady | EMPTY is nice and shouty | 19:38 | |
pmichaud | 19:26 <TimToady> EMPTY is a valid Unix error name :) Must Pass, Thank You | ||
_ash | my $pet is Raven does Revenous; | ||
$pet.get || ouch('it bit me') | |||
pmichaud | I'll wait until the naming settles a bit more :-) | ||
TimToady | EOUTOFAMMO | 19:39 | |
.getclip | |||
[particle] | EVERMORE # if you really want to quote the raven | 19:40 | |
19:45
RichiH left
19:46
RichiH joined
19:50
nihiliad left,
nihiliad joined
19:51
clintongormley joined,
lumi left,
lumi joined
19:52
clintongormley left
19:53
tadzik_ joined,
tadzik_ is now known as Guest9306,
tadzik left
19:54
Guest9306 is now known as tadzik
|
|||
pmichaud | > for 1, 5..7, 12 { pir::say($_); } | 19:56 | |
1 | |||
5 | |||
6 | |||
7 | |||
12 | |||
\o/ | |||
Tene | :D | ||
19:56
clintongormley joined
|
|||
colomon | \o/ | 19:56 | |
wait, that's with working range iteration!?! | |||
pmichaud | yes | ||
just pushed. | |||
colomon | sweet! | 19:57 | |
pmichaud | now let's see if I can figure out what's up with slurpy args | ||
colomon | flatten says "use .iterator to get my iterator?" for this purpose? | 19:58 | |
pmichaud | flatten says "I flatten in list context" | ||
> my $a = 5..7; for 2, $a, 12 { pir::say($_); } | 19:59 | ||
2 | |||
5..7 | |||
12 | |||
_ash | pmichaud++ colomon++ TimToady++ # iterators are getting solidified | ||
pmichaud | > for 2, 5..7, 12 { pir::say($_); } | ||
2 | |||
5 | |||
6 | |||
7 | |||
12 | |||
TimToady | phone | 20:00 | |
pmichaud | brt | ||
_ash | is there a way to get: for 2, $a, 12 to function like for 2, 5..7, 12 ? | ||
pmichaud | nyi, but | ||
for 2, @$a, 12 { ... } | 20:01 | ||
or | |||
for 2, $a.list, 12 { ... } | |||
_ash | like using @() or list 2, 5..7, 12 or something | ||
ah okay | |||
TimToady | or | | ||
_ash | so pipe before $a? | ||
TimToady | oughta work | 20:02 | |
_ash | for 2, |$a, 12 { } # where $a = 5...7 ? | ||
got ya | |||
cool | |||
20:02
rblasch joined,
patspam joined
|
|||
_ash | just in my primitive logic of things using $a seems like it should put its value in the place of the variable name, so saying for 2, 5..7, 12 functions different than for 2, $a, 12 is odd personally, but sigils make a difference i suppose, if that was an @a it would work the same, correct? | 20:03 | |
20:03
pnate joined
|
|||
colomon | pmichaud: for isn't actually lazy yet, right? | 20:04 | |
colomon just tried for 1..100000000 and it just say there... | 20:05 | ||
pmichaud | right now I've made it eager to simplify things a bit | ||
colomon | sure. | ||
one step at a time. | |||
pmichaud | we'll have lazy for when we have lazy map (coming soon) | ||
20:06
uniejo left
|
|||
pmichaud | > for 2, (5..7, 12) { pir::say($_); } | 20:06 | |
2 | |||
5 | |||
6 | |||
7 | |||
12 | |||
colomon | btw, my perception just now was that for 1..100 { say; last if $_ > 10; } was very fast in ng1. | 20:07 | |
pmichaud | yes, lists and iterators should be far faster than they were | ||
a lot fewer objects and slurpies are being created | |||
colomon | that's great news! | 20:08 | |
20:13
pnate2 left
20:15
pnate2 joined
|
|||
colomon hates to get in the way of all the fun E names, but now wonders if Iterator::Done would be the best name... | 20:15 | ||
_ash | Done is pretty short and sweet | 20:16 | |
> my $a = 1, 2, 3; for @($a) { pir::say($_.perl) } | |||
1 | |||
2 | |||
3 | |||
# is that correct according to the spec? I feel like i am beating a dead horse but i am still confused by list context a bit | |||
pmichaud | my $a = 1, 2, 3; isn't correct | 20:17 | |
that's a bug in rakudo | |||
TimToady | "Done" doesn't look so good if it shows up as a thrown exception | ||
it will fool the user into thinking things went well | |||
where as EMPTY at foo line 42 looks like a problem | 20:18 | ||
not that the message has to be the type name | |||
*whereas | |||
_ash | but what if it showed up as Iterator::Done ? | 20:19 | |
20:19
FurnaceBoy_ joined
|
|||
TimToady | I'm not fond of long names for primitives | 20:19 | |
_ash | OverlyLongClassName::WithNestedOtherClasses eh? so java is out | 20:20 | |
colomon | I was thinking the idea with having an special operator for it was that normally only Iterator developers would ever see the long name... | 20:21 | |
_ash long names are the reason i never learned more java than was needed to pass my intro programming class | |||
colomon | but I admit that 21 years of C++ programming may have broken my sense of what is a long name, anyway... | ||
jonasbn | Copenhagen Perl 6 Hackathon site now online, for those of you interested, conferences.yapceurope.org/hack2010dk/ | 20:23 | |
_ash | cool, thanks for the link jonasbn will follow stuff remotely | 20:24 | |
jonasbn | _ash: I hope we will be able to provide a nice 'almost like being there' experience | ||
pmichaud | jonasbn++ excellent | 20:25 | |
jonasbn: I guess I should go ahead and book flights...? | |||
pmichaud hasn't read email today | |||
20:27
pnate left,
pnate joined
|
|||
pmichaud | afk, kid pickup | 20:30 | |
20:30
lumi left,
lumi joined
|
|||
frettled | jonasbn++ - good info | 20:32 | |
jonasbn | thanks, we are correcting speling errors etc. as we go along | 20:33 | |
20:36
FurnaceBoy_ left
20:38
pnate2 left
20:40
pnate2 joined
20:46
bluescreen left,
mariano__ left,
clintongormley left
20:48
plainhao left
20:56
pnate left
20:58
nnunley joined
|
|||
pugs_svn | r29593 | colomon++ | [t/spec] Start test file for RangeIterator. | 20:58 | |
20:58
bluescreen joined,
mariano__ joined
21:00
nnunley left
21:01
nnunley joined
21:02
lumi left,
lumi joined,
mariano__ left,
bluescreen left
21:03
ignacio_ joined
21:09
pnate2 left
21:10
ignacio_ left
21:13
uniejo joined
21:14
lumi left,
lumi joined
|
|||
diakopter | rakudo: class A { }; class B is A { }; class C is A { }; class D is C { }; class C is also is B { }; my D $d .= new; say ($d ~~ B) | 21:17 | |
p6eval | rakudo 1d4928: OUTPUT«Could not build C3 linearization: ambiguous hierarchyin Main (file <unknown>, line <unknown>)» | ||
diakopter | cool | ||
'cept it doesn't have to be ambiguous if the order of declarations is preserved | 21:18 | ||
rakudo: class A { }; class B is A { }; class C is A { }; class D is C { }; class C is also does B { }; my D $d .= new; say ($d ~~ B) | 21:19 | ||
p6eval | rakudo 1d4928: OUTPUT«Method '!select' not found for invocant of class ''in Main (file src/gen_setting.pm, line 324)» | ||
21:19
pnate joined
21:21
niros joined
21:22
hercynium joined
21:23
SmokeMachine left
21:24
ignacio_ joined
|
|||
diakopter | std: class C { }; class C is also { }; | 21:27 | |
p6eval | std 29593: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'C' (from line 1) at /tmp/IRYU3FR9R6 line 1:------> class C { }; class C⏏ is also { };FAILED 00:01 105m» | ||
21:27
ignacio_ left
|
|||
diakopter | TimToady: is 'is also' not the right thing? | 21:28 | |
pmichaud | it's now 'augment' | ||
diakopter | oh | ||
pmichaud | std: class C { }; augment class C { ... } | ||
p6eval | std 29593: OUTPUT«ok 00:01 105m» | ||
diakopter | ng: class C { }; augment class C does C { }; | 21:29 | |
p6eval | ng b8201f: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''current instr.: 'perl6;ClassHOW;add_composable' pc 3495 (src/metamodel/ClassHOW.pir:149)» | ||
pmichaud | I don't think ng has "does" yet. | ||
(I could be very wrong about that) | 21:30 | ||
diakopter | ng: class C does Positional { }; | 21:31 | |
p6eval | ng b8201f: ( no output ) | ||
diakopter | ng: class C does Associative { }; | ||
p6eval | ng b8201f: OUTPUT«Null PMC access in type()current instr.: 'perl6;C;!class_init_10' pc 157 (EVAL_1:83)» | ||
21:31
jonasbn left
|
|||
colomon | ng has does, doesn't it? | 21:33 | |
More likely not to have Associative... | |||
in fact, I'm sure I saw code for does in operators.pm | 21:34 | ||
21:34
lumi left,
lumi joined
21:35
tadzik left
|
|||
diakopter | classes and roles must not be distinguished when parsing 'does' | 21:35 | |
std: class C { }; augment class C does C { }; | |||
p6eval | std 29593: OUTPUT«ok 00:01 105m» | ||
diakopter | std: class C { }; augment class C does Blah { }; | ||
p6eval | std 29593: OUTPUT«ok 00:01 105m» | ||
diakopter | ng: class C { }; augment class C does Blah { }; | ||
p6eval | ng b8201f: OUTPUT«Null PMC access in type()current instr.: 'perl6;C;!class_init_11' pc 268 (EVAL_1:130)» | ||
diakopter | ng: class C { }; augment class C is Blah { }; | ||
p6eval | ng b8201f: OUTPUT«No applicable candidates found to dispatch to for '&trait_mod:<is>'current instr.: 'perl6;C;!class_init_11' pc 268 (EVAL_1:130)» | 21:36 | |
diakopter | ng: class C { }; augment class C is C { }; | ||
p6eval | ng b8201f: ( no output ) | ||
diakopter | ng: class C { }; augment class C is Int { }; | ||
p6eval | ng b8201f: OUTPUT«Could not build C3 linearization: ambiguous hierarchycurrent instr.: 'parrot;P6metaclass;add_parent' pc 224 (runtime/parrot/library/P6object.pir:232)» | ||
diakopter | ng: class C is Int { }; | ||
p6eval | ng b8201f: ( no output ) | ||
diakopter | ng: class C is Mu { }; | ||
p6eval | ng b8201f: ( no output ) | ||
diakopter | ng: class C is Any { }; | ||
p6eval | ng b8201f: ( no output ) | 21:37 | |
diakopter | ng: augment class C is Any { }; | ||
p6eval | ng b8201f: OUTPUT«Can't augment something that doesn't existcurrent instr.: 'perl6;Perl6;Grammar;add_name' pc 30760 (src/gen/perl6-grammar.pir:154)» | ||
diakopter | hmm, it checks for declaration on _that_ parse | ||
21:39
cjk101010 left
21:40
pioto joined
|
|||
pioto | i remember hearing a while ago that rakudo was supposed to switch to using STD.pm to parse, and that it would then be able to parse a lot more. is that true and/or did that happen? | 21:41 | |
pmichaud | rakudo and STD.pm are expected to converge | 21:42 | |
there's no timeline for when that will happen | |||
pioto | so, that's a post rakudo star thing? | ||
pmichaud | definitely | ||
pioto | ok | ||
pmichaud | it _could_ happen before rakudo star, but it's not a target | ||
and so it's likely to be after | |||
(and part of me holds out a hubristic hope that STD will move closer to Rakudo's grammar than vice-versa :) | 21:43 | ||
21:45
ruoso left
|
|||
pioto | pmichaud: thanks for the clarification. | 21:46 | |
pmichaud | walk time here | 21:47 | |
bbiab | |||
21:47
pnate left
21:51
lumi left,
lumi joined
21:56
jnthn joined
21:57
alester left
|
|||
diakopter | jnthn: wb | 22:03 | |
jnthn | thanks...dunno how I vanished. | 22:04 | |
22:10
ascent__ is now known as ascent_,
_ash is now known as ash_
|
|||
ash_ | jnthn does ng have 'does' ? | 22:21 | |
22:24
rblasch left
|
|||
jnthn | ash_: Yes, it does. | 22:25 | |
diakopter | it does does does. | 22:26 | |
and you can can can | |||
22:28
Su-Shee left
22:29
kaare_ left
|
|||
jnthn | but but but... | 22:30 | |
ash_ | so... when this major list refactor lands back in ng, what there any other big issues that need resolving? jnthn did you figure out the role issue you were wondering about? | 22:32 | |
22:32
lumi left,
lumi joined,
payload joined
|
|||
jnthn | ash_: No, didn't get a fix yet, but did discover an oddness (seems the outer of the lazy sig constructor block can end up looping back on itself or something else odd...) | 22:36 | |
ash_: Spent a couple of hours digging into it though. :-/ | 22:37 | ||
ash_ | making things lazy seems like a lot of work, which is rather counterintuitive | ||
jnthn | No, no, it's work now to let others be lazy in the future. :-) | 22:39 | |
We're on the wrong side of the lazy fence. :-) | 22:40 | ||
ash_ | hehe, yeah, true | 22:43 | |
22:44
athaba left
|
|||
ash_ | i like how there are 4 levels of lazy too, from super lazy to not lazy at all | 22:44 | |
22:50
uniejo left
22:52
ejs left,
wasy joined
22:53
redparchel joined
22:56
Chillance left
22:59
wasy is now known as wasy_afk
|
|||
pmichaud | back from walk... occurred to me during the walk that we have a potential pun between the Seq data type and the Seq (S+eq) infix operator. :-) | 23:04 | |
colomon | what would S+eq do that eq doesn't? :) | 23:07 | |
pmichaud | guarantee that evaluation occurs sequentially and isn't multithreaded somehow | ||
I agree, not common or likely, but it's there :-) | |||
could result in a confused parse | 23:08 | ||
colomon | sure. | ||
sorry, I'm just sitting here pondering how S interacts with user-defined operators. | |||
pmichaud | oh, I already decided we had a similar issue with Rafter :-P | 23:09 | |
colomon | :p | ||
pmichaud | and if someone tries to do a Req (request) data type.... well.... | ||
hope they have their terms and operators straight :) | 23:10 | ||
colomon | I'm serious on the interaction, though. Does S somehow set a flag that turns off threading in all functions called for the duration of processing the operator? | ||
pmichaud | dunno, haven't thought that far ahead yet. I'm still trying to get a working list :-) | 23:11 | |
colomon | :) | ||
pmichaud | afk for a bit | ||
23:12
lumi left,
lumi joined
|
|||
colomon | TimToady: seriously, how is S supposed to work? If I have infix:<+>(Vector $a, Vector $b) { $a.coords >>+<< $b.coords }, does S+ translate that to $a.coords S>>+<< $b.coords somehow? | 23:13 | |
23:14
iblechbot left
23:18
niros left,
takadonet left,
Chillance joined
23:21
patspam left
23:30
redparchel left
23:36
nnunley left
23:40
fridim_ joined
23:44
pnate joined
23:49
ihrd joined
23:55
lumi left
23:56
lumi joined
|