»ö« 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 $*EGIDat /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 myat /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 rowat /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 rowat /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 insteadat /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 declaredat /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-signaturecurrent 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 objectcurrent 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 valuecurrent 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 rowat /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-formatterDateTime-local-timezoneEXPORTHOWPodSet&set&infix:<(elem)>&infix:<(cont)>&infix:<(|)>&infix:<(&)>&infix:<(-)>&infix:<(^)>&infix:<(<=)>&infix:<(<)>&infix:<(>=)>&infix:<(>)>Baggy&bag&infix:<(.)>&infix:<(+)>VersionCursor&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-formatterDateTime-local-timezoneEXPORTHOWPodSet&set&infix:<(elem)>&infix:<(cont)>&infix:<(|)>&infix:<(&)>&infix:<(-)>&infix:<(^)>&infix:<(<=)>&infix:<(<)>&infix:<(>=)>&infix:<(>)>Baggy&bag&infix:<(.)>&infix:<(+)>VersionCursor&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 declaredat /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 ⏏$varUnhandled 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 rowat /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 $varParse failed» | |||
timotimo | rn: { our $var is export; $var = 42 }; say $var | ||
p6eval | rakudo ba5e04: OUTPUT«===SORRY!===Variable '$var' is not declaredat /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 $varVariable $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 ⏏$varUnhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @… | ||
..rakudo ba5e04: OUTPUT«===SORRY!===Variable '$var' is not declaredat /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«4242» | ||
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«4242(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«4242(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 |