»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:02
eternaleye joined
00:03
lizmat left
00:05
FROGGS joined
00:08
lizmat joined
00:18
FROGGS left
00:20
raiph left
00:28
Rotwang left
00:32
raiph joined
00:38
FROGGS joined,
celesta joined
|
|||
celesta | ahoi #perl6 | 00:38 | |
00:47
Vlavv joined
00:49
FROGGS left
|
|||
celesta | if i write a compiler with parrot, can i use it from a perl 6 program? | 00:57 | |
jnthn | airport & | 00:58 | |
00:58
pmurias left
|
|||
JimmyZ | celesta: you may want with MoarVM if you want to use it from a Perl 6 program | 01:01 | |
celesta | JimmyZ: thanks, i will look into it | 01:02 | |
JimmyZ | np | 01:03 | |
01:05
raiph left
|
|||
BenGoldberg | .ud coffee | 01:18 | |
yoleaux | The best drink ever... glory...What Columbians grow and export in an attempt to make the world think that they are not the world's leading cocaine exporter.Drug used by hackers and studentssimply it m | ||
preflex | yoleaux: you have 2 new messages. '/msg preflex messages' to read them. | ||
BenGoldberg | .ud MY COFFEE | 01:19 | |
yoleaux | a phrase used by the weak minded to excuse themselves for being a complete dipshit until they have had a sufficient fix of caffeine. | ||
BenGoldberg | .ud where is my coffee | 01:20 | |
yoleaux | ENOTFOUND | ||
01:28
celesta left
01:30
raiph joined
01:41
jeff_s1 joined
01:42
fgomez left
|
|||
BenGoldberg | nqp: say( nqp::getcomp('nqp').backend.name ) | 01:47 | |
camelia | nqp: OUTPUT«parrot» | ||
BenGoldberg | nqp-jvm: say( nqp::getcomp('nqp').backend.name ) | ||
camelia | nqp-jvm: OUTPUT«jvm» | ||
BenGoldberg | r: say( nqp::getcomp('nqp').backend.name ) | 01:49 | |
camelia | rakudo 495602: OUTPUT«Null PMC access in find_method('backend') in block at /tmp/VyuTmDqc8R:1» | ||
BenGoldberg | r: say( nqp::getcomp('perl6').backend.name ) | ||
camelia | rakudo 495602: OUTPUT«parrot» | ||
BenGoldberg | star: say( nqp::getcomp('perl6').backend.name ) | ||
camelia | star 2013.02: OUTPUT«No such method 'backend' for invocant of type 'Perl6::Compiler' in block at /tmp/3m4Xdxz6Xh:1» | ||
BenGoldberg | star: say( nqp::getcomp('perl6') ) | ||
camelia | star 2013.02: OUTPUT«No such method 'gist' for invocant of type 'Perl6::Compiler' in sub say at src/gen/CORE.setting:7602 in block at /tmp/2cU6DxYUdW:1» | ||
BenGoldberg | star: print( nqp::getcomp('perl6') ) | ||
camelia | star 2013.02: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got Perl6::Compiler instead in method REIFY at src/gen/CORE.setting:6370 in method reify at src/gen/CORE.setting:5505 in method gimme at src/gen/CORE.setting:5882 in method print at src/gen/COR… | ||
BenGoldberg is confused | |||
How is a Perl6::Compiler object not an Any object? | 01:50 | ||
nom: nqp::getcomp('perl6').backend.name.say | 01:51 | ||
camelia | rakudo 495602: OUTPUT«parrot» | ||
BenGoldberg | b: nqp::getcomp('perl6').backend.name.say | ||
camelia | b 922500: OUTPUT«Cannot find sub nqp::getcomp in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp» | ||
JimmyZ | BenGoldberg: NQP is not Perl 6 | 01:55 | |
01:55
raiph left
02:01
FROGGS joined
02:10
FROGGS left
02:12
FROGGS joined
02:17
raiph joined
02:31
FROGGS left
02:37
raiph left
02:44
raiph joined
03:05
raiph left
03:11
wtw joined
03:35
preflex_ joined,
ChanServ sets mode: +v preflex_
03:36
preflex_ is now known as preflex
|
|||
grondilu | rn: my %h = <foo foo bar> Z=> <2 2 1>; .value /= 3 for %h; say %h | 05:00 | |
camelia | rakudo 495602: OUTPUT«("foo" => "2", "bar" => "1").hash» | 05:01 | |
..niecza v24-88-g1f87209: OUTPUT«{"bar" => <1/3>, "foo" => <2/3>}» | |||
grondilu | niecza is right here, isn't it? | ||
rn: my $pair = foo => 1; .value /= 10 given $pair; say $pair | 05:02 | ||
camelia | niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/EEk7inVJFQ line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576)  at /home/p6eval/niecza/li… | ||
..rakudo 495602: OUTPUT«"foo" => 0.1» | |||
05:08
jaldhar joined
|
|||
grondilu | std: my $x = 1, $x + 3 | 05:09 | |
camelia | std c2215f0: OUTPUT«ok 00:00 44m» | 05:10 | |
grondilu | rn: say join ":", my $x = 1, $x + 3 | ||
camelia | rakudo 495602, niecza v24-88-g1f87209: OUTPUT«1:4» | ||
grondilu | cool, I didn't know I could do that | ||
05:32
BenGoldberg left
05:44
gladys_27_indone joined
05:45
gladys_27_indone is now known as Gladys_27_frm_In
|
|||
Gladys_27_frm_In | hiii | 05:46 | |
05:48
zakalwe left,
zakalwe joined,
zakalwe left,
zakalwe joined,
crab2313 joined
05:49
Gladys_27_frm_In is now known as Bella_Swan_love_
|
|||
Bella_Swan_love_ | hyyy | 05:50 | |
oii | |||
05:51
Bella_Swan_love_ is now known as Bella_Love_Rober
|
|||
Bella_Love_Rober | iii | 05:52 | |
05:52
Bella_Love_Rober left
05:54
kaare_ joined
|
|||
grondilu | How many of you guys will be in Kiev? | 05:55 | |
sorear | heh. that's been a while | ||
sorear will not be in Kiev this month | |||
moritz | grondilu: act.yapc.eu/ye2013/talk/4925 the list of attendees should be a pretty complete list of #perl6 folks going to Kiev :-) | 06:01 | |
grondilu | will act.yapc.eu/ye2013/talk/4912 be filmed? | 06:05 | |
(and/or act.yapc.eu/ye2013/talk/4926) | 06:06 | ||
TimToady is in Kiev right now... | |||
yoleaux | 6 Aug 2013 10:25Z <FROGGS> TimToady: should the name of a slang be lowercase in general? like in use A:from<perl5>, use B:from<java>, eval( "\t\s\n", :lang<bf> ) ? I think the name of the slang is about the language, not the interpreter/binary, and should there be like Perl5, Java, C, ... | ||
sorear | o/ TimToady | 06:07 | |
grondilu won't be in Kiev so he hopes most conferences will be recorded. | 06:10 | ||
06:13
dmol joined
|
|||
ingy | hi TimToady | 06:14 | |
06:32
woolfy joined
06:37
dmol left
|
|||
jnthn | o/ from Frankfurt airport | 06:46 | |
jnthn took a few attempts to get the wifi captcha and now feels very robotic | |||
06:48
kaare_ left
06:55
FROGGS joined
|
|||
FROGGS | o/ | 06:56 | |
jnthn | o/ FROGGS | 06:57 | |
FROGGS | jnthn: still awake? O.o | 06:58 | |
jnthn | FROGGS: At Frankfurt airport waiting for connection and slide-hacking-ish :) | 06:59 | |
FROGGS | ahh, hehe | 07:00 | |
FROGGS hopes there will be live streams, but doubts it | |||
ohh, IO::Async::File is nice | 07:02 | ||
is this a common feature of other languages? | |||
jnthn | Well, I guess our async slurp is like the .Net ReadToEndAsync | 07:03 | |
But not sure it has an equivalent of the lines channel thing. | |||
ooh, I should go find the gate, now they've said which one my flight has... | |||
bbl | |||
FROGGS | see ya | ||
.tell celesta if you would write your compiler in nqp, yuo would have parrot, JVM and MoarVM as backends... | 07:04 | ||
yoleaux | FROGGS: I'll pass your message to celesta. | ||
sorear | o/ FROGGS, jnthn | 07:05 | |
FROGGS | hi sorear | 07:06 | |
jnthn | o/ sorear | 07:14 | |
jnthn found his gate :) | |||
07:51
_jaldhar joined,
jaldhar left
07:53
crab2313_ joined
07:54
crab2313 left
|
|||
tadzik | o/ from WAW | 08:35 | |
dalek | rlito: 3f3ac31 | (Flavio S. Glock)++ | / (4 files): Perlito5 - grammar - fix 'print BLOCK LIST' |
08:38 | |
sorear | o/ tadzik | 08:39 | |
08:47
xinming left
|
|||
tadzik | sorear! o/ | 08:48 | |
the airport situation is quite hilarous | |||
there are two flights departing to Kiev, at the same time (modulo 5 minutes), by two different airlines, and they're at gates next to each other | 08:49 | ||
I think every single passenger from either flight is confused | |||
08:51
xinming joined
|
|||
tadzik | to make it funnier, there are two other flights to Ukraine, also in neighbouring gates, also started boarding about now | 08:52 | |
FROGGS | hehe, aisline trolls | 08:54 | |
airline* | |||
tadzik | also, they seem to be calling some people from my flight to the gate ASAP, but they didn't open the gate for the rest of us yet | 08:55 | |
...also, airport security riding segways looks quite funny | |||
FROGGS | U.S.-sized security guys? | 08:57 | |
tadzik | hehe, no | ||
FROGGS | hmmm, would be funnier :o) | 08:58 | |
tadzik | US is a bit country, almst the entire continent. I don't think you can fit it on a segway | ||
FROGGS | hehe | ||
>.< | |||
tadzik | Ha! "Boarding" | 08:59 | |
FROGGS | maybe I mean U.S.-shaped :o) | ||
tadzik | more like Boaring | ||
FROGGS | jnthn: about async slurping, how would the syntax look like? "test.csv".slurp.lines>>.parse_csv_line ? | 09:05 | |
09:09
spider-mario joined
|
|||
FROGGS | hmmm, when thinking about that threads stuf... I could potentially calculate the fees at $work for several employees at once | 09:09 | |
that would speed it up a lot, the machine has 16 cores | 09:10 | ||
(if the code wouldnt be more than 16 times slower than the current P5 code) | |||
09:25
thou left
|
|||
dalek | rlito: 8370a18 | (Flavio S. Glock)++ | / (4 files): Perlito5 - grammar - parsing rules for sort() |
09:37 | |
10:02
crab2313_ left
10:12
Woodi left,
Woodi joined
10:16
Rotwang joined
|
|||
dalek | rlito: a147cf5 | (Flavio S. Glock)++ | / (5 files): Perlito5 - grammar - tweak Apply node |
10:21 | |
timotimo | i wish to see a few livestreams as well | 10:27 | |
i only realize now they startbin two days rather than today | 10:38 | ||
FROGGS | yeah, the hackathon usually is before and after the conference days | 10:39 | |
timotimo: so expect many messages from dalek :o) | |||
10:45
pmurias joined
|
|||
timotimo | yup, looked at the schedule before i wrote that :) | 10:48 | |
11:02
crab2313 joined
|
|||
dalek | rlito: d129472 | (Flavio S. Glock)++ | / (3 files): Perlito5 - grammar - parsing rules for map() and sort() |
11:04 | |
rlito: ee9baec | (Flavio S. Glock)++ | / (3 files): Perlito5 - grammar - use Apply.special_arg |
11:13 | ||
11:13
ggoebel joined
11:20
ggoebel left
|
|||
FROGGS | $ time perl6 -e 'my @a = ^100_000; my Mu $rpa := nqp::hyper_MT(@a, @a, "nqp_bigint_add", Array, Int); say "done"' | 11:20 | |
11:20
lizmat left
|
|||
FROGGS | 100000 | 11:20 | |
done | |||
real0m8.241s | |||
user0m16.416s | |||
11:21
Rotwang left
|
|||
FROGGS | (I love it :o) | 11:21 | |
bbl | |||
11:21
FROGGS left,
woolfy left
11:23
lizmat joined,
Rotwang joined
|
|||
dalek | rlito: abcb270 | (Flavio S. Glock)++ | / (4 files): Perlito5 - grammar - use Apply.special_arg |
11:34 | |
timotimo | cool beans, froggs :) | 11:35 | |
11:35
FROGGS[mobile] joined
11:38
woolfy joined
11:45
domidumont joined
11:48
Rotwang left
11:57
domidumont left,
crab2313 left
11:58
domidumont joined
12:06
Rotwang joined
12:07
Rotwang left
|
|||
dalek | rlito: b1779df | (Flavio S. Glock)++ | / (4 files): Perlito5 - grammar - #line |
12:07 | |
timotimo | is flavio glock attending yapc:eu, too? | 12:32 | |
12:33
cognominal left
12:35
crab2313 joined
|
|||
FROGGS[mobile] | from reading his commits I'd guess so | 12:41 | |
12:42
bruges joined
12:43
vk___ joined
|
|||
timotimo | how do you get that from the commits? o_O | 12:43 | |
12:43
Maddingu1 joined
|
|||
timotimo | i finally started working on poison information gathering | 12:44 | |
12:45
tadzik1 joined
12:47
Rotwang joined
12:48
birdwindupbird joined,
Rotwang left
12:50
exodist_ joined
|
|||
FROGGS[mobile] | His commit rate increased dramatically | 12:51 | |
12:51
Rotwang joined
|
|||
FROGGS[mobile] | (conference driven developement that is) | 12:51 | |
12:52
domidumont left
|
|||
timotimo | feels like it has been increasing for a while now. but yeah, maybe he is indeed at the conference hacking away happily :) | 12:53 | |
kind of bummed he's not working on improving the perlito6 piece, but you can't have everything ;) | 12:54 | ||
why the hell am i getting "Missing or wrong version of dependency 'src/stage2/QRegex.nqp'" when i try to run nqp? | 12:55 | ||
oooh | 12:56 | ||
i had an nqp running somewhere and that kept "make install" from replacing some files | |||
m( | |||
12:59
colomon joined,
crab2313 left
13:08
Rotwang left
13:10
Rotwang joined
|
|||
timotimo | wat. how in the world did i break rakudo now?! | 13:14 | |
r: my $b = sub($arg) { say $arg } | |||
camelia | rakudo 495602: OUTPUT«===SORRY!=== Error while compiling /tmp/lCgMtuzG60Variable '$arg' is not declaredat /tmp/lCgMtuzG60:1------> my $b = sub($arg⏏) { say $arg } expecting any of: postfix» | ||
timotimo | i'm pretty sure this worked before | ||
it does work with an additional space after sub, that explains it! | 13:15 | ||
i was calling "sub" instead of creating one | |||
lizmat | r: my $b = -> $argc { say $arg }; say $b; $b("foo") | 13:16 | |
camelia | rakudo 495602: OUTPUT«===SORRY!=== Error while compiling /tmp/0H_RnlTQd2Variable '$arg' is not declaredat /tmp/0H_RnlTQd2:1------> my $b = -> $argc { say $arg⏏ }; say $b; $b("foo") expecting any of: postfix» | ||
lizmat | r: my $b = -> $arg { say $arg }; say $b; $b("foo") | ||
camelia | rakudo 495602: OUTPUT«Block.new()foo» | ||
lizmat | why use sub? | ||
timotimo | heyo lizmat :) | 13:30 | |
i took that code from a test case that my code made to fail | |||
oh make ~_~ | |||
lizmat | ok, I was just wondering | ||
timotimo | i just got the setting compiled, thinking "yay!" and saved my extra debugging info to Optimizer.nqp and then make went on to say "hey, optimizer.nqp changed! let me compile all that stuff over again!" | ||
lizmat is recovering from an almost heatstroke while strolling outside for an hour | 13:31 | ||
timotimo | time to run some spectests \o/ | 13:34 | |
got a little ahead of yourselft here? hope you'll recover soon, lizmat :) | |||
lizmat | aircoed room helps millions :-) | 13:35 | |
13:37
jaffa4 joined
|
|||
timotimo | huh. how do i tell the spectest run to use --optimize=3? | 13:37 | |
jaffa4 | hi | ||
is anyone in kiev? | |||
benabik | It has a population of a couple million, so I hope someone is there. | 13:38 | |
timotimo | a whole bunch of #perl6 folk are in kiev | 13:39 | |
jaffa4 | yes, but it is not evident who | ||
timotimo | i know that froggs, tadzik, diakopter, jnthn, timtoady and moritz are (or are going to be) in kiev for yapc::eu | 13:40 | |
can i rely on every occurence of OUTER to be accompanied by a nqp::who? | 13:46 | ||
13:49
jaffa4 left
|
|||
timotimo | hm, nqp::who is probably what gets generated whenever there is a :: | 13:50 | |
r: my $a = "what?"; sub foo { sub bar { OUTER::OUTER::<$a> = "hi" }; bar }; foo; say $a | 13:53 | ||
camelia | rakudo 495602: OUTPUT«hi» | ||
timotimo | r: my $a = "what?"; sub foo { sub bar { my $foo = "OUTER"; OUTER::{$foo}::<$a> = "hi" }; bar }; foo; say $a | ||
camelia | rakudo 495602: OUTPUT«===SORRY!=== Error while compiling /tmp/_NFzzDsZB8Two terms in a rowat /tmp/_NFzzDsZB8:1------> b bar { my $foo = "OUTER"; OUTER::{$foo}⏏::<$a> = "hi" }; bar }; foo; say $a expecting any of: postfix statem… | ||
timotimo | r: my $a = "what?"; sub foo { sub bar { my $foo = "OUTER"; OUTER::{$foo}<$a> = "hi" }; bar }; foo; say $a | ||
camelia | rakudo 495602: OUTPUT«Cannot modify an immutable value in sub infix:<=> at src/gen/CORE.setting:14821 in block at src/gen/CORE.setting:2146 in sub bar at /tmp/9OxPlmIvYj:1 in sub foo at /tmp/9OxPlmIvYj:1 in block at /tmp/9OxPlmIvYj:1» | ||
timotimo | r: my $a = "what?"; sub foo { sub bar { my $foo = "OUTER"; OUTER::{$foo}.WHO<$a> = "hi" }; bar }; foo; say $a | 13:54 | |
camelia | rakudo 495602: OUTPUT«hi» | ||
timotimo | that's pretty bad! | ||
if an OUTER is used *anywhere*, i can just pack up and leave. forever. | 13:55 | ||
dalek | ast: 1bb9bd2 | (Elizabeth Mattijsen)++ | S32-scalar/perl.t: Add some tests for scalar roundtripping |
13:56 | |
timotimo | which is of course not that bad, because i the current state is that this optimization is never attempted at all | 13:57 | |
dalek | kudo/nom: b03cc1c | (Elizabeth Mattijsen)++ | t/spectest.data: Also run new scalar tests |
||
GlitchMr | jvm: say 42 | 14:00 | |
Can I eval Rakudo JVM code? | |||
timotimo | not on the bot :( | 14:01 | |
do you want me to go ahead and do that? i can compile a current jakudo for you | |||
GlitchMr | Well, I would like to experiment somewhat with Rakudo JVM | 14:02 | |
But I cannot manage to run it | |||
timotimo | if you promise to be nice, i'll give you a shell with a working jakudo | 14:03 | |
GlitchMr | No problem, :-) | ||
I'm not some random abuser | |||
I would like to have it working on my computer, but whatever. | 14:04 | ||
TimToady | .oO(he's a very specific abuser?) |
||
timotimo | maybe i can help you about installing it, though | ||
what kind of trouble are you having? | |||
GlitchMr | Well, actually, I'm on Windows right now, so well... | ||
timotimo | TimToady: in general, those are almost the only ones you really have to worry about | ||
virtualbox can help | |||
GlitchMr | I know | 14:05 | |
I'm usually on Linux | |||
Anyway, when I tried to install it in Linux, I had problem with configuring NQP for JVM | |||
JimmyZ | what's problem with windows? | ||
TimToady | it's pretty certain to be possible to run it on Windows, given some of our developers do so on Windowss | 14:06 | |
GlitchMr | (I'm currently not in home, so well) | ||
timotimo | wait. this is java. i could just give you my jar files, couldn't i? | ||
GlitchMr | Possibly... | ||
I'm not in home, so I wouldn't rather install Rakudo JVM right now. | |||
I wanted to experiment with it using bot. | 14:07 | ||
timotimo | right :| | ||
GlitchMr | I probably could install it on my server, but I'm not sure whatever it would work with Sun JVM. | ||
It's already difficult enough to write Perl 6 changes article when you aren't in home ;-) | 14:08 | ||
(at least GitHub has text editor) | 14:09 | ||
timotimo | does "sun jvm" mean "the jvm version that was current before oracle took over sun"? | ||
diakopter | probably just means oracle jvm | 14:10 | |
GlitchMr | Actually, I meant IBM JVM | ||
I fail | |||
diakopter | oracle jvm installs easily on most linuxes | 14:11 | |
GlitchMr | (I really fail) | ||
diakopter | oracle-java7-installer on ubuntu | ||
GlitchMr | My server has really low ammounts of memory, and Oracle JVM simply fails to run "Hello, world!". | ||
timotimo | "really low amounts of memory" == "no jakudo fun" | 14:12 | |
i'm having some trouble compiling jakudo myself, though | |||
GlitchMr | I guess it makes sense. | ||
timotimo | segfault in my jvm \o/ | ||
diakopter | hah | ||
GlitchMr | 256MB of RAM. Enough to run Minecraft server, but that's about it. | ||
timotimo | r: my $a = "what?"; sub foo { OUTER::<$a> := "hi" }; foo; say $a; $a = "boop" say $a; | 14:13 | |
camelia | rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/RnoCD1Aux4Two terms in a rowat /tmp/RnoCD1Aux4:1------> $a> := "hi" }; foo; say $a; $a = "boop" ⏏say $a; expecting any of: postfix infix stopper infix or met… | ||
timotimo | r: my $a = "what?"; sub foo { OUTER::<$a> := "hi" }; foo; say $a; $a = "boop"; say $a; | ||
camelia | rakudo b03cc1: OUTPUT«hiCannot modify an immutable value in block at /tmp/bfIOkzJoub:1» | ||
timotimo | mhm, so an usage of OUTER could also imply a BIND poison ... | ||
GlitchMr | (I hope Niecza isn't dead, I haven't seen updates in it for a long time) | 14:16 | |
timotimo | setting compile time \o/ | 14:17 | |
14:28
xilo joined
|
|||
timotimo | hmm, getting sundry test failures | 14:29 | |
r: class Foo { has $blah }; my Foo $f .= new; $foo.blah++; | 14:31 | ||
camelia | rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/H0GJhKGpS0Variable '$foo' is not declaredat /tmp/H0GJhKGpS0:1------> s $blah }; my Foo $f .= new; $foo.blah++⏏; expecting any of: method arguments postfix»… | ||
synopsebot | Link: perlcabal.org/syn/S0.html#line_1 | ||
timotimo | r: class Foo { has $blah }; my Foo $f .= new; $f.blah++; | 14:32 | |
camelia | rakudo b03cc1: OUTPUT«No such method 'blah' for invocant of type 'Foo' in block at /tmp/7igApd85RD:1» | ||
timotimo | r: class Foo { has $.blah }; my Foo $f .= new; $f.blah++; | ||
camelia | rakudo b03cc1: OUTPUT«Cannot assign to a readonly variable or a value in sub postfix:<++> at src/gen/CORE.setting:2184 in sub postfix:<++> at src/gen/CORE.setting:2182 in block at /tmp/RpDpAUoMRT:1» | ||
timotimo | locally ... that seems to pass | ||
but my optimization isn't changing the stuff | 14:33 | ||
one failure is there even when i disable the optimizer completely, the other failures seem to be matching output against known stuff where my debug output interferes | 14:35 | ||
14:38
Psyche^_ joined
14:42
Psyche^ left
14:55
colomon left
14:59
rindolf joined
|
|||
lizmat | r: say Int(1).perl # TimToady: shouldn't that be "Int(1)" ? | 15:00 | |
camelia | rakudo b03cc1: OUTPUT«1» | ||
timotimo | huh, why? | 15:01 | |
it's the same thing as "1" | |||
except for the Want mechanism in between | |||
lizmat | r: my Int @a=1; say @a.perl | 15:02 | |
camelia | rakudo b03cc1: OUTPUT«Array[Int].new(1)» | ||
lizmat | here the type info is preserved | ||
why isn't it with scalars ? | |||
r: my Int $a=1; say $a.perl | |||
camelia | rakudo b03cc1: OUTPUT«1» | ||
TimToady | r: say 1.WHAT | 15:03 | |
camelia | rakudo b03cc1: OUTPUT«(Int)» | ||
TimToady | looks like 1 is already an Int, so why convert it to one? | 15:04 | |
the purpose of .perl is to produce valid Perl 6 code, not to reproduce every possible bit of information you might annotate it with... | |||
lizmat | but the idea is that you should be able to roundtrip | 15:05 | |
r: my Int @a=1; say @a.perl.eval.perl.say | |||
camelia | rakudo b03cc1: OUTPUT«Array[Int].new(1)True» | ||
lizmat | r: my Int @a=1; say @a.perl.eval.perl | 15:06 | |
camelia | rakudo b03cc1: OUTPUT«Array[Int].new(1)» | ||
lizmat | in this case it is preserved | ||
JimmyZ | r: say Str(1).perl | ||
camelia | rakudo b03cc1: OUTPUT«"1"» | ||
lizmat | r: my Int $a=1; say $a.perl.eval.perl | ||
camelia | rakudo b03cc1: OUTPUT«1» | 15:07 | |
lizmat | afk& | ||
timotimo | building rakudo for a benchmark run | 15:11 | |
i was wondering why private method call inlining is level 3 and upwards, jnthn? is there some issue with it that makes it unfit for production use? | 15:12 | ||
lizmat | TimToady: and wouldn't the roundtripping capability mean that you *would* need to reproduce every possible bit of information you might annotate it with? | 15:13 | |
really afk& | |||
timotimo | it's the difference between reproducing a value or a container | ||
the Int you're refering to is part of the container, not the value, afaict | 15:14 | ||
so the round trip equivalent would be $a.perl => "my Int $a = 1" | |||
15:15
kst` joined
|
|||
TimToady | r: my Int $a=1; say VAR($a).perl | 15:15 | |
camelia | rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/rx6srdrqjQUndeclared name: VAR used at line 1» | ||
TimToady | remember that $a automatically derefs | ||
15:22
FROGGS[mobile] left,
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | Hi TimToady | 15:22 | |
TimToady: is the from adverb of the use statement about languages or interpreter binaries? | 15:23 | ||
So is it :from<Perl5> or is it lowercase always? | 15:24 | ||
timotimo | i'm not sure if the microbenchmarks in our benchmark suite will get any faster with my changes :| | ||
FROGGS[mobile] | :/ | 15:25 | |
TimToady | FROGGS[mobile]: I'm fine with uppercase | ||
FROGGS[mobile] | TimToady: awesome | 15:26 | |
jnthn: see? :o) | 15:27 | ||
15:27
ajr joined
15:28
ajr is now known as Guest22611
|
|||
[Coke] watches an interview with TimToady and learns stuff. | 15:28 | ||
timotimo | is that new? | ||
15:29
rindolf left,
Guest22611 is now known as ajr_
15:30
rindolf joined
|
|||
TimToady should watch it to see if he learns stuff... | 15:30 | ||
mst | I keep trying that with my own videos but I can't stand the sound of my own voice when it's second hand | 15:31 | |
weird given how much I enjoy it normally :D | |||
[Coke] | Published on June 29, 2013 | ||
timotimo | mst: you need some really good speakers to really appreciate the volume of your voice :) | 15:34 | |
FROGGS[mobile] | sad that only a few videos from yapcna are online | 15:39 | |
timotimo | yeah; there's not many things that make me more sad than to hear there is no recording of a talk i was interested in | 15:41 | |
if there's no good camera in there, at least have the decency to prop up a smartphone camera or something :( | |||
mst | there was streaming of most tracks | 15:42 | |
FROGGS[mobile] | well, everything got recorded | ||
mst | I'm not sure why the videos haven't been processed | ||
this is a regular problem actually | |||
timotimo | OK | ||
mst | videos get recorded but then never processed into something that gets uploaded | 15:43 | |
timotimo | is there going to be streams and/or recordings of yacp::eu? | ||
mst | I've thrown volunteers at it repeatedly and that doesn't seem to help | ||
I really don't understand what makes the problem so intransigent | |||
FROGGS[mobile] | on wednesday I turned on one camera at 11am, so before that it didnt record the speakers | 15:44 | |
was a bit misorganized in austin | |||
timotimo | wow, i must be measuring this wrong | 15:50 | |
t.h8.lv/p6bench/with_storeunchecked.html - the revision i'm comparing against is pretty old. i don't think my changes can plausibly have that effect | 15:51 | ||
diakopter | mst: this year, if the livestream was interrupted even once while transmitting, it "corrupted" the video file as stored on livestreams' servers, so they werent downloadable directly; they had to be streamed to be exported (which I was able to do for a ouple of the days before livestream deleted them or someone else who obtained the account password deleted them) | 15:52 | |
timotimo | i'm going to build and measure a very new rakudo against my changes now. | ||
mst | diakopter: what? | ||
diakopter: so we don't even have the original raw video? | |||
diakopter | mst: we didn't record them locally; were depending on livestream | ||
mst | and they disappeared off livestream's systems before you could get them back locally | 15:53 | |
diakopter | well, todd's trying to get them back | ||
no clue how well that's going or where it stands | |||
last I heard was a week or two ago | |||
mst sighs | |||
timotimo | ;_; | 15:54 | |
diakopter | I have 2 day-rooms worth, no clue which days or rooms, in .mp4 | ||
some enormous number of gigs, if someone wants to download them and process them and see if they include talks that aren't uploaded already that'd be nice | |||
I offered them to todd weeks ago; no reply | |||
he got pissed at me b/c as soon as I noticed videos were deleted I changed the account password in case some human was deleting them | 15:56 | ||
I felt I had the right to since I paid for the accounts and felt reponsible for giving out the password | |||
FROGGS[mobile] | Sure | ||
Can I download the mp4 from somewhere? | 15:57 | ||
diakopter | sure, i'll privmsg you | ||
FROGGS[mobile] | Can you email it? | ||
timotimo has a fairly new cpu in his desktop, but alas no intel quicksync :( | 15:58 | ||
FROGGS[mobile] | Quicksync? | ||
timotimo | some built-in video encoding stuff on their cpus or gpus or something | 15:59 | |
FROGGS[mobile] | Ahh | ||
16:03
woolfy left
16:04
lizmat left
16:06
crab2313 joined
16:14
woolfy joined
16:15
lizmat joined
16:20
woolfy left
16:22
crab2313 left
|
|||
timotimo | i'm imagining the speedup came when jnthn implemented compile-time inlining for calls with optional parameters rather than my optimisation | 16:24 | |
16:24
lizmat left
|
|||
timotimo | but i'd be very happy if it turns out that my stuff improved speed, too | 16:24 | |
16:26
lizmat joined
|
|||
timotimo | just as i feared, when i compare against a newer revision, the differences go away | 16:30 | |
oh well. better come up with some better optimisations! | 16:31 | ||
16:35
woolfy joined
|
|||
FROGGS[mobile] | ó.ò | 16:38 | |
16:50
cognominal joined
|
|||
dalek | rlito: 9e2b1b7 | (Flavio S. Glock)++ | / (4 files): Perlito5 - grammar - optimize |
16:52 | |
17:08
birdwindupbird left
17:10
FROGGS joined
17:34
jaffa4 joined
|
|||
timotimo | d'oh | 17:49 | |
my changes ... they do nothing :( | |||
we must invent new benchmarks that show that my changes have beneficial effects! | 17:52 | ||
17:55
jaffa4 left
18:07
ssutch joined
|
|||
timotimo | japhb_: my optimisations now turn p6store into p6storeunchecked in a couple of cases and there's *no* difference in the benchmarks at all :( | 18:18 | |
japhb_: in other news, the "latest-stuff" branch is all i worked on | 18:19 | ||
18:20
colomon joined
|
|||
timotimo | japhb_: but that's not the branch i'm pull-requesting | 18:21 | |
feel free to close the pull request; it's probably also necessary to pick and choose changes i made; some of them are probably bogus; there's at least a bunch too much debug output in timeall. | |||
ingy | I present you with the Perl 6 Bash Command of the Day: | 18:24 | |
git clone --recursive [email@hidden.address] (cd git-hub; make install); for repo in `git hub repos perl6 -ar`; do echo git clone `git hub repo $repo -r | grep ^ssh_url | cut -f2`; done | |||
get all of perl6 in one line! | |||
timotimo | jnthn: it would be very kind if you could quickly jot down the correct p6storeunchecked for rakudo-jvm. i don't think i can figure it out without asking you for the solution line-by-line ;) | 18:26 | |
18:32
mtk joined
|
|||
moritz has arrived in Kiev | 18:32 | ||
18:36
colomon left
18:38
rindolf left
|
|||
timotimo | looking forward to some great work being done :) | 18:40 | |
are there any focus points for you, Moritz? | |||
except your slides ;) | 18:41 | ||
moritz | timotimo: meeting people in meat space | 18:44 | |
timotimo | that is certainly a good activity | 18:45 | |
grondilu | I'm reading the MoarVM code. What's with all the structure names beginning with underscore. I've asked on #programming and they told me it's useful only when structures are recursive. That is, instead of typedef struct _Foo { int whatever; } Foo, one could just write typedef struct { int whatever } Foo Wouldn't it be clearer? | 18:46 | |
grondilu forgot a question mark and a semi-colon, but you get the idea | 18:47 | ||
timotimo doesn't see the underscore there | 18:48 | ||
ingy, do you have plans to fix testml and yaml for p6 in the future?. | 18:49 | ||
the last time i looked at yestml for p6 it disagreed with the testml spec | 18:50 | ||
afk | 18:51 | ||
18:55
not_gerd joined
|
|||
not_gerd | grondilu: yes, some of the conventions used by moarvm are a bit strange | 18:57 | |
leading underscores are actually reserved for the language implementation (compiler builtins, libc) | 18:59 | ||
eg new C language keyword start with an underscore (_Bool, _Noreturn, _Complex,...), so you shouldn't use them in user code | 19:00 | ||
19:04
preflex left
19:05
preflex joined,
ChanServ sets mode: +v preflex
19:17
woolfy left
19:18
lizmat left
|
|||
grondilu | not_gerd: well, a neat exercice in Perl6 would be to write a program that translates this into an other convention. | 19:22 | |
not_gerd | see gist.github.com/gerdr/6201767 for how I'd do it | 19:23 | |
19:26
Rotwang left
19:27
lizmat joined
|
|||
diakopter | grondilu its so all the raw structs are cobsistent and all the typedefs to ones withiut underscores mean pointers tto them | 19:27 | |
stuoid phkne | |||
stupid phone | |||
keyboard | |||
grondilu | diakopter: yeah I get it helps being consistent but it's kind of confusing, especially when in some parts of the program you see the _MVM version used where MVM would be just fine. | 19:28 | |
also, doesn't it use more memory (in the symbol table or something) for no reason? | 19:29 | ||
diakopter | if they actually would work, then they're simply fossils from some refactpring | ||
not_gerd | diakopter: you can forward-declare the typedef names | ||
eg add the typedef to the first lines of 6model.h | |||
diakopter | refactoring of the .h order I mean | 19:30 | |
not_gerd | then, you don't need the struct in the rest of the file | ||
grondilu | not_gerd: your code looks cool but kind of a hack. It's tough to understand. | ||
diakopter | yes I discovered that | ||
not_gerd | grondilu: forward declarations are a well-known C idiom | ||
you don'T need to see a type's definition to use derived pointers, only it's name | |||
diakopter | feel free to add a .h with just the forward declarations | 19:31 | |
grondilu | not_gerd: can you show me a recursive struct with forward declaration, I failed making one. | ||
diakopter | there are some in a few places already in my branches | ||
well, locally | |||
grondilu | like: typedef struct foo foo; struct foo { foo next; } // <- does not work | 19:32 | |
oops | |||
diakopter | Well the name sboukd be different | ||
not_gerd | gist.github.com/gerdr/768564c7282f2bc7a48b | ||
grondilu: your example misses the * | 19:33 | ||
geekosaur | that wouldn't work anyway, how does a struct contain itself? struct pointer should work | ||
grondilu | not_gerd: that does not compile (I tried gcc -c youfile.c): error: unknown type name ‘node’ + warning: useless storage class specifier in empty declaration | 19:35 | |
not_gerd | forgot to give the typedef a name | 19:36 | |
see updated gist | |||
19:42
Rotwang joined
|
|||
grondilu | not_gerd: yeah it would be clearer to use this kind of forward declaration for recursive structures. | 19:45 | |
because all these underscores are confusing, imho. | |||
and it would make type declarations shorter. | 19:46 | ||
ingy | timotimo: certainly. I plan to be spending more time on p6 in the near future | 19:52 | |
ingy adds {testml,yaml}.pm6 to the stack | 19:53 | ||
timotimo | cool | 19:55 | |
20:10
bruges left
20:12
bruges joined
|
|||
timotimo | i don't feel like p6storeunchecked has any difference in performance from p6store at all whatsoever | 20:15 | |
i must have done the mapping wrong or something. | |||
ingy | timotimo: what's that? :) | 20:16 | |
moritz | timotimo: try to use a custom subtype that's very expensive to check | ||
timotimo | oh, that's a good idea | 20:17 | |
i am having trouble setting up a subtype ... | 20:19 | ||
r: subtype Frob of Int where sleep 1; my Frob $a = 10; | |||
camelia | rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/vHXzv7vyBATwo terms in a rowat /tmp/vHXzv7vyBA:1------> subtype Frob of Int ⏏where sleep 1; my Frob $a = 10; expecting any of: postfix infix stopper infix or… | ||
timotimo | i thought it was done like that. | 20:21 | |
oooh | |||
sub*set* | |||
r: sleep 1 | |||
camelia | rakudo b03cc1: ( no output ) | ||
timotimo | r: subset Frob of Int where sleep 1; my Frob $a = 10; | 20:22 | |
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in sub sleep at src/gen/CORE.setting:731 in block at /tmp/PKEJJXJWxG:1» | ||
timotimo | o_O | ||
locally i just get could not found sub sleep | |||
oh my. that comes from the optimizer. that's not a good sign. | |||
FROGGS | r: say sleep 1 | 20:23 | |
camelia | rakudo b03cc1: OUTPUT«1» | ||
FROGGS | r: say sleep 5 | 20:24 | |
camelia | rakudo b03cc1: OUTPUT«5» | ||
FROGGS | okay | ||
TimToady | r: subset Frob of Int where so sleep 1; my Frob $a = 10; | 20:25 | |
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in sub sleep at src/gen/CORE.setting:731 in block at /tmp/C24wEkZ1cb:1» | ||
timotimo | ouch :) | 20:26 | |
oh | 20:33 | ||
could it be that when i try to nqp::istype($some_value, $restriction_on_a_type) it could run the subtype restriction during compilation? | 20:34 | ||
that would be highly unfortunate :) | |||
moritz | r: subset Frob of Int where { so sleep 1 }; my Frob $ = 10 | 20:35 | |
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in sub sleep at src/gen/CORE.setting:731 in block at /tmp/Tusx3q7kW_:1» | ||
moritz | r: subset Frob of Int where { sleep 1 }; my Frob $ = 10 | ||
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in sub sleep at src/gen/CORE.setting:731 in block at /tmp/JYTqM95MsT:1» | ||
moritz | r: sleep 1 | ||
camelia | rakudo b03cc1: ( no output ) | ||
timotimo | r: subset Frob of Int where { nqp::sleep(1) }; my Frob $ = 10; | 20:40 | |
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in block at /tmp/1TEPZKhQTY:1» | ||
timotimo | maybe it needs to be boxed for that to work? | 20:41 | |
r: subset Frob of Int where { nqp::box_i(nqp::sleep(1), 'Int') }; my Frob $ = 10; | |||
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in block at /tmp/ZqpERdweoZ:1» | ||
timotimo | r: subset Frob of Int where { so nqp::sleep(1) }; my Frob $ = 10; | ||
camelia | rakudo b03cc1: OUTPUT«Null PMC access in get_bool() in block at /tmp/BZkCjdJcnL:1» | ||
timotimo | r: subset Frob of Int where { True }; my Frob $ = 10; | ||
camelia | rakudo b03cc1: ( no output ) | ||
timotimo | r: subset Frob of Int where { 1 + 1; 2 }; my Frob $ = 10; | 20:42 | |
camelia | rakudo b03cc1: ( no output ) | ||
timotimo | hm. | ||
20:45
ajr_ left
20:55
not_gerd left
|
|||
timotimo | i can probably introspect a thing to figure out if it's a subset by asking its HOW | 21:00 | |
21:08
ssutch left
|
|||
pmurias | timotimo: re optimiser you are doing you optimalisations on the QAST->QAST level? | 21:26 | |
timotimo | ^H^Hyes | ||
21:29
thou joined
|
|||
timotimo | were you going to tell me this is a terrible idea? :) | 21:29 | |
or were you going to cheer because it'd work on the js backend as well? | 21:30 | ||
grondilu | rn: printf "%u", 2**32 | 21:40 | |
camelia | niecza v24-88-g1f87209: OUTPUT«4294967296» | ||
..rakudo b03cc1: OUTPUT«0» | |||
grondilu | rakudo is right here, isn't it? | 21:41 | |
r: run printf "%u" 4294967296 | |||
camelia | rakudo b03cc1: OUTPUT«===SORRY!=== Error while compiling /tmp/8OkyFn292vTwo terms in a rowat /tmp/8OkyFn292v:1------> run printf "%u" ⏏4294967296 expecting any of: postfix infix stopper infix or meta-infix state… | ||
timotimo | what is run? | 21:42 | |
grondilu | r: say qx{printf "%u" 4294967296} | ||
camelia | rakudo b03cc1: OUTPUT«qx, qqx is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in sub QX at src/RESTRICTED.setting:9 in block at /tmp/VT9bIiKu21:1» | ||
dalek | kudo/hyper_threaded: 71f8958 | (Tobias Leich)++ | src/ (2 files): first working threaded @a >>+<< @b There are still some quirks that need to be refactored nicely. I just hope that this could be the base for parallel operations on parrot backend. |
21:43 | |
grondilu | rn: printf "%u", 2**64 | 21:44 | |
camelia | rakudo b03cc1: OUTPUT«0» | ||
..niecza v24-88-g1f87209: OUTPUT«18446744073709551616» | |||
21:44
ssutch joined
|
|||
grondilu | rn: printf "%u", 2**100 | 21:44 | |
camelia | rakudo b03cc1: OUTPUT«0» | ||
..niecza v24-88-g1f87209: OUTPUT«1267650600228229401496703205376» | |||
grondilu | I guess niecza assumes %u means unsigned big integer | 21:45 | |
dalek | Heuristic branch merge: pushed 44 commits to rakudo/hyper_threaded by FROGGS | ||
pmurias | timotimo: the things below QAST (like JAST) don't seem very to do transformations on | 21:51 | |
timotimo: and we definitely want to have things like constant folding | 21:52 | ||
timotimo | don't seem very ... what? | ||
pmurias | * easy | ||
timotimo | agreed | ||
fwiw, constant folding is already implemented | |||
pmurias | have you been able to do any significant optimalisations? | 21:53 | |
timotimo | me personally ... just one | ||
there's an optimisation that turns simple junctions into short-ciruit ors | |||
if $x == -1 | 0 | 1 <- same thing as $x == -1 || $x == 0 || $x == 1 | 21:54 | ||
nqp: say(1 !=:= NQPMu) | |||
camelia | nqp: OUTPUT«Confused at line 2, near "say(1 !=:="current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | nqp: say(1 =!= NQPMu) | ||
camelia | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near "!= NQPMu)"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | nqp: say(1 !=== NQPMu) | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say(1 !==="current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | how do i negate =:=? | 21:55 | |
nqp: say(1 =:= NQPMu) | |||
camelia | nqp: OUTPUT«0» | ||
pmurias reads NQP::Grammar | |||
FROGGS | nqp: say( !(1 =:= NQPMu) ) | ||
camelia | nqp: OUTPUT«1» | ||
FROGGS | :o) | ||
timotimo | that's what i did now | ||
also, guten abend froggs :) | |||
FROGGS | *g* | ||
hi | 21:56 | ||
pmurias | timotimo: nqp doesn't seem to have metaops | 21:57 | |
timotimo | well, i thought there was a negation of =:= | 21:58 | |
pmurias | isn't there something wrong with =:= | 22:00 | |
timotimo | i'm having some difficulty figuring out if the $container-descriptor.of is a subset | ||
what's wrong with it? | |||
you think it should be =^.^= instead? | |||
pmurias | timotimo: I'm trying to remember | 22:01 | |
22:02
spider-mario left
|
|||
FROGGS | I dont see a negation for =:= | 22:02 | |
hmmm, my branch brakes @a >>+>> 1 | 22:03 | ||
timotimo | breaks or brakes? | ||
FROGGS | breaks | ||
pmurias | nqp: say(nqp::eqaddr("foo","foo")) | ||
camelia | nqp: OUTPUT«0» | ||
FROGGS | (I can't guarantee the order of the chars while hacking on threads) | ||
pmurias | nqp: say("foo" =:= "foo") | ||
camelia | nqp: OUTPUT«0» | ||
timotimo | :D | 22:04 | |
yeah no i can *not* get this to work >_< | |||
FROGGS | pmurias: well, these are two different containers, no? | ||
or storage locations or whatever | |||
timotimo | yeah, they are | 22:05 | |
pmurias | that depends | ||
timotimo | i'm trying something entirely else though :) | 22:06 | |
pmurias | r: say("foo" =:= "foo") | ||
camelia | rakudo b03cc1: OUTPUT«True» | ||
FROGGS | yeah, they could be the same, but I think they dont have to | ||
pmurias | in Perl6 they have to | ||
FROGGS | why *have to* ? | 22:07 | |
timotimo | that's weird | 22:08 | |
pmurias | because those are identical things | ||
timotimo | er ... okay? | ||
i thought =:= is "bound to the same container" | |||
FROGGS | its content is identical | ||
r: my $a = "foo"; say $a =:= "foo" | |||
camelia | rakudo b03cc1: OUTPUT«False» | ||
FROGGS | still identical values | 22:09 | |
pmurias | you are comparing the $a container with a "foo" string | ||
we don't distinguish different "foo" strings | |||
FROGGS | r: my $a = "foo"; my $b = "foo"; say "foo" =:= "foo" | 22:10 | |
camelia | rakudo b03cc1: OUTPUT«True» | ||
FROGGS | r: my $a = "foo"; my $b = "foo"; say $a =:= $b | ||
camelia | rakudo b03cc1: OUTPUT«False» | ||
pmurias | r: my $a := "foo"; my $b := "foo"; say $a =:= $b; | ||
camelia | rakudo b03cc1: OUTPUT«True» | ||
FROGGS | sure | ||
pmurias | nqp: my $a := "foo"; my $b := "foo"; say($a =:= $b); | 22:11 | |
camelia | nqp: OUTPUT«0» | ||
FROGGS | so literal things in a unit have just one container | ||
s/things/strings/ | |||
but still: why *have to* ? | |||
timotimo | i cannot self.find_lexical('Perl6::Metamodel::SubsetHOW'), 'Metamodel::SubsetHOW' or 'SubsetHOW' | 22:12 | |
FROGGS | for me it just sounds like an implementation detail, rather than a rule/fact/spec | ||
timotimo | and =:= Perl6::Metamodel::SubsetHOW doesn't seem to help at all | ||
pmurias | FROGGS: I feel we shouldn't distinguish "foo" and "foo" | 22:13 | |
timotimo | but then =:= becomes a whole lot more expensive | ||
FROGGS | pmurias: but that is about the value | ||
pmurias | timotimo: no actually it becomes cheaper | ||
FROGGS | timotimo: do you meant to use find_symbol ? | ||
timotimo | er ... yes, i do | 22:14 | |
pmurias | timotimo: the reason that in nqp ("foo" =:= "foo") == 0 is that we don't keep a constant table | ||
timotimo | no, i don't | ||
pmurias | and in nqp =:= basically compares memory addresses | 22:15 | |
timotimo | that's still not helping me get this problem sorted out :) | ||
pmurias | timotimo: what's your problem? | ||
timotimo | my optimizer is trying to see if, when there's a p6store, the container on the right is compatible to the container on the left | 22:16 | |
i've used the ContainerDescriptor.of value for that | 22:17 | ||
unfortunately, nqp::istype($foo, $bar) will execute the closure of $bar if it's a subset type | |||
and since it'd be executed in the context of the optimizer, things from the setting are unavailable and i don't want to be executing these closures anyway | |||
so i'm trying to see if it has the SubsetHOW, but i cannot figure out how to do that | |||
pmurias | can you check for ClassHOW or RoleHOW? | 22:19 | |
timotimo | oh, i think i know what to do | 22:20 | |
pmurias | so when the users use a custom DoCrazyStuffWhileTypeCheckingHOW things don't break | 22:22 | |
timotimo | yay, i made it work | 22:23 | |
.WHAT was the key to victory | |||
er, no, i spoke too soon | |||
pmurias | why can't use use find_lexical? | 22:25 | |
22:25
colomon joined
|
|||
FROGGS | maybe it doesnt work for longnames? | 22:26 | |
pmurias | doesn't look like it does | ||
so just looking finding Perl6 using find_lexical and extracting stuff from there should work? | 22:28 | ||
timotimo | ... huh? | 22:30 | |
it turns out the right way to do it is to .WHAT.HOW =:= Perl6::Metamodel::ClassHOW | |||
now i need to check if that will give True for proper classes. | |||
nah, that doesn't seem to help >_< | 22:31 | ||
22:32
FROGGS left
|
|||
timotimo | i don't know what to do now :| | 22:32 | |
pmurias | timotimo: if you use .WHAT.HOW =:= Perl6::Metamodel::ClassHOW you are comparing the ClassHOW in the setting of the compiler vs the ClassHOW in the setting of the program | 22:36 | |
22:37
crab2313 joined
|
|||
timotimo | oh | 22:37 | |
but i couldn't get the setting-internal one with any subset of the longname | 22:38 | ||
i'm going home ... get some sleep. i'm super tired :| | 22:41 | ||
pmurias | likely a good idea ;) | 22:42 | |
timotimo | yes. i don't think i can get this to work just by repeatedly banging my head against it | 22:43 | |
on the other hand, i can push the WIP up on github and hope jnthn has a brief look at it | |||
jnthn: if you read this, the branch name is "analyze_poison" on github.com/timo/rakudo ; see the last commit | 22:45 | ||
have a good time everybody! | |||
22:56
crab2313 left
23:03
pmurias left,
BenGoldberg joined,
woolfy joined
23:25
dmol joined
23:39
fridim_ joined
23:43
dmol left
23:54
grondilu left
23:58
FROGGS joined
|