pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
veritos yo... 04:55
AzureStone blog.yappo.jp/yappo/archives/000542...plucoreirc 06:11
lambdabot Title: YappoLogs: おきなわにきてる
AzureStone 間違えた
すいません、間違えました。 06:12
tokuhiro_ ?eval "<naoya>"|"</naoya>" 06:25
Yappo__ AzureStone-- 06:29
Tene pugs: "<naoya>"|"</naoya>" 06:45
exp_evalbot OUTPUT[("</naoya>" | "<naoya>")␤]
tokuhiro_ oh.
is topic wrong? 06:46
Tene the "normal evalbot" seems to be missing. 06:47
That's been in the topic for a long time.
tokuhiro_ oh
Tene I guess exp_evalbot gets used a bit more than the "normal" evalbot these days.
kp6: "<naoya>"|"</naoya>" 06:48
exp_evalbot r18910: OUTPUT[Can't locate object method "new" via package "IO::Handle" at script/kp6 line 340, <> line 1.␤]
tokuhiro_ ok.thanks. 06:49
Tene np 06:50
lichtkind is there a errelse? 14:47
fglock lichtkind: norr :) 15:13
lichtkind fglock: thanks 15:14
fglock: you mean not yet :)
ebassi would be nice having a "orelse" - if (eat_your_soup()) { } orelse { go_to_your_bedroom() } 15:15
lichtkind i dont understand sense of orelse since the right block is ony executed if the left has no result why pass then the result over?
fglock: my perl 6 tutorial has since 2 weeks also chapter about kp6, is ther eanything you want to have mentioned? 15:16
fglock lichtkind: have a link?
lichtkind its german either :)
fglock: wiki.perl-community.de/bin/view/Wis...pitel1#kp6 15:17
lambdabot Title: PerlCommunityWiki 􏿽xBB Wissensbasis 􏿽xBB Perl6TutorialKapitel1, tinyurl.com/2qeq2v
fglock looking 15:18
lichtkind you can german? 15:19
btw the perlfoundation wiki seems buggy
i dont get any affirmation mail
fglock lichtkind: I read very slowly and I miss some words, but it looks ok :) 15:21
lichtkind: you should also mention v6.pm, which is a separate project 15:22
lichtkind tell me more
fglock v6.pm is a CPAN module (look for "v6"),
it is a Perl 6-in-Perl 5 15:23
it is split in 2 modules: Pugs::Compiler::Rule, and Pugs::Compiler::Perl6
PCR is the grammar engine
fglock the v6 runtime uses Moose and other Perl 5 modules, in order to emulate Perl 6 behaviour 15:24
lichtkind fglock: right i saw that in cpan last week 15:25
fglock: wiki.perl-community.de/bin/view/Wis...apitel1#v6 15:30
lambdabot Title: PerlCommunityWiki 􏿽xBB Wissensbasis 􏿽xBB Perl6TutorialKapitel1, tinyurl.com/2qeq2v
fglock :) 15:31
lichtkind fglock: im quick :)
fglock kp6: my $a; say exists($a[1]); say defined($a); $a[1]=42; say exists($a[1]); say defined($a); 15:34
exp_evalbot r18914: OUTPUT[Can't locate object method "new" via package "IO::Handle" at script/kp6 line 340, <> line 1.␤]
fglock kp6 now autovivifies structures lazily 15:39
lichtkind pugs: my $a = sub { say @$_}; $a(2,3); 15:46
exp_evalbot OUTPUT[*** No compatible multi variant found: "$a"␤ at /tmp/hE7hyuOH2k line 1, column 25-32␤]
lichtkind pugs: my $a = sub { say @$_}; $a(3); 15:47
exp_evalbot OUTPUT[3␤]
lichtkind strange why blocks can only be called with one parameter
is that a bug or intentional?
fglock I think it's a default-signature bug 15:50
pugs: my &a := { say $^a,$^b }; a(2,3);
exp_evalbot OUTPUT[23␤]
lichtkind fglock: are you shure its not intention? 15:55
$a(2,3); doest works but $a((2,3)); does 15:57
fglock pugs: sub a { say @_ }; a(2,3); 15:59
exp_evalbot OUTPUT[23␤]
fglock pugs: my &a := { say @_ }; a(2,3); 16:00
exp_evalbot OUTPUT[*** No compatible multi variant found: "&a"␤ at /tmp/mNaRxjXFfr line 1, column 22-28␤]
fglock it does look like a compiler error 16:01
lichtkind fglock: maybe but blocks hast only $_ no @_ maybe it has something to do with 16:09
fglock lichtkind: yes, that's a possible explanation 16:27
moritz_ re 16:32
fglock kp6: say "IO::Handle error" 16:34
exp_evalbot r18914: OUTPUT[Can't locate object method "new" via package "IO::Handle" at script/kp6 line 340, <> line 1.␤]
perlygatekeeper perlbot port 25
perlbot port 25: smtp - Simple Mail Transfer
perlygatekeeper perlbot port 465
damn
what's the port number for mail delivery
moritz_ 25 16:35
perlygatekeeper no, secure 16:36
465 and 587
but thanks
moritz_ grep -i smtp /etc/services # 4 t w! 16:37
fglock kp6: say (($A::a[1])[2]).exists; say defined($A::a); ($A::a[1])[2]=42; say exists(($A::a[1])[2]); say defined($A::a); 18:25
exp_evalbot r18916: OUTPUT[Can't locate object method "new" via package "IO::Handle" at script/kp6 line 340, <> line 1.␤]
Tene kp6: 1; 18:27
exp_evalbot r18916: OUTPUT[Can't locate object method "new" via package "IO::Handle" at script/kp6 line 340, <> line 1.␤]
moritz_ is script/kp6 still the recommended way to eval kp6 code? 18:28
pmurias moritz_: unless you want to brew your one interface i would guess 18:30
fglock pmurias: all kp6 autovivification tests pass :) 18:31
pmurias fglock: that's good 18:32
neither IO::Handle nor IO::File seem to be requiter/used by script/kp6 18:35
used i the sense of the keyword
bbkr_ what does '-->' operator do in p6? plenty of those are used in svn.pugscode.org/pugs/src/perl6/STD.pm but i cannot find it in Synopses
for example "token infix:sym<=:=> ( --> Chaining) { <sym> {*} }" 18:36
moritz_ I think that's "returns an object of type $type"
it's in Syntax.pod for example 18:37
bbkr_ thanks, that makes sense, Chaining is a class in this file
fglock pmurias: I updated script/kp6 to use IO::* 18:38
fglock kp6: 1 18:38
exp_evalbot r18917: OUTPUT[Can't locate object method "new" via package "IO::Handle" at script/kp6 line 340, <> line 1.␤]
pmurias fglock: where are they required at?
fglock by line 340, it selects between STDOUT or a filename for output 18:39
kp6: 1
exp_evalbot r18918: OUTPUT[no method 'say' in Class 'Str'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x8791460)', 'say') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x8791460)', 'say') called at - line 17␤]
fglock kp6: say 1
exp_evalbot r18918: OUTPUT[1␤]
fglock it's back :)
kp6: say (($A::a[1])[2]).exists; say defined($A::a); ($A::a[1])[2]=42; say exists(($A::a[1])[2]); say defined($A::a); 18:40
exp_evalbot r18918: OUTPUT[0␤0␤1␤1␤]
pmurias laments the death of svnbot 18:41
pmurias fglock: autovivifications looks like an advanced feature ;) 18:41
fglock kp6: say ++($A::a);
exp_evalbot r18918: OUTPUT[1␤] 18:42
fglock kp6: say ++($A::a); $A::a[1];
exp_evalbot r18918: OUTPUT[no method 'INDEX' in Class 'Int'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x87953d0)', 'INDEX', 'HASH(0x87973d8)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x87953d0)', 'INDEX', 'HASH(0x87973d8)') called at c...]
pmurias say $undefine_var;
kp6: say $undefine_var;
exp_evalbot r18918: OUTPUT[ValueProxy␤]
fglock after autovivification, $A::a can no longer be an array
pugs_svn r18914 | fglock++ | [kp6-perl5] s/STORE/BIND/ 18:42
r18915 | fglock++ | [kp6-perl5] tighter rule for emitting "self"
r18916 | fglock++ | [kp6] t/todo/64-autovivify-global.t resolved;
r18916 | fglock++ | - 56-proto-sym.t now fails, but this seems to be due to an older bug
r18917 | fglock++ | [kp6] TODO: autovivification is marked as resolved
r18918 | fglock++ | [kp6] script/kp6 - added missing 'use'
pmurias cheers the pugs_svn resurection 18:43
fglock oops - autovivification killed strictness 18:44
moritz_ that's not so good ;) 18:45
pmurias we only had an illusion of strictness anyway 18:46
;)
say $undefined_var.Str(); 18:47
kp6: say $undefined_var.Str();
exp_evalbot r18918: OUTPUT[ValueProxy␤]
pmurias say $undefined_var.isa("Undef");
pugs_svn r18919 | fglock++ | [kp6] added "strictness" to TODO
moritz_ kp6: say $undefined_var.isa("Undef"); 18:48
exp_evalbot r18919: OUTPUT[1␤]
pmurias say $undefined_var.isa("Undef"); 18:52
fglock hmm - $undefined_var.Str() is a problem 18:57
moritz_ kp6: say $undef_var
exp_evalbot r18919: OUTPUT[ValueProxy␤]
pmurias fglock: does the new construct the object properly 18:58
fglock the object is ok, but it looks like a prototype object, which stringigfies to the class name 18:59
lichtkind is there any known problem with the TPF wiki? 19:04
pmurias having a new method which returns the depends on the internal object format dosn't seem "clean" 19:07
lichtkind has anybody here an account in the TPF wiki? 19:08
pmurias luring people with simpler questions first? ;) 19:09
moritz_ ;) 19:10
fglock pugs: my $a = ::Undef.new; say $a 19:11
exp_evalbot OUTPUT[<obj:Undef>␤]
fglock doesn't look correct either
fglock pugs: my $a = ::Undef.new; say $a.Str 19:12
exp_evalbot OUTPUT[*** No such method in class Undef: "&Str"␤ at /tmp/S3zMDgqLC2 line 1, column 26 - line 2, column 1␤]
pmurias fglock: ValueProxy basicly is a prototype object with with _parent_container 19:19
kp6: ::Int.isa("Undef") 19:20
exp_evalbot r18919: OUTPUT[syntax error at position 0, line 1 column 0:␤::Int.isa("Undef"␤^ HERE␤]
fglock it's not a prototype object, it's an instance - but it's "undefined" like a prototype object is
pmurias fglock: i how it is represented in kp6
* i mean
%{ $_[0] } 19:21
clones the prototype
fglock hmm - let me try something here
pmurias sure 19:22
pmurias ::Foo is the protoobject for the Foo class 19:32
fglock kp6: say undef
exp_evalbot r18919: OUTPUT[␤]
pmurias ?
fglock undef stringifies correctly 19:33
moritz_ kp6: print undef
exp_evalbot r18919: OUTPUT[Undef]
moritz_ ah, wait
no output = evaled again with say ( ($expr).perl) around it
pmurias moritz_: that's a hack 19:34
moritz_ pmurias: yes :)
pmurias bad moritz_ ;)
moritz_ pmurias: but a fairly successfull one, for those who forget to put a 'say' or 'print' in their expression
pmurias: the bad thing is that it still says OUTPUT[...] 19:35
pmurias kp6: print undef;say "-----";
exp_evalbot r18919: OUTPUT[Undef-----␤]
pmurias kp6: say undef;say "-----"; 19:36
exp_evalbot r18919: OUTPUT[␤-----␤]
moritz_ ouch 19:36
fglock hmm - ValueProxy can't "be" an Undef, because the Container object can be assigned to 19:38
pmurias fglock: i'm amazed prototype objects get stringifed as the names of their classes 19:38
fglock pmurias: this is specced, afaik 19:39
pmurias yes
is there any magic which makes them not inherit the Str method from their respective class?
fglock they do inherit, but the dispatcher has a special case to ignore the default .Str 19:40
pmurias seen it
that conflicts with undef not having a value 19:41
fglock ValueProxy will need some extra magic for .Str, .isa and such
Undef has the same problems, but it didn't show before 19:42
pmurias the internal object format should be more encapsualted 19:44
fglock should we use P6Opaque ? 19:45
pmurias looking at what it does 19:46
don't know 19:47
fglock I think it's ok to have special cases for Container and Undef 19:48
fglock they are too different from plain objects 19:48
pmurias fglock: ok 19:52
but for example Hash.new also depends on the internal object format 19:53
=head1 Construction and Initialization 19:54
in S12
looks like the way we should be creating objects
fglock pmurias: I'll read it again..
home &
fglock b 20:33
rafl obra: could mikem help you? 20:39
obra rafl: I passed the comment on to minion but hadn't heard back 20:41
obra ok. alex says he hasn't poked mike yet. 20:41
lame. ;)
rafl i see 20:44
obra I've just prodded him to deal
rafl I have some paid hours to work on it this week 20:45
so I'll take care about it if it isn't resolved already
obra cool! thanks 20:46
pmurias class object in the synopsis fragment refers to the prototype? 21:03
:q 21:11
typo
NoNaME Hi 23:00
moritz_ hi 23:01
pugs_svn r18920 | dlo++ | [kp6] Test updated to actually fail, and not produce a bad 'successful' output 23:09
fglock pmurias: yes, it seems class-object is the prototype, and actual-class-object is the metaclass 23:19
pugs_svn r18921 | fglock++ | [kp6-perl5] fixed ValueProxy.Str and .isa; ValueProxy is now "transparent" 23:54
r18921 | fglock++ | - 46-hash-item-bind.t fails; moved to t/todo
fglock kp6: my $a; say $a 23:56
exp_evalbot r18921: OUTPUT[␤]