»ö« | 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/lib␤lib␤.␤»
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«foo␤maximum recursion depth exceeded␤in 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 exceeded␤in 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«foo␤maximum recursion depth exceeded␤in 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«3␤1␤␤ 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 foo␤OH 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 foo␤in 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 1␤ok 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 1␤ok 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 ENOERRORMESSAGE␤4␤»
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 1␤ok 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 node␤in 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«3␤4␤»
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«42␤1␤»
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 exceeded␤in 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 value␤␤maximum recursion depth exceeded␤in 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 exceeded␤in 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«1␤maximum recursion depth exceeded␤in 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«1␤maximum recursion depth exceeded␤in 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«1␤2␤»
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«1␤1␤2␤»
mberends viklund++
spinclad rakudo: sub undefine ($obj) { say $obj.WHAT }; undefine say 1; say 2;
p6eval rakudo 0d77e4: OUTPUT«1␤Bool()␤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 exceeded␤in 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 mode␤in 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 node␤in 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