»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by Juerd on 28 August 2009. |
|||
zerhash | vijs? | 00:10 | |
is there a bugtracker for perl6? | 00:12 | ||
diakopter | there are several Perl 6 implementations; would you like to report a bug? | 00:14 | |
zerhash | no id just like to write some tests against bugs etc | 00:15 | |
diakopter | do you have parrot+rakudo? | ||
zerhash | yes | 00:18 | |
diakopter | here's the url for those bugs: rt.perl.org/rt3/Search/Results.html...'stalled') | 00:19 | |
zerhash | thank you | 00:21 | |
is there a way for me to help you with vijs? | |||
diakopter | probably not for a while.. :D it's still in "incubation", as it were. | 00:22 | |
Tene | Is there a function form of reduce? | ||
avuserow | Tene: perlcabal.org/syn/S32/Containers.html#reduce | 00:24 | |
Tene | Ah, thanks. | ||
00:27
ruoso joined,
jrtayloriv left
00:31
payload left
00:35
PacoLinux left
00:36
PacoLinux joined
00:38
jrtayloriv joined
00:53
payload joined
00:55
am0c joined
00:57
PZt left
|
|||
pugs_svn | r28293 | diakopter++ | [vijs] implemented string interpolation and scalar declaration. | 00:58 | |
00:59
maja joined
|
|||
diakopter | p6eval: you so slow | 00:59 | |
01:04
sevvie left,
sevvie joined
01:06
M_o_C left
01:11
TiMBuS joined
01:13
maja_ left
|
|||
diakopter | vijs: my $a="Be Good"; my $b = 4; my $c = "I say '$a'. $b"; say " $c "; | 01:30 | |
p6eval | vijs 28293: OUTPUT« I say 'Be Good'. 4  time in interpreter: 0.017817 s» | ||
01:41
Whiteknight left
01:52
PZt joined
01:57
dukeleto left
02:25
SmokeMachine joined,
jauaor left
|
|||
pugs_svn | r28294 | sunnavy++ | typo fix | 02:42 | |
r28295 | lwall++ | [S06] typoish tweaks | 03:05 | ||
03:23
molaf joined
04:05
dukeleto joined,
_jaldhar joined
04:08
punter joined
|
|||
punter | perl6: say 3; | 04:09 | |
p6eval | elf 28295, pugs, rakudo 4b141a: OUTPUT«3» | ||
04:10
punter left
04:13
dukeleto_ joined
04:21
Kannah joined
|
|||
Kannah | hi can any help me | 04:25 | |
i am ready to put my efforts to help developing perl 6 | 04:27 | ||
pls any one guide me | |||
TimToady | what are your skills and interests? | 04:28 | |
Kannah | i am a devloper working in perl | 04:31 | |
TimToady | have you downloaded Perl 6 yet? | 04:32 | |
Kannah | not yet | ||
TimToady | I'd suggest visiting perl6.org and following the download button first | 04:33 | |
Kannah | ok | ||
TimToady | what kind of machine/OS are you on? | ||
Kannah | windows xp | ||
and having linux too | |||
04:34
dukeleto left,
dukeleto_ is now known as dukeleto
|
|||
TimToady | people have done it on windows, though I'm running linux myself | 04:34 | |
04:34
alester joined
|
|||
TimToady | which Perl are you using on windows? | 04:34 | |
04:34
justatheory left
|
|||
Kannah | 5.10.0 | 04:35 | |
TimToady | people have been having the best luck with Strawberry Perl, I think | ||
Kannah | avtive perl | ||
04:36
Kannah left
04:39
carlin joined
04:46
justatheory joined
04:51
finanalyst joined
|
|||
finanalyst | good localtime. anyone here this time on friday/saturday? | 04:52 | |
TimToady | <crickets> | 04:55 | |
finanalyst | TimToady: Am I right that map {+ ... },... should disambiguate a closure from a hash? | 04:56 | |
TimToady | well, yes, but you'd better want ... to return something numeric | 04:57 | |
finanalyst | so + imposes a numeric context on the contents? | ||
TimToady | yes, unlike P5 | 04:59 | |
usually it's sufficient to put { ... ; } | |||
finanalyst | ok. I thought i had found a bug. | 05:00 | |
05:00
alester left
|
|||
finanalyst | rakudo: my %x=<a b c>Z 1,'a',3; say (map {+ %x{$_} },<a b c>).join(' ') | 05:00 | |
p6eval | rakudo 4b141a: OUTPUT«1 0 3» | ||
finanalyst | i couldnt work out why i was getting 0 and not 'a' | 05:01 | |
TimToady | well, a ~ would work for a string | ||
finanalyst | after getting strange errors before with map, i tend to put map {+ everywhere | ||
TimToady | and that shouldn't make a hash in any case, I think | ||
finanalyst | rakudo: my %x=<a b c>Z 1,'a',3; say (map {~ %x{$_} },<a b c>).join(' ') | ||
p6eval | rakudo 4b141a: OUTPUT«1 a 3» | 05:02 | |
finanalyst | rakudo: my %x=<a b c>Z 1,'a',3; say (map {; %x{$_} },<a b c>).join(' ') | ||
p6eval | rakudo 4b141a: OUTPUT«1 a 3» | ||
TimToady | rakudo: my %x=<a b c>Z 1,'a',3; say (map { %x{$_} },<a b c>).join(' ') | ||
p6eval | rakudo 4b141a: OUTPUT«1 a 3» | ||
TimToady | don't need anything | 05:03 | |
finanalyst | i know. but being lazy i dont want to (i cant) figure out whether the {} after a map is going to be considered a closure or a hash | 05:04 | |
so i want to make sure | |||
@seen pmichaud | 05:09 | ||
05:11
quietfanatic joined
|
|||
quietfanatic | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; $b.unself; say $a | 05:11 | |
p6eval | rakudo 4b141a: OUTPUT«Use of uninitialized value» | ||
quietfanatic | Telling $b to undefine self makes $a also undef. | 05:12 | |
rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine $b; say $a | |||
p6eval | rakudo 4b141a: OUTPUT«A()<0xb5b35c98>» | ||
quietfanatic | However, calling undefine $b does not undefine $a. | ||
It undefines the container instead of the object. | 05:13 | ||
undefine self causes all containers that point to it to become undefined. | |||
Is this a feature, or an accident? | |||
Specifically, the containers become Failures. | 05:16 | ||
TimToady | maybe it's an accidental feature | ||
quietfanatic | ..or point to Failures. | ||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; $b.undefine; say $a | 05:17 | |
p6eval | rakudo 4b141a: OUTPUT«Method 'undefine' not found for invocant of class 'A'» | ||
quietfanatic | I tried that ^.^ | 05:18 | |
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; $b.=Object; say $a | ||
p6eval | rakudo 4b141a: OUTPUT«Method 'Object' not found for invocant of class 'A'» | ||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine(Var($b)); say $a | 05:20 | |
p6eval | rakudo 4b141a: OUTPUT«Could not find non-existent sub Var» | 05:21 | |
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine(VAR($b)); say $a | ||
p6eval | rakudo 4b141a: OUTPUT«A()<0xb692ab30>» | ||
carlin | rakudo: sub foo { my $a = 1; undefine $a; }; foo*42; | 05:24 | |
p6eval | rakudo 4b141a: OUTPUT«Null PMC access in can()in Main (/tmp/LUkzspJGAW:2)» | ||
carlin | rakudo: sub foo { my @a = 1; for @a { pop @a; }; }; foo*42; | ||
p6eval | rakudo 4b141a: OUTPUT«Null PMC access in find_method()in Main (/tmp/Pi670ldCzk:2)» | 05:25 | |
05:35
am0c left
05:49
justatheory left,
dukeleto left
05:53
cmv joined
|
|||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine(($b)[0]); say $a | 05:59 | |
p6eval | rakudo 4b141a: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'A'» | ||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine([$b][0]); say $a | 06:00 | |
p6eval | rakudo 4b141a: ( no output ) | ||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine([$b][0]); say $a | ||
p6eval | rakudo 4b141a: OUTPUT«A()<0xb6383e58>» | ||
06:03
Confield left
06:09
azawawi joined
06:10
azawawi left,
mikehh joined
06:19
am0c joined,
cmv left
|
|||
mberends | @tell diakopter "would anyone like to write a test driver/harness against the spectests for vijs?": Yes, I would like to do that very much. | 06:21 | |
ENOLAMBDABOT | |||
phenny, tell diakopter "would anyone like to write a test driver/harness against the spectests for vijs?": Yes, I would like to do that very much. | |||
phenny | mberends: I'll pass that on when diakopter is around. | ||
06:22
meppl joined
06:31
xinming joined
06:40
orafu left,
orafu joined
|
|||
mikehh | rakudo (4b141a8) builds on parrot r41352 - make test / make spectest (up to 28295) PASS - Ubuntu 9.04 i386 | 06:55 | |
06:56
lucs_ joined
06:58
lucs_ left
07:00
synth^2 joined
07:03
am0c left
07:05
azawawi joined
|
|||
azawawi | moritz_: ahmadzawawi.blogspot.com/2009/09/ne...dater.html | 07:08 | |
moritz_ | good morning | ||
azawawi | moritz_: good morning :) | ||
moritz_: i have just sent you a link... | |||
moritz_ | azawawi++ | 07:09 | |
yes, I've seen it | |||
azawawi | I may also add nightly/weekly binary builds for win32 and may other platforms | 07:10 | |
s/may other/maybe other/ | |||
07:11
am0c joined
07:26
azawawi left
07:32
Su-Shee joined
|
|||
Su-Shee | good morning. | 07:32 | |
07:33
meppl left
|
|||
moritz_ | oh hai Su-Shee | 07:38 | |
Su-Shee: sandbox.rakudo.de/ | |||
Su-Shee | ui, you were a busy-ritz :) | 07:39 | |
moritz_ | ;-) | ||
Su-Shee | meh. and I'm stuck with perl 5.8 ;) | 07:40 | |
pugs_svn | r28296 | moritz++ | [new perl6.org] page about hacking perl6.org | 07:45 | |
moritz_ | I'm still not sure what to do with the download button | 07:46 | |
and if I need a third row of colored boxes on the front page | |||
Su-Shee | download should be easy access no scrolling middle-ish somewhere. | 07:47 | |
moritz_ | I'll just restore it for now, and worry later ;-) | 07:48 | |
Su-Shee | good choice. :) | 07:49 | |
07:50
araujo left
|
|||
pugs_svn | r28297 | moritz++ | [new perl6.org] download button, menu for 'about' page | 07:52 | |
TiMBuS | is there a way to make repetition counts in rakudo regexes interpolate | 07:59 | |
/ a ** $min..$max / | |||
that sort of thing | |||
moritz_ | no | 08:00 | |
you currently have to fall back to eval() to do that kind of thing | |||
TiMBuS | aw | ||
will it eventually work? | |||
08:01
iblechbot joined
|
|||
TiMBuS | because if perl6 flat out won't support it i may as well just use a bit of manual string manipulation. | 08:02 | |
08:03
desertm4x__ left
08:04
desertm4x__ joined,
Zloyrusskiy joined
|
|||
moritz_ | it will | 08:07 | |
at least **{$min..$max} will surely work | 08:10 | ||
08:35
abra joined
08:39
am0c left
08:46
finanalyst left
08:51
kidd joined
08:57
dakkar joined
08:58
Zloyrusskiy left
08:59
JimmyZ joined
09:02
JimmyZ left
09:05
sevvie left
09:06
sevvie joined
09:09
frew__ left
|
|||
dalek | kudo: 0d77e42 | mberends++ | tools/test_summary.pl: [tools/test_summary.pl] use Time::HiRes to work on Windows, code cleanup |
09:14 | |
09:33
desertm4x__ is now known as desertm4x
09:34
ejs joined
09:42
ejs left
09:45
meppl joined
|
|||
mberends | rakudo: @*INC>>.say | 09:51 | |
p6eval | rakudo 0d77e4: OUTPUT«/home/evalenv/.perl6/lib/home/evalenv/p2/lib/parrot/1.6.0-devel/languages/perl6/liblib.» | ||
moritz_ | mberends++ # pre-configured lib | 09:56 | |
mberends | now to use it for something... | 09:57 | |
pugs_svn | r28298 | moritz++ | [new perl6.org] fix typo; more hacking notes | ||
mberends | rakudo: say $*CWD | 10:02 | |
p6eval | rakudo 0d77e4: OUTPUT«/home/evalenv/rakudo» | ||
10:05
cognominal left,
cognomore left
10:07
M_o_C joined
|
|||
szabgab | pmichaud, hi, would it be possible to include ahmadzawawi.blogspot.com/search/label/perl6 in to planetsix.perl.org/ ? | 10:11 | |
Su-Shee | hi szabgab :) | 10:12 | |
szabgab | Su-Shee, hi! | 10:13 | |
mikehh | rakudo (0d77e42) builds on parrot r41361 - make test / make spectest (up to 28298) PASS - Ubuntu 9.04 i386 | 10:15 | |
10:15
cognominal joined
10:23
payload left
10:24
Whiteknight joined
10:40
xinming left
10:46
payload joined
10:54
masak joined
|
|||
jnthn | lolitsmasak | 10:56 | |
masak | \o/ | ||
lolitsweekend | |||
jnthn only just noticed the Rakudo release announcement - nice work all. :-) | |||
masak | all++ | 10:57 | |
jnthn | (all as a method name)-- ;-) | ||
masak | 哈哈 | ||
carlin | rakudo: sub foo { say 'foo'; }; undefine foo; foo; | ||
p6eval | rakudo 0d77e4: OUTPUT«foomaximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print | ||
..(src/… | |||
masak | whoa. | 10:58 | |
jnthn | rakudo: say &undefine.WHAT | ||
p6eval | rakudo 0d77e4: OUTPUT«Code()» | ||
carlin | rakudo: sub foo { foo; }; foo; | 10:59 | |
p6eval | rakudo 0d77e4: OUTPUT«maximum recursion depth exceededin sub foo (/tmp/R0vNMc7qlg:2)called from sub foo (/tmp/R0vNMc7qlg:2)called from sub foo (/tmp/R0vNMc7qlg:2)called from sub foo (/tmp/R0vNMc7qlg:2)called from sub foo (/tmp/R0vNMc7qlg:2)called from sub foo (/tmp/R0vNMc7qlg:2)called from | ||
..sub fo… | |||
jnthn | rakudo: sub foo { say 'foo'; }; undefine foo; say "alive" | ||
p6eval | rakudo 0d77e4: OUTPUT«foomaximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print | ||
..(src/… | 11:00 | ||
jnthn | rakudo: sub foo { say 'foo'; }; foo; | ||
p6eval | rakudo 0d77e4: OUTPUT«foo» | ||
carlin | Should I ticket them? | 11:03 | |
jnthn | The undefine issue looks like a bug, yeah. | ||
masak | do it! | 11:07 | |
carlin | Sent :) | ||
masak | carlin++ | 11:08 | |
moritz_: sandbox.rakudo.de/ looks very nice. | |||
masak looks at that page and has an urge to improve u4x somehow | 11:09 | ||
my latest plan is to split up the work into half-hour chunks, put them in a list, and (1) start working on the chunks myself, one by one, (2) announcing that others are welcome to pick a chunk and work on it, too | 11:10 | ||
it would be fun to have something ready for Christmas 2009. | |||
but I talk too much. what do you think? :) | 11:11 | ||
jnthn | Stop talking and do a chunk. ;-) | 11:13 | |
11:14
xinming joined
|
|||
jnthn | Breaking it down into managable little tasks is probably helpful though. | 11:14 | |
I guess it's a pretty intimidating project otherwise. | |||
masak | aye. | 11:15 | |
I'm not going to do a chunk today, I have two other projects I want to work on. | |||
Web.pm/Squerl, and a secret one. | 11:16 | ||
I'll start with Squerl, since it's more serious work. #seriouslyyouguys | 11:20 | ||
carlin | rakudo: sub foo {}; undefine undefine foo; | 11:22 | |
p6eval | rakudo 0d77e4: OUTPUT«Null PMC in copy» | ||
masak | :) | ||
carlin loves undefine :-) | |||
masak | carlin: you're on fire today! | ||
jnthn | .oO( may have undefined behavior ) |
11:23 | |
ooh, I should find dinner | |||
bbiab | |||
carlin | it's amazing what happens when you type silly things into a terminal ;-) | ||
viklund | YAY! | 11:24 | |
now i've made myself an obscure JAPH | |||
(slightly ot...) | |||
twitter.com/johanviklund/status/4100664178 | |||
masak | slightly? :) | 11:25 | |
carlin | should I ticket that, or is one ticket about undefine enough? | ||
masak | carlin: definitely ticket that separately. | ||
viklund | mebbe I should port it to p6 | ||
masak | viklund: 'maybe'? :) :) | 11:26 | |
viklund: anyway, cool JAPH. :) | |||
viklund | aye | ||
oh, and by the way: | |||
Ahoy! | |||
masak | ARRR! | ||
Avast, going to write me some code and drink me some rum! | 11:27 | ||
carlin | Sent. I wonder what else I can break ;-) | 11:29 | |
masak | Arrr, no rum! | ||
carlin: I like yer attitude, mate. keep at it! | 11:30 | ||
mikehh | rakudo (0d77e42) builds on parrot r41362 - make test / make spectest (up to 28298) PASS - Ubuntu 9.04 i386 | 11:31 | |
cognominal | rakudo: eval( 'sub A::t { print @{$_[1]}, "\n" }; bless {}, A', :lang<perl5> ).t( < j a p h > ) | 11:32 | |
p6eval | rakudo 0d77e4: OUTPUT«Method 't' not found for invocant of class 'Nil'» | ||
cognominal | don't know why it does not work here | ||
11:51
finanalyst joined
11:52
zloyrusskiy joined
11:53
zloyrusskiy left
11:55
zloyrusskiy joined
|
|||
moritz_ | cognominal: as long as blizkost's build system is not fixed, I don't trust evalbot in that respect | 11:58 | |
rakudo: eval( 'sub A::t { print @{$_[1]}, "\n" }; bless {}, A', :lang<perl5> ).t( < j a p h > ) # with blizkost recompiled | 11:59 | ||
p6eval | rakudo 0d77e4: OUTPUT«Method 't' not found for invocant of class 'Nil'» | ||
diakopter | phenny: hi | ||
phenny | diakopter: 06:21Z <mberends> tell diakopter "would anyone like to write a test driver/harness against the spectests for vijs?": Yes, I would like to do that very much. | ||
moritz_ | vijs: say('foo') | 12:00 | |
p6eval | vijs 28298: OUTPUT«foo time in interpreter: 0.006706 s» | ||
diakopter | LOL | ||
cognominal | moritz_, what's wrong with blizkost's build system? | 12:01 | |
diakopter | mberends: hi, I mean | ||
moritz_ | cognominal: it doesn't rebuild the binary when a .pmc changes (at least not always9 | ||
s/9/)/ | |||
cognominal | indeed | ||
I just get used to do a make clean | 12:02 | ||
diakopter | moritz_: I got my $a = declaration working; also string interpolation of them | 12:03 | |
also infix ~ | |||
moritz_ | cool | 12:06 | |
diakopter | 'tis easy when the ast is already proper | 12:07 | |
pugs_svn | r28299 | moritz++ | [evalbot] 'make clean' in blizkost | ||
moritz_ | carlin++ # going through RT, commenting where appropriate | 12:08 | |
12:08
rfordinal3643 joined
|
|||
diakopter | hm, I never can find Test.pm :P | 12:09 | |
moritz_ | which one? ;-) | ||
mberends | diakopter: I need to learn what wil be involved in a vijs test harness in particular, so it may take me a few days to come up with a plan. I very much like where this is leading already. | ||
12:09
rfordinal left
|
|||
diakopter | any? just the signatures of the isok() and all that | 12:09 | |
mberends: well | 12:10 | ||
moritz_ | diakopter: probably mp6 and mildew have the simplest Test.pms (ie the ones that need the least features) | ||
diakopter | I can fake/mock just about anything already | 12:11 | |
mberends | diakopter: oh, so you need it today? ;-) | ||
moritz_ | v6/v6-MiniPerl6/lib/Test.pm | ||
12:11
JimmyZ joined,
abra left
|
|||
diakopter | mberends: yeah I think maybe what would really help is some more abstraction in viv | 12:12 | |
moritz_ | sub ok($what, $desc?) | ||
sub is($got, $expected, $desc?) | |||
erm | |||
sub is(Object $got, Object $expected, $desc?) | |||
we don't want no autothreading over test functions | |||
mberends | diakopter: is the 'use' command working to pull in a Test.pm ? | 12:13 | |
diakopter | mberends: well, I don't know. give me a day or two :) | ||
moritz_: no, but I suspect I could hack it in so it fakes it... | 12:14 | ||
:) | |||
I mean, technically use '' will re-enter viv/STD | |||
moritz_ | viv: say 3 ~ 4 | 12:15 | |
vijs: say 3 ~ 4 | |||
p6eval | vijs 28298: OUTPUT«34 time in interpreter: 0.008141 s» | ||
moritz_ | vijs: say 3 + 4 | ||
p6eval | vijs 28298: OUTPUT«execute(): execute error: Additive not yet implemented; srsly!!?!? at viv line 139.» | ||
mberends | you could probably fake a 'use' by emulating #include behaviour. | ||
moritz_ | (awesome error messages)+ | ||
mberends | srsly!! lol | ||
diakopter | but for Test, I'll just make it declare those builtins | ||
vijs: my $a="Be Good. "; my $b = 4; my $c = "I say '$a $b'"; say "$c $c"; | 12:17 | ||
p6eval | vijs 28298: OUTPUT«I say 'Be Good. 4' I say 'Be Good. 4' time in interpreter: 0.018506 s» | ||
mberends | diakopter++ | ||
diakopter | TimToady++ # lots of very quickly implemented fixes/enhancements to viv/STD | 12:18 | |
vijs: say(say) | 12:19 | ||
p6eval | vijs 28298: OUTPUT«execute(): execute error: TypeError: Cannot read property 'length' of undefined at viv line 139.» | ||
diakopter | oopsies | 12:20 | |
moritz_ | btw empty say() is forbidden | ||
diakopter | ah. | ||
12:20
Su-Shee left
|
|||
moritz_ | vijs: say say 3 | 12:20 | |
diakopter | wait, really? | ||
moritz_ | ORLY | ||
p6eval | vijs 28298: OUTPUT«31 time in interpreter: 0.017954 s» | ||
12:21
Su-Shee joined
|
|||
diakopter | vijs: ~(" hi "," foo ") | 12:22 | |
p6eval | vijs 28299: ( no output ) | ||
diakopter | std: ~(" hi "," foo ") | ||
p6eval | std 28299: OUTPUT«ok 00:04 41m» | ||
diakopter | I dunno what that's supposed to do | ||
moritz_ | vijs: say "a { 3 } b" | ||
p6eval | vijs 28299: OUTPUT«execute(): execute error: escape__S_Cur_Ly not yet implemented; srsly!!?!? at viv line 139.» | ||
moritz_ | it should give " hi foo ", no? | 12:23 | |
diakopter | vijs: say ~(" hi "," foo ") | ||
moritz_ | stringifying a two-element list joins them with a space | ||
p6eval | vijs 28299: OUTPUT«execute(): execute error: Symbolic_unary not yet implemented; srsly!!?!? at viv line 139.» | ||
moritz_ | rakudo: say ~(" hi "," foo") | ||
p6eval | rakudo 0d77e4: OUTPUT« hi foo» | ||
diakopter | to "implement" something in vijs, all you do is add a function to the "disp" object there in interp.js | 12:24 | |
with the name of that "op" (aka node type from STD) | |||
the node itself is in the function's "this" object | 12:25 | ||
this.phase stores which "step" in the op is current (next) | 12:27 | ||
store all other state of the op (if it'll be "calling" other ops) on the this object too | |||
moritz_ | diakopter: you really should have a HACKIING document in js/ where you describe such things | 12:28 | |
IRC is volatile | |||
diakopter | return [next_op_node,this] to call next_op_node, where next_op_node can be constructed | ||
return [this.invoker] to end the op | |||
moritz_ | CPS | ||
diakopter | I implemented string interpolation by constructed a Concatenation node | 12:29 | |
constructing | |||
yeah; CPS in a sense | |||
in that each op knows its next one, but it can also inject into the stream | 12:30 | ||
or divert it entirely | |||
12:30
zloyrusskiy left
|
|||
diakopter | makes closures braindead easy | 12:31 | |
12:31
zloyrusskiy joined
|
|||
diakopter | er, any kind of subroutine, I mean | 12:31 | |
because a node just needs cloned shallowly to re-enter it | 12:32 | ||
and have its .phase reset | |||
and actually, every function could theoretically be a tailcall, so at some point the trampoline can be removed | 12:34 | ||
the trampoline is interp() | |||
HACKIING indeed | 12:35 | ||
pugs_svn | r28300 | moritz++ | [new perl6.org] -Ofun | 12:36 | |
diakopter looks at the ast for use Test; | |||
moritz_ | any more fun links for the website? | ||
diakopter | is runpugs still around | 12:37 | |
vijs: use Test; say 'hi!'; | |||
p6eval | vijs 28299: ( no output ) | ||
diakopter | hm | 12:38 | |
moritz_ | diakopter: I think it died the bitrot death | ||
12:41
dakkar left
|
|||
carlin | moritz_: I wasn't commenting, they're all new (unless that's not what you meant, in which case ignore me :) ) | 12:43 | |
moritz_ | maybe I was just confused | 12:47 | |
12:48
sm` joined
12:49
JimmyZ left
12:50
hugues23 joined
12:55
hugues23 left
|
|||
pugs_svn | r28301 | moritz++ | [new perl6.org] Whatever | 13:02 | |
r28302 | moritz++ | [new perl6.org] documentation | 13:07 | ||
13:09
payload left
|
|||
pugs_svn | r28303 | moritz++ | [new perl6.org] more Camelia | 13:10 | |
13:12
TopoMorto joined
|
|||
pugs_svn | r28304 | fglock++ | [mp6] Javascript fixes | 13:18 | |
ruoso o/ now I can pester jnthn to implement .cando($capture) | 13:19 | ||
ruoso goes to write a spectest for that | 13:20 | ||
masak | ruoso++ # writing a spectest -- I dig that definition of 'pester' | 13:21 | |
moritz_ | any objections to switching perl6.org to sandbox.rakudo.de/ ? | 13:25 | |
13:26
molaf left
|
|||
masak | not from me. | 13:27 | |
but -- unrelatedly -- I wish we'd use tables instead of floats for the boxes. | 13:28 | ||
arnsholt | masak: Careful. The CSS police are going to knock on your door soon =p | ||
masak | that way, people with narrow browser windows would get a horizontal scroll bar instead of a botched-up layout. | ||
jnthn | masak: The 90s just called asking for you. | ||
;-) | |||
Heh. | 13:29 | ||
masak | I don't care about you people's taunts. | ||
jnthn | CSS makes it too hard to do layout well though, i agree. | ||
masak | giveupandusetables.com/ | ||
jnthn | I occasionally have. ;-) | ||
masak | www.eod.com/devil/archive/web_standards.html | 13:30 | |
jnthn | Spending an hour failing to make something work with CSS that I coulda done in 2 minutes with tables always irks me. | ||
masak | Google doesn't close their elements, preferring speed to standards. they've got the right idea, if you ask me. | 13:31 | |
as long as you're in tag soup land, you might as well play to your advantage. | |||
kidd | moritz_: someone said in the reddit thread about perl6.org that the download button should be in the upper side. I don't know if it makes sense but... | 13:32 | |
arnsholt | Butbutbut, it's wrong! The pragmatic in me agrees wholeheartedly | ||
But my purist side cringes =) | |||
carlin | It's supposed to look like the temple in Rakudo's logo IIRC | 13:33 | |
jnthn | Trouble is, the purist side believes it's wrong to hit the pragmatic side over the head with a hammer, whereas the pragmatic side just wants to get the job done. :-) | ||
arnsholt | jnthn: Exactly =) | 13:34 | |
masak | both sides have a point, of course. | ||
there's no sense in being a purist unless it's also a long-term pragrmatic win. | |||
moritz_ | kidd: since the boxes are now smaller than before, I don't think it makes sense to move the download button to the top row | 13:35 | |
kidd: but thanks for informing me | |||
kidd | :) | 13:36 | |
13:37
dadone joined
13:38
dadone left
|
|||
moritz_ | masak: using xhtml and declaring it as such has advantages | 13:38 | |
pugs_svn | r28305 | carlin++ | [New perl6.org] Added the closing p tag to the footer for XHTML validity | ||
masak | moritz_: certainly. at the same time, I've heard excellent arguments against using XHTML. | 13:39 | |
moritz_ | masak: for example in the IRC logs I notice very quickly if something is not escaped properly, because I'll get error messages from the browser immediately | ||
masak | maybe they're getting a bit dated, but at least they used to hold. | ||
moritz_: that's certainly fine for a closed environment like the logger. | |||
moritz_ | masak: and only with XML can you incorporate SVG elements directly into the page (not as an embed, for example) | ||
masak | that's a good argument. | 13:40 | |
I have to try that. | |||
moritz_ | actually it applies to all extension languages | 13:41 | |
mathml for example | |||
masak | nod. | ||
because of XML namespaces. | |||
moritz_ | aye | ||
carlin++ # cleaning up my mess | |||
masak | carlin++ # there's a frood who really knows where his towel is | 13:42 | |
pugs_svn | r28306 | ruoso++ | [S06] adds $multi.push($candidate) | 13:45 | |
r28306 | [spectest] adds a spec test for the introspection S06 section | |||
Juerd | The biggest problem with XHTML is that it is not forward compatible. | ||
ruoso | the biggest problem with XHTML is that nobody cares about it | 13:46 | |
Juerd | You can't use any tag that hasn't already been fully specced and implemented, except by putting it in a different namespace which is too much work so it doesn't happen. | ||
ruoso | and so W3C is going for HTML 5 instead | ||
Juerd, that's a good thing, actually... | |||
Juerd | HTML 5 does not replace XHTML, because you can still write it as XML if you wish. | ||
13:47
alester joined
|
|||
Juerd | It supersedes both HTML 4.01 and XHTML 1.0 | 13:47 | |
ruoso | but it still allows <b>foo<i>bar</b>baz</i> | ||
Juerd | No | ||
It requires browsers to be forgiving. That's different. | |||
s/1.0/1.1/ | |||
ruoso | html is not xml, it's sgml... so it doesn't have to comply with DOM | 13:48 | |
Juerd | <b><i></b><i> is still wrong and doesn't validate. | ||
ruoso | so, <b>foo<i>bar</b>baz</i> is valid | ||
Juerd | Bollocks. | ||
I can only urge you to read the spec if you're really convinced. | |||
jnthn | As I understood it, HtML 5 is spec'd as a DOM, and it has both XML and SGML serializations. | 13:49 | |
Juerd | jnthn: This appears to be the case | 13:51 | |
jnthn | Juerd++ # haven't heard that word used for AGES, btw. :-) | ||
jnthn heard it plenty in the UK | |||
Juerd | Unfortunately this does mean that <html>, and <body> are no longer optional :( | ||
jnthn: Which word is that? | |||
jnthn | "Bollocks" | 13:52 | |
Juerd | Hm | 13:53 | |
jnthn | It had many uses in Yorkshire dialect, including the one you just used. :-) | ||
ruoso | jnthn, btw... I have a new spectest for you :) | ||
13:53
mofino left
|
|||
Juerd | en.wikipedia.org/wiki/Bollocks # Only few words have dedicated wikipedia articles :D | 13:53 | |
ruoso | t/spec/S06-other/introspection.t | ||
jnthn | ruoso: btw, I'm on vacation *grin* | ||
masak | 13:55 | ||
jnthn | ruoso: hmm | ||
# .signature | |||
ok(&only-sub.signature ~~ \(1,2),"an only sub implements .signature"); | |||
orly? | |||
I thought it was capt ~~ sig that you'd want here? | |||
ruoso | oops | ||
jnthn | That is, "can I have this capture bound to me"? | 13:56 | |
Same for some others further down. | |||
ruoso goes fixing | |||
jnthn | Looks sane other than that though. | 13:57 | |
Or at least, that's the only thing that jumped out at me. | |||
13:57
arthur-- left
|
|||
jnthn | ruoso++ | 13:58 | |
Now I "just" need to implement it... | |||
pugs_svn | r28307 | ruoso++ | [spectest] oops, wrong order in ~~, as pointed by jnthn | ||
jnthn | my name is jnthn++ in commit messages :-P | ||
ruoso | jnthn++ ruoso-- | 13:59 | |
ruoso .oO( that's what happens at saturday mornings ) | |||
jnthn | ruoso++ # tests look good now | ||
OK, all that remains is a simple matter of programming. ;-) | |||
ruoso | ;) | 14:00 | |
pugs_svn | r28308 | carlin++ | [New perl6.org] Escape HTML entity and remove repated p closing tags, will probably need a followup to get it to validate | ||
jnthn | I'll get that buch passing when I'm doing the other sig bits in oct/nov. | ||
ruoso | jnthn, if you can make .cando work before that, it would allow me to write a very neat thing | 14:02 | |
:) | |||
masak | (very neat things)++ | ||
jnthn | ruoso: How close is that find_many_candidates thingy? | 14:03 | |
I'd expect it's not so far off. | 14:04 | ||
Apart from the small issue of not really knowing what a capture is... | |||
ruoso | not very much, the main difference is the signature | ||
14:04
TopoMorto left
|
|||
jnthn | *nod* | 14:05 | |
ruoso | basically, instead of .find_possible_candidates(1,2), it's .cando(\(1,2)) | ||
which is aligned with .postcircumfix:<( )>(\(1,2)) | |||
jnthn | aye, but Rakudo doesn't really believe that either yet. ;-) | 14:06 | |
ruoso | but I guess you can implement .cando(1,2) while you have .postcircumfix:<( )>(1,2) | ||
so you're consistently wrong ;) | |||
jnthn | ;) | ||
ruoso | then refactor both later | ||
jnthn | I'll probably just try and get 'em both right. | ||
It likely won't be too hard. | 14:07 | ||
ruoso | jnthn, you said find_many_candidates... is that different from find_possible_candidates? | 14:08 | |
jnthn | oh, I think I menat the latter. | ||
There's one with a name like that. | |||
ruoso | ah... ok | ||
pugs_svn | r28309 | carlin++ | [New perl6.org] Remove one more repeated /p tag | 14:09 | |
carlin hates having to commit to see if it worked or not | |||
ruoso | carlin, doesn't it work accessing with file:// | 14:10 | |
M_o_C | carlin, you can also submit the document to the validator as attachment if that's what you're trying to do. | 14:11 | |
carlin | The validator would choke on the HTML template calls | 14:12 | |
I suppose I could manually add the header/footer etc and try direct input | |||
ruoso | jnthn, anyway... I left the "Signature" room left for you in S06 introspection ;) | ||
14:13
alester left
14:21
payload joined
|
|||
masak | would it be possible to put a perl6.org link here? dev.perl.org/perl6/ | 14:21 | |
14:21
arthur-- joined
|
|||
pugs_svn | r28310 | carlin++ | [New perl6.org] Convert some li tags to /li tags | 14:25 | |
14:25
flip747 joined
|
|||
flip747 | I think that the hyper-ops need adverbs for depth-first or parent-first | 14:26 | |
masak | but the hyper-ops don't recurse, do they? | ||
flip747 | yes, they do | ||
So that a $tree_root.».add_nodes correctly asks the child nodes | |||
for other to-be-inserted nodes | 14:27 | ||
(the newly created child nodes, that is) | |||
and similar $tree_root.».delete should go depth-first | |||
so two adverbs would be fine, I think | |||
masak | I don't see that use case needing a hyper-op. even if hyper-ops do recurse, that is. | ||
just make .add_nodes recurse on its own. | |||
flip747 | But that's ugly, if recursion is already built-in .... svn.pugscode.org/pugs/docs/Perl6/Sp...rators.pod | 14:28 | |
says: | |||
More generally, a dwimmy hyper operator works recursively for any object | 14:29 | ||
matching the C<Each> role even if the object itself doesn't support | |||
the operator in question: | |||
In particular, tree node types with C<Each> semantics enable visitation: | |||
$tree.».foo; # short for $tree.foo, $tree.each: { .».foo } | |||
And I like the parallelization that is defined for hyper | |||
just some use-cases need an order defined | |||
masak | rakudo: class A { my @methods = <foo bar>; eval qq[method $_ \{ say "OH HAI $_" \}] for @methods }; given A.new { .foo; .bar } | 14:30 | |
flip747 | And what's two small adverbs (that will be needed in quite a few cases), compared with having to loop and recurse? | ||
p6eval | rakudo 0d77e4: OUTPUT«OH HAI fooOH HAI bar» | ||
masak | (steampunk metaprogramming)++ | ||
(whoever made that work)++ | |||
pugs_svn | r28311 | carlin++ | [New perl6.org] Add ul../ul tags | 14:31 | |
14:32
sm` left
14:34
sm` joined
|
|||
pugs_svn | r28312 | moritz++ | [new perl6.org] robots.txt | 14:34 | |
moritz_ flips the switch | 14:35 | ||
flip747 | Well, thanks for listening ... and maybe I'll find that in some changelog. Who knows? | ||
carlin | moritz_: good timing, everything now validates :-) | 14:36 | |
moritz_ | carlin: thanks for working on that | ||
flip747 | masak: Please avoid citing song texts near me. I still have my ears full of "Hotel California" ... although it's slowly being pushed aside by "Turn around". | ||
moritz_ | I need to install the local xhtml validator in my browser again | 14:37 | |
flip747 | Don't know why I'm so sensitive ... but then again "Nobody knows" ;-) | ||
14:37
flip747 left
|
|||
moritz_ | "Nobody knows", but "Everybody Hurts" | 14:38 | |
SCNR | |||
avuserow | perl6.org's site is nicely designed, and reasonably handles narrow browser windows. ++ to the relevant people | ||
moritz_ | avuserow: thanks | ||
avuserow assumes that's moritz_++ and carlin++ :) | |||
masak | phenny: tell flip747 img11.imageshack.us/img11/3199/125056667391.jpg | ||
phenny | masak: I'll pass that on when flip747 is around. | ||
moritz_ | mostly Su-Shee++ | ||
avuserow | Su-Shee++ especially then. | 14:39 | |
M_o_C | masak: Makes me thinking of www.youtube.com/watch?v=xuZl9tRqjoQ | 14:41 | |
masak | :) | 14:43 | |
14:43
sri_kraih left
|
|||
masak gets "invoke() not implemented in class 'Undef'" from Rakudo, and glares back at it, wishing for a line number | 14:44 | ||
14:44
sri_kraih joined
|
|||
masak | even a filename would be helpful. | 14:44 | |
14:45
Psyche^ joined
|
|||
masak | M_o_C: it was just an average parody until the 'listen to blips of the heart' line :) | 14:45 | |
moritz_ | masak: a well-maintained list of exceptions not containing a back trace might be worth considering | ||
masak | yes, but I have my complainer's hat on right now, not my improver's hat. :) | 14:46 | |
14:46
sri_kraih left
|
|||
moritz_ | masak++ # switching hats now and then | 14:47 | |
masak dives deeper into his implementor's hat | |||
14:56
jauaor joined,
Whiteknight left
14:57
Patterner left,
Psyche^ is now known as Patterner,
sri_kraih joined
|
|||
carlin | hmm ... the documentation tab doesn't underline when it's the active link | 14:58 | |
14:58
araujo joined
14:59
Confield joined
|
|||
moritz_ | ah, I know why | 14:59 | |
carlin++ | |||
pugs_svn | r28313 | moritz++ | [perl6.org] fix documentation menu name | ||
15:00
TiMBuS left
|
|||
moritz_ | carlin: feel free to add yourself to the credits list in source/about/index.html | 15:01 | |
15:02
JimmyZ joined
15:03
sri_kraih left
15:05
sri_kraih joined
|
|||
carlin | moritz_: What should I put as my contribution? | 15:07 | |
(pedantic bug fixing) ? ;-) | |||
moritz_ | carlin: if you like ;-) | ||
TimToady | Ow, who turned on the morning so early?!? | 15:09 | |
pugs_svn | r28314 | moritz++ | [perl6.org] formulate masak++'s contribution a bit more positive; added email contact | ||
masak | I have what I believe to be an interesting (but frustrating) Rakudo bug. I'm stuck, however. would someone like to reproduce it for me, and perhaps provide a fresh set of ideas? | 15:10 | |
moritz_ | sure | 15:11 | |
masak | great. I'll just push this first. be right back. | ||
pugs_svn | r28315 | carlin++ | Add self to credits | 15:12 | |
masak | moritz_: there. you'll need latest Web.pm and perl6-sqlite. github.com/masak/web github.com/tene/perl6-sqlite | 15:13 | |
15:13
zloyrusskiy left
|
|||
carlin | carlin-- # almost commited without the closing </li> tag | 15:13 | |
moritz_ | carlin++ # not quite commited without the closing </li> tag ;-) | ||
masak | moritz_: then, with Web.pm/lib, perl6-sqlite/lib and Rakudo in PERL6LIB, run t/squerl/02-dataset.t | 15:14 | |
moritz_: here, it runs ok until after test 39, then it dies. | |||
moritz_ | is perl6-sqlite in proto yet? | 15:15 | |
masak | it is. | ||
sometimes the error ("invoke() not implemented in class 'Undef'") ends up on the same line as the ok of test 39, sometimes on the line after. | |||
I tried outputting an 'A' before the Squerl::Dataset.new(''). the 'A' ended up being after the error, but before the line description of the error. (and the line is given as 0) | 15:16 | ||
15:16
jrtayloriv left
|
|||
masak | all in all, lots of impossible things at once. | 15:17 | |
jnthn | masak: That could just be output buffering I guess. | ||
TimToady | sounds like line-buffering vs no buffering | 15:18 | |
moritz_ | masak: dies here after 39 too | ||
TimToady | or possibly two different line bufferings | ||
masak | moritz_: good. now, what's the Undef in question? | 15:19 | |
I tried outputting debug info in the Squerl::Dataset.new method. it doesn't seem to get that far. | |||
I then started suspecting that the error is caused during parameter binding to that method, but I have no direct evidence of that so far. | 15:20 | ||
all my one-liners that try to mimic the error work fine. | |||
pugs_svn | r28316 | carlin++ | [New perl6.org] Put the period before the /p tag, so it isn't on a different line | 15:21 | |
15:22
araujo left
|
|||
moritz_ | hm, adding a say() inside the new isn't printed | 15:23 | |
masak | right. see above. | ||
moritz_ | making the new() method non-multi didn't help either | 15:24 | |
masak | the error persists if I remove everything before the .new call. | 15:26 | |
15:27
jrtayloriv joined
|
|||
masak | and everything after it. | 15:27 | |
moritz_ slaps masak | |||
masak | o.O | ||
moritz_ | s/Sequel/Squerl/ | ||
masak | arghmlph! | 15:28 | |
:( | |||
that's the Undef, then. :( | |||
moritz_++ | |||
pugs_svn | r28317 | lwall++ | [introspection.t] isolate some duplicate my declarators | ||
masak | masak-- | ||
moritz_ | aye, that it is | ||
masak | thanks for the help. | ||
moritz_ | you're welcome | ||
you know, I did the same bug in Perl 5 a hundred times | 15:29 | ||
or something similar | |||
I mis-spelled the package Foo; declaration | |||
masak | I'm translating spec tests directly from Sequel, and sometimes I write 'Sequel' without thinking. | ||
TimToady | is there anything that would make such bugs easier to locate? | ||
masak | correct line numbers. | 15:30 | |
the name of the class. | |||
carlin | A compiler with precognition? | ||
TimToady | sometimes a compiler-writer with precognition is sufficient... | 15:31 | |
15:31
araujo joined
15:32
sri_kraih left,
sri_ joined
|
|||
masak | heh, I have my prototypical tote harness using Mac OS X's `say` command, so it keeps saying 'compiling', 'testing', 'back to coding' in the background. :) | 15:34 | |
TimToady: I'm currently reading A12. I find the Apocalypses to be very good for understanding design decisions, even though their age shows. (The updates are often out-of-date!) I have two questions, for when you have a moment. | 15:36 | ||
moritz_ wonders why rakudo.de/proto-projects-list.png won't update | 15:37 | ||
masak | I'll just go ahead and ask them. (1) "This implicit initialization is based not on whether the attribute is undefined, but on whether it was initialized earlier in BUILD. (Otherwise we could never explicitly create an attribute with an undefined value.)" what's the mechanism behind telling whether an attribute was initialized earlier? is it something that can be written out in Perl 6 code? | ||
TimToady | non compos momenti | ||
masak | (2) is the 'method self:<sort> (Array @a is rw) {...}' syntax still around? I don't remember seeing it mentioned in S12... | 15:38 | |
moritz_ | std: method self:<sort> (Array @a is rw) {...} | 15:39 | |
p6eval | std 28315: OUTPUT«ok 00:03 40m» | ||
TimToady | (1) I always thought of it as a bit vector managed by the BUILD, but it's purposefully unspecced as implementation dependent, though if we need meta-api for it... | 15:40 | |
masak | my agenda is mostly seeing it implemented soon. I like the feature. | 15:41 | |
TimToady | (2) would presumably be supplied by some kind of mixin these days | ||
(presuming I even remember what self:<sort> did... :) | 15:42 | ||
masak | I was a bit confused by just that part. | ||
TimToady | that part was just a bit confusing :) | ||
masak | I was wondering whether it's still around so I would know whether to spend time trying to grok it or not :) | 15:43 | |
TimToady | let me glare at the context a bit more | ||
masak | sure. | 15:46 | |
rakudo: sub foo(:&a) { bar(:&a) }; sub bar(*%_) { say "OH HAI" }; foo() | |||
p6eval | rakudo 0d77e4: OUTPUT«Symbol '&a' not predeclared in fooin Main (src/gen_setting.pm:3469)» | ||
masak submits rakudobug | |||
15:46
desertm4x_ joined
|
|||
TimToady | hmm, okay, it was for something other than I remembered. it's syntax for responding to .= directly, rather than being constructed out of the non-mutator | 15:48 | |
not sure self: is the right way to mark that though | |||
masak | right. | 15:49 | |
moritz_ | maybe we should just allow method '=sort' { ... } | ||
masak | for a while, I toyed with the idea of a syntax based on '=sort' :) | ||
aye. :) | |||
but I agree that something:<=sort> would be the construct of choice, then. | 15:50 | ||
TimToady | 'course, then someone would write =sort(@array) and confuse POD completely... | ||
maybe self:sort isn't so bad | 15:52 | ||
dalek | kudo: 2c40a5b | moritz++ | (2 files): support smolder reports in harness and Makefile. Patch courtesy by jdv79++ |
15:53 | |
TimToady | mutate:sort rw:sort inplace:sort | 15:54 | |
15:54
desertm4x left
|
|||
carlin | rakudo: class Mamal { method breath { say 'Breathing'; } }; class Dog is Mamal {}; undefine Mamal; my $dog = Dog.new; | 15:54 | |
TimToady | feels like something that wants to be de-huffmanized in any case | ||
p6eval | rakudo 0d77e4: OUTPUT«No such attribute '$!exception' in class 'Failure'in Main (/tmp/49Y6dCXl7s:2)» | ||
TimToady | but if it's only ever a method, then method =sort would be fine | 15:55 | |
and .= is the only way to invoke it (without introspection) | 15:56 | ||
masak | carlin: why, you naughty boy. :) | 15:57 | |
15:57
JimmyZ left
|
|||
avuserow finds carlin++'s snippet very funny for some reason | 15:58 | ||
TimToady | seem like undefine ought to be no-op on something that's already officially undefined... | 15:59 | |
avuserow | rakudo: my $a = "qwerty"; undef $a; say $a.perl | ||
p6eval | rakudo 0d77e4: OUTPUT«Confused at line 2, near "$a; say $a"in Main (src/gen_setting.pm:3469)» | ||
avuserow | rakudo: my $a = "qwerty"; undefine $a; say $a.perl | ||
p6eval | rakudo 0d77e4: OUTPUT«undef» | ||
carlin | I guess we can't claim that no animals were harmed in the making of rakudo now | ||
avuserow | rakudo: my $a = undef; say $a.perl | ||
p6eval | rakudo 0d77e4: OUTPUT«undef» | ||
16:00
frew__ joined,
molaf joined
|
|||
carlin | rakudo: class Animal {}; undefine Animal.BUILD; | 16:00 | |
p6eval | rakudo 0d77e4: OUTPUT«Null PMC access in inspect_str()in Main (/tmp/XNcoIBkeRZ:2)» | 16:01 | |
masak | o.O | ||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; $b.unself; say $a | ||
p6eval | rakudo 0d77e4: OUTPUT«Use of uninitialized value» | ||
TimToady | rakudo: class A {method unself {undefine self}}; my $a = A.new; my $b = $a; undefine $b; say $a | ||
masak | who knew &undefine contained so much naughtiness? | ||
p6eval | rakudo 0d77e4: OUTPUT«A()<0xb5b53e78>» | ||
TimToady | that's the pair of cases quietfanatic found last night | ||
moritz_ | maybe undefine() should only work on variables, really | 16:02 | |
masak | I'm not sure I see anything wrong with the latter case. | ||
rakudo: undefine 5; say 5 | |||
moritz_ | I mean undefine will surely bind its argument as rw | ||
p6eval | rakudo 0d77e4: OUTPUT«5» | ||
moritz_ | so undefine(5) will fail to dispatch | 16:03 | |
likewise undefine(Mammal) | |||
unless undefine is more magical than normal subs | |||
pugs_svn | r28318 | moritz++ | [perl6.org] fix typo in name, moritz-- | 16:05 | |
masak | magic-- | 16:11 | |
diakopter | rakudo: caffeine((eval('sub caffeine($a){say $a}'))); | 16:12 | |
p6eval | rakudo 0d77e4: OUTPUT«caffeine» | 16:13 | |
carlin | undefining things to see what breaks is certainly -Ofun ;-) | ||
TimToady | perhaps undefine should only be a method, and we can only request that an object undefine itself | ||
M_o_C | I'm amazed that diakopter's example works... | ||
TimToady | then VAR($x).undefine would be distinguishable from $x.undefine | 16:14 | |
16:14
Zloyrusskiy joined
|
|||
pugs_svn | r28319 | moritz++ | [perl6.org] outsource small camelia into an include file | 16:14 | |
moritz_ | TimToady: is that so bad? | ||
diakopter | TimToady: ^^ caffeine? | ||
std: caffeine((eval('sub caffeine($a){say $a}'))); | |||
p6eval | std 28317: OUTPUT«Undeclared routine: caffeine used at 1ok 00:02 37m» | ||
M_o_C | Should the example work? Because it seems pretty evil. | 16:15 | |
moritz_ | no | ||
masak | M_o_C: it only seems evil to me at first glance. | ||
moritz_ | existence of subroutines should be checked at CHECK time, or so | ||
but the eval runs at run time | |||
masak | O RLY? | ||
that's news to me. | 16:16 | ||
moritz_ | unless I'm wrong, of course | ||
diakopter | rakudo: caffeine(eval('sub caffeine($a){say $a}')); | ||
p6eval | rakudo 0d77e4: OUTPUT«caffeine» | ||
diakopter | rakudo: eval('sub caffeine(){say 44}'); caffeine(); | 16:17 | |
p6eval | rakudo 0d77e4: OUTPUT«44» | ||
16:17
syntheticore joined
|
|||
TimToady | rakudo doesn't do the check at the correct time | 16:18 | |
moritz_ | so I was right that it should be a compile time error? | ||
M_o_C | masak: Well, maybe evil is the wrong word, but it's strange that it would execute the argument of the function without ensuring that the function exists. | ||
TimToady | yes, though STD is out of spec in making it a mere warning | ||
masak | M_o_C: indeed. as moritz_ informed us, it shouldn't. | 16:19 | |
diakopter | oh; didn't notice the trailing 'ok' | ||
TimToady | but yes, it should fail at CHECK time | 16:20 | |
16:20
Zloyrusskiy left
|
|||
diakopter | rakudo: my $caffeine; $caffeine(eval('$caffeine=sub{say 55}')); | 16:22 | |
p6eval | rakudo 0d77e4: OUTPUT«55» | ||
TimToady | std: caffeine(); { my sub caffeine {...} } | ||
p6eval | std 28319: OUTPUT«Undeclared routine: caffeine used at 1ok 00:02 37m» | ||
TimToady | that's a fun one to catch | ||
std: caffeine(); my sub caffeine {...} | 16:23 | ||
M_o_C | diakopter++ for coming up with the snippet. | ||
p6eval | std 28319: OUTPUT«ok 00:02 37m» | ||
diakopter | there're more where that came from | ||
TimToady | yow, I'm not sure I want to guarantee that one... | 16:24 | |
diakopter | rakudo: eval('ENOERRORMESSAGE?'); say 'fine and dandy; peachy keen'; | ||
p6eval | rakudo 0d77e4: OUTPUT«fine and dandy; peachy keen» | ||
moritz_ | rakudo: eval('ENOERRORMESSAGE?') // say $! | 16:25 | |
p6eval | rakudo 0d77e4: OUTPUT«Confused at line 1, near "?"» | ||
TimToady | since it depends on not dereffing $caffeine as a variable till the call | ||
diakopter | TimToady: which example? | ||
16:25
hcchien left
|
|||
TimToady | 55 | 16:25 | |
16:26
clkao left,
opensourcer joined
|
|||
pugs_svn | r28320 | moritz++ | [t/spec] test that subroutines must be post-declared | 16:26 | |
16:26
sri_ left
|
|||
diakopter | JS behaves as rakudo is (not dereffing it)... *most* of the time... | 16:26 | |
16:26
sri_ joined
|
|||
diakopter | not even checking "declaration" even | 16:27 | |
even | |||
moritz_ rakudobugs the caffeine example | |||
diakopter | odd. | ||
16:28
nihiliad joined
|
|||
diakopter | rakudo: eval('ENOERRORMESSAGE') // say $! | 16:28 | |
p6eval | rakudo 0d77e4: OUTPUT«Could not find non-existent sub ENOERRORMESSAGE» | ||
diakopter | rakudo: eval('ENOERRORMESSAGE') // say $!; say 4; | 16:29 | |
p6eval | rakudo 0d77e4: OUTPUT«Could not find non-existent sub ENOERRORMESSAGE4» | ||
TimToady | the question is whether invoke($routine,@args) passes $routine as a value or as a variable | ||
or $routine.invoke(@args) | 16:30 | ||
I would argue that invoke doesn't see the varaible | |||
ia | |||
diakopter | but | 16:31 | |
16:31
arthur-- left
|
|||
carlin | rakudo: sub foo($bar) { say $bar }; my $x = 'x'; foo(undefine $x); | 16:31 | |
p6eval | rakudo 0d77e4: OUTPUT«Null PMC access in isa()in sub foo (/tmp/MFiaifDhR7:2)called from Main (/tmp/MFiaifDhR7:2)» | ||
masak | carlin++ # still going strong | 16:32 | |
carlin | Should I report these or can we just conclude that undefine is compeletely broken? | 16:34 | |
moritz_ | please report | 16:35 | |
the two options are not mutually exclusive ;-) | |||
M_o_C | TimToady: "I would argue that invoke doesn't see the varaible" # An implication of this would be, in regards of example 55, that Perl6 would dynamically convert $caffein to sub {}, or am I wrong? (I must admit I haven't read the spec yet) | 16:37 | |
s/)/. Only moritz++'s blog posts)/ | |||
16:38
nErVe joined,
sageb1 joined
|
|||
sageb1 | hello | 16:38 | |
masak now has the harness script exclaiming 'checkpoint! yeah!' -- surprisingly invigorating | |||
sageb1: oh hai! welcome! | 16:39 | ||
sageb1 | ctcp version? | ||
colomon | moritz_: on your latest blog post, the perl6.org link goes to perl.org. | ||
sageb1 | wtf? am i being fingered? | ||
:p | |||
diakopter | ? | ||
masak | ¿ | ||
M_o_C | Freenode does that upon connect. | ||
sageb1 | ooo ahhh, the server is fondling my ctcp version. oooo ahhh don't touch me like that :p | ||
avuserow | sageb1: one of the freenode services does that | ||
masak | sageb1: did you come in here just to emit techno-porn? | 16:40 | |
sageb1 | my title on my browser is flashing between activity and the channel name. that's what the ctcp is doing. | ||
masak | get a real client. :P | ||
sageb1 | technoporn is when you dance to techno whilst emitting asci porn | 16:41 | |
masak | been there, done that. | ||
TimToady | hugme: hug sageb1 | ||
hugme hugs sageb1 | |||
diakopter | TimToady: a statement node sometimes has an .arg - what's that | ||
oh, unary | 16:42 | ||
std: my $a=4;++$a | |||
p6eval | std 28320: OUTPUT«ok 00:03 40m» | ||
sageb1 | mmm a real client will get bumped from here until i use a user account unless i enter #sudo -u [username] $(locate bin/irc) irc.freenode.net --channel=perl6 --nick=sageb1 | 16:43 | |
yes, i use root. i own this computer! | |||
i forgot how to hug back, hugme | |||
can you teach me? | |||
masak | hugme: help | 16:44 | |
hugme | masak: (add \$who to \$project | list projects | show \$project | hug \$nickname) | ||
diakopter | TimToady: should Autoincrement be a statement or under EXPR? | ||
sageb1 | hm | ||
hug hugme | |||
TimToady | it's an EXPR | ||
masak | diakopter: well, 4 + ++$a is valid, no? | ||
sageb1 | hugme: help | 16:45 | |
hugme | sageb1: (add \$who to \$project | list projects | show \$project | hug \$nickname) | ||
masak | sageb1: you need to address it directly. | ||
diakopter | oops sry; misreading the yaml | ||
M_o_C | Should it really be _auto_increment? ;) Increment's suffice IMHO. | ||
diakopter | indents are too invisible | ||
sageb1 | that would work? (command \$who to ... etc?) | ||
16:45
frew__ left
|
|||
carlin | rakudo: undefine grammar; | 16:45 | |
masak | M_o_C: 'auto' as in 'to itself'. | ||
p6eval | rakudo 0d77e4: OUTPUT«Compilation unit cannot be anonymous at line 2, near ""in Main (src/gen_setting.pm:1619)» | ||
masak | M_o_C: I've wondered that, too. | ||
sageb1 | hugme, can you teach me in simple terms? | 16:46 | |
masak | moritz_: why the backslashes in the hugme help? | ||
sageb1 | because the special chars are also words in the yaml? | ||
TimToady | M_o_C: I doubt that anything is going to autovivify into a sub, more likely it'll try to call .() on Object, which would be a no-op coercion | ||
sageb1 | "$" is a word too | ||
just like add | 16:47 | ||
$[word] is probably a memory register | |||
masak hugs sageb1 too, just to be on the safe side | |||
M_o_C | masak: Ok. | ||
sageb1 | i.e. $who is probably the pointer to an address or node | 16:48 | |
opensourcer | How I write perl6 code and use modules from cpan I mean lwp, dumper or any. | ||
how can | |||
diakopter | rakudo: .WHAT | ||
p6eval | rakudo 0d77e4: ( no output ) | ||
diakopter | rakudo: !WHAT | 16:49 | |
p6eval | rakudo 0d77e4: OUTPUT«Syntax error at line 2, near "!WHAT"in Main (src/gen_setting.pm:3469)» | ||
opensourcer | using perl6::* will help me ? | ||
sageb1 | so the "\" is an escape to reuse "$" as a character | ||
masak | opensourcer: well, there's github.com/jnthn/blizkost | ||
opensourcer: it's a recent effort to make a bridge between Perl 6 and Perl 5 | |||
sageb1 | opensourcer, have you read the FAQ? | ||
TimToady | sageb1: you're being boring, which is a no-no on an entertainment channel like this | 16:50 | |
opensourcer | I just started exploring | ||
Installed perl6 (raduko) | |||
sageb1 | timtoady, but a question was asked about why "\" is used infront of "$". | ||
these questions are easy. opensourcer's are challenging | 16:51 | ||
diakopter | unterminated string constant | ||
sageb1 | opensourcer, how would you preface "perl6::*" and not get the perl "shell" to poop? | 16:52 | |
opensourcer | well the thing I want to start writing perl6 style syntax and use the perl5 modules | ||
masak | hm, at this point I actually wish I had the op bit... | ||
16:52
TimToady sets mode: +o masak
16:53
ChanServ sets mode: +o masak
|
|||
opensourcer | perl6::* ->Bundle-Perl6-0.12 | 16:53 | |
sageb1 | wouldn't that consist of running perl6 "shell" and pulling in the perl5 modules? | ||
16:53
sageb1 was kicked by masak (Kicked by masak))
|
|||
masak | thanks. | 16:53 | |
TimToady | no problem, I assure you! | ||
masak | :) | ||
diakopter | hm | ||
carlin | undefine sageb1; | ||
masak | *lol* | ||
opensourcer | sageb1 will Bundle-Perl6-0.12 this help to achieve my target (write perl6 code and use perl5::modules) | 16:54 | |
16:54
arthur-_ joined
16:55
clkao joined
|
|||
jrtayloriv | Could not find non-existent sub sageb1 | 16:55 | |
TimToady | std: undefine sageb1; | 16:56 | |
p6eval | std 28320: OUTPUT«Undeclared routine: sageb1 used at 1ok 00:02 37m» | ||
carlin | jrtayloriv: 'cause masak++ already kicked him | ||
TimToady | ah well, we shouldn't make fun of the insane | ||
masak | I interpreted his trolliness as loneliness. | 16:57 | |
but I guess s/insane/lonely/ still holds. | |||
TimToady | I interpreted it as someone who thinks unabated free association is funny | ||
moritz_ | masak: (re backslashes in hugme help) because of refactoring gone wrong ;-) | 16:58 | |
masak | moritz_: ah. well, now you know. | ||
TimToady | btw, why isn't hugme marked with a +? | ||
16:58
moritz_ sets mode: +v hugme
|
|||
carlin | hugme: hug moritz_ | 16:59 | |
hugme hugs moritz_ | |||
17:02
hugme left,
hugme joined
|
|||
moritz_ | hugme: help me | 17:02 | |
hugme | moritz_: (add $who to $project | list projects | show $project | hug $nickname) | ||
moritz_ | hugme: cuddle carlin | ||
hugme cuddles carlin | |||
17:03
Zloyrusskiy joined
17:05
TimToady sets mode: +v hugme
|
|||
masak hugs hugme | 17:06 | ||
TimToady | hugme++ | ||
carlin | @karma hugme | ||
TimToady | ENOBOT | ||
17:06
JimmyZ joined
17:07
JimmyZ left,
JimmyZ joined
|
|||
moritz_ | I kicked it after some accidential flooding, and it's been sulking since then | 17:08 | |
(I also invited it again) | |||
movie & | |||
TimToady | well, Perl 6 has lambdas too, so we could have a lambdabot of our own | 17:09 | |
17:10
syntheticore left
|
|||
TimToady | hopefully one that doesn't use such a common first character... | 17:10 | |
or that at least shuts up on things it doesn't recognize | |||
masak | that's what I programmed zarah to do. | 17:11 | |
she also has a few bareworkd commands, such as 'karma' and 'google', which don't require the '@'. | |||
hilarity can ensue when people start their sentences with 'google', however. | |||
s/workd/word/ | 17:12 | ||
TimToady | I think ` would be a good opening character, at least on my keyboard | ||
avuserow | google is a company? | 17:13 | |
hm. no hilarity. | |||
oh, no bot | |||
TimToady | ENOBOTAGAIN | ||
17:14
mberends left
17:15
mberends joined
|
|||
M_o_C | Re lambdabot: Until recently I did not know that there's a picture of lambdabot (www.haskell.org/haskellwiki/Lambdabot)... | 17:17 | |
17:20
snearch joined
|
|||
TimToady | maybe it should be sort:dirty | 17:21 | |
then we could have method talk:dirty | 17:22 | ||
which changes yourself for the worse | |||
17:23
rhr_ joined
|
|||
mberends sometimes does talk:self and maybe should sort:self | 17:24 | ||
TimToady | I was going to suggest just "does Mutation", but it really wants to be part of the name so you can write both versions if you want | 17:25 | |
JimmyZ | good localtime, #perl6 | ||
viklund | I feel like writing some code, where should I dive in? | 17:26 | |
TimToady | 你好 | ||
the deep end | |||
viklund | masak: suggestions? | ||
masak | viklund: oh boy, yes! | ||
JimmyZ | TimToady: 你也好啊 | ||
masak collates | 17:27 | ||
mberends | viklund: do you fancy re-writing proto *again* ? | ||
masak | 我们都好 | ||
viklund: hm, what mberends said, I think. proto is mid-refactor, and looks very interesting, but I'm mostly tied up with Web.pm. | 17:28 | ||
so pairing up with mberends would be Very Good. | |||
viklund | I'll have a look, haven't run any perl6 for several months, so I need to get rakudo et. al. | ||
masak | viklund: the refactor is in a branch. | 17:29 | |
JimmyZ | masak++; for his improving mandarin | 17:30 | |
viklund checks out githum | |||
masak: installed-modules? | |||
mberends | yup | 17:31 | |
masak | JimmyZ: I wish it were improving. :) that's intro stuff. | ||
viklund: aye. | |||
viklund | does --gen-parrot work as it did in march? | ||
i.e. can I call rakudo from other dirs? | |||
(read smth about installed parrot somewhere) | |||
17:31
azawawi joined
|
|||
azawawi | colomon: ping | 17:31 | |
masak | viklund: you basically need to install Parrot and Rakudo nowadays. | ||
mberends | viklund: you need to 'make install' | ||
azawawi | masak: hey! | 17:32 | |
TimToady | I just use --gen-parrot and make install | ||
seems to work everywhere | |||
masak | with Parrot, make install-dev, even. | ||
viklund | ok, I'll do that then | ||
colomon | azawawi: yes? | ||
masak | azawawi: ahoj! | ||
17:32
sm^^^ joined
|
|||
azawawi | colomon: what's the problem with perl6.exe ? | 17:33 | |
opensourcer | what's the difference between --gen-parrot and make and make install-dev ? | ||
colomon | doesn't do anything, as far as I can tell. (this is with the padre installer on 64-bit VIsta.) | ||
mberends | opensourcer: install-dev is in Parrot's Makefile, and is called automatically by Rakudo's 'Configure.pl --gen-parrot' | 17:34 | |
colomon | (this is the perl6 in the strawberry\six\bin directory) | ||
azawawi | colomon: Please Check "Edit/preferences/Run parameters/Use external windows for execution" | 17:35 | |
colomon: and run a script that says "hello world" or something | |||
viklund does some household stuff while waiting for compile | |||
colomon | azawawi: do that, and then it pops up an external window which simply says "Press any key to continue" | 17:36 | |
17:37
rhr left
|
|||
azawawi | colomon: on the command line, c:\strawberry\six\bin\perl6 -e "say 1;" | 17:37 | |
17:37
JimmyZ left
|
|||
colomon | azawawi: Nothing again. | 17:37 | |
opensourcer | ppl can give me the links for the perl6 tutorials | ||
colomon | perl6 --version doesn't give me anything either. | ||
azawawi | colomon: oh... | 17:38 | |
colomon | dir | ||
sorry, wrong window! :) | |||
opensourcer | may be u all got some excellent resources better than I have got | ||
TimToady | dur! | ||
colomon | azawawi: no errors, either, it's just giving me the silent treatment. | ||
mberends | opensourcer: www.perlgeek.de/blog-en/perl-5-to-6/ by moritz_++ | 17:39 | |
azawawi | colomon: come over to #padre @ irc.perl.org | ||
TimToady | read them in the order of the side bar | ||
opensourcer | thanks mberends | ||
17:39
alester joined
|
|||
masak | jog & | 17:40 | |
17:40
masak left,
payload left,
justatheory joined
|
|||
opensourcer | i got this when I was trying to compile /usr/bin/ld: cannot find -lperl ->blizkost | 17:41 | |
what is lperl | |||
TimToady | moritz_: why aren't 5-to-6 articles more obvious on perl6.org? | 17:42 | |
17:43
sm` left
|
|||
Tene | opensourcer: for all practical purposes, it's not possible to use PErl 5 modules from Perl 6 yet. | 17:48 | |
TimToady | well, except in pugs | ||
depending on what you mean by "practical" :) | |||
Tene | aw, ENOMASAK | 17:49 | |
17:50
payload joined
17:54
zostay left
|
|||
carlin | 'night all | 17:55 | |
17:56
FOAD joined
|
|||
TimToady | night carlin | 17:57 | |
17:58
snearch left,
zostay joined
|
|||
mikehh | rakudo (2c40a5b) builds on parrot r41366 - make test / make spectest (up to 28320) PASS - Ubuntu 9.04 i386 | 17:59 | |
opensourcer | pugs ? | 18:05 | |
Tene | Pugs is an earlier Perl 6 compiler that is no longer maintained or developed. | ||
viklund | mm, back | 18:06 | |
mberends: what needs to be done? | 18:08 | ||
in the proto branch | |||
mberends | viklund: in proto's installed-modules branch, the proto script contains a long TODO list at the end. Take a look, and we can discuss it here | 18:09 | |
viklund | ok | ||
I see that 9 is partly done | 18:16 | ||
diakopter lol at perlcabal.org/svn/pugs/revision/?rev=28320 | |||
viklund | is it the 'no makefile exists'-part left? | ||
18:16
molaf left
|
|||
viklund | hmm, didn't install november either... | 18:17 | |
mberends | the 'no makefile exists' is partly implemented | 18:19 | |
viklund | ok | ||
18:20
nErVe left
|
|||
diakopter | again, Pugs *is* maintained, just not in the pugscode repo. It has its own category in Hackage: hackage.haskell.org/packages/archiv...l#cat:pugs | 18:20 | |
viklund | hmm | 18:22 | |
mberends | diakopter: that's good news :) | ||
viklund | question, is RAKUDO_DIR really necessary when the installed-modules branch is finished? | 18:24 | |
mberends: so, what works is everything up to 'install' | 18:26 | ||
no that works too | 18:27 | ||
mberends | 'install'' currently works *only* if 'fetch' has been done. That must be fixed. | 18:28 | |
viklund | install doesn't fetch? | ||
mberends | no yet, but it should | ||
viklund | I can look into that for a start | 18:29 | |
personally, I find it quite strange that 'fetch' 'builds' | |||
mberends | we may clean that up | ||
viklund | ahh, I can see the big TODO in the first for-loop in method install | 18:30 | |
mberends | exactly! | 18:31 | |
viklund | things are checked via $.ecosystem.get-state? | ||
mberends | yes | ||
that may not be orthogonal for all states yet, because there were methods such as is-fetched() before | 18:32 | ||
18:33
sevvie left
|
|||
viklund | orthogonal? | 18:34 | |
mberends | state is a newcomer in this branch. previously there were is_*() methods and no central store of state | 18:35 | |
the refactoring has not been bold enough yet to move all the functionality across | 18:36 | ||
viklund | ahh | ||
hmm, an unexisting project fails | 18:38 | ||
no state to check | |||
and the parsing of the file fails | |||
projects.state | |||
mberends | it's *fragile* | 18:39 | |
viklund | needs to fix that first then I guess... | ||
but now, my daughter calls | 18:40 | ||
brb | |||
18:43
Su-Shee left
18:44
zev joined
18:50
sm^^^ left,
payload left
18:54
MicrosoftWord joined,
kaesebrot joined
18:56
Frakfrak joined
|
|||
Frakfrak | hi | 18:56 | |
18:56
Frakfrak left
18:59
payload joined
|
|||
TimToady | moritz_: bad link in your blog, see the comment there | 18:59 | |
19:04
kaesebrot left,
MicrosoftWord left
|
|||
viklund | ahh, now she's sleeping | 19:07 | |
mberends | viklund: ok, another TODO will be restructuring as a MVC application: irclog.perlgeek.de/perl6/2009-09-18#i_1512466 | 19:08 | |
viklund | yes | 19:09 | |
is-fetched and is-installed should be removed from Ecosystem? | 19:10 | ||
is-installed isn't even used, removing | |||
azawawi | moritz_: perl6 compiled on 32-bit win32 does not print out anything on 64-bit win32 | 19:11 | |
moritz_: c:\strawberry\six\bin\perl6 -e "say 1;" => nothing | |||
moritz_: and build seems to fail to 64-bit | |||
mberends | viklund: correct | ||
19:13
Jedai left
19:14
meteorjay left
19:16
_jaldhar left
|
|||
viklund | is 'notinstalled' really a good state for a failed install? | 19:17 | |
isn't 'failedinstalled' or smth better | 19:18 | ||
'failed-install' | 19:20 | ||
19:20
jaldhar joined
19:21
synth left,
synth^2 left
|
|||
mberends | the bikeshed meeting is about to begin... | 19:23 | |
viklund | whatever.. | ||
I'll just do then | |||
and you complain later ;) | |||
mberends | while it's in the branch there is little impact from renaming things anyway. | 19:24 | |
sometimes it's better to let it have a few names to see how they 'feel' | |||
viklund | but the following (successfull) states should exist <fetched tested installed> right? | 19:25 | |
ahh, and built | 19:26 | ||
mberends | yes, but fetched is implied by the existence of a directory in cache/ | ||
viklund | yes, but shouldn't get-state return 'fetched'? | 19:27 | |
mberends | ah, got ya | 19:28 | |
19:28
am0c joined
|
|||
mberends | it returns 'fetched' but without depending on projects.state | 19:28 | |
viklund | yes | ||
mberends | :-) | 19:29 | |
azawawi | moritz_, pmichaud: rakudo Seattle build error over 64-bit 2003 server gist.github.com/189558 | ||
19:31
cj left
19:36
lucs joined
|
|||
viklund | ehm, if a project is installed, install is a no-op, right? | 19:47 | |
19:48
jaldhar left
|
|||
mberends | probably, the only other action might be re-install (as an update or repair) | 19:48 | |
no-op, Keep It Simple, Stupid | 19:49 | ||
19:50
opensourcer left
|
|||
diakopter | rakudo: say ++'hi' | 19:53 | |
viklund | what is the motivation behind method vs. submethod> | ||
p6eval | rakudo 0d77e4: OUTPUT«Unable to set lvalue on PAST::Val nodein Main (src/gen_setting.pm:3469)» | ||
mberends | I think submethods are hidden outside of the class | ||
viklund | ok, like private.. | ||
mberends | right | 19:54 | |
viklund | isn't there smth with inheritence as well... | ||
viklund looks for the spec | |||
mberends | right, S12 says submethods are not inherited | 19:56 | |
19:56
azawawi left
|
|||
quietfanatic | rakudo: multi x ($x) {$x.say}; map &x, (3, 4) | 19:57 | |
p6eval | rakudo 0d77e4: OUTPUT«No applicable candidates found to dispatch to for 'map'in sub map (src/gen_setting.pm:333)called from Main (/tmp/1ugAgyaI3e:2)» | ||
quietfanatic | map doesn't work on multis. | 19:58 | |
rakudo: sub x ($x) {$x.say}; map &x, (3, 4) | |||
p6eval | rakudo 0d77e4: OUTPUT«34» | ||
quietfanatic | This is unfortunate. | ||
diakopter | quietfanatic: want to fix it? :P | 20:00 | |
TimToady | rakudo: multi x ($x) {$x.say}; say &x.WHAT | ||
p6eval | rakudo 0d77e4: OUTPUT«» | ||
TimToady | O_O | ||
quietfanatic | How can I? | ||
mberends | class A { submethod sm() { "oh hai".say } }; A.new.sm; # viklund: it's not private | ||
TimToady | rakudo: sub x ($x) {$x.say}; say &x.WHAT | ||
p6eval | rakudo 0d77e4: OUTPUT«Sub()» | ||
diakopter keeps bumping into walls | 20:01 | ||
20:01
bctrainers joined
|
|||
TimToady | &x should be of type Sub regardless | 20:01 | |
rakudo: multi x ($x) {$x.say}; say &x.(42) | 20:03 | ||
p6eval | rakudo 0d77e4: OUTPUT«421» | ||
spinclad | rakudo: class A {method unself {my $c = self; undefine VAR($c)}}; my $a = A.new; my $b = $a; $b.unself; say $a | 20:04 | |
TimToady | rakudo: multi x ($x) {$x.say}; say &x.PARROT | ||
p6eval | rakudo 0d77e4: OUTPUT«A()<0xb6459f88>» | ||
rakudo 0d77e4: OUTPUT«Perl6MultiSub» | |||
TimToady | it's a leaky concretion | ||
spinclad | rakudo: class A {method unself {undefine VAR(self)}}; my $a = A.new; my $b = $a; $b.unself; say $a | ||
p6eval | rakudo 0d77e4: OUTPUT«Could not find non-existent sub VAR» | ||
spinclad | .oO{ nice context-dependent macro VAR, only visible when its arg _is_ a var... } | 20:08 | |
20:11
synth joined
|
|||
spinclad | should this error message be more like «Could not apply macro VAR to non-variable», or should it hide in the shadows until it applies? | 20:11 | |
TimToady is now thinking about multi macros... | 20:13 | ||
spinclad | rakudo: sub VAR($a) { say "hai from $a !" }; my $foo; undefine VAR($foo) | 20:14 | |
p6eval | rakudo 0d77e4: ( no output ) | ||
spinclad | rakudo: sub VAR($a) { say "hai from $a !" }; my $foo; undefine VAR($foo); say $a | ||
viklund | *sigh* november and html-template are dependent on perl6.pbc ... | ||
p6eval | rakudo 0d77e4: OUTPUT«Symbol '$a' not predeclared in <anonymous> (/tmp/VbQCLi8KZJ:2)in Main (src/gen_setting.pm:3469)» | ||
spinclad | rakudo: sub VAR($a) { say "hai from $a !" }; my $foo; undefine VAR($foo); say $foo | ||
p6eval | rakudo 0d77e4: OUTPUT«Use of uninitialized value» | ||
spinclad | (yeesh!) | ||
rakudo: sub VAR($a) { say "hai from $a !" }; my $foo = 1; undefine VAR($foo); say $foo | |||
p6eval | rakudo 0d77e4: OUTPUT«Use of uninitialized value» | ||
spinclad | (sorry for spam) | 20:15 | |
quietfanatic | rakudo: sub VAR($a) { say "hai from $a !" }; class A {method unself {undefine VAR(self)}}; my $a = A.new; my $b = $a; $b.unself; say $a | ||
p6eval | rakudo 0d77e4: OUTPUT«hai from A()<0xb5c598c0> !maximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called | ||
..from… | |||
quietfanatic | Um. | 20:16 | |
20:17
finanalyst left
|
|||
diakopter | nice one | 20:18 | |
TimToady | perhaps we should undefine undefine | 20:20 | |
diakopter | quietfanatic: here you go: | ||
rakudo: undefine .say; say(3) | |||
spinclad | rakudo: class A {method unself {undefine say "hai from A !"}}; my $a = A.new; my $b = $a; $b.unself; say $a | 20:21 | |
p6eval | rakudo 0d77e4: OUTPUT«Use of uninitialized valuemaximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print | ||
..(src/gen_setting.pm:1308)called fro… | |||
rakudo 0d77e4: OUTPUT«hai from A !maximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method | |||
..IO::pr… | |||
spinclad | rakudo: class A {method unself {undefine 1}}; my $a = A.new; my $b = $a; $b.unself; say $a | ||
viklund | what? | ||
quietfanatic | Aha. | ||
p6eval | rakudo 0d77e4: OUTPUT«A()<0xb5b929b0>» | ||
quietfanatic | rakudo: undefine &undefine; undefine 1 | 20:22 | |
p6eval | rakudo 0d77e4: ( no output ) | ||
spinclad | rakudo: class A {method unself {undefine say 1}}; my $a = A.new; my $b = $a; $b.unself; say $a | ||
p6eval | rakudo 0d77e4: OUTPUT«1maximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print | ||
..(src/ge… | |||
TimToady | how 'bout we just make sure .defined is rw instead so people can say .defined = 0 | ||
quietfanatic | rakudo: my $a = 1; undefine &undefine; undefine $a; say $a | ||
p6eval | rakudo 0d77e4: OUTPUT«invoke() not implemented in class 'Undef'in Main (/tmp/aMYHkxC6H6:2)» | ||
quietfanatic | Yep, I undefined undefine. | 20:23 | |
diakopter | har | ||
now undefine invoke | |||
TimToady | and then implement undefine as sub ($obj) { $obj.defined = 0 } | ||
spinclad | rakudo: undefine say 1; say 2; | ||
p6eval | rakudo 0d77e4: OUTPUT«1maximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print | ||
..(src/ge… | |||
spinclad | rakudo: sub undefine ($obj) { $obj.defined = 0 }; undefine say 1; say 2; | 20:24 | |
p6eval | rakudo 0d77e4: OUTPUT«12» | ||
viklund | right, now it's possible to install stuff by doing ./proto install <project> | ||
spinclad | (so what is undefine say 1 undefining?) | 20:25 | |
viklund | nothing pushed yet though | ||
diakopter | rakudo: my $und = .undefine; | 20:26 | |
p6eval | rakudo 0d77e4: OUTPUT«Method 'undefine' not found for invocant of class 'Failure'» | ||
spinclad | rakudo: sub undefine ($obj) { say $obj }; undefine say 1; say 2; | ||
p6eval | rakudo 0d77e4: OUTPUT«112» | ||
mberends | viklund++ | ||
spinclad | rakudo: sub undefine ($obj) { say $obj.WHAT }; undefine say 1; say 2; | ||
p6eval | rakudo 0d77e4: OUTPUT«1Bool()2» | ||
spinclad | rakudo: undefine Bool::True | 20:27 | |
p6eval | rakudo 0d77e4: ( no output ) | ||
diakopter | ETOOMUCHFUN | ||
spinclad | rakudo: undefine Bool::True; say 2 | ||
p6eval | rakudo 0d77e4: OUTPUT«maximum recursion depth exceededin method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print (src/gen_setting.pm:1308)called from method IO::print | ||
..(src/gen_… | |||
spinclad | ( aha ) | ||
quietfanatic | rakudo: say undefine &say | 20:28 | |
p6eval | rakudo 0d77e4: OUTPUT«invoke() not implemented in class 'Undef'in Main (/tmp/gBxT3hYe1o:2)» | ||
TimToady | I think I'd better drag quietfanatic away from this cesspool of destruction | 20:29 | |
diakopter | rakudo: (undefine &say).say | ||
quietfanatic | Herm. | ||
p6eval | rakudo 0d77e4: OUTPUT«Null PMC access in find_method()in Main (/tmp/PH2hGKtjOH:2)» | ||
diakopter | TimToady: plz add make_undefinable, too, plz. please. | 20:30 | |
quietfanatic | .=drag & | 20:31 | |
TimToady | I'll have to make make_undefinable definable first... | ||
spinclad | .kick; .scream | ||
viklund | pushed | ||
TimToady enters dragging mode & | |||
20:31
am0c left
|
|||
diakopter | also, make sure to make make_undefinable undefinable. | 20:32 | |
wait. | 20:33 | ||
I meant. | |||
make_nondefinable | |||
also, make_nonundefinable | |||
20:33
snearch joined
|
|||
diakopter | hence the confusion. | 20:34 | |
rakudo: (undefine &say).say | |||
p6eval | rakudo 0d77e4: OUTPUT«Null PMC access in find_method()in Main (/tmp/FdnMJlNLjF:2)» | ||
diakopter | rakudo: (undefine &undefine).undefine | 20:35 | |
p6eval | rakudo 0d77e4: OUTPUT«Null PMC access in find_method()in Main (/tmp/4ODgJsBB72:2)» | ||
diakopter | rakudo: (undefine &undefine).say | ||
p6eval | rakudo 0d77e4: OUTPUT«Null PMC access in find_method()in Main (/tmp/2ZgMVATqRN:2)» | ||
diakopter | oh | ||
mberends | viklund: pulled, viewing github.com/masak/proto/commit/69696...fd67bf16c0 | 20:36 | |
nice, the Ecosystem class is doing a good job as MVC Model | 20:37 | ||
20:40
jauaor left
|
|||
viklund | :( | 20:40 | |
sry | |||
:) | |||
smiley-fail | 20:43 | ||
mberends | :-] | 20:45 | |
viklund | update should only work on installed projects right? | 20:46 | |
mberends | right | ||
20:46
etoxam joined
|
|||
viklund | so it's similar to refresh | 20:46 | |
mberends | yes, in fact it probably depends on refresh | 20:47 | |
viklund | yes... hmm | ||
mberends | and test | ||
viklund | update is simple | ||
(I think) | |||
famous last words... | |||
mberends | there may be dragons in multiple project installs, and dependency trees | 20:48 | |
ok, dependency lists in proto | |||
viklund | but an update should install a new dep right | 20:49 | |
at least, that's what I would expect | |||
mberends | the new version of a project may depend on more or fewer others | 20:50 | |
viklund | yes | ||
does that matter? | |||
update: check @projects are installed -> refresh -> install | |||
mberends | so maybe uninstall old, then install from scratch | ||
viklund | mberends: right, but uninstall doesn't remove old deps, but it should remove old files that might not be used anymore... | 20:51 | |
and unistall will be tricky if there's no Makefile | |||
(unless we keep track of thinks) | 20:52 | ||
mberends | that means uninstall removes from ~/.perl6/lib but not from cache/ | ||
viklund | ahh, we can use the cache to uninstall the projects wo Makefile | ||
nice | |||
mberends | Makefile is optional, requiring two different install and uninstall strategies | 20:53 | |
viklund | yes | ||
mberends | but from what u just wrote, also two cache directories (old and new) | ||
viklund | mberends: in case update fails... | 20:54 | |
20:54
etoxam left
|
|||
mberends | there is that, and for the without-Makefile scenario, the old cache tells proto what to uninstall | 20:55 | |
viklund | ahh, you're delaying uninstall untill just before install... | ||
s/ill/il/ | |||
mberends | testing (if config.proto mandantes it) might also fail | 20:56 | |
this was for the update case | |||
viklund | yes | ||
mberends | yes, the user will expect a failed update to leave the old install intact | 20:57 | |
viklund | Yes, my first reaction was to uninstall, run all the update thingies and if anything failed install the old one again, but I see now that that was kind of, ehm, wrongish | 20:58 | |
mberends | oh, that seems to need a kind of transaction rollback | ||
mberends remembers why he hadn't written this part | 20:59 | ||
mberends remembers masak++ not offering to do it either ;) | |||
viklund | basically we need to change the ecosystem<Proto projects cache>, temporarily for the update | 21:00 | |
21:01
hugme left
|
|||
viklund | and make sure that all commands return success on success and error on error | 21:01 | |
21:01
hugme joined
|
|||
viklund | hug hugme | 21:01 | |
mberends | hugme: hug moritz_ | ||
hugme hugs moritz_ and blushes | |||
21:01
etoxam joined
|
|||
viklund | ahh | 21:02 | |
hugme: hug me | |||
hugme hugs viklund | |||
viklund | of course | ||
diakopter | hugme: kill me | ||
hm | |||
mberends | thank goodness | ||
diakopter | hugme: hug hugme | ||
hugme hugs hugme | |||
diakopter | (and cringes) | 21:03 | |
21:04
jaldhar joined
|
|||
mberends | viklund: you're right about success/fail status, I guess TODO 12 about robustness vaguely means that without saying how. | 21:04 | |
moritz_ | TimToady: re "why isn'6 perl-5-to-6 more obvious on perl6.org?", maybe I should put them somewhere sequentially, and point perl6.org there | 21:05 | |
mberends | before delving into uninstall and update, it might help to develop the non-clobbering file copy routine for install. (Installer.pm:411) | ||
viklund | mberends: *sigh*, ok... | 21:06 | |
:D | |||
so, how to traverse a tree... | |||
mberends | it's probably a matter of listing the files, then copying one by one. Uninstall can use the same listing. | 21:07 | |
21:07
sparc joined
|
|||
viklund | or rather; time to read S32/IO | 21:07 | |
mberends | if directory reading is NYI, we may have to qx{ls -r} | 21:08 | |
rakudo: say qx{ls -R}; # not -r | 21:10 | ||
p6eval | rakudo 0d77e4: OUTPUT«operation not permitted in safe modein Main (/home/evalenv/p2/lib/parrot/1.6.0-devel/languages/perl6/lib/Safe.pm:25)» | ||
mberends | Safe++ | ||
21:10
etoxam left
|
|||
viklund | hmm, I don't understand how that IO::Directory is supposed to be used, I'll go with qx instad | 21:12 | |
mberends | qqx{ls -R $project-dir} returns one long multiline string | 21:15 | |
viklund | aye | ||
.split(/\n+/) | 21:16 | ||
mberends | good, that + is helpful | ||
viklund | yes, I noticed it was necessary | ||
the ls -R output is slightly off | 21:17 | ||
s/off/of/ | |||
or maybe not | |||
mberends | the lines ending in : are your tree | 21:18 | |
viklund | whatever, isnt 'find <dir>' better, we'll get full pathnames | ||
qqx{ find $project-dir -type f } | |||
mberends | right, much more convenient | 21:19 | |
the non-clobbering aspect would be to test for the non existence of all the files before copying, and to fail if any files already exist (because they belong to other projects) | 21:22 | ||
viklund | yes, I thought so too | ||
mberends | the error message had better say exactly what's wrong, otherwise we have to add a --force option | ||
viklund | ;) | 21:23 | |
mberends | rather let the user fix it manually (and take the blame) | ||
viklund | won't install since the file $destination already exists? | 21:24 | |
21:25
jauaor joined
|
|||
mberends | yes. in MVC style, that message should not be printed by Installer, but passed to the View (which does not yet exist). | 21:26 | |
viklund | yes | ||
so, do you know any project off-hand that doesn't have a Makefile? | |||
mberends | there are some, form possibly | 21:27 | |
viklund | it's a good a start as any I guess | ||
nope, had a makefile | 21:28 | ||
mberends | I have tried './proto fetch all', it falls over a little but gets there after a restart. | 21:30 | |
viklund | mberends: good idea, I was thinking of doing a 'install all', but I guess that fetch is better | 21:31 | |
mberends | you're right though that auto-building is somewhat odd | ||
it might be fairly easy to separate out those activities | 21:33 | ||
mberends runs './proto fetch all' on the the branch out of curiosity | 21:34 | ||
viklund | ahh csv doesn't have a makefile | 21:35 | |
mberends | project epoxy-resin fails to download | ||
viklund | ahh | 21:39 | |
21:40
abra joined
|
|||
mberends | "downloading november..." | 21:40 | |
submethod download-and-build-projects-and-their-deps(@projects) # combined the fetching and building because dependencies had to be downloaded and built before the dependent projects could be built. | 21:46 | ||
but if the API is changed so that the download returns a longer list of projects to be built, then the two activities can be separated. | 21:47 | ||
viklund | yes | ||
the checking of existing files is almost done | 21:49 | ||
mberends | *applause* | ||
21:50
opensourcer joined
21:51
gbarr joined
|
|||
diakopter | zounds | 21:51 | |
21:52
alester left
|
|||
viklund | pushed | 21:53 | |
21:54
zamolxes joined
|
|||
mberends | pulled | 21:56 | |
viklund | as I said csv is without Makefile | 21:57 | |
mberends | right, fetching csv | 21:58 | |
22:00
bctrainers left
|
|||
viklund | ahh, day change | 22:00 | |
time to go to bed | 22:01 | ||
good night all | |||
mberends | ok, thanks for the good work! | ||
viklund | I'll probably pop in tomorrow as well | ||
mberends | :) | 22:02 | |
22:04
snearch left
22:05
gbarr left
22:07
iblechbot left
|
|||
mikehh | rakudo (2c40a5b) builds on parrot r41370 - make test / make spectest (up to 28320) PASS - Ubuntu 9.04 i386 | 22:08 | |
22:11
Zloyrusskiy left
22:26
alester joined,
abra left
22:38
alester left
22:42
alester joined
22:44
r0bby is now known as r0bby|arr
22:50
opensourcer left
23:00
hudnix left
|
|||
diakopter | rakudo: 1++ | 23:08 | |
p6eval | rakudo 0d77e4: OUTPUT«Unable to set lvalue on PAST::Val nodein Main (src/gen_setting.pm:3469)» | ||
23:08
zerhash left
23:11
mikehh left
23:27
mberends left
23:38
meppl left,
mikehh joined
23:47
desertm4x_ left
|