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.
DarkWolf84 :) 00:00
DarkWolf84 my vesion blocked when i tryed Inf..Inf 00:01
TimToady if someone wants to hack in real Range objects, that's be cool 00:04
*that'd
DarkWolf84 well I think that lazy evaluation is cool enogh 00:11
enough* 00:13
no need while(1)
:)
pugs_svnbot r17273 | lwall++ | STAR, PLUS etc now methods so that Grammar object can construct Match objects 00:19
diff: dev.pugscode.org/changeset/17273
lambdabot Title: Changeset 17273 - Pugs - Trac
wolverian TimToady, heh, so you did find a way to get ¢ in... 00:29
TimToady, great work, by the way. what does metholate do? it.. metholates? 00:30
spinclad keeps reading 'merthiolate'. (those that know the word know it *stings*.) 02:15
either that or 'methylate' 02:16
i'm in ur dna, methylatin ur bases 02:17
TimToady it's a pun on methylate 02:53
wolverian ah 02:54
pugs_svnbot r17274 | Darren_Duncan++ | ext/Muldis-DB/ : renamed DB.pod to DB.pm ... part 1/2 06:30
diff: dev.pugscode.org/changeset/17274
lambdabot Title: Changeset 17274 - Pugs - Trac
pugs_svnbot r17275 | Darren_Duncan++ | ext/Muldis-DB/ : renamed DB.pod to DB.pm ... part 2/2 07:15
diff: dev.pugscode.org/changeset/17275
lambdabot Title: Changeset 17275 - Pugs - Trac
pugs_svnbot r17276 | Darren_Duncan++ | ext/Muldis-DB/ : relicenced a small part of Muldis DB under the Lesser GPL 08:21
diff: dev.pugscode.org/changeset/17276
lambdabot Title: Changeset 17276 - Pugs - Trac
pugs_svnbot r17277 | Darren_Duncan++ | likewise updated Pugs' README 08:24
diff: dev.pugscode.org/changeset/17277
lambdabot Title: Changeset 17277 - Pugs - Trac
masak ?eval my $square = -> ($value) { $value ** 2 }; $square(20); 09:05
pugsbot_r17185 400/1
masak ?eval my $square = -> ($value) { $value ** 2 }; $square 20; 09:05
pugsbot_r17185 Error: ␤Unexpected "20"␤expecting operator 09:06
masak I guess the latter couldn't be allowed, due to the policy, what's-it-called...
"no two terms in a row"
moritz_ ?eval my &square = -> ($val) { $val**2 }; &square(20) 10:12
pugsbot_r17185 Error: Can't modify constant item: VStr "MkCode {isMulti = True, subName = \"&\", subType = SubPrim, subOuterPads = [], subInnerPad = MkPad (padToList []), subPackage = , subAssoc = AIrrelevantToParsing, subParams = [], subBindings = [], subSlurpLimit = [], subReturns = (mkType \"Any\"), subLValue = False, subBody = Prim ([Pugs.AST.Internals.Val] -> Pugs.AST.Eval.Eval Pugs.AST.Internals.Val), subCont = Nothing, subStarted = Just <ref:0xb6739c54>,
moritz_ should that work?
moritz_ ?eval say "foo" 12:18
pugsbot_r17185 OUTPUT[foo␤] Bool::True
pugs_svnbot r17278 | moritz++ | added misc/evalbot/, a p5 pluggable evalbot. 14:56
r17278 | moritz++ | Currently echo and kp6 are "supported"
diff: dev.pugscode.org/changeset/17278
lambdabot Title: Changeset 17278 - Pugs - Trac
moritz_ #kp6 class Main { say "hello, world" }
exp_evalbot OUTPUT[hello, world␤]
moritz_ #kp6 class Main { say(2*3); } 15:31
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
wolverian whoo :) 15:32
pugs_svnbot r17279 | moritz++ | [p5 eval]: 15:35
r17279 | moritz++ | * some documentation
r17279 | moritz++ | * two example config files
diff: dev.pugscode.org/changeset/17279
lambdabot Title: Changeset 17279 - Pugs - Trac
moritz_ #kp6 class Main { say 2+2 } 15:36
exp_evalbot OUTPUT[4␤]
moritz_ #kp6 class Main { say 2*2 }
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
moritz_ no multiplication is NYI? *g*
TimToady ?eval my &square := -> ($val) { $val**2 }; square 20 15:45
pugsbot_r17185 400/1
moritz_ so '&' is not an "ordinary" sigil? 15:47
#kp6 class Main { my &square := -> ($val) { $val**2 }; square 20 15:49
exp_evalbot OUTPUT[]
moritz_ Syntax Error
wolverian forgot a closing } 15:51
moritz_ #kp6 class Main { my &square := -> ($val) { $val**2 }; square 20 }
exp_evalbot OUTPUT[]
moritz_ still Syntax Error
#kp6 class Main { my &square := sub ($val) { $val**2 }; square 20 }
exp_evalbot OUTPUT[Illegal declaration of subroutine main:: at - line 1.␤]
pugs_svnbot r17280 | moritz++ | [p5 evalbot]: experimental pugs executer 15:53
diff: dev.pugscode.org/changeset/17280
lambdabot Title: Changeset 17280 - Pugs - Trac
moritz_ #pugs my &square := -> ($val) { $val**2 }; square 20 15:53
exp_evalbot OUTPUT[]
moritz_ oops
#pugs my &square := -> ($val) { $val**2 }; say square 20 15:54
exp_evalbot OUTPUT[400␤]
moritz_ exp_evalbot ignores any return values, you have to print/say it
TimToady interesting that it gets rid of the /1 15:55
I think it should print the return value iff there's no output maybe
moritz_ I don't know how to achieve that 15:56
I run a pugs process for each eval, and capture the output
now the next time a perl 5 coder asks what to do, tell him/her to improve evalbot (for example error reporting) 15:59
;-)
moritz_ #kp6 class Main { while(1){ 1; } } 16:37
exp_evalbot OUTPUT[]
moritz_ #kp6 class Main { while 1 { 1; } }
exp_evalbot OUTPUT[]
pugs_svnbot r17281 | moritz++ | [p5 evalbot]: small tweaks 16:40
diff: dev.pugscode.org/changeset/17281
lambdabot Title: Changeset 17281 - Pugs - Trac
pugs_svnbot r17282 | fglock++ | [kp6] Subset - added a little more impl 17:52
diff: dev.pugscode.org/changeset/17282
lambdabot Title: Changeset 17282 - Pugs - Trac
spinclad #kp6 say 1 18:10
exp_evalbot OUTPUT[Syntax Error␤]
pmurias fglock: hi 18:11
spinclad #kp6 class Main { say 1; }
exp_evalbot OUTPUT[1␤]
spinclad #kp6 say 1;
fglock pmurias: hi
exp_evalbot OUTPUT[Syntax Error␤]
spinclad #kp6 class Main { say 1 }
exp_evalbot OUTPUT[1␤]
fglock spinclad: kp6 always demands a class declaration - this is a remain from the mp6 grammar
spinclad so there's an implicit Main.new() in the runtime system, as it were? 18:13
fglock hmm - kind of 18:14
spinclad #kp6 class This { say 1 } 18:17
exp_evalbot OUTPUT[1␤]
spinclad oh, no...
#kp6 class This { say 1 }; class Other { say 2 } 18:18
exp_evalbot OUTPUT[1␤2␤]
moritz_ it seems that everything in the classes are just executed as normal code
spinclad they just all have to be wrapped in classes ... top level is <class>* 18:19
fglock #pugs class This { say 1 }; class Other { say 2 } 18:19
exp_evalbot OUTPUT[1␤2␤]
fglock same
spinclad #kp6 class This { class That { say 1 }; That.new() }
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
fglock looking... 18:20
wolverian lovely errors :)
spinclad #kp6 class This { 1 }; say That.new()
exp_evalbot OUTPUT[Syntax Error␤]
spinclad #kp6 class This { class That { say 1 } } 18:21
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
spinclad #kp6 class This { 1 }; class That { say That.new() }
exp_evalbot OUTPUT[That␤]
spinclad #kp6 class This { 1 }; class That { say That.new }
exp_evalbot OUTPUT[That␤]
masak this definitely gives a more solid feel for kp6 18:22
spinclad great fun!
masak kudos to whomever set exp_evalbot up!
moritz_ masak: that was me ;)
masak moritz_: kudos
moritz_++
spinclad moritz_++
fglock moritz++ :)
masak moritz_++ # the best thing about karma is that it's free 18:23
moritz++ # oh right
moritz_ r17278 to r17281 18:24
thanks
"karma is like software - it's better when it's free" ;-)
masak *lol*
rindolf moritz_: heh. 18:25
moritz_++
moritz_ fglock: please be sure to tell when you implement a non-safe operation in kp6
masak :)
fglock moritz_: ok!
moritz_ and perhaps a safe mode along with it ;-)
spinclad 'well volunteered!' 18:26
pugs_svnbot r17283 | fglock++ | [kp6] infix:<*>
diff: dev.pugscode.org/changeset/17283
lambdabot Title: Changeset 17283 - Pugs - Trac
fglock #kp6 class Main { say 2 * 2 }
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
moritz_ #kp6 class Main { say 2 * 2 }
exp_evalbot OUTPUT[4␤]
moritz_ the svn repo doesn't update itself automagically 18:27
fglock ah
thanks
moritz_ maybe I should add a cronjob, and print the svn revision as well
wolverian or put it in the nick 18:28
like pugsbot_r17185
spinclad say $?REVISION
moritz_ wolverian: that's a bad idea if pugs revision != kp6 revision
pmurias ?kp6 class Main {use IO::File:from<perl5>;$dir = IO::Dir.new('.')}
lambdabot (line 1, column 12):
unexpected "{"
expecting variable, "(", operator or end of input
wolverian I meant of course using the kp6 revision :)
moritz_ wolverian: pugs can take a few minutes to rebuild
pmurias ?kp6 class Main {use IO::File:from<perl5>;$dir = IO::Dir.new('.');}
lambdabot (line 1, column 12):
unexpected "{"
expecting variable, "(", operator or end of input
wolverian erm, what does pugs have to do with kp6?
moritz_ pmurias: it's #kp6
#pugs say "foo" 18:29
exp_evalbot OUTPUT[foo␤]
pmurias #kp6 class Main {use IO::File:from<perl5>;$dir = IO::Dir.new('.');}
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
wolverian ah, okay
thoughtpolice yawns
how goes it?
pmurias #kp6 class Main {use IO::File:from<perl5>;}
exp_evalbot No output
pmurias #kp6 class Main {use IO::File:from<perl5>;my $file = IO::File('test');}
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
moritz_
.oO( maybe I should run that evalbot as a non-priviliged user )
18:30
spinclad
.oO( in a chroot jail )
18:31
moritz_ spinclad: probably, yes 18:32
wolverian with a strict apparmor profile
:)
spinclad
.oO( niced and ulimited )
fglock #kp6 class Main {use IO::File:from<perl5>;my $file = IO::File.new('test');}
exp_evalbot No output
fglock #kp6 class Main {use IO::File:from<perl5>;my $file = IO::File.new('test');say $file}
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/P...]
moritz_ it fork()s and uses BSD::Resource in the child
pmurias #kp6 class Main { use IO::File:from<perl5>; my $file = IO::File.new('test'); } 18:33
exp_evalbot No output
fglock #kp6 class Main {use IO::File:from<perl5>;my $file = IO::File.new('test');say 'still here'}
exp_evalbot OUTPUT[still here␤]
pmurias is there a standard perl5 module with nasty side effects? 18:34
spinclad #kp6 class Main { method hi { "there" }; Main.new.hi }
exp_evalbot OUTPUT[Syntax Error␤]
fglock there probably is
pmurias is the eval box in a good enough sandbox? 18:35
moritz_ not atm
fglock class Main { method hi { "there" }; say (Main.new).hi }
spinclad #kp6 class Main { method hi { "there" }; Main.new().hi() }
exp_evalbot OUTPUT[Syntax Error␤]
fglock #kp6 class Main { method hi { "there" }; say (Main.new).hi }
exp_evalbot OUTPUT[there␤]
fglock spinclad: precedence problems 18:36
spinclad so it parsed as Main.(new.hi) ? 18:37
fglock " Main.new .hi " I guess
spinclad Semantics Error
#kp6 class Main { method hi { "there" }; say (Main .new) .hi } 18:38
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
pmurias recompiling Grammar.pm is so slow...
spinclad #kp6 class Main { method hi { "there" }; say (Main\ .new)\ .hi }
exp_evalbot OUTPUT[Syntax Error␤]
spinclad (kp6 should of course *never* include surface sugar like unspace) 18:40
fglock spinclad: the grammar refactoring is set for Phase 5 (maybe in 3 months) 18:42
but unspace would be easy to implement
spinclad but won't kp6 remain a least-features internal representation, that STD translates into? 18:43
pmurias as far as i know, the plan is to use STD.pm directly 18:45
fglock no, that's mp6
the plan is for kp6 to be able to run STD, yes 18:46
fglock mp6 == least-features, bootstrapped 18:47
pmurias how should i code ... <foo> ... | ... <foo> ... in mp6?
fglock kp6 == full-featured, written in mp6
pmurias with ... being anything
fglock pmurias: you mean, in a token? 18:48
would you paste what you are trying? it looks correct 18:49
moritz_ sets up a chroot
pasteling "rindolf" at 88.154.187.2 pasted "Fortune based on the talk" (15 lines, 532B) at sial.org/pbot/26923 18:50
spinclad huh. thought i remembered kp6 taking mp6's place in the chain... 18:51
(taking -> being planned to take) 18:52
pmurias how should i nopaste? 18:54
fglock the next step in the STD direction is implementing multis, which depend on signatures, which depend on subsets - which is what I'm trying to do...
pmurias: are you getting an error?
pmurias i use <exp_stmts2> and a temorary variable $exp_stmts 18:58
seen sial.org/pbot/ will paste if it doesn't work 19:00
buubot pmurias: Sorry, I haven't seen sial.org/pbot/
lambdabot Title: sial.org Pastebot - pasteling
moritz_ bot war ;)
thoughtpolice bots are silly. 19:02
masak thoughtpolice: in a good way ;) 19:05
moritz_ thoughtpolice: and sometimes very usefull 19:06
thoughtpolice: that's why I wrote a new one lately
masak bots on #perl6 make me hope for AI again for some reason
thoughtpolice moritz_: what's this one do now?
moritz_ thoughtpolice: eval through kp6 or pugs
spinclad #kp6 class Hello { say "hi" } 19:07
exp_evalbot OUTPUT[hi␤]
moritz_ #pugs say "Hi thoughtpolice"
exp_evalbot OUTPUT[Hi thoughtpolice␤]
thoughtpolice moritz_: awesome. :)
pmurias fglock: doing it a different way
thoughtpolice moritz_: my bot is working right now
but it's not too useful
moritz_ #echo "foo" # that's stupid, I know ;-)
exp_evalbot OUTPUT["foo" # that's stupid, I know ;-)]
thoughtpolice because there are no plugins for it :(
although if you know little haskell you could probably write something for it without much hassle. 19:08
pmurias (i'm trying to make #kp6 say "Hi" work)
thoughtpolice moritz_: think of it like a baby-lambdabot :p 19:09
moritz_ thoughtpolice: cool 19:10
fglock pmurias: you need to make it enter the Main namespace, if it is not yet into any namespaces
pmurias: this is a bit tricky, because when you declare a MyModule, it is not Main::MyModule 19:13
spinclad make it enter the null-named root namespace? 19:14
TimToady #echo `ls`
exp_evalbot OUTPUT[`ls`]
spinclad (Main doesn't seem to be special) 19:15
fglock I mean: class Main { class X { ... } } declares Main::X 19:16
but sub x { ... } declares Main::x
but class X { ... } declares X 19:17
so you need some extra flags there
pmurias fglock: my version passes the test suit, i'll commit and try to fix it later 19:19
fglock pmurias: ok 19:20
pmurias ?kp6: class Main { class X {} } 19:22
lambdabot Unknown command, try @list
pmurias #kp6 class Main { class X {} }
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
pmurias #kp6 class Main { class X { say "hi"} }
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
masak pmurias: it doesn't like nested classes, it seems 19:23
pmurias #kp6 class Main {};class Main {}' 19:24
exp_evalbot OUTPUT[Syntax Error␤]
pmurias #kp6 class Main {};class Main {};
exp_evalbot No output
pmurias #kp6 class Main {say 1};class Main {say 2};
exp_evalbot OUTPUT[1␤2␤] 19:25
pugs_svnbot r17284 | pmurias++ | kp6: handles stmts outside of classes 19:32
diff: dev.pugscode.org/changeset/17284
lambdabot Title: Changeset 17284 - Pugs - Trac
moritz_ #kp6 say "foo" 19:36
exp_evalbot OUTPUT[Syntax Error␤]
DarkWolf84 #kp6 "foo".say
exp_evalbot OUTPUT[Syntax Error␤]
pugs_svnbot r17285 | pmurias++ | kp6: updating precompiled file 19:37
diff: dev.pugscode.org/changeset/17285
lambdabot Title: Changeset 17285 - Pugs - Trac
pmurias moritz_: didn't commit the compiled version by accident
moritz_ #kp6 say "foo"
exp_evalbot OUTPUT[foo␤]
moritz_ pmurias++ 19:38
pmurias i lack a bit of svk skill
spinclad #kp6 say "pmurias++"
exp_evalbot OUTPUT[pmurias++␤]
spinclad #kp6 "foo".say 19:39
exp_evalbot OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
moritz_ #kp6 ("foo").say 19:40
exp_evalbot OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
spinclad #kp6 class Main { method say { say self } }; "foo".say 19:42
exp_evalbot OUTPUT[Undefined subroutine &Main::say called at - line 7.␤]
pmurias a question regarding S11: is the package at the start of the file really * or GLOBAL? 19:43
pmurias or is * an alias for GLOBAL? 19:43
TimToady it's an alias 19:45
pmurias so *::foo and ::*foo are the same thing? 19:46
fglock oops - I didn't read that spec 19:47
moritz_ that's nice - implmenting a language without reading the spec ;-)
pmurias TimToady: can't grep it anywhere so might make sense to mention it explicitly 19:48
TimToady pmurias: yes, except you can't start a term with * because it'll look like "whatever"
* is just a twigil, not a sigil 19:49
pmurias so $*::foo works 19:50
?
TimToady and is the same as $*foo
pmurias is there any point in having * as an alias for GLOBAL? 19:51
TimToady the :: isn't necessary unless you want to say $*::($foo) or some such
you really want to say %GLOBAL::ENV every time you want to get at the environment?
moritz_ "weird things should look weird" ;-) (re $*::($foo)) 19:52
TimToady or $GLOBAL::IN
?
pmurias no
i like the twigil form
moritz_ votes for an optional thrigil ;-) 19:53
TimToady just extend the twigil token from the standard grammar. :)
spinclad i take it you would have to say (at shortest) &*foo() if you want the global &foo and a local &foo shadows it; you couldn't omit the & and () as with calling the local? 19:54
moritz_ what about ::*foo @args; ?
spinclad ah, missed that. 19:55
moritz_ was just guessing
moritz_ #pugs say "foo".perl 19:56
exp_evalbot OUTPUT[sh: pugs: command not found␤]
moritz_ wtf? I just compiled it :(
#kpt say "I'm there"
#kp6 say "I'm there"
exp_evalbot OUTPUT[Search pattern not terminated at - line 3.␤]
moritz_ #kp6 say "Im there" 19:57
exp_evalbot OUTPUT[Im there␤]
DarkWolf84 :P
spinclad #kp6 say "'" 19:57
DarkWolf84 no quoting 19:57
moritz_ #pugs "foo"
pmurias i think both $*foo and $GLOBAL::foo should be allowed but i can't think of a good use for the * alias besides $*::($foo) instead of $GLOBAL::($foo)
spinclad O NOEZ I KILT IT 19:58
moritz_ #pugs "foo" 19:59
exp_evalbot OUTPUT[sh: pugs: command not found␤]
spinclad #kp6 say "dear kp6, sorry i kilt u" 19:59
moritz_ killed it manually 20:00
at least the second time
moritz_ the first one was a segfault :( 20:01
spinclad puts flowers on its grave instead
moritz_ #kp6 say "foO"
exp_evalbot OUTPUT[foO␤]
moritz_ #pugs "foo".say
exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤ at <prelude> line 803, column 9-46␤ <prelude> line 803, column 9-46␤...]
spinclad oh here it's back again... i can't keep up
moritz_ #pugs say "foo" 20:02
exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤ at <prelude> line 803, column 9-46␤ <prelude> line 803, column 9-46␤...]
moritz_ something's terribly wrong with my pugs
spinclad #kp6 say "foo"
exp_evalbot OUTPUT[foo␤]
spinclad #kp6 say "'"
fglock #kp6 "foo".say 20:03
spinclad once was by accident... twice makes it murder
moritz_ hates all kinds of IPC
spinclad sorry moritz_
moritz_ spinclad: don't bother... I like to know my bugs ;-) 20:04
#kp6 say "'"
spinclad :) 20:04
moritz_ why does it make my bot segfault? why? 20:04
#pugs say "foo"
exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤ at <prelude> line 803, column 9-46␤ <prelude> line 803, column 9-46␤...]
fglock hmm - "'" compiles ok, but is emitted as '''
moritz_ #kp6 say "''" 20:05
moritz_ now it auto-restarts 20:07
spinclad #kp6 say "hi there'; system ('im in ur sandbox ... messin around')" 20:08
moritz_ Eval: say "hi there'; system ('im in ur sandbox ... messin around')" 20:08
Segmentation fault
;-)
that's a good protection - just segfault when somebody tries to do something usefull ;) 20:09
#pugs 1; 20:10
exp_evalbot OUTPUT[sh: pugs: command not found␤]
spinclad PATH? 20:11
moritz_ spinclad: I just figured that ;-)
pugs_svnbot r17286 | fglock++ | [kp6] improved quoting in emitted code 20:12
r17287 | moritz++ | [p5 evalbot]: fixed path for pugs
diff: dev.pugscode.org/changeset/17287
lambdabot Title: Changeset 17287 - Pugs - Trac
spinclad #kp6 say "let's see" 20:13
exp_evalbot OUTPUT[let's see␤]
fglock #kp6 "'".say
fglock oops 20:13
moritz_ segfault again
spinclad #kp6 say "'" 20:13
exp_evalbot OUTPUT['␤]
spinclad #kp6 "string".say
exp_evalbot OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
fglock ah - it's a problem at the emitter 20:14
spinclad #kp6 "'".say
spinclad #pugs say 1 20:14
fglock it is trying to be smart about .say 20:15
exp_evalbot OUTPUT[1␤]
pmurias "string".say(); 20:20
#kp6 "string".say(); 20:21
exp_evalbot OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
pmurias fglock: special handling of .say needs to be removed
spinclad #kp6 sub speak ($a) { say $a }; "hi".speak 20:22
exp_evalbot OUTPUT[Can't modify constant item in scalar assignment at (eval 11) line 2, at EOF␤Bareword "Bind" not allowed while "strict subs" in use at (eval 11) lin...]
fglock pmurias: yep - but there is an extra problem, Str.method is special for some reason, probably remaining from an mp6 workaround
pmurias: EmitPerl5 line 221 20:23
spinclad #kp6 method speak ($a) { say $a }; "hi".speak
exp_evalbot OUTPUT[Undefined subroutine &main:: called at lib/KindaPerl6/Runtime/Perl5/MOP.pm line 28.␤]
fglock pmurias: I think it's a grammar workaround
spinclad #kp6 method speak ($a) { say $a }; "'".speak 20:24
pugs_svnbot r17288 | moritz++ | added revision string for kp6 20:24
diff: dev.pugscode.org/changeset/17288
lambdabot Title: Changeset 17288 - Pugs - Trac
spinclad #kp6 say $?REVISION 20:25
exp_evalbot OUTPUT[syntax error at - line 8815, at EOF␤Missing right curly or square bracket at - line 8815, at end of line␤Execution of - aborted due to compilation ...]
fglock hmm - the grammar look ok
moritz_ #kp6 "foo" 20:25
moritz_ #kp6 "foo" 20:26
exp_evalbot No output
pmurias MetaClass uses Val::Buf instead of Proto 20:26
moritz_ #pugs say "foo" 20:26
exp_evalbot OUTPUT[foo␤]
moritz_ hrmpf
enough hacking for today, bed &
fglock pmurias: "no method 'PROTOTYPE' in Class 'Str'" 20:32
pmurias what did you do? 20:34
fglock I commented out the emitter hack, and added Str.say 20:34
fglock the emitted code looks ok 20:37
I'll commit, would you take a look?
pmurias sure
i get *** glibc detected *** gobby: free(): invalid pointer: 0x082194e8 *** and a backtrace when i run gobby on gentoo, any idea why? 20:38
pugs_svnbot r17289 | fglock++ | [kp6] fixed Str.method - but "no method 'PROTOTYPE' in Class 'Str'"
diff: dev.pugscode.org/changeset/17289
lambdabot Title: Changeset 17289 - Pugs - Trac
fglock pmurias: no idea 20:39
hmm - I get that error even when I do 1+1 20:42
pmurias fglock: i think it might be an issue with MetaClass using Val::Buf wrongly 20:43
pmurias the Val::Buf hack is required 20:43
fglock yes, but where? 20:45
pmurias i get Undefined subroutine &main:: called at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 28 if i add it when trying to call .say but the test suit works fine 20:46
greping 20:47
it seems only MetaClass uses it 20:48
fglock hmm - it seems to happen when PROTOTYPE is called to create ::Main 20:53
maybe "Class".new is creating a Str 20:55
which kinda makes sense
fglock so the problem might be in the MetaClass visitor 20:56
which is creating Str instead of Proto 20:57
pmurias it is there :) 20:58
pmurias fixing ;) using Proto(buf => "Foo) caused the problem 20:58
fglock Proto( name => 'Foo' ) 20:59
pmurias that's the correct version 21:00
fglock yes (Proto is declared at Traverse.pm:407) 21:01
pmurias commiting 21:04
pugs_svnbot r17290 | pmurias++ | kp6: MetaClass uses Proto
diff: dev.pugscode.org/changeset/17290
lambdabot Title: Changeset 17290 - Pugs - Trac
pmurias got to sleep, the proto in bind uses '$::' ~ which is wrong 21:06
pmurias good night 21:08
fglock #kp6 "abc".say 21:10
exp_evalbot r17288: OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
pugs_svnbot r17291 | fglock++ | [kp6] "aaa".say works - pmurias++
diff: dev.pugscode.org/changeset/17291
lambdabot Title: Changeset 17291 - Pugs - Trac
fglock #kp6 "abc".say
exp_evalbot r17288: OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
masak does exp_evalbot say when it's updated itself? 21:11
maybe it should
masak if it only did it upon changes to kp6, it would probably be a nice feature 21:12
fglock #kp6 "abc".say 21:13
exp_evalbot r17288: OUTPUT[Undefined subroutine &Main::say called at - line 3.␤]
fglock it doesn't seem to be auto-updating 21:14
masak no
that would be a nice first step :)
fglock food & 21:15
pugs_svnbot r17292 | rhr++ | [misc/evalbot] Add an #eval command to run all the p6 backends 21:19
diff: dev.pugscode.org/changeset/17292
lambdabot Title: Changeset 17292 - Pugs - Trac
rhr #eval say "hello" 21:20
DarkWolf84 ?eval say "hello"
pugsbot_r17185 OUTPUT[hello␤] Bool::True
rhr I hope I didn't break the bot, I can't test locally...
#pugs say "hello" 21:21
exp_evalbot OUTPUT[hello␤]
rhr I guess it's not updating
DarkWolf84 :)
rhr moritz++ 21:22
pugs_svnbot r17293 | fglock++ | [kp6] .print 22:22
diff: dev.pugscode.org/changeset/17293
lambdabot Title: Changeset 17293 - Pugs - Trac
pugs_svnbot r17294 | fglock++ | [kp6] moved the subset match operation to .does() 22:53
diff: dev.pugscode.org/changeset/17294
lambdabot Title: Changeset 17294 - Pugs - Trac
pugs_svnbot r17295 | fglock++ | [kp6] some more work on .does 23:17
diff: dev.pugscode.org/changeset/17295
lambdabot Title: Changeset 17295 - Pugs - Trac