»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
Set by toddr_ on 18 March 2013.
diakopter r: print (my ::A $).^methods # masak, this seems relevant 00:00
p6eval rakudo ba5e04: OUTPUT«No such method 'methods' for invocant of type 'Perl6::Metamodel::GenericHOW'␤ in block at /tmp/kLb5KNz5Ct:1␤␤»
diakopter r: class A {}; print (my ::A $).^methods.elems 00:03
p6eval rakudo ba5e04: OUTPUT«0»
diakopter heh
r: class A {}; print (my ::A $) ~~ Any 00:04
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Unsupported use of $) variable; in Perl 6 please use $*EGID␤at /tmp/cudONEVlPb:1␤------> class A {}; print (my ::A $)⏏ ~~ Any␤»
diakopter uh.
now it complains?
r: class A {}; print (my ::A $ ) ~~ Any
p6eval rakudo ba5e04: OUTPUT«True»
diakopter r: class A {}; print (my ::A $ ) ~~ Mu
lichtkind good night
p6eval rakudo ba5e04: OUTPUT«True»
diakopter r: print (my ::A $ ) ~~ Mu
p6eval rakudo ba5e04: OUTPUT«True»
diakopter hm 00:05
00:05 lichtkind left 00:07 pjcj left, jeffreykegler joined, pjcj joined, pjcj left 00:08 pjcj joined, pjcj left, pjcj joined
timotimo how do i declare types at compile time without "class"? 00:11
diakopter r: print 1.HOW.^methods 00:12
p6eval rakudo ba5e04: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPRoutine instead␤ in method REIFY at src/gen/CORE.setting:6424␤ in method reify at src/gen/CORE.setting:5557␤ in method gimme at src/gen/CORE.setting:5936␤ in method print at src/gen/CORE.se…
diakopter heh
masak: ^^
r: print try .name for 1.HOW.^methods 00:14
p6eval rakudo ba5e04: OUTPUT«set_invoke_forwarderarchetypesnewnew_typeparameterizeadd_fallbackcomposerolesrole_typecheck_listconcretizationis_composedcansetup_junction_fallbackfind_method_fallbackhas_fallbacksset_namenameset_docsdocsverauthset_verset_authset_stash_typeadd_stashadd_attributecom…
masak diakopter: I think that one is submitted. 00:16
diakopter r: print (gather { take try .name for 1.HOW.^methods }).grep: { /add/ }
p6eval rakudo ba5e04: OUTPUT«add_fallbackadd_stashadd_attributeadd_methodadd_private_methodadd_multi_methodadd_roleadd_parentadd_trusteeadd_parrot_vtable_mappingadd_parrot_vtable_handler_mapping»
diakopter r: print (gather { take try .name for 1.HOW.^methods }).grep: { /create/ } 00:17
p6eval rakudo ba5e04: OUTPUT«create_BUILDPLAN»
diakopter r: print (gather { take try .name for 1.HOW.^methods }).grep: { /new/ } 00:18
p6eval rakudo ba5e04: OUTPUT«newnew_typenew»
diakopter timotimo: ^^
timotimo r: say (gather { take try .name for 1.HOW.^methods }).grep: { /new/ } 00:23
p6eval rakudo ba5e04: OUTPUT«new new_type new␤»
00:29 cognominal left 00:31 thou joined 00:32 jeffreykegler left 00:36 cognominal joined 00:40 jeffreykegler joined 00:41 thou left, thou joined
masak 'night, #perl6 00:42
00:47 cognominal left 00:50 cognominal joined 00:54 jeffreykegler left 00:56 cognominal left 01:01 thou_ joined, thou left 01:08 rindolf joined 01:12 pmurias left 01:14 colomon joined 01:15 ikrs joined 01:17 pmurias joined
[Coke] can someone privmsg me colomon's email address? 01:19
colomon why?
it's that at gmail.com
timotimo aaw, there's no iup package on debian sid 01:20
colomon is a little worried about why [Coke] needs his address.
[Coke] ah, it's in CREDITS 01:21
[Coke] was just looking in parrot.
01:22 thou_ left, thou joined, cognominal joined
[Coke] fails to find diakopter's 01:25
diakopter :P 01:26
same as colomon
01:28 pmurias left 01:29 pmurias joined 01:39 cognominal__ joined 01:40 cognominal left 01:42 thou_ joined, thou left 01:48 colomon left, cognominal__ left 01:52 pterygota joined 01:53 am0c joined 01:54 cognominal__ joined 02:03 thou_ left, drbean left, thou joined 02:05 drbean joined, preflex left, preflex_ joined 02:06 preflex_ is now known as preflex 02:08 pmurias left, pmurias joined
[Coke] diakopter: I don't see you in either CREDITS file. 02:13
diakopter yeah 02:16
I never submitted a CLA
[let alone contributed patches earning a commit bit]
[Coke] ah. I thought by "same as colomon", you mean "that's where to find my email address". 02:18
diakopter that is what I meant - what colomon said about gmail 02:19
02:23 thou left, thou joined
timotimo what's a CLA? 02:27
02:28 PacoAir left, tgt left 02:30 FROGGS__ joined
sorear contributor license agreement 02:33
02:33 FROGGS_ left
sorear "I, $NAME, warrant that I grant the Perl6 license on all code I contribute and that legally authorized to do so" 02:34
02:38 am0c left
timotimo ah, right 02:39
02:43 thou_ joined, thou left 02:59 cognominal__ left
flussence I got an email from PaFo asking me to sign one of those once, still have no idea why, I don't recall writing any rakudo code... 03:00
03:00 orafu left, orafu joined
flussence (but if I did, I just consider everything without a license file public domain anyway) 03:00
timotimo that's not right, though 03:01
03:01 sizz left 03:02 sizz joined
flussence eh, I know how © works, but I'm not going to impose all that rigamarole on anyone using a few dozen lines I uploaded to gist.gh.com 03:04
03:04 thou_ left 03:05 thou joined
labster Where do you get one of those CLAs anyway? I figure at least part of my work on File::Spec and IO::Path is going to end up in Rakudo, so I might as well do one. 03:05
03:08 anant_ joined 03:14 census left
sorear www.perlfoundation.org/contributor_..._agreement 03:22
that's hte one Rakudo uses 03:23
PaFo has/had a different one
03:24 thou left, thou joined 03:45 thou_ joined, thou left 03:57 Swarley_ left 04:04 awwaiid left 04:05 awwaiid joined, thou_ left, thou joined 04:08 Chillance left 04:19 thou left, thou joined 04:27 anant_ left 04:30 leprevost joined 04:39 thou left, thou joined 05:00 thou_ joined, thou left 05:03 dmol left 05:04 dmol joined 05:20 thou joined, thou_ left 05:25 leprevost left 05:40 thou_ joined, thou left 05:56 anant_ joined 06:01 thou_ left, thou joined, xinming left 06:02 kaare__ joined 06:18 ikrs left 06:21 thou_ joined, thou left 06:42 thou joined, thou_ left 07:02 thou_ joined, thou left 07:16 anant_ left, drbean left 07:18 drbean joined 07:20 anant_ joined 07:21 anant_ left 07:22 anant joined, thou_ left 07:23 thou joined 07:37 p5eval left 07:39 p5eval joined 07:44 thou left, thou_ joined 07:48 rindolf left 07:49 rindolf joined 07:51 FROGGS__ is now known as FROGGS
FROGGS good morning 07:51
sorear o/ FROGGS
nwc10 happy summertime
(for more people than last night) 07:52
07:53 anant left
sorear :/ 07:54
diakopter oh, what happened? 07:55
sorear diakopter: UK daylight savings last night
diakopter oh, heh.
sorear you'd think that the country that contains Greenwich would use Greenwich time year-round as a matter of national pride, but no. 07:56
07:56 SunilJoshi joined 07:59 rindolf left 08:00 rindolf joined 08:02 drbean left 08:03 thou joined, thou_ left 08:04 drbean joined
dalek : b4cd6ff | (Tobias Leich)++ | t/spectest.data:
added fudged version of base/term.t
08:11
08:11 cooper_ is now known as cooper 08:19 rindolf left 08:20 rindolf joined 08:23 thou left 08:24 thou joined 08:29 rindolf left 08:30 rindolf joined, rindolf left 08:31 jaldhar left 08:34 SunilJoshi left 08:44 thou_ joined, thou left
moritz good morning and happy 08:47
eastern
*Easter
moritz clearly not awake yet 08:48
sorear o/ moritz
nwc10 EU-wide daylight savings last night
(and possibly a bit further east)
sorear FROGGS: curious what your plans are in re merging v5. just noticed you've made merge-unfriendly changes to README and t/spectest.data
diakopter .tell TimToady welcome back! :) \o/ 08:49
yoleaux diakopter: I'll pass your message to TimToady.
sorear nwc10: Further northwest too!
But not in .us, we switched two weeks ago 08:50
FROGGS sorear: what do you mean?
sorear: I think we should keep v5 as a module
sorear I thought you were modifying rakudo itself 08:51
FROGGS that is what I started with yes
sorear .help 08:52
yoleaux sorear: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
sorear .commands
yoleaux Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each.
FROGGS but we dont have to put this in "core", right?
so we can have v5, COBOL and PHP modules :o)
sorear I'm skeptical v5 can function without tight integration, but if you can make it work, yay 08:53
how are you handling wantarray?
FROGGS sorear: well, what I currently do does work as if it where within the rakudo repo, but yes, if rakudo changes some stuff internally I would suffer from it
sorear: no idea yet
sorear ->sleep 08:58
FROGGS gnight 08:59
09:05 thou joined, thou_ left 09:17 am0c joined 09:25 thou_ joined, thou left 09:28 kaare__ left 09:31 isBEKaml joined 09:35 thou_ left 09:39 snearch joined 09:40 rindolf joined 09:52 rindolf left 09:56 isBEKaml left 09:57 erkan left 10:02 am0c left 10:09 rindolf joined 10:17 labster left 10:23 snearch left 10:25 am0c joined, rindolf left, rindolf joined 10:26 rindolf left, rindolf joined 10:33 rindolf left 10:34 rindolf joined 10:41 rindolf left 10:42 rindolf joined 10:45 rindolf left 10:53 crab2313 joined 10:54 am0c left 11:01 crab2313 left 11:04 drbean left 11:06 drbean joined 11:31 erkan joined 11:38 asogani joined 12:24 rindolf joined
timotimo good day * 12:42
FROGGS hi timotimo 12:43
timotimo i think i made a mistake when i asked for "how to create a new class in the current context at compile time", what i should probably have asked is "how to install a symbol as a class properly" 12:44
my \Tree = %result<Tree> doesn't work, but maybe i can do something crazy like my class Tree is %result<Tree>, but i doubt it
12:45 tgt joined
FROGGS timotimo: method package_def in Perl6::Actions calls $*W.pkg_compose($*PACKAGE); for example 12:48
dunno if that helps or not
12:48 SamuraiJack joined
timotimo hm, don't think it does 12:51
i'm not sure i can, or want to, handle $*W 12:52
FROGGS ahh, okay
timotimo it feels to me as if ClassHOW and friends are more public api/specced (are they?) than $*W is (which i'm pretty sure is a rakudo internal detail)
FROGGS it is, right
12:55 PacoAir joined 12:59 spider-mario joined 13:14 SunilJoshi joined 13:16 colomon joined 13:26 dayangkun joined 13:31 SunilJoshi left
moritz also ClassHOW is available at runtime, $*W isn't 13:31
13:32 rindolf left 13:33 dmol left, rindolf joined
timotimo hm, but creating the class alone, that won't be enough, i need to properly install it in the package .. hmm 13:39
there's something i'm missing, i'm sure.
13:42 colomon left
moritz r: BEGIN my %h = ( a => class { } ); constant Tree = %h<a>; say Tree.^name 13:44
p6eval rakudo ba5e04: OUTPUT«<anon>␤»
moritz r: BEGIN my %h = ( a => class { method foo { 42 }} ); constant Tree = %h<a>; say Tree.foo
p6eval rakudo ba5e04: OUTPUT«42␤»
13:49 Chillance joined
dalek : d946b26 | (Tobias Leich)++ | lib/Perl6/P5 (2 files):
dispatch /, &, ^ to +/, +&, +^
13:51
13:55 colomon joined
timotimo oh, "constant", that's what i should try 14:03
and of course it immediately works. great m) 14:04
the simplest solution and i failed for days to stumble upon it
now i can build a macro that turns a string into a call to create_adt and a bit of unpacking code 14:05
14:06 aindilis left
timotimo but i still don't know how to make a macro that contains one part multiple times, or compose multiple ASTs into a bigger AST properly 14:08
i suppose i could insert a tail call to the macro in the resulting AST :D
14:08 aindilis joined
timotimo that's so bad :) 14:10
FROGGS timotimo: no, it is awesome that this is possible :o) 14:12
timotimo *hopefully* i can properly do this with macros
14:12 pmurias left
timotimo r: macro test(Str $name) { quasi { BEGIN { my {{{ $name }}} = 10; } } }; test("$foobar"); say $foobar; 14:13
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/W4iNPG2Z_6:1␤------> ro test(Str $name) { quasi { BEGIN { my ⏏{{{ $name }}} = 10; } } }; test("$foobar␤ expecting any of:␤ scoped declarator␤»
timotimo eh, apparently not yet
moritz you can only use {{{ }}} where an expression is expected 14:14
14:14 pmurias joined
timotimo ah, that's a good hint 14:14
14:14 xinming joined
timotimo i guess i can make the macro create a call to eval :D 14:14
oh, but eval doesn't leak symbols, as we recently discussed 14:15
FROGGS: it would be awesome that this were possible, if it were possible :P 14:17
or i'm just not sciencing hard enough
14:17 leprevost joined
FROGGS timotimo: I'm just trying to say that with rakudo there is very much possible 14:17
moritz maybe you have to let the user write cosntant Tree = magic 'your expression here'; 14:18
and then your sub 'magic' returns an anonymous type
dalek rl6-roast-data: 073ebdc | coke++ | / (4 files):
today (automated commit)
14:20
timotimo that doesn't sound too bad. i'll have to check if Tree::Branch and such work in that case 14:21
doesn't seem to be the case 14:22
how about constant (Tree, Branch, Leaf) = magic "..."?
14:24 Bzek left
moritz if it works, why not? 14:25
14:25 colomon left 14:26 Patterner left 14:28 Psyche^ joined, Psyche^ is now known as Patterner
timotimo std: constant (Foo, Bar) = 1, 2; 14:29
p6eval std 86b102f: OUTPUT«===SORRY!===␤Missing symbol in constant declaration at /tmp/kWmkJgemsf line 1:␤------> constant ⏏(Foo, Bar) = 1, 2;␤Missing initializer on constant declaration at /tmp/kWmkJgemsf line 1:␤------> constant ⏏(Foo, Bar)…
timotimo nope, that doesn't work unfortfunately
FROGGS timotimo: might be a bug 14:31
timotimo i can see a reason why it should work. should i open up a ticket? 14:32
14:32 isBEKaml joined
FROGGS there might be already a ticket 14:32
timotimo i'll have a look 14:33
14:33 kaare__ joined
FROGGS because we had that issue within the last weeks 14:34
timotimo rt.perl.org/rt3/Ticket/Display.html?id=69740 this seems like is 14:35
the resolution is: this should not be allowed 14:36
so rakudo and std implement this correctly
FROGGS hmmm, sad
timotimo hahaha, i could create a macro using string manipulation and eval and return a quasi that calls that new macro 14:38
r: macro say-n-times(Str $text, Int $n) { return eval "macro ::() { quasi { " ~ "say '$text'" x $n ~ "} }" }; say-n-times("foo", 5); 14:40
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/LXH9nCGCGR:1␤------> return eval "macro ::() { quasi { " ~ "⏏say '$text'" x $n ~ "} }" }; say-n-times␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-inf…
timotimo r: macro say-n-times(Str $text, Int $n) { return eval ("macro ::() { quasi { " ~ ("say '$text'" x $n) ~ "} }") }; say-n-times("foo", 5);
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/FPKDQYkxjZ:1␤------> eturn eval ("macro ::() { quasi { " ~ ("⏏say '$text'" x $n) ~ "} }") }; say-n-tim␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-inf…
timotimo um, huh?
FROGGS r: macro say-n-times(Str $text, Int $n) { return eval 'macro ::() { quasi { ' ~ 'say "$text"' x $n ~ '} }' }; say-n-times("foo", 5); 14:49
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Nominal type check failed for parameter '$text'; expected Str but got AST instead␤at /tmp/7AoqIMyvOo:1␤------> ␤» 14:50
timotimo oops, that's right 15:00
macros get their arguments passed as AST objects 15:01
15:01 dmol joined 15:08 isBEKaml left 15:09 isBEKaml joined, isBEKaml left, isBEKaml joined 15:17 am0c joined, asogani is now known as anant
anant msg p6eval r: say $?OS 15:18
isBEKaml anant: /msg 15:21
r: say $?OS
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Variable '$?OS' is not declared␤at /tmp/uK_3mvxe4l:1␤------> say $?OS⏏<EOL>␤ expecting any of:␤ postfix␤»
isBEKaml r: say $*OS
p6eval rakudo ba5e04: OUTPUT«linux␤»
isBEKaml pugs: say $?OS 15:22
p6eval pugs: OUTPUT«darwin␤»
anant isBEKaml: Thanks, was a typo. Was actually checking to see if some of those output chars can be printed properly, especially in the web log irclog.perlgeek.de/perl6/2013-03-30 15:24
moritz well, private messages won't show up in the web log :-) 15:25
FROGGS std: use v5; print time 7 15:26
p6eval std 86b102f: OUTPUT«ok 00:00 52m␤»
15:32 ggoebel joined
dalek : 9d346be | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
add term:sym<time>
15:33
: 0d24b2c | (Tobias Leich)++ | t/spectest.data:
run op/sleep.t
15:36
anant moritz: Why does p6eval throw up some strange chars (like '') when none exist in the actual command output (I checked on my rakudo installation) 15:50
timotimo anant: it's Term::ANSIColor 15:51
it should be translated to IRC colors, though
moritz anant: if you look at irclog.perlgeek.de/perl6/2013-03-31#i_6650682, all the "strange" characters are from rakudo's attempt to produce color through ANSI escape sequences 15:52
I guess I should configure p6eval to disable rakudo's output coloring
(translating ANSI escape sequences back to colors is a nasty job, because we otherwise assume that stuff is in UTF-8) 15:53
arnsholt I have realized that my vmarray-list branch is wildly misleadingly named
It should probably be named sixmodelize or something instead
timotimo :)
isBEKaml arnsholt: WHAT HAVE YOU DONE? :P 15:54
15:54 thou joined
timotimo so currently on one project i'm being blocked by not being able to properly supply an outer context to eval for my ipython kernel and on another project, macros are holding me back. hmm. i seem to kind of snuggle the bleeding edge a bit. 15:55
moritz timotimo: eval does have a way to supply an outer context 15:56
arnsholt isBEKaml: I started tugging at one loose end (using the VMArray REPR), and suddenly have my hands full with replacing Parrot objects with sixmodel objects =)
isBEKaml arnsholt: parrotize sixmodel? :) 15:57
timotimo moritz: that's true. i was trying to copy the way Rakudo's own Perl6::Compiler does it and that's impossible due to nqp/perl6 interactivity problems :(
moritz timotimo: you can say eval($code, context => CALLER::) for example
timotimo is it that easy? o_O
moritz wel, maybe not if nqp and rakudo mix
but in pure perl 6 code, it is
timotimo how can i create a custom context for that?
isBEKaml arnsholt: There's this thing that some of us start with a presumption only to realise that we were so way off the mark when actually doing it. :) 15:58
moritz timotimo: CALLER:: just returns a PseudoStash, which in the end is a Hash with extra functionality
timotimo: you know how to manipulate hashes, no? :-)
timotimo r: say PseudoStash.new(); 15:59
p6eval rakudo ba5e04: OUTPUT«PseudoStash.new("GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, "\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )␤»
timotimo is that how? 16:00
moritz it probably makes more sense to start with the copy of an existing context
or maybe not, depends on what you want to be visible
timotimo well, this is for the ipython kernel thing, so i want to give the same context that you'd get when you just start up an interpreter 16:01
moritz r: say CORE::.keys
p6eval rakudo ba5e04: OUTPUT«&default-formatter DateTime-local-timezone EXPORTHOW Pod Set &set &infix:<(elem)> &infix:<(cont)> &infix:<(|)> &infix:<(&)> &infix:<(-)> &infix:<(^)> &infix:<(<=)> &infix:<(<)> &infix:<(>=)> &infix:<(>)> Baggy &bag &infix:<(.)> &infix:<(+)> Version Cursor &infix:<=…
moritz maybe start with this one :-)
timotimo r: my PseudoStash $ctx; push $ctx, CORE::; # will this create a shallow copy? 16:02
p6eval rakudo ba5e04: OUTPUT«Type check failed in assignment to '$ctx'; expected 'PseudoStash' but got 'Array'␤ in sub infix:<=> at src/gen/CORE.setting:12667␤ in method push at src/gen/CORE.setting:1362␤ in method push at src/gen/CORE.setting:1360␤ in sub push at src/gen/CORE.setting:6247…
timotimo mhm, no it won't
moritz you might have to look at the source for how to create a shallow copy 16:03
maybe you even have to implement your own method for that
or maybe .clone does it
timotimo r: my PseudoStash $ctx; for CORE::.kv -> ($k, $v) { $ctx{$k} = $v; }
p6eval rakudo ba5e04: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤current instr.: '' pc 164 ((file unknown):186403193) (/tmp/MJCWYHstt4:1)␤called from Sub '' pc 274014 (src/gen/CORE.setting.pir:120247) (src/gen/CORE.setting:5643)␤called from Sub 'reify…
16:03 thou left
timotimo r: my PseudoStash $ctx; for CORE::.kv -> $k, $v { $ctx{$k} = $v; } 16:03
p6eval rakudo ba5e04: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'at_key' pc 303977 (src/gen/CORE.setting.pir:133658) (src/gen/CORE.setting:7019)␤called from Sub 'postcircumfix:<{ }>' pc 184155 (src/gen/CORE.setting.pir:80328) (src/gen/CORE.setting:1555)␤called from Sub …
moritz timotimo: you should create a .new PseudoStash
timotimo oh, yes i definitely should 16:04
moritz and not try to assign to elements of the type object
timotimo r: my PseudoStash $ctx .= new; for CORE::.kv -> $k, $v { $ctx{$k} = $v; }
p6eval rakudo ba5e04: OUTPUT«Cannot modify an immutable value␤current instr.: 'throw' pc 350791 (src/gen/CORE.setting.pir:153082) (src/gen/CORE.setting:9365)␤called from Sub '' pc 111263 (src/gen/CORE.setting.pir:50008) (src/gen/CORE.setting:10569)␤called from Sub '' pc 226 ((file unknown):114…
timotimo hmm, i'll experiment more in private
moritz r: my PseudoStash $a = MY::.clone; say $a.keys;
p6eval rakudo ba5e04: OUTPUT«!UNIT_MARKER GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! $a $=pod␤»
timotimo hehe, check this :)
r: CORE::.clone.say
p6eval rakudo ba5e04: OUTPUT«No such method 'perl' for invocant of type '!CORE_MARKER'␤ in method perl at src/gen/CORE.setting:6603␤ in method perl at src/gen/CORE.setting:906␤ in method gist at src/gen/CORE.setting:904␤ in method gist at src/gen/CORE.setting:902␤ in sub say at src/gen/CO…
diakopter r: CORE::.clone.print 16:05
p6eval rakudo ba5e04: OUTPUT«&default-formatter 3787DateTime-local-timezone 3791EXPORTHOW 3795Pod 3799Set 3803&set 3807&infix:<(elem)> 3811&infix:<(cont)> 3815&infix:<(|)> 3819&infix:<(&)> 3823&infix:<(-)> 4107&infix:<(^)> 4111&infix:<(<=)>
..4115&infix:<(<)> 4119&infix:<(>=)> 4123&infix:<(>)> 4…
diakopter yourmom
arnsholt timotimo: I wouldn't be surprised if the PseudoStash is mostly an NQP object
That'd explain the lack of .perl (and other Perl 6 stuff like .gist) 16:06
moritz I think it's a real Perl 6 object, but some of the objects contained in it are not
diakopter r: say PseudoStash ~~ Any 16:07
p6eval rakudo ba5e04: OUTPUT«True␤»
diakopter r: say PseudoStash ~~ Mu
p6eval rakudo ba5e04: OUTPUT«True␤»
timotimo PseudoStash does have a .perl
it's the core marker inside the CORE package that doesn't
arnsholt Oh, right. That's an NQP object then =)
timotimo r: class A { has $.ctx; method new { $.ctx = CORE::.clone; } } A.new(); # huh? 16:09
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/Z9rfTXnW0x:1␤------> method new { $.ctx = CORE::.clone; } } ⏏A.new(); # huh?␤ expecting any of:␤ method arguments␤ statement end␤ statement modifier␤ statem…
diakopter r: try .say for CORE::.clone.keys
timotimo r: class A { has $.ctx; method new { $.ctx = CORE::.clone; } }; A.new(); # huh?
p6eval rakudo ba5e04: OUTPUT«Cannot look up attributes in a type object␤ in method ctx at src/gen/CORE.setting:1868␤ in method new at /tmp/WumrKL74_p:1␤ in block at /tmp/WumrKL74_p:1␤␤»
rakudo ba5e04: OUTPUT«&default-formatter␤DateTime-local-timezone␤EXPORTHOW␤Pod␤Set␤&set␤&infix:<(elem)>␤&infix:<(cont)>␤&infix:<(|)>␤&infix:<(&)>␤&infix:<(-)>␤&infix:<(^)>␤&infix:<(<=)>␤&infix:<(<)>␤&infix:<(>=)>␤&infix:<(>)>␤Baggy␤&bag␤&infix:<(.)>␤&infix:<(+)>␤Version␤Cursor␤&infix:<=…
timotimo i don't understand why i'm getting a type object there to be honest
r: say CORE::.clone.WHAT; 16:10
p6eval rakudo ba5e04: OUTPUT«(PseudoStash)␤»
timotimo r: try .say for CORE::.clone.keys;
p6eval rakudo ba5e04: OUTPUT«&default-formatter␤DateTime-local-timezone␤EXPORTHOW␤Pod␤Set␤&set␤&infix:<(elem)>␤&infix:<(cont)>␤&infix:<(|)>␤&infix:<(&)>␤&infix:<(-)>␤&infix:<(^)>␤&infix:<(<=)>␤&infix:<(<)>␤&infix:<(>=)>␤&infix:<(>)>␤Baggy␤&bag␤&infix:<(.)>␤&infix:<(+)>␤Version␤Cursor␤&infix:<=…
arnsholt timotimo: Anyways, have a look at src/code/{EnumMap,PseudoStash}.pm and src/Perl6/Metamodel/BOOTSTRAP.pm if you wanna peek at the implementation
timotimo but more interestingly:
r: class A { has $!ctx; method new { $!ctx = CORE::.clone; } }; A.new(); # huh? 16:11
p6eval rakudo ba5e04: OUTPUT«Cannot look up attributes in a type object␤ in method new at /tmp/_8wBQHsSFP:1␤ in block at /tmp/_8wBQHsSFP:1␤␤»
timotimo oh, it could very well be that the clone implementation doesn't do everything needed for PseudoStash. 16:12
arnsholt r: class A { has $!ctx; method new { $!ctx = nqp::clone(CORE::); } }; A.new(); # Maybe?
p6eval rakudo ba5e04: OUTPUT«Cannot look up attributes in a type object␤ in method new at /tmp/tNeKgxakVN:1␤ in block at /tmp/tNeKgxakVN:1␤␤»
moritz in method new, the new object hasn't been created
so the error is exactly what the error message says :-)
arnsholt Oh, right =)
r: class A { has $!ctx; submethod BUILD() { $!ctx = CORE::.clone; } }; A.new(); # Maybe? 16:13
p6eval rakudo ba5e04: ( no output )
timotimo m)
arnsholt There we go. moritz++ =)
timotimo i have no business trying to create such advanced things when i stumble upon such elementary concepts
however, the further i fall, the more i learn on the way down! :)
arnsholt That's what happened to me =) 16:14
timotimo you fell far and learnt much?
arnsholt I just wanted to wrap ZMQ, and suddenly I'm doing all kinds of compiler guts hackery \o/
Compilers are deep holes, if you want to continue with the metaphor =) 16:15
timotimo :D
so after i eval my $foo = 10; in my cloned context, it doesn't get a $foo key. do i have to do something more magical to make sure those changes stick? 16:18
do i have to go back to $*CTXSAVE and the other variable i forgot the name of right now?
arnsholt Oooooh, right. It's the mythical "lexical variables in the REPL" problem 16:20
timotimo "mythical"? this is very real!
oh, i guess that's not what mythical means
arnsholt Sorry, weird phrasing 16:21
It's just something that took a certain amount of time before we got working in the "normal" NQP/Rakudo REPL
I'm digging to see if I can't find the appropriate bits of code you can look at 16:22
But yeah, I think you want the CTXSAVE stuff 16:23
timotimo: The relevant method is HLL::Compiler.interactive, line 196 here (might be a few lines off due to non-master branch) 16:24
timotimo right
i copied that mechanism and got stuck on some point, hold on i'm reconstructing the code now
ah, yes, the ctxsave method on the object that's passed to $*CTXSAVE
$*MAIN_CTX = nqp::ctxcaller(nqp::ctx()); is the original code. that won't work in perl6 code, because nqp::ctxcaller(nqp::ctx()) returns a nonperl6 object 16:25
however, i think i can just say $*MAIN_CTX = PseudoStash.new() or something
because that has exactly that assignment in the new method
arnsholt You'll probably have to bind, not assign
moritz I fear you're mixing parrot/nqp contexts and Perl 6 contexts
arnsholt Try $*MAIN_CTX := nqp::ctxcaller(...)
timotimo but it's not exactly the same 16:26
Cannot use bind operator with this left-hand side, arnsholt
arnsholt Oh, dang
timotimo moritz: i'm very open for suggestions of course ;) 16:27
the "write the repl part in nqp" attempt i had before wasn't particularly successful
16:28 mjwhitta joined 16:30 mjwhitta left, anant left
arnsholt From rakudo-debugger, it looks like that's what you're gonna have to do, though =) 16:30
timotimo that's where i looked and i failed to replicate the success of causing the perl6 module to run >_< 16:31
arnsholt Heh 16:32
But this is the ipython backend part, right?
timotimo indeed it is 16:33
i wish i could build it in perl6, that would make things 1000x easier
arnsholt Hehe 16:34
timotimo i wouldn't have to do awkward things like create (and, more importantly, design) an object to pass from perl6 to nqp that has all the right methods and behaviors to accomodate the ipython protocol
arnsholt But I suspect the hard part here is actually getting data off the ZMQ socket and into the NQP bits
timotimo hell, it would even be less awkward to regcomp a nqp and do it *inside* perl6 as nqp code >_>
16:35 anant joined
timotimo that way the flow of control isn't broken in two, bent over backwards, squeezed into corkscrew form and arranged along the surface of a klein bottle. 16:35
16:36 benabik left
arnsholt Yeah, now I see what is the problem 16:36
timotimo :D
by way of amazing metaphor 16:37
arnsholt Indeed =D
Ugly hack solution: Perl 6 program reads off the ZMQ socket and writes to a filehandle attached to a subprocess's STDIN
timotimo oh god, not again 16:38
arnsholt Better solution would be a Perl 6 program that reads off the socket and munges it into an NQP-friendly format and dispatches off to NQP
Not that, then =) 16:39
timotimo the first approach was to write a python wrapper around an STDIN/STDOUT based protocol
arnsholt Hang on. Lemme get some paper to think with (my brain is paper-powered =)
timotimo :) 16:40
bon appetit
arnsholt I think you're going to want something subprocess-y, though
But what you really want is actually fork-and-exec, I think 16:42
timotimo well, i will have to think about how to best capture stdout/stderr and how to interact with stdin properly
arnsholt The tricky part is managing that on Parrot 16:43
Yeah, you'll need some kind of wrangling there too
timotimo the more i think about it, the less i like about it :| 16:44
arnsholt Well, the good news is that now that I see more or less what you want/need, it's not an intrinsically evil problem to tackle 16:45
timotimo maybe i should have explained in more detail much earlier 16:46
arnsholt The wrangly part is implementing it on Perl 6/Parrot
Nah, communicating this kind of thing is pretty hard
I just needed a bit of time to assimilate the information into my brain
Human IPC is message-passing, not shared memory. And the message-passing is noisy and laggy =) 16:47
timotimo :)
arnsholt moritz: You know if fork/exec is possible from Parrot code? 16:49
timotimo i believe it is.
wait. ... no?
16:49 isBEKaml left
arnsholt I'm not sure how fond the Parrot interpreter is of forking. In theory it might work, but I'm not at all sure 16:50
moritz I gues it works, but you have to take of file handles, sockets etc. yourself 16:51
16:52 colomon joined 16:55 tgt left
arnsholt moritz: Yeah, if that's all it shouldn't be impossible 16:56
16:57 anant left 17:00 tgt joined 17:01 PacoAir left 17:10 anant joined 17:16 anant left, census joined
census happy holiday! 17:17
diakopter howdy 17:21
17:27 xenoterracide left 17:28 colomon_ joined, colomon left, colomon_ is now known as colomon 17:31 anant joined 17:32 xenoterracide joined 17:33 PacoAir joined 17:37 tgt left, tgt joined
dalek : ec6022f | (Tobias Leich)++ | lib/Perl6/P5Actions.pm:
dispatch >>, << to +>, +<
17:42
moritz blug: perlgeek.de/blog-en/perl-6/2013-rak...-tree.html 17:47
diakopter TimToady (also featuring anocelot) this morning: youtube.com/watch?v=aU_XQah2s8k sorry for the horrifically bad videography... :S 17:53
17:53 adu_ joined
timotimo oh, larry drums 17:54
i myself have a cheap electronic drumkit that unfortunately doesn't fit into my apartment properly since the last rearrangement of furniture :|
colomon moritz++ 17:56
timotimo diakopter: number one tip: rotate the phone 90 degrees before starting to shoot a video :D
adu_ how do I run all tests in the t directory?
FROGGS moritz: the first example should be QAST::Op.new( :op('call'), :name('add')..., no?
17:57 thou joined
FROGGS nvm 17:57
arnsholt moritz++ # QAST rundown
FROGGS I should carry on reading before telling stuff :o)
diakopter timotimo: :D now I know! 17:58
what? youtube doesn't fix that for me?!?
moritz adu_: in a module? 17:59
ufo && make test
timotimo diakopter: no, youtube will not turn your 3:4 video into a 4:3 video :D
moritz or PERL6LIB=lib prove -e perl6 -r t/ 18:00
timotimo or is that 6:19? i can hardly tell
diakopter dunno; iphone
4s
tadzik merry christmas, #perl6! 18:01
diakopter o_O
tadzik (snow battles)++
FROGGS tadzik: here too 18:02
colomon adu_: I tend to use prove -e "perl6 -Ilib" t/
diakopter btw, anocelot is the person playing bass, not the person who walks by 18:04
colomon likes living in the future, where he can IRC while zooming down I-75
adu_ colomon: nice, that prints the filename too
colomon: that's dangerous 18:06
tadzik moritz++ # blog post
colomon adu_: I'm not driving.
adu_ haha ok
where is moritz's blog post?
colomon perlgeek.de/blog-en/perl-6/2013-rak...-tree.html 18:07
18:09 colomon left
tadzik I-75 sounds like a fighter jest to me, like F-16 or such 18:09
ironically, colomon just disconnected. I hope he's not hit by an ground-air missile :) 18:10
18:12 adu_ is now known as adu, thou left 18:13 thou joined 18:14 kivutar joined
adu interesting 18:17
I remember some of that AST structure from Parrot
diakopter tadzik: haha; ground-to-air missle hitting a car on an interstate highway
adu wouldn't that be air-to-ground? 18:18
tadzik isn't highway "high" because of flying cars? :)
18:23 anant left
_sri and what about hover cars? 18:23
18:24 colomon joined
diakopter colomon: welcome back to the non-information superhighway 18:29
colomon o/ 18:31
18:32 thou left 18:33 thou joined
colomon One of these days I'm going to have to drive to Miami, because that last little stretch of I-75 in southern Florida is the only bit of the road I've not been on. :) 18:33
18:38 kivutar left
timotimo i wonder why the perl nntp server (or whatever it is) is sooooo slooooow 18:39
18:41 pterygota left 18:46 colomon left 18:52 thou left 18:53 thou joined 18:57 woolfy1 joined, woolfy left, colomon joined 19:01 att__ joined 19:03 att__ is now known as atta, atta left 19:07 SamuraiJack left, SamuraiJack joined 19:10 tgt left 19:11 tgt joined 19:12 countley joined 19:13 thou left, thou joined
lue moritz: you talk about the 'add' operation holding two floating-point values and returning a floating-point, despite the sample code showing use of IVals. Am I missing something? 19:15
moritz lue: oh right, I meant to talk about that. There's automatic type conversion going on 19:16
lue I suspected that somewhere "behind the scenes" integers were being converted to floating point when I read that, but I wasn't sure. 19:17
countley rindolf: whats up!!!
rindolf countley: hi. 19:18
moritz lue: updated.
countley long time
rindolf countley: started working on www.shlomifish.org/humour/Summersch...t-the-NSA/ .
countley: yes. 19:19
lue moritz++
rindolf countley: it's a new screenplay I've started to write after www.shlomifish.org/humour/Selina-Mandrake/ .
countley rindolf ok im ill check it out now
19:20 atta_ joined
rindolf countley: thanks. 19:20
19:29 kst` joined
adu yey it has a home 19:30
github.com/andydude/c2drox 19:31
19:31 kst left 19:33 thou left 19:34 am0c left 19:35 thou joined 19:39 kst`` joined 19:40 kst` left
arnsholt timotimo: Speaking of the ipython stuff, I wonder if Rakudo/JVM won't be an interesting thing to wait for 19:41
I think the parallelism stuff may have a better chance of getting worked out there
timotimo it's not really parallelism that's important (except for the heartbeat thing, but that seems to work with a ZMQ device, which i have no idea about)
arnsholt Well sort of. But fork/exec is sort of parallelism as well 19:42
The traditional Unix way to do it, anyways =)
timotimo ah, right.
arnsholt But threads might work as well
timotimo i'd prefer to get this "out there" relatively soon
arnsholt OTOH, you might end up blocking on NativeCall in NQP/JVM via the ZMQ stuff 19:43
timotimo especially if i end up doing that talk for GPN, which is in ~3 months
arnsholt Indeed =)
In that case, I'd try to get the fork/exec stuff working 19:44
Might have better luck getting help once the Easter holidays are over
timotimo i'm not sure i follow. what problem exactly does this solve?
arnsholt Fork/exec?
timotimo yes, that 19:45
arnsholt It separates concerns. The top-level process handles the ZMQ stuff, while the inferior process is the actual REPL stuff 19:47
No need to worry about the two stepping on each others' toes as well, that way
timotimo do we already have a decent ipc?
tadzik we don't have a decent p 19:48
arnsholt We have a halfway done ZMQ module? O:)
timotimo because i don't like the thought of communicating over stdin/out to the subprocess, because the parent process needs to gobble up all stdin/stdout data, too
arnsholt Yeah, it is a bit nasty (but very traditionally Unix). But it's not a terrible way to do it 19:50
I've done it in Perl 5, and it's pretty straightforward. A bit of filehandle juggling is all
timotimo i don't feel good pushing data from the executing kernel as well as data from the executed program code through stdout to the parent process 19:52
19:54 thou_ joined, thou left
arnsholt Why not? It's very in the spirit of Unix, if it's any consolation =) 19:54
timotimo i'd have to devise some wicked envelope scheme that prevents the executed program to interfere
the point is that the kernel that executes the user code doesn't necessarily have the opportunity to watch or preprocess the output of the program code that's being executed in it 19:55
arnsholt Well, the subprocess would essentially be a REPL, so the executed program will never see the data coming in on the filehandle
You don't have to attach the program code input to STDIN, for that matter 19:56
It's just a convenient way to do it
timotimo well, STDIN is a tricky situation anyway 19:57
the ipython protocol envisions a request that goes out one of the three sockets whenever an input request happens
arnsholt I'll try to put down my idea in writing tomorrow or something =) 20:01
20:01 dmol left 20:02 dmol joined
timotimo that'll help me, i guess :) 20:03
thank you for your interest
moritz arnsholt: I have a smallish example program that reads a file, and imports each line into a postgres database, using DBIish and NativeCall. It reliably segfaults after line 173. 20:07
arnsholt: if you want to help debugging, I can give you the code and test input
running under gdb now
segfaults in gc_gms_mark_pmc_header 20:08
perlpunks.de/paste/show/515897cb.597b.63 as non-telling as a backtrace can be, I fear
timotimo that's similar to where the repeated tests from 08-callbacks.t segfaults, iirc 20:09
have you seen the ticket on zavolaj about that?
moritz en passant, yes
timotimo have you tried it on a different parrot version yet?
4.something was mentioned in the ticket 20:10
moritz this is parrot 5.2.0-devel
(which I need for the socket stuff that I'm also using)
timotimo ah, that makes it more tricky 20:11
20:14 thou joined, thou_ left 20:17 rindolf left 20:24 SamuraiJack left 20:34 pmurias left, thou left
dalek : 23e88cf | (Tobias Leich)++ | t/spectest.data:
run op/cond.t
20:34
20:35 thou joined 20:45 colomon left 20:55 thou left 20:57 thou joined 21:02 dmol1 joined, dmol left 21:03 PacoAir left 21:04 dmol1 left 21:05 cibs_ left 21:06 dmol joined 21:07 cibs joined 21:10 dmol left
arnsholt moritz: After an initial look, I agree with timotimo: Until proven innocent, I think I'd assume this to be the same bug as the one triggered in the callback tests 21:15
21:15 thou left, thou_ joined
arnsholt moritz: Oh. Does the NativeCall bits (DBDish::pg, I guess?) use any callbacks? 21:16
21:22 mtk left
arnsholt builds NQP with Parrot 5.2.0 21:22
21:25 labster joined
labster r: say ().item.perl 21:30
p6eval rakudo ba5e04: OUTPUT«$()␤»
labster r: $(); say 'alive'; 21:31
p6eval rakudo ba5e04: OUTPUT«No such method 'ast' for invocant of type 'Any'␤ in block at /tmp/NfLCUG7Yhw:1␤␤»
labster r: $( ); say 'alive';
p6eval rakudo ba5e04: OUTPUT«alive␤»
21:31 colomon joined
labster hello #perl6 21:32
21:35 mtk joined, adu left 21:36 thou_ left, thou joined, woolfy1 left 21:40 colomon left
arnsholt Hmm. No bug there. Let's try 5.1.0... 21:44
timotimo is there moderation or something on perl.perl6.users? 21:48
arnsholt No idea 21:50
timotimo when i'm subscribed via nntp, do i have to do something special to be able to post?
arnsholt Also, thinking more about that iperl6 thing, I'm starting to agree that my idea is a bad idea =)
timotimo hehehe 21:51
arnsholt I'm sure I'll have a new and interesting view on things tomorrow ^_^
But I do think that iperl6 would be an awesome showcase for what we can do with Perl 6
timotimo "can almost do"
arnsholt "Look, REPL with tabcompletion!"
Oh, hush =p 21:52
Anyways, I'd love to help make it happen
timotimo well, we still need a python process to do the heartbeat
or you could figure out zmq devices for me ;)
diakopter I'll complete your tab
arnsholt I don't have oodles of time to spare, but this is a good place to spend it
It's useful to have users for NativeCall as well 21:53
21:56 spider-mario left 21:57 thou_ joined, thou left 22:01 bruges_ joined 22:03 bruges left 22:12 kaare__ left 22:13 sizz_ joined, sizz left
FROGGS rn: { our $var = 42 }; say $var 22:14
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Variable '$var' is not declared␤at /tmp/b68BCuWzvv:1␤------> { our $var = 42 }; say $var⏏<EOL>␤ expecting any of:␤ postfix␤»
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Variable $var is not predeclared at /tmp/Gf3cFo1cLq line 1:␤------> { our $var = 42 }; say ⏏$var␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at…
diakopter FROGGS: yeah... I don't know what our does 22:16
22:16 thou_ left 22:17 thou joined
FROGGS obviously not the right thing :o) 22:17
timotimo rn: { our $var = 42 is export }; say $var
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/d23GqRBY9z:1␤------> { our $var = 42 ⏏is export }; say $var␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statement …
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/yfRYkQZ7H1 line 1:␤------> { our $var = 42 ⏏is export }; say $var␤␤Parse failed␤␤»
timotimo rn: { our $var is export; $var = 42 }; say $var
p6eval rakudo ba5e04: OUTPUT«===SORRY!===␤Variable '$var' is not declared␤at /tmp/ca1JsfE39T:1␤------> ur $var is export; $var = 42 }; say $var⏏<EOL>␤ expecting any of:␤ postfix␤»
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Trait export not available on variables at /tmp/YE0OyUjTM9 line 1:␤------> { our $var is export⏏; $var = 42 }; say $var␤␤Variable $var is not predeclared at /tmp/YE0OyUjTM9 line 1:␤------> { our $var …
timotimo nope.
carry on
FROGGS timotimo: you're not importing, arn't you?
rn: class A; { our $var = 42 }; say A:: 22:18
p6eval niecza v24-35-g5c06e28: OUTPUT«Stash.new(...)␤»
..rakudo ba5e04: OUTPUT«("\$var" => 42).hash␤»
FROGGS rn: class A; { my $var = 42 }; say A::
p6eval niecza v24-35-g5c06e28: OUTPUT«Potential difficulties:␤ $var is declared but not used at /tmp/z_VCumLcZT line 1:␤------> class A; { my ⏏$var = 42 }; say A::␤␤Stash.new(...)␤»
..rakudo ba5e04: OUTPUT«().hash␤»
FROGGS hmmm
rn: class A; { our $var = 42 }; say $var
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Variable $var is not predeclared at /tmp/zdKRdskI_D line 1:␤------> class A; { our $var = 42 }; say ⏏$var␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @…
..rakudo ba5e04: OUTPUT«===SORRY!===␤Variable '$var' is not declared␤at /tmp/ebeVe14cb_:1␤------> class A; { our $var = 42 }; say $var⏏<EOL>␤ expecting any of:␤ postfix␤»
diakopter rn: class A; { our $var = 42 }; say A::.keys 22:19
p6eval rakudo ba5e04: OUTPUT«$var␤»
..niecza v24-35-g5c06e28: OUTPUT«0␤»
FROGGS rn: class A; { our $var = 42 }; say $A::var
p6eval rakudo ba5e04, niecza v24-35-g5c06e28: OUTPUT«42␤»
FROGGS ahhh, I think I know what's wrong...
it only checks for lexical vars and that is wrong... 22:21
but I have to be careful so that there doesn't pop up a redeclaration error when fixing it
diakopter rn: class A; class B { our $var = 42 }; say $A::B::var; say $B::var
p6eval rakudo ba5e04, niecza v24-35-g5c06e28: OUTPUT«42␤42␤»
diakopter okay..
FROGGS rn: class A; class B { our $var = 42 }; say $A::B::var; say $B::var; say $A::var 22:22
p6eval rakudo ba5e04, niecza v24-35-g5c06e28: OUTPUT«42␤42␤(Any)␤»
FROGGS good
rn: class A; class B { our $var = 42 }; say $A::B::var; say $B::var; say $A::hurz
p6eval rakudo ba5e04, niecza v24-35-g5c06e28: OUTPUT«42␤42␤(Any)␤»
diakopter rn: class A; my class { class B { our $var = 42 } }; say $A::B::var; say $B::var 22:23
p6eval rakudo ba5e04, niecza v24-35-g5c06e28: OUTPUT«(Any)␤(Any)␤»
FROGGS want to turn on 'no strict' for -e too, is it still called 'no strict' ? 22:24
22:26 s0rear joined, sorear left 22:28 thou_ joined, thou left 22:30 adu joined
FROGGS I guess "6;" will should it on at least 22:31
diakopter will should it on? 22:34
FROGGS err, I guess "6;" should turn it on at least 22:35
22:41 s0rear is now known as sorear 22:43 BenGoldberg joined 22:48 thou joined 22:49 thou_ left
adu .u ☃ 22:49
yoleaux U+2603 SNOWMAN [So] (☃)
23:03 pjcj left 23:09 thou_ joined, thou left 23:24 pjcj joined
moritz arnsholt: no callbacks involved 23:27
23:29 thou joined, thou_ left 23:50 thou_ joined, thou left
moritz nr: say $*CWD 23:50
p6eval niecza v24-35-g5c06e28: OUTPUT«/home/p6eval/niecza␤»
..rakudo ba5e04: OUTPUT«/home/p6eval␤»
dalek c: 6c6928a | moritz++ | lib/variables.pod:
remove X<> where they are probably wrong
kudo/nom: 2441b01 | moritz++ | src/core/Pod.pm:
fix signature of Pod::Block.gist
23:58