perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/
Set by mncharity on 25 March 2009.
s1n how do i indicate a method in a class/role cannot be overwritten? 00:01
similar to leaving final (in Java) or virtual (in C++) off the proto/definition
i want the derived/composed class to inherit the method but it cannot override it 00:02
Casan s1n: not sure for sure. but try checking perlcabal.org/syn/S12.html#Class_methods at the end. maybe a metaclass method can do it, but its just an idea. I haven't tried this. 00:23
lambdabot Casan: You have 1 new message. '/msg lambdabot @messages' to read it.
wayland76 s1n: That's a rather non-Perl-like idea :) 00:45
skids wonders if evalbot could be made to put the current IRC buffer into it's STDIN pipes. 01:04
LylePerl_ eval: say $*CWD 01:04
evalbot: say $*CWD 01:05
skids perl6: say $*CWD
p6eval rakudo d208e1: OUTPUT«Use of uninitialized value␤␤»
..elf 26237, pugs: OUTPUT«␤»
LylePerl_ hmm 01:06
on my local pugs that works...
LylePerl_ pugs_svn: say $*CWD 01:08
skids Maybe something to do with how it's jailed?
LylePerl_ How do I query the eval bots individually? 01:09
skids rakudo, pugs, elf, stc 01:09
erm std
Oh and mildew
LylePerl_ pugs: say $*CWD 01:09
p6eval pugs: OUTPUT«␤»
LylePerl_ thanks skids
skids np
LylePerl_ I'm trying to figure out the chdir tests 01:11
pugs just uses $*CWD to get the current working directory
perl 5 uses the Cwd module that calls on a load of builtins from the OS 01:12
I'm not sure what to do :/
LylePerl Is Rakudo going to get $*CWD? Or should I port some of the Perl 5 code? 01:15
skids There's some set of builtins, but I'm trying to remember if they are still under $* 01:16
skids Something in that general area of the spec got changed. 01:16
LylePerl yes $*CWD isn't in the spec
skids rakudo: $*PID.say 01:17
p6eval rakudo d208e1: OUTPUT«Use of uninitialized value␤␤»
skids rakudo: $*VM.say 01:22
p6eval rakudo d208e1: OUTPUT«Use of uninitialized value␤␤»
skids rakudo: $*PERL.say
p6eval rakudo d208e1: OUTPUT«Use of uninitialized value␤␤»
LylePerl hmm looks like parrot has the functionality docs.parrot.org/parrot/latest/html/...s.pmc.html 01:23
I guess I can just hack onto this?
skids rakudo: %*ENV<PWD>.say 01:27
p6eval rakudo d208e1: OUTPUT«/home/evalenv/rakudo␤»
LylePerl doesn't work for me locally :( 01:28
skids What OS?
LylePerl vista 01:29
skids methinks that is probably why :-)
skids rakudo: $*CWD := %*ENV<PWD>; $CWD.say; 01:30
p6eval rakudo d208e1: OUTPUT«Scope not found for PAST::Var '$CWD' in ␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)␤»
skids rakudo: our $*CWD := %*ENV<PWD>; $CWD.say; 01:31
p6eval rakudo d208e1: OUTPUT«/home/evalenv/rakudo␤»
LylePerl Is there a quick a clever perl 6 way to display all the %*ENV?
skids %*ENV{}.say 01:32
rakudo: our $*CWD := %*ENV<PWD>; $*CWD.say;
p6eval rakudo d208e1: OUTPUT«/home/evalenv/rakudo␤»
LylePerl rakudo: %*ENV{}.say
p6eval rakudo d208e1: 01:33
..OUTPUT«screen/bin/bashevalenv/home/evalenv/pugs/v6/smop/build/no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzm...
skids yeah here that will be truncated.
LylePerl locally I'm getting "No Applicable Methods"
Does that mean vista isn't giving an %*ENV at all? 01:34
skids Probably Parrot doesn't yet implement the Env class on VIsta. 01:35
LylePerl Been playing with parrot and is does have Env on vista, I found a script on docs.parrot.org/parrot/latest/html/...s.pod.html that prints it 02:11
no PWD though
pugs: %*ENV{}.say 02:18
p6eval pugs: OUTPUT«␤»
skids Tried %*ENV<CD> on Vista? 02:48
LylePerl yes, empty 02:51
but %*ENV<OS> works
So I guess vista has an issue with %HASH{}.say... I'll write some test code in the morning and file a bug 02:53
skids vistaonwindows.com/environment_variables.html
Check a normal hash? 02:54
rakudo: my %d; %d<a b c> = <1 2 3>; %d{}.say 02:55
p6eval rakudo d208e1: OUTPUT«123␤» 02:55
skids rakudo: my %d; %d<a b c> = <1 2 3>; %d{}.perl.say
p6eval rakudo d208e1: OUTPUT«["1", "2", "3"]␤»
skids rakudo: my %d; %d<a b c> = <1 2 3>; %d.perl.say
p6eval rakudo d208e1: OUTPUT«{"a" => "1", "b" => "2", "c" => "3"}␤»
skids rakudo: my %d; %d<a b c> = <1 2 3>; %*ENV.perl.say 02:55
p6eval rakudo d208e1: OUTPUT«{"TERM" => "screen", "SHELL" => "/bin/bash", "USER" => "evalenv", "LD_LIBRARY_PATH" => "/home/evalenv/pugs/v6/smop/build/", "LS_COLORS" =>
.."no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex...
skids OK, I forgot it doesn't .kv 02:56
LylePerl rakudo: my %d; %d<a b c> = <1 2 3>; %d{}.say 03:02
p6eval rakudo d208e1: OUTPUT«123␤»
LylePerl all working for me apart from the when it's with %*ENV 03:03
Going to bed. Thanks again
s1n bleh, Casan's recommendation to use a metaclass method is wrong, as i understand it, metaclass methods are similar to class functions in java or static members in c++ 03:57
masak good morning, PMC-camels. 04:57
diakopter masak: howdy 05:18
masak diakopter: ah, someone is here after all. :)
wayland76 More than one... :) 05:23
pugs_svn r26238 | masak++ | [elf/README] fixed two small errors 05:30
Matt-W Good morning #perl6 10:33
literal hi 10:34
wayland76 Good evening Matt-W :) 11:01
ruoso Hello! 11:37
wayland76 hi 11:42
LylePerl hi 14:33
LylePerl quiet today, guess everyone is (getting ready for)|(traveling to) NPW 14:35
mberends Amsterdam -> Oslo o/ 14:37
wayland76 I'm not. I've unwisely started coding an interlinear editing widget in Perl 5 :) 15:06
And I'm addicted :)
Matt-W a what?? 15:08
wayland76 An interlinear editing widget :) 15:08
Matt-W what's an interlinear editing widget?
I've never heard of the concept
wayland76 An interlinear book is one which has eg. the first line in Greek, and the second line is an English translation 15:09
[particle]- it lets you edit what's between the lines
wayland76 ...and the third line is Greek again
wayland76 Am I right in assuming you don't need "editing widget" explained? 15:10
Matt-W oh wow 15:12
so it's designed for editing books in that format
rather than, say, editing the two languages separately and getting the typesetter to combine them later 15:13
that sounds challenging
nice to have a challenge
wayland76 Yes, that's right :) 15:16
And, since the whole thing will have to be kinda based around cells, I'm going to add the extra challenge of also supporting other editing widgets (ie. equation widgets) in it too 15:17
But I'll hopefully use other people's equation widgets
jnthn has arrived in Oslo for NPW :-) 15:46
literal use.perl.org/~Ovid/journal/38809?from=rss 16:43
How does Perl 6 do this?
better summary of this -> www.nntp.perl.org/group/perl.moose/...sg683.html 16:44
mofino if perl5 can do it, i'm sure perl6 can do it 16:49
(guess)
literal can yes, but will it?
mofino perl6 isn't sentient, it cannot make that choice 16:50
literal I don't think you understand
tpf_particle rakudo: role a { method b { say 'role' } }; class c does a { method b { say 'class' }; say a.b(); 16:51
literal I'm asking if the method in this case will be overridden silently or with a warning
p6eval rakudo d208e1: OUTPUT«Unable to parse block; couldn't find final '}' at line 1, near ""␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
tpf_particle rakudo: role a { method b { say 'role' } }; class c does a { method b { say 'class' } }; say a.b();
p6eval rakudo d208e1: OUTPUT«Could not locate a method 'b' to invoke on class 'Role'.␤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)␤»
mofino literal, i don't think you understand me ;)
tpf_particle rakudo: role a { method b { say 'role' } }; class c does a { method b { say 'class' } }; say c.b();
p6eval rakudo d208e1: OUTPUT«class␤1␤»
tpf_particle rakudo: role a { method b { say 'role' } }; class c does a { method b { say 'class' } }; c.b(); 16:52
p6eval rakudo d208e1: OUTPUT«class␤»
tpf_particle anyway, that's just as ovid said. class method silently overrides role method.
wayland76 I'd rather not have the warnings. It would be like issuing a warning if you overrode something with inheritance 16:53
cjfields agreed
tpf_particle well, it's a different warning, since you're overriding with composition. but, yes, it is like it.
i'd like the warnings to exist, but not be enabled by default
wayland76 That would be fine by me 16:54
tpf_particle however, since the object system is totally pluggable in perl 6, you can define a new class metaobject that does the warning.
so, if they don't exist in std perl 6, fine, create a small module that puts them in for you. 16:55
wayland76 :)
cjfields the way Moose is handling that is the other way around, correct? enabling warnings, requiring an explicit 'excludes' to indicate an override? 16:55
wayland76 That's how it seems to me from one of the linked articles 16:56
cjfields yes, looks like stevan implemented that
www.nntp.perl.org/group/perl.moose/...sg683.html
wayland76 backlog will be short today :) 19:27
dalek kudo: a4535c1 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 362 files, 10357 passing, 0 failing
20:13
skids OK, kids, I'm going to commute home now. Play nice. Share the toys. Don't everyone start talking at once! 20:58
skids bets dalek will be the top talker tomorrow. 20:59