IRCloggy #perl6 2014-03-10

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2014-03-10

lue <timotimo> unicode already specs a replacement character for encoding errors, iirc <-- isn't that just FFFD ? :)00:00
timotimo .u REPLACEMENT00:00
yoleaux U+FFFC OBJECT REPLACEMENT CHARACTER [So] ()00:00
U+FFFD REPLACEMENT CHARACTER [So] (�)00:00
timotimo apparently00:00
btyler left00:02
pippo left00:04
fridim_ left00:10
fridim_ joined00:11
tgt joined00:12
tgt left00:16
dayangkun joined00:23
LootingLemur joined00:44
LootingLemur Are we skipping 2014.02?00:49
hoverboard left00:50
timotimo nobody volunteered to do a star release00:53
there was a compiler release, though. we don't advertise them as openly to not confuse people.00:53
Mouq I think there's a strong hope that we can do 2014.03 with JVM, and no one wanted to make an R* without it…00:56
timotimo hmm00:56
i would have accepted an R* without jvm00:57
Mouq too00:58
Mouq idk00:58
timotimo i didn't do it because i already did the compiler release that month :P00:58
and i'm lazy00:58
colomon lazy++00:59
timotimo more like ++lazy00:59
r: enum Foo <One Two>; say One eq "One";01:02
tgt joined01:02
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«True␤»01:02
timotimo mhh, not bad.01:02
pecastro left01:05
tgt left01:06
hoverboard joined01:10
LootingLemur left01:16
woosley joined01:26
__thou left01:29
hoverboard left01:38
timotimo r: say "".split("|")01:40
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«␤»01:40
timotimo r: say "".split("|").perl01:40
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("",).list␤»01:40
timotimo hmm.01:40
Mouq r: say "timotimo".split("timo").perl01:40
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("", "", "").list␤»01:40
timotimo :)01:40
what are your next tuits going to be spent on, Mouq?01:41
Mouq timotimo: Right now I want to get https://github.com/Mouq/Grammar-Expression working01:43
timotimo ah, of course01:43
i remember looking at that and thinking to myself that that's going to be quite useful01:43
Mouq timotimo: But there's still =table, Pod::To::Markdown, and maybe some stuff to doc.perl6.org that I'd like to work on in the meantime, when I have time01:44
timotimo: Yourself?01:44
(Someone else can totally pick up Pod::To::Markdown, I only thought of how a nice it would be today, since Github doesn't support Pod6)01:45
timotimo i'm hoping to get the code rewritten that can turn embedded QAST::Blocks into QAST::Stmts if they don't define their own lexical variables01:47
currently, that already happens, but the effect of turning lexicals into locals doesn't cascade outwards, so it hardly gives a performance benefit yet01:47
btyler joined01:48
timotimo it ought to improve memory usage as well as give better run-time performance in nqp and hopefully also in rakudo01:48
though the rakudo optimizer can't do the same optimization yet, as blocks and variables have much more complicated semantics in perl 6 than they do in nqp01:48
Mouq Whoa, sweet :) ++timotimo01:48
timotimo hopefully! ;)01:49
and at some point i (or someone else) should introduce nqp::locallifetime to our moarvm MAST compiler01:49
and i'm kind of having an eye on the string instantiations in the moarvm heap during the core setting compilation01:52
https://gist.github.com/timo/e1af6d5c10a4e34d6cb0 - as you can see here, there's quite a bit of duplication01:53
i'm guessing that these instances come from some substring operation01:53
Mouq timotimo: I have no clue, but I can see why optimization would be useful here02:01
Mouq is at the insert-random-debug-statements-because-perl6-isn't-throwing-good-enough-errors stage of programming02:01
timotimo make sure to document these not-good-enough errors so that we can improve Perl 602:02
tgt joined02:02
Mouq timotimo: Well, I have no idea what's even happening02:03
timotimo: So I don't know what error it should be giving02:03
timotimo ah, okay :)02:03
Mouq ===SORRY!=== postcircumfix:<{ }> not defined for type Arithmetic02:04
apparently from the line last-term = True and last unless $infix.pos > $oldpos;02:04
tgt left02:07
timotimo that's an interesting line02:07
Mouq *$last-term02:08
We don't have loop-labels yet, so it should really be last TERM unless $infix.pos > $oldpos;02:08
timotimo "True and" seems like you can always replace it with "so"02:08
Mouq and has lower prec than item =02:09
*"and" has lower prec than item assignment02:09
klapperl joined02:09
timotimo oh, ok02:09
Mouq OH. Duhh02:10
I'm calling last, of course my debug statement isn't getting run -_-02:10
lol02:10
timotimo yeah :)02:10
timotimo makes a good rubber duck, he has found02:10
hoverboard joined02:12
klapperl_ left02:13
Sqirrel_ joined02:14
FROGGS_ joined02:14
FROGGS left02:18
Sqirrel left02:18
lue Could someone possibly enlighten me as to why this sometimes fails with "Cannot modify an immutable value" on JVM, or "No such method 'STORE' for invocant of type 'Any'" on MVM ? https://github.com/lue/synopsis-generator/blob/fragments/syngen.p6#L13902:20
Keep in mind, it doesn't fail the first time that line is encountered, and I've yet been unable to find out what the difference between a successful execution and the failed execution of that line is.02:21
Mouq r: (state%){0}.push(9) xx 202:23
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: ( no output )02:23
timotimo something something autovivification?02:23
Mouq r: (state%){0}.push(Any) xx 202:23
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: ( no output )02:24
timotimo r: my %test; %test{0}.push("hi"); %test{0}.push("bye"); say %test;02:24
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("0" => ["hi", "bye"]).hash␤»02:24
timotimo r: my %test{Int}; %test{0}.push("hi"); %test{0}.push("bye"); say %test;02:24
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«Hash[Any,Int].new(0 => ["hi", "bye"])␤»02:24
timotimo hm, no clue02:24
does $BL get iterated over by push for some reason?02:25
lue The only difference I've seen so far is that the first successful run of that line in one synopsis didn't have a text fragment, but the failed one did have a text fragment. Testing this out on the commandline proved me wrong on that hunch :(02:25
Mouq lue: might --ll-exception help?02:25
lue timotimo: maybe it iterates over the @.textfrag attribute, but I don't know.02:25
Mouq: that was going to be my next try :) .02:25
colomon is busy doing $work using rakudo-moar02:27
lue Hm. I just had a thought to try changing the key to a true number, and afterwards I'll try ll-exception02:27
Mouq colomon: \o/02:27
timotimo colomon: cool. let us know if you stumble upon anything bad02:28
colomon timotimo: you'd better believe I will. ;)02:29
JimmyZ Mouq: you meant %placements{'0'}.push($BL); ?02:31
timotimo :)02:31
JimmyZ: no, it's a %hash{Int}02:31
JimmyZ Int is the value, not the key, methinks02:32
lue That's another thing to try actually, just use a plain ol' %hash02:32
JimmyZ: %hash{Int} is spec'd to set the type of the key to Int. (And besides, if it affected the key I'd've run into more obvious problems much sooner ☺)02:32
timotimo JimmyZ: see the code i treid before02:32
02:33
JimmyZ NYI? :P02:33
timotimo i'm pretty sure that's implemented02:33
lue JimmyZ: the issue is some random, obscure problem with the value part of the hash's pairs.02:33
I forgot to mention that things like %hash{0} //= Array.new() didn't work.02:34
timotimo is that something you just found out or something we knew all along?02:34
JimmyZ I'm curious, why not @array[0]02:34
:/02:34
timotimo maybe because it's sparse?02:34
lue timotimo: Something I knew all along, just thought I'd specify that Any.push isn't the crux of the issue. If I have that //= line, *that's* what fails instead.02:35
timotimo hmm02:35
and --ll-exception doesn't help?02:35
btyler left02:35
lue timotimo: haven't run --ll-exception yet, trying to see if pushing to %hash{1} changes anything02:36
(it takes a while to run through each time)02:36
timotimo mhm02:36
--ll-exception only causes better tracebacks; you should use it all the time when you're developing IMO :P02:36
lue realizes he forgot about the time-saving trick that makes it easier to debug *faceplam*02:36
timotimo i don't know what that is and i'd really like you to tell me :302:37
Mouq finally finds the bug he was looking for: a ==Sorry== exception was getting put into an array and then thrown years later02:38
timotimo oops, that's kind of nasty02:38
lue timotimo: the trick? --backlinks=../roast/subdir-with-test-with-bl-that-crashes instead of --backlinks=../roast02:38
timotimo oh02:39
i got a feeling that that won't help me with all my debuggings in the future :)02:39
lue much easier when you're parsing a couple dozen test files than when parsing 918 :P02:39
timotimo yeah02:39
lue I almost wonder if my backlink generator shouldn't just parse the Pod6 file and then insert backlinks into the resulting tree, and save that to file. Only reason why I'm not doing that is to preserve as much of the file's formatting as possible.02:40
timotimo i think i'm going to bed now02:42
JimmyZ good night02:42
Mouq night timotimo!02:42
Mouq suddenly understands he was doing stuff completely wrong02:48
__thou joined02:55
TimToady at least with you it's sudden :)03:01
tgt joined03:03
tgt left03:07
lue Well, that's not cool. Narrowing down the test files I process somehow fixes it :/03:09
Sibin joined03:13
lue afk03:21
[Coke] wonders when "package foo;" became illegal.03:27
TimToady 2 Apr 200103:29
grep0r left03:30
cooper left03:30
[Coke] you're good. :)03:30
I have code that worked about a year ago that used it.03:30
hoverboard left03:30
[Coke] I wonder how long it took rakudo to catch up.03:31
(don't really need to know)03:31
Sibin left03:32
[Coke] on the flip side, I can throw out my .combine function...03:32
cooper joined03:33
cooper left03:33
cooper joined03:33
cooper left03:36
Sibin joined03:36
Sibin left03:36
cooper joined03:37
cooper left03:38
cooper joined03:38
Mouq [Coke]: Sat May 7 18:20:10 2011 +020003:38
git diff 1c0430601^..1c043060103:38
:P03:38
grep0r joined03:39
Mouq Oh, nope03:39
[Coke] huh. also had to change a bunch of @'s for sets to $'s.03:41
yay, I have my kenken helper script working again. :)03:42
molaf joined03:43
TimToady \o/03:43
lue --ll-exception for r-j doesn't give me anything much different from before, trying r-m03:55
Mouq is having major Cursor issues04:02
tgt joined04:04
TimToady maybe it's about time to rewrite STD in Perl 6 :)04:05
lue TimToady: isn't it already though? :)04:06
TimToady well, it's a thin Perl 6 veneer over mostly Perl 5 semantics04:06
TimToady would be interested to see what an implementation of backtracking using real lazy lists would look like04:07
xinming__ left04:07
lue Oh. I thought it was written for the ideal Perl 6 implementation, and so far only viv could handle it :)04:07
TimToady I'd probably use few hashes and more attributes if it were really ideal Perl 604:08
*fewer04:08
tgt left04:08
TimToady I guess we need to write vivi instead of viv04:09
raydiak left04:09
lue .oO(./ⅥⅥ.p6 --to=r-m)04:12
molaf left04:13
__thou left04:16
Mouq is annoyed04:18
Mouq I don't think what I'm trying to do can be done with the current Rakudo :/04:19
Something to do with the NQP-Perl6 barrier04:20
TimToady is this an issue of Cursors not be quite as immutable as they're supposed to be in theory?04:20
*not being04:21
aje_ joined04:21
aje_ moo04:21
Hello04:22
lue TimToady: looking at STD, I like how you called 「 」 "perfect quotes" :)04:22
TimToady aje_: howdy mate04:22
Mouq It's an issue with creating new Cursors and losing their private attributes somehow04:22
aje_ am new to the perl6 community and everything perl 6. just cloned rakudo* from github and am currently trying to build it. is rakudo the best place to start if I just want to hack around with perl 6 and try out the new language features?04:23
TimToady yup04:23
aje_ OK04:23
STD/viv is not the place to start?04:23
TimToady nope04:24
aje_ OK04:24
TimToady that's just a prototype we planned to throw away, on which the real parsers are based04:24
aje_ aaah, OK04:24
TimToady and viv can only translate a very limited subset of P6 back to P5 in order to run04:24
and it cheats :)04:25
aje_ I see... no worries then, just curious04:25
hehe04:25
TimToady are you familiar with P5?04:25
lue TimToady: ooc, if you did rewrite STD, would it be an actual rewrite, or would you just P6-ify the not-very-P6 bits of what's already there?04:25
TimToady it would mostly be rewriting CursorBase and LazyMap04:26
kaare_ joined04:27
TimToady no time for it currenlty04:28
*ntly04:28
aje_ TimToady: Yes, from way back when I used to do Unix sysadmin stuff... but that must be at least 10 years ago04:28
fridim_ left04:31
Mouq left04:35
grondilu left04:48
telex left04:49
telex joined04:50
tgt joined05:04
lue I don't suppose there's a way to effectively replace "sub infix:<=>(Mu \a, Mu \b) is rw" without modifying rakudo itself, is there? :/ (This so I can see what's going on with the args it gets when it fails)05:06
tgt left05:09
araujo left05:14
[Sno] left05:23
ggoebel11111 joined05:57
ggoebel11110 left05:58
ggoebel joined06:03
tgt joined06:05
kvakerman left06:08
tgt left06:10
BenGoldberg left06:12
woosley1 joined06:20
woosley left06:20
xragnar left06:22
xragnar joined06:22
donk left06:28
water joined06:30
waterhoverboard06:31
[Sno] joined06:39
kaleem joined06:52
tgt joined07:06
tgt left07:10
Monkey joined07:15
Monkey left07:15
xenoterracide left07:18
dayangkun left07:28
FROGGS_ left07:30
xenoterracide joined07:35
moritz good morning07:38
darutoko joined07:41
FROGGS joined07:51
dmol joined07:55
zakharyas joined08:04
tgt joined08:07
aje_ yippie, rakudo star installed08:07
hoverboard left08:10
tgt left08:11
FROGGS timotimo: +1 to :fallback08:13
timotimo: I always have bogus data I have to turn into valid text (just for users to read), and sadly I can do that nicely in PHP but not in Perl 5, which is weird08:14
vincent23 left08:15
vincent23 joined08:21
tgt joined08:25
tgt left08:29
dayangkun joined08:35
arnsholt left08:38
dayangkun left08:43
pdcawley joined08:43
sergot morning o/08:45
FROGGS morning sergot08:49
fhelmberger joined08:55
dayangkun joined08:55
pdcawley left08:57
pdcawley joined09:11
rindolf joined09:26
kivutar left09:33
virtualsue joined09:33
dakkar joined09:34
timotimo o/09:40
jnthn o/09:41
FROGGS o/09:41
JimmyZ \o/09:41
FROGGS \o09:41
jlaire o\09:42
woosley joined09:45
woosley1 left09:45
Mouq joined09:46
arnsholt joined09:46
woosley left09:46
arnsholt o/09:46
woosley joined09:46
arnsholt jnthn: Is there any particular reason $VM on Rakudo/JVM doesn't load the stuff from nqp::backendconfig?09:47
timotimo hmm. i can't give .assuming a different invocant, can i?09:48
FROGGS arnsholt: because there is almost nothing in its backendconfig, no?09:48
j: say nqp::backendconfig09:49
camelia rakudo-jvm 1aeb7c: OUTPUT«("runtime.jars" => "/home/p6eval/rakudo-inst-2/languages/nqp/runtime/asm-4.1.jar:/home/p6eval/rakudo-inst-2/languages/nqp/runtime/asm-tree-4.1.jar:/home/p6eval/rakudo-inst-2/languages/nqp/runtime/jline-1.0.jar:/home/p6eval/rakudo-inst-2/languages/nqp/runtim…»09:49
FROGGS j: say $*VM09:49
camelia rakudo-jvm 1aeb7c: OUTPUT«("name" => "jvm", "properties" => {"java.vm.version" => "24.51-b03", "sun.jnu.encoding" => "UTF-8", "java.vendor.url" => "http://java.oracle.com/", "java.vm.info" => "mixed mode", "user.dir" => "/home/p6eval_eval", "sun.cpu.isalist" => "", "java.awt.graphic…»09:50
timotimo another thing is: $*VM on parrot is absurdly slow :(09:50
aje_ left09:51
aje_ joined09:52
Mouq left09:52
pecastro joined09:55
arnsholt There is that, yeah09:55
It's just weird that the JVM backend config has a separate op to get the information we need09:56
If nqp::backendconfig is sparse on information, we should add some more stuff to it, rather than add a JVM-specific op, no?09:56
FROGGS +1 from me :o)09:57
(dunno if that is worth much though)09:57
jnthn I think jvmproperties may be accessing something JVM-specific (that actually is called properties)...09:57
arnsholt It is, but is it really necessary to expose that fact to the user?09:59
The reason for this complaint is of course that it's a lot easier to add the "how to compile things" info to nqp::backendconfig on JVM, but I want that stuff in $*VM =)10:01
timotimo making something an op in nqp is not really "exposing a fact to the user" :)10:03
FROGGS timotimo: rakudo is the user :P10:03
timotimo :)10:04
dayangkun left10:10
arnsholt timotimo: The user of NQP was what I meant, though =)10:14
robinsmidsrod left10:30
robinsmidsrod joined10:31
woosley1 joined10:36
woosley left10:36
pmurias joined10:40
pmurias if I need to #ifdef something in the setting for multiple backends what would be a good way to do that?10:41
timotimo i'm going to be procrastinating away writing today's p6weekly until a new cool item to write about pops up10:43
get busy, people! :)10:43
jnthn pmurias: There's already a #?if ... mechanism.10:43
pmurias: That's perhaps useful?10:43
timotimo jnthn: but that doesn't give logical operations, no?10:43
i think that's the core of the question10:43
pmurias jnthn: it only takes one backend10:43
jnthn oh10:43
But it can be negated10:43
pmurias but it can't be nested10:44
jnthn Nope10:44
woosley joined10:44
woosley1 left10:44
pmurias and I want to disable a given section for both js and parrot10:44
timotimo time to pick up m410:45
vincent21 joined10:45
jnthn Well, guess we could support #?if moar|jvm10:45
woosley left10:45
woosley joined10:45
pmurias or nesting10:46
woosley left10:46
jnthn True.10:46
pmurias which one should I implement?10:46
jnthn Though the or is probably easier10:47
Anyway, it's just a simple Perl 5 script that does the thing.10:47
Don't feel strongly; I'd probably do the |10:49
vincent21 left10:50
PZt left10:51
virtualsue left10:51
simcop2387 left10:51
simcop2387 joined10:53
dalek nqp-js: 06ccf9e | (Pawel Murias)++ | tools/build/Makefile-JS.in:10:59
nqp-js: Run test 2 during make test.10:59
nqp-js: review: https://github.com/pmurias/nqp-js/commit/06ccf9ec0110:59
nqp-js: 0772a15 | (Pawel Murias)++ | tools/build/gen-cat.pl:10:59
nqp-js: Implement #ifdef nesting in tools/build/gen-cat.pl.10:59
nqp-js: review: https://github.com/pmurias/nqp-js/commit/0772a157c010:59
nqp-js: 3c6b592 | (Pawel Murias)++ | / (2 files):10:59
nqp-js: Use more of the setting, pass more tests.10:59
nqp-js: review: https://github.com/pmurias/nqp-js/commit/3c6b5929f110:59
pmurias jnthn: nesting was easier to implement and avoid introducing more syntax11:00
* avoids11:00
arnsholt left11:04
vincent21 joined11:04
rom1504 joined11:12
daxim mls, https://build.opensuse.org/project/monitor/home:ldieckow:branches:devel:languages:parrot11:18
I've started with 2014.0111:19
currently stuck with parrot 6.0.0 because I cannot figure out how to fdupes uninstalled %doc files11:19
I would like you to NOTICE ME SEMPAI because I've talked to you about the rakudo stack on obs before and it would be a shame to duplicate work on it11:21
Mouq joined11:30
pmurias left11:31
Mouq left11:34
sqirrel joined11:39
Sqirrel_ left11:39
dmol left11:42
pmurias joined11:44
xenoterracide left11:52
daxim segfault when compiling nqp: http://paste.scsys.co.uk/323215 # who feels responsible?11:53
FROGGS I do11:56
daxim: do you have the MoarVM configure+build output somewhere?11:56
skids left11:57
daxim certainly. build log <https://build.opensuse.org/package/live_build_log/home:ldieckow:branches:devel:languages:parrot/moarvm/openSUSE_13.1/x86_64> spec file <https://build.opensuse.org/package/view_file/home:ldieckow:branches:devel:languages:parrot/moarvm/moarvm.spec?expand=1> packages <http://software.opensuse.org/download.html?project=home%3Aldieckow%3Abranches%3Adevel%3Alanguages%3Aparrot&package=moarvm>12:00
brrt joined12:01
xenoterracide joined12:02
arnsholt joined12:03
scumdog1 joined12:06
scumdog1 left12:07
btyler joined12:10
benabik left12:12
brrt hi #perl612:14
colomon o/12:14
brrt is your wheather as awesome as it is here?12:14
dayangkun joined12:15
fridim_ joined12:16
daxim FROGGS, do you want me to file a formal bug so the crash doesn't get dropped under the table?12:17
jnthn daxim: I'm too tied up with $dayjob task to look right now, but if there's a MoarVM segfault please file it.12:18
colomon brrt: high for the day is 43F, that's incredibly warm by the standards of the last two months...12:22
brrt 43F in celcius….12:23
oh12:23
i've got 20 deg c at least12:23
68F12:23
tadzik 12C here, very nice :)12:23
colomon brrt: Jan and Feb had only four or five days that got above 0C here.12:23
43F probably means half the town will be breaking out the light jackets and shorts.12:24
brrt :-)12:24
well, in europe its BBQ time at least12:24
daxim here the same info as above as github ticket: https://github.com/MoarVM/MoarVM/issues/8112:27
mavcunha joined12:27
fridim_ left12:31
masak afty, #perl612:59
FROGGS daxim++ # sorry, got distracted13:01
kaare_ left13:03
kaare_ joined13:03
FROGGS daxim: I am moving the discussion to #moarvm13:04
guru joined13:09
guruGuest5813:10
Guest58ajr_13:10
skids joined13:23
tadzik mwahaah13:32
uh, ww13:32
masak :)13:33
today's mini-challenge: make this the *right* window to say "mwhaah" in.13:34
lizmat waiting for someone to grab you by the mivocks?13:35
moritz which "word", consisting of six lower-case letters, produces the sha1 sum 12f4a69f0d00b48bd73901a75c693b67c877e69d? # for masak's mini-challenge13:35
brrt ugh13:35
26^6 options13:35
lizmat ah, that's so ascii thinking13:36
moritz brrt: just scroll up a bit13:36
brrt :-) moritz saved me so much time13:36
masak it would've been more fun if we had made you search. :)13:37
moritz mwahaah13:37
FROGGS hehe13:37
I got it too fwiw :o)13:37
mls daxim: I updated nqp/rakudo/moarvm in devel:languages:parrot last week13:45
I didn't upate parrot yet (because nqp no longer needs it for building)13:46
tadzik mls! \o/13:46
mls hi guys ;)13:47
FROGGS mls: nqp still needs parrot if you are going to provide nqp-p13:47
mls yes. I currently only build nqp-m13:47
JimmyZ wb, mls :)13:48
moritz not a bad choice (nqp-m only), we just need NativeCall and a bit more modules support13:49
FROGGS yes, I usually use nqp-m only, and when I am done hacking I test my stuff on the two others...13:52
JimmyZ too13:52
jnthn Same; nqp-m has fastest build/spectest time, so it's the shortest dev cycle. :)13:52
mls daxim: do you want write access to devel:languages:parrot?13:53
FROGGS btw, someone should rename that to devel:languages:perl6 some day13:53
excepts that parrot might stay in parrot13:53
-s13:53
mls yes. I should have named it "perl6" ;)13:53
but at that time I thought that there'll be many languages using parrot as a backend13:54
JimmyZ jnthn: just curious, what's your todo list after nativecall :P13:54
s/your/your next/13:54
vincent23 left13:56
vincent23 joined13:57
vincent23 left13:57
FROGGS my guess is getting m* in the shops13:57
vincent23 joined13:57
vincent23 left13:58
dalek rakudo-star-daily: 66e0fce | coke++ | log/ (5 files):13:58
rakudo-star-daily: today (automated commit)13:58
rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/66e0fce49313:58
jnthn Yeah...m*, async I/O, the Moar specializer, and native typed rw/array...14:02
office &14:03
kbaker joined14:03
FROGGS loop labels would alos be nice... but perhaps somebody else can do that, since it is kinda done for nqp-p, and needs doing for nqp-m and nqp-j14:04
rurban__ parrot -O2 unfortunately doesn't work yet on nqp. found a label bug14:11
__thou joined14:11
[Coke] wonders if jvm or moar are ready to add the star pile for testing modules.14:12
virtualsue joined14:13
jnap joined14:15
FROGGS [Coke]: I think so14:17
[Coke]: even when NativeCall and their deps will fail, it still makes sense to fix possible bugs in other modules14:17
rurban__: the default for parrot is to do -O1 when configures with --optimize?14:18
sqirrel left14:19
xenoterracide left14:24
rurban__ yes14:33
-O1 is equal to -O14:33
oh, sorry. --optimize does not call parrot with -O. so not14:33
I just tested optimized nqp pbc's via parrot -L. -X. -O214:34
how much nqp packfiles are already optimized or not14:34
PZt joined14:37
FROGGS ahh, I see, thanks14:37
kaare_ left14:49
telex left14:49
ribasushi left14:49
rurban__ how much constant propagation and constant folding will improve nqp and thus rakudo performance14:49
I estimate 2-3% only14:49
kaare__ joined14:51
telex_ joined14:51
ribasushi joined14:51
telex_telex14:52
kaleem left14:55
moritz rakudo already has a constant folder, fwiw15:00
so it'll likely only affect the compiler itself15:01
treehug88 joined15:09
rindolf left15:13
araujo joined15:13
mavcunha left15:14
jnap left15:15
rurban__ it affects the generated nqp code. lots of constants which can be propagated15:15
fixed the bug, testing now again15:15
SamuraiJack_ joined15:17
rurban__ yes, all nqp tests pass now with parrot -O215:17
jnap joined15:18
moritz was it an nqp or a parrot bug?15:19
perlpilotPerlJam15:19
timotimo cool!15:21
rurban__ moritz: an old premature imcc optimization15:25
running more tests, then rakudo tests and updated benchmarks (but I guess it will be only 3-5% max)15:26
timotimo is anything perl 6 related going to participate in the gnome outreach programme?15:27
moritz if somebody has a great idea for that, I'd be willing to mentor (if it fits my areas of expertise)15:28
timotimo well, it's not limited to programming, so documentation could be a viable thing to do15:28
(and that's also an area of expertise of yours :) )15:29
anyway, i'll start work on today's p6weekly post. i'd love to hear some suggestions :)15:30
moritz timotimo: did you note my suggestion for the "how to contribute" section from (end of) last week?15:30
timotimo i'm not sure15:30
feel free to restate it15:31
moritz r: 115:31
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: ( no output )15:31
moritz simplify that to 'rakudo-{parrot,jvm,moar} 1aeb7c:'15:31
timotimo ah yes15:31
did you see my implementation attempt?15:31
moritz no15:32
timotimo https://gist.github.com/timo/c2119931370ee31360e715:32
alas, it's not complete15:33
it doesn't handle situations yet when there's niecza in the mix or something similar15:33
moritz and, uhm, I hate to spoil this, but camelia is written in p5 :(15:33
timotimo not important. this script can pre-generate all the combinations and write them to a text file15:34
you would then just have to run that script whenever you rebuild the rakudos and nieczas and stuff15:34
treehug8_ joined15:35
moritz well, I'd prefer it camelia's workflow didn't get more complicated15:36
timotimo fair enough15:36
i'll put it up on the blog15:36
treehug88 left15:36
moritz thanks15:36
arnsholt left15:38
timotimo can perl6-m now completely build parrot with all dependencies and stuff? now that the precomp bug is fixed?15:39
moritz build parrot?15:40
timotimo er15:40
moritz confused15:40
timotimo panda15:40
all those animals starting with pa :|15:40
pmurias is there a lot of stuff missing for a perl6 camelia?15:41
timotimo pmurias: how would you like your work for this week described?15:42
you're adding more and more files to the core setting and making more and more spectests pass?15:42
PerlJam .oO( pmurias: the most awesome Perl 6 work ever accomplished! )15:42
timotimo for last week, actually15:43
well, last week and today :)15:43
moritz pmurias: probably something to make the IRC module reconnect on timeouts and other stuff15:43
denis_boyun joined15:44
tadzik hmm15:45
timotimo tadzik: you got something cool to report?15:45
tadzik I wonder how is Net::IRC::Bot doing15:45
timotimo: no :(15:45
timotimo that's fine15:45
tadzik I did absolutely nothing, aside from the usual maintenance15:45
moritz tadzik: last time I used it, it, like, mostly worked quite well15:45
timotimo if you keep that up, though, be prepared to receive a strongly worded letter :P15:45
tadzik :>15:46
I know, I know15:46
want to give me a project idea?15:46
I'd like to do something in Perl 6 userspace15:46
timotimo huh? but there are no perl 6 users!15:46
masak tadzik: mishu!15:46
tadzik oh, I could rework MuEvent and make it exploit all the concurrency awesomeness15:46
moritz timotimo: port camelia to Perl 615:46
masak ooh15:47
tadzik moritz: me? :)15:47
I wanted to start with synopsebot15:47
see if it can run long-term15:47
timotimo http://perlcabal.org/syn/S15.html - is this supposed to 404?15:47
tadzik masak: mishu is a great idea, *but* :)15:47
I was already sick for the entire last week, and if I was to take a week of and go to sweden now, $work may get... disappointed15:48
masak tadzik: oh, you wanted to meet up for it? awesome, I didn't realize.15:49
tadzik I wouldn't want it any other way :)15:49
masak \o/15:49
tadzik: even hearing that, I'm very excited. looking forward to meeting you, whenever :D15:49
timotimo tadzik: do you know what the exact status of panda on moar is? now that the precomp bug has been fixed?15:50
tadzik I found that I can trick myself into being productive by traveling somewhere to be productive there15:50
it worked for all the last conferences with hackathons :)15:50
timotimo: I think it works :P15:50
let me check again15:50
timotimo to be honest, i wasn't even really sure what exactly broke :(15:50
i know you couldn't install URI, or at least i thought that was it15:50
tadzik ah, URI is tricky15:50
and I think some thinking is required for how to spec META.infos and all this stuff to make it not-crazy15:51
what I mean is: modules with per-backend code are tricky15:51
moritz URI has always been the big test for precompilation on rakudo-p15:51
tadzik oh, maybe it's mime-base64 that has those problems15:51
either way, it's something that wants to be solved15:52
moritz that's also tricky, yes :-)15:52
hoelzro I got MIME::Base64 precompiling not an hour ago15:52
timotimo \o/15:52
moritz URI is tricky because it has lots of interdependencies, and partially used with require15:52
timotimo hoelzro: can you summarize last week's stuff for me?15:52
hoelzro I had to trick it, though15:52
moritz and MIME::Base64 is tricky because it has a parrot-specific backend15:52
hoelzro timotimo: I'm afraid I've been in and out of the Perl 6 world over the last few weeks =/15:52
timotimo that's fine15:53
vincent21 https://gist.github.com/timo/c2119931370ee31360e715:53
hoelzro latest version of the Moar report: https://gist.github.com/hoelzro/946770015:53
pmurias timotimo: it's not awesome at all ;) I'm porting over the nqp-js to use the nqp build system so it can be merged into the repo15:53
timotimo pmurias: ah, so just nqp so far?15:53
that's fine, too! :)15:53
pmurias yes, and those tests are passing using a different build system15:54
hoelzro crap, forgot summary.txt =(15:55
tadzik ah15:56
panda cannot connect to feather for some reason15:56
and it only happens on my box; I guess I'll debug that15:57
jnap left15:57
tadzik what was that strace incantation for child threads?16:00
ach, -316:00
-f that is16:01
and mystery solved: moarvm cannot ipv616:01
hoelzro ok, summary.txt is in the latest moar report16:02
hoelzro .oO( I should set up the moar report to run automatically... )16:03
tadzik argh, gdbing perl6-m is pain, or am I doing it wrong?16:07
timotimo http://p6weekly.wordpress.com/?p=86&shareadraft=531de39172131 - first draft. i've surely missed some interesting and/or important changes during the week?16:09
fhelmberger left16:10
tadzik huh16:10
moarvm is doing something very weird with ipv616:11
https://gist.githubusercontent.com/tadzik/9468083/raw/349b9d4b2bcbe1ebb2a94bb568a44a58599e0f66/gistfile1.txt16:11
it connects to correct host in the first place, but then it closes it, and connects to...incomplete address16:12
TimToady timotimo: no one will know what moar-conc means16:13
timotimo good point.16:13
benabik joined16:13
timotimo actually ... shouldn't it be possible to (ab)use the backtracking of regexes to make the prefix & suffix summarization much shorter code-wise?16:16
hm, not quite. it would probably not find summarizable things if it had to re-order them first16:17
tadzik argh argh16:20
timotimo: halp16:20
timotimo but i don't know how to sockets :(16:20
tadzik but you know how to gdb16:20
and I can't run moarvm with this thing16:20
it needs some wizardry with 'set args' I figured16:21
timotimo oh16:21
gdb and args is easy16:21
just figure out how exactly moarvm is invoked16:21
and then gdb --args /foo/bar/moarvm --libpath=something something.moarvm foo.pm616:22
(a friend recently showed me this and blew my mind completely and utterly)16:23
[Coke] you can do that from the command line!?16:23
tadzik oh16:23
benabik Huh. I had always just used `gdb foo` and then `run bar baz` to debug `foo bar baz`16:23
tadzik me too16:23
oh?16:23
timotimo YES! :D16:23
tadzik me not16:23
[Coke] timotimo++ timotimo++ timotimo++ # holy crap16:24
tadzik I have no idea what's surprising me anymore16:24
but something is16:24
but with the help of puts() I found where moarvm fails anyway :D16:24
jnthn tadzik: perl6-m is just a shell script; it's better to gdb moar itself and r it with the stuff in the shell script plus your args, I think. At least, that's what I do with msvc...16:25
[Sno] left16:26
benabik GNU utilities always have the least useful man pages. I know they'd prefer we use the info pages, but those don't always seem to be installed. At least a summary of *all* the options would be nice.16:26
brrt left16:26
timotimo jnthn: no, even better is to gdb --args moar foo bar baz16:26
:)16:26
benabik timotimo: I doubt that works with msvc16:26
jnthn timotimo: Or what :) Either way, without the shell script :P16:26
tadzik yeah, I got to that part :)16:27
jnthn benabik: I tend to set it up inside VS :)16:27
tadzik verdict: resolve_host_name can't ipv616:27
jnthn tadzik: I never actually tried out the ipv6 bit of Moar sockets...16:27
dmol joined16:27
jnthn I *thought* the code I did would handle to it...16:27
s/to//16:27
timotimo: "He has also said before that Parrot’s concurrency model is vastly superior to MoarVM’s, so I’m very excited to see an implementation of Perl 6 concurrency on top of parrot." - might want to mention that's a highly disputed claim. :)16:29
timotimo: The font size seems to shrink in the last paragraph...16:30
tadzik memcpy(dest, result->ai_addr, sizeof(struct sockaddr));16:30
that looks wrongish16:30
timotimo how is "While not everybody agrees with him, I'm very excitedly looking forward to an implementation of Perl 6 concurrency on top of parrot that kicks MoarVM's butt."?16:30
tadzik oh, not16:30
I should talk less :P16:30
jnthn timotimo: Well, "so we can see if the claim holds up" is more the reason :)16:31
timotimo fair enough16:31
jnthn It'll need a volunteer to write that implementation, 'cus I sure ain't working on it.16:31
timotimo sure enough16:31
tadzik ah, yes, gotcha16:32
jnthn tadzik: Found the bug? :)16:33
jnap joined16:33
tadzik I think16:33
I think sockaddr only works for v4, and you need sockaddr_in6 for v616:33
jnthn has some teaching to do over the coming weeks, BUT has got finished with writing course material, which is good for the tuit supply :)16:33
jnthn tadzik: ah, ok :)16:34
zakharyas left16:34
tadzik or maybe not :16:34
timotimo Should i encourage my readers to volunteer to do the Rakudo * 2014.02 release even though it's already half way into 03?16:34
tadzik I never bothered to learn ipv6 sockets. "Baah, we'll never use ipv6 anyway"16:34
jnthn timotimo: Probably not...16:34
tadzik and now I'm the one who noticed the bug... :)16:34
timotimo hm, ok.16:34
jnthn timotimo: Better use of time is doing stuff to make sure the 2014.03 one supports more than just Parrot :)16:35
timotimo aye. but that's not necessarily something a semi-outsider could just pick up16:35
jnthn wonders if it's github or the train wifi that is being flaky...16:37
jnap left16:38
jnap joined16:38
SamuraiJack_ left16:39
tadzik github is16:41
jnthn ah, k16:41
uh-oh...here's the underground station where connection gets interesting...16:41
tadzik :P16:41
vincent22 joined16:43
nwc10 timotimo: true, for "not necessarily". Some people probably can. (and possibly more easily than they can get the confidence to roll a release)16:44
I think that it's the right thing to suggest trying - help work on ecosystem modules16:44
even if it's just golfing problems down to bug reports16:44
timotimo anything in particular you'd like me to mention?16:44
nwc10 I don't know. I hope that jnthn, [Coke] or holzero would have a better idea16:45
and I have a train to catch16:45
to see the damian16:45
tadzik aww yiss16:45
I seem to have fixed it16:45
should socket spectests work on rakudo?16:45
rakudo-moar, that is16:46
jnthn tadzik: yes16:46
tadzik: Passed for me last I checked (day or two ago)16:46
tadzik okayo16:46
[Coke] what are we looking at ? things to do for people who are just joining the #perl6 community?16:46
timotimo [Coke]: i'll mention mojo6 if that's okay with you16:46
[Coke]: yes, i'd like to encourage people who have so far just been looking/lurking to have a closer look at the community and implementations16:47
SamuraiJack joined16:48
ajr_ left16:49
isBEKaml joined16:49
tadzik oh, hahaha16:51
now that I fixed ipv6, it turns out that the moduleDB doesn't support it :P16:51
timotimo hah, excellent :)16:51
still, decent ipv6 support is definitely a necessity for Perl 616:51
jnthn tadzik: The patch is still welcome :)16:52
timotimo not only because the numbers are equal :)16:52
tadzik sure :)16:52
timotimo http://p6weekly.wordpress.com/?p=86&shareadraft=531dedc52b18516:52
tadzik ok, I can fetch stuff from ipv6.google.com, so I say it works16:53
rindolf joined16:55
btyler_ joined16:56
btyler left16:57
vincent21 left16:57
jnap left16:57
virtualsue left16:58
jnap joined17:00
mcglk left17:03
FROGGS left17:03
mcglk joined17:04
mcglk_ joined17:05
mcglk__ joined17:06
timotimo post published17:08
mcglk left17:09
mcglk joined17:10
mcglk_ left17:10
tadzik \o/17:10
timotimo++17:10
jnthn yay, think I've a patch that fixes the Supplies issue without regressing roles tests :)17:11
mcglk__ left17:11
raiph joined17:11
tadzik aww yiss17:12
now both panda-moar and moduledb like ipv617:12
I hope they still like ipv4 too17:12
==> Successfully installed Term::ANSIColor17:12
jnthn \o/17:12
tadzik I like how fast that is. May actually convince people to trust panda a bit, instead of installing things manually :P17:13
isBEKaml panda is actually a bumbling animal. Why would people trust it with important stuff?17:13
tadzik duude, chiillll17:14
jnthn 'cus it's unbearably cute17:14
mcglk left17:14
isBEKaml It only reinforces its image with those Kung fu series. :)17:14
mcglk joined17:14
tadzik I think pandas are always high on eucaliptus17:14
oh wait, that's koalas17:15
isBEKaml mate, you got your geography mixed up.17:15
jnthn Pandas only do bamboo...which I'm not sure you can get high on, though admittedly I never tried...17:16
[Coke] (mojo6) sure, point them to me on this channel.17:16
jnap left17:17
mcglk left17:18
SamuraiJack left17:19
dalek rakudo/moar-conc: c9d478e | jonathan++ | src/vm/moar/ops/container.c:17:21
rakudo/moar-conc: Fix role type checking bug in assignment.17:21
rakudo/moar-conc:17:21
rakudo/moar-conc: Mostly unbusts Supply on Moar.17:21
rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/c9d478ef6217:21
mcglk joined17:22
Rotwang joined17:22
mcglk_ joined17:23
vendethiel r: 0 but "" ==> .perl17:24
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/tmpfile:1␤------> 0 but "" ==> .perl⏏<EOL>␤ …»17:24
vendethiel r: say (0 but "").perl17:24
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«␤»17:24
mcglk__ joined17:24
mcglk___ joined17:26
vendethiel uuh :(17:26
mcglk left17:26
mcglk___mcglk17:26
TimToady r: say ("" but 0).perl17:27
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«""␤»17:27
mcglk_ left17:27
mcglk___ joined17:28
mcglk__ left17:28
mcglk_ joined17:29
mcglk__ joined17:30
SamuraiJack joined17:31
mcglk left17:31
mcglk joined17:32
[Coke] no buts about .perl17:32
mcglk___ left17:32
tadzik oh-oh, interesting fact17:32
rakudo-moar is apparently the first rakudo to support IPv617:32
TimToady r: say ("foo" but "bar").perl17:32
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«"foo"␤»17:32
TimToady r: say ("foo" but "bar").gist17:33
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«foo␤»17:33
TimToady r: say ("foo" but "bar").Str17:33
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«bar␤»17:33
mcglk_ left17:33
tadzik or maybe other platforms have clever sockets that fallback to v417:33
mcglk_ joined17:34
FROGGS[mobile] joined17:34
mcglk__ left17:34
mcglk__ joined17:35
mcglk left17:36
kbaker left17:38
isBEKaml left17:38
mcglk_ left17:38
geekosaur many but not all linux distributions make use of a kernel network stack mechanism where opening an ipv4 socket automatically opens a compatible associated ipv6 socket17:39
mcglk joined17:39
mcglk__ left17:40
tadzik oh, neat17:41
mcglk_ joined17:41
dalek perl6-roast-data: e4a6668 | coke++ | perl6_pass_rates.csv:17:42
perl6-roast-data: today (automated commit)17:42
perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e4a66689a617:42
dakkar left17:43
mcglk left17:44
mcglk_ left17:46
[Sno] joined17:46
pdcawley left17:52
mcglk joined17:53
mcglk_ joined17:54
pecastro left17:55
mcglk__ joined17:55
mcglk left17:57
mcglk_ left17:59
mcglk joined17:59
mcglk__ left18:00
lizmat left18:00
lizmat joined18:00
mcglk_ joined18:02
mcglk left18:04
mcglk_ left18:06
vincent_ joined18:09
vincent_ left18:09
spider-mario joined18:13
pmichaud good afternoon, #perl618:14
jnthn o/ pmichaud18:15
kbaker joined18:15
pmichaud did anyone else see http://lists.alioth.debian.org/pipermail/pkg-rakudo-devel/2014-March/000367.html ?18:15
guru joined18:17
guruajr_18:17
jnthn pmichaud: Hadn't seen that, no18:18
pmichaud I'm reaching out to Alessandro to see if he can tell us the best way to pass the packaging role to one of us.18:18
jnthn pmichaud++18:19
pmichaud if there's anyone that would be interested in taking over that role/responsibility, please let us know asap18:21
right now I'm out for a walk :)18:21
jnap joined18:27
dwarring joined18:30
mcglk joined18:32
jnthn detrain, dinner &18:33
mcglk_ joined18:34
mcglk left18:37
arnsholt joined18:37
mcglk_ left18:39
[Coke] jnthn: shouldn't that be "derail" ?18:39
jnap left18:40
FROGGS joined18:42
denis_boyun_ joined18:44
denis_boyun left18:45
darutoko left18:47
cognominal__ joined18:55
cognominal left18:56
FROGGS tadzik / [Coke] / timotimo: I usually do: which perl6-m, cat /path/to/perl6-m, and then copy most of it, then: gdb --args <most of it> -e 'something that segfaults'19:00
LLamaRider joined19:04
tadzik I wouldn't mind a gdb-perl6 script :)19:04
LLamaRider [Coke]++ best of luck with the Mojolicious port! I'm eagerly looking forward to it :)19:05
does someone know if NativeCall reached a state where it can expose variables to P6? I remember that had blocked me some time back when trying to port libxml.19:07
hoverboard joined19:07
FROGGS timotimo++ # blög19:12
timotimo LLamaRider: i think if you want to do something like that you'll have to write a tiny piece of Inline::C19:18
jnap joined19:19
FROGGS yes, there is no way to access defines for example without writing C code19:20
okay, there could be some magic that writes code for you in theory19:20
btyler_ left19:26
[Coke] LLamaRider: glad to hear it. Just need... tuits. :)19:28
Sqirrel joined19:33
vendethiel FROGGS: (mind giving me the link again ? blog)19:35
FROGGS vendethiel: http://p6weekly.wordpress.com/19:37
vendethiel FROGGS++, timotimo++19:37
FROGGS :o)19:37
moritz timotimo++19:40
lue apparently, binding an Array.new (instead of assigning it) seems to work for the issue I described last night.19:44
FROGGS jnthn: I am working currently at "panda bundle"19:48
lue Which means that it's the assignment operator itself that was breaking there, though I have no clue why the hash wasn't receptive at that specific time.19:48
FROGGS jnthn: it can already detect dependencies, be registering my own module loader, which records every module loading, and delegates to the normal one19:48
jnthn: how could I get my hands on the things a module provides? like class definitions and such?19:49
timotimo its WHO, no?19:49
FROGGS on what do I call it?19:50
timotimo no, not on WHAT19:50
:P19:50
dunno :|19:50
FROGGS perhaps I should just compare GLOBAL of before and after loading a module19:50
LLamaRider timotimo: then in P6 the equivalent of XS is a mixture of NativeCall and Inline::C (that's a P6 port?)?19:51
timotimo not quite, XS is much more than that19:51
as in: XS lets you directly fiddle with the interpreter's internal state19:51
in NativeCall, you can't do that19:51
since NativeCall is cross-backend19:52
LLamaRider oh, so a direct port might even be impossible. Great news xD19:52
timotimo you can, however, build extension libraries, like what rakudo does to gets the nqp::p6* ops in place19:52
but i'm not sure how easy it is to make that "packagable"19:52
on moar and parrot i *think* you have to supply the extop on the commandline, but perhaps only at build-time?19:54
and those are specific per VM, of course19:54
dlinnyj joined19:54
LLamaRider I'm not sure what is controversial about passing a C variable into P6 through NativeCall. Shouldn't be that different than function names or?19:54
timotimo i think the lib we're using doesn't supply that functionality, but i could easily be wrong.19:55
hoverboard left19:55
FROGGS are we talking about something define'd in land?19:57
timotimo no, define is never possible without invoking a compiler (or at least the preprocessor)19:58
hoverboard joined19:58
FROGGS okay, so far we agree19:58
and how (on earth) should somebody access a variable?19:59
timotimo well, you get a scalar that is repr'd "CVariable" and that directly points at the memory of the variable20:00
FROGGS ahh20:00
I am doing this crap in SDL, getting a memory address by a function, and then unpack that memory...20:01
*shudder*20:01
LLamaRider yes, it ought to be something shudder-invoking :D20:01
timotimo the only hard part i can really think of right now is how to find the memory address reliably20:01
perhaps you can even use the CStruct repr for single variables at that point20:02
FROGGS m: BEGIN my $g = GLOBAL::.keys; use Test; say GLOBAL::.keys (-) $g20:03
camelia rakudo-moar 1aeb7c: OUTPUT«set(Test)␤»20:03
timotimo heh20:03
that's lovely and a tiny bit scary20:03
SamuraiJack left20:07
jnap1 joined20:13
jnap left20:14
vincent22 left20:19
jnthn back20:20
dlinnyj left20:21
jnthn FROGGS: If you're at module loader level, you can look into the pre-merged GLOBALish which is accessible through the module context ($module_ctx or so I think at some point in ModuleLoader)20:23
FROGGS jnap1: yes, that what I am going to do, compare GLOBALish from before and after20:24
because I don't want to implement more of load_module's logic20:25
jnthn: this is already there: https://github.com/tadzik/panda/commit/17b66240d4c7af4da0d779f272d2bb4bf29716f9#diff-420:25
jnthn FROGGS: No, GLOBALish in $module_ctx, before global merging happens, *is* that diff I think.20:28
Also there's EXPORT.20:28
FROGGS ahh, hmm20:28
jnthn FROGGS: To be clear, I'm suggesting you might be able to intercept it before merge_globals happens...20:28
pecastro joined20:31
benabik left20:37
BenGoldberg joined20:39
FROGGS jnthn: but how?20:40
jnthn FROGGS: Dunno, it'll need some changes to ModuleLoader I guess20:42
FROGGS yeah...20:42
jnthn FROGGS: I think that probably what is today ModuleLoader just wants to end up being "guts" support for writing a CompUnitRepo.20:42
if I understand The Plans correctly anyway :)20:43
FROGGS that sounds about right20:43
it is The One And Only when it comes to compiler only stuff, but after that it just does the dirty work of loading an already located file (or perhaps piece om mem some day)20:44
rindolf left20:49
FROGGS jnthn: btw, nextsame is not specced to return, right?20:49
timotimo that's right20:49
FROGGS ahh, have an idea...20:49
timotimo callsame does that20:49
FROGGS ahh20:49
of course20:50
"next"-same20:50
xenoterracide joined20:50
FROGGS sometimes it is too obvious :o)20:50
timotimo++20:50
jnthn Yeah, nextsame is "pass control on to the candidate and don't come back to me again" :)20:50
timotimo :)20:50
.o( don't you dare come crawling back to me )20:50
FROGGS hehe20:50
NEXT20:50
jnthn tssk. Finally I have a bit of free time but...so tired...20:51
kaare__ left20:51
timotimo don't push yourself too hard :)20:51
jnthn yeah. Gotta teach tomorrow20:51
Thing is, the next issue in my queue is a parallel GC bug, which I probably should attempt when more awake ;)20:52
FROGGS ohh noes!20:52
timotimo oh :(20:52
jnthn Well, this is the first time we're exercising the parallel GC with anything resembling a real world workload.20:53
timotimo right20:53
jnthn We've already taken the non-parallel case from "argh SEGV" to "haven't seen a GC bug in a good while". I'm quite sure we can do the same with the parallel GC too. :)20:53
timotimo yays20:53
jnthn These things just take work/patience is all.20:54
timotimo unfortunately has no clue how to do it himself20:54
LLamaRider left20:56
jnthn Well, guess I'm concious enough to stub some nativecall bits maybe... :)20:57
timotimo that sounds nice :)20:58
FROGGS very nice :o)20:58
I do like NativeCall... and it could be quite fun to hack on SDL again20:59
japhb Someone asked earlier about the state of Net::IRC::Bot. The concurrency branch seems to be working fine. Before I merge, I want to 1) run some load testing to make sure it's as concurrent as I want it to be (I have some ideas for this, but feel free to volunteer tests!), and 2) I want to test on more than one Rakudo backend. It sounds like this will be coming soon, thanks to jnthn++. :-)20:59
jnthn japhb: Yeah, still some work to go, but it's coming along.21:00
FROGGS daxim: I can't reproduce your bug in aa openSUSE-13.1_x86_64 virtualbox :/21:01
an*21:01
dayangkun left21:01
skids left21:02
Sqirrel left21:04
FROGGS Nominal type check failed for parameter '<anon>'; expected CompUnitRepo but got DepTracker21:05
so callsame is not very happy when called in a method, when "self" changes21:05
BenGoldberg left21:07
FROGGS m: class Foo { method bar { } }; class Bar { method bar { callsame } }; Bar.bar21:07
camelia rakudo-moar 1aeb7c: ( no output )21:07
FROGGS hmpf21:07
m: class Foo { method bar { } }; class Bar if Foo { method bar { callsame } }; Bar.bar21:07
camelia rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/LyLGKxSHtp␤Unable to parse class definition␤at /tmp/LyLGKxSHtp:1␤------> class Foo { method bar { } }; class Bar ⏏if Foo { method bar { callsame } }; Bar.␤ expecting …»21:07
FROGGS m: class Foo { method bar { } }; class Bar is Foo { method bar { callsame } }; Bar.bar21:07
camelia rakudo-moar 1aeb7c: ( no output )21:08
FROGGS m: class Foo { method bar { 42 } }; class Bar is Foo { method bar { callsame } }; say Bar.bar21:08
camelia rakudo-moar 1aeb7c: OUTPUT«42␤»21:08
FROGGS damn21:08
raiph left21:09
FROGGS[mobile] left21:11
dayangkun joined21:18
tgt joined21:18
dwarring left21:28
kbaker left21:29
Mouq joined21:32
telex left21:33
BenGoldberg joined21:34
telex joined21:34
timotimo should we try to do something cool with BuildID?21:42
like, whenever you build a MoarVM (and the extensions in nqp and rakudo) stuff will get uploaded to some file host so that reproducibility is "easy"?21:43
treehug88 joined21:44
Rotwang left21:44
treehug8_ left21:46
rurban joined21:51
jnap joined21:52
jnap1 left21:53
rurban nwc10: Is this parrot master? parrot -O2 should be faster now21:54
Mouq tadzik: https://github.com/tadzik/Task-Star/pull/122:05
dalek nqp: 8a414b7 | jonathan++ | / (2 files):22:06
nqp: Map nativecall ops.22:06
nqp:22:06
nqp: Nothing works yet; the next step is to build stuff up in MoarVM to get22:06
nqp: towards passing t/nativecall/01-basic.t.22:06
nqp: review: https://github.com/perl6/nqp/commit/8a414b763a22:06
lue Hm. I'm afraid I'll have to go with an alternate route to place these backlinks by fragment; it's taking way too much longer to get through that step :/ .22:08
hoverboard left22:11
ajr_ left22:13
spider-mario left22:26
rurban left22:27
tgt left22:28
treehug88 left22:31
skids joined22:34
Mouq r: my &deb = {note $^c.MATCH; $^c}; say "ab:cd" ~~ /[<alpha>+] +% [\: &deb]/22:37
camelia rakudo-jvm 1aeb7c: OUTPUT«「ab:」␤ alpha => 「a」␤ alpha => 「b」␤␤java.lang.RuntimeException: No such attribute '$!pos' for this object␤ in method ACCEPTS at gen/jvm/CORE.setting:12747␤ in method ACCEPTS at gen/jvm/CORE.setting:798␤ in block at /tmp/tmpfile:…»22:37
..rakudo-parrot 1aeb7c: OUTPUT«「ab:」␤ alpha => 「a」␤ alpha => 「b」␤␤maximum recursion depth exceeded␤current instr.: 'print_exception' pc 140541 (src/gen/p-CORE.setting.pir:59872) (gen/parrot/CORE.setting:11098)␤called from Sub '' pc 41459 (src/gen/p-CORE.setting…»22:37
..rakudo-moar 1aeb7c: OUTPUT«「ab:」␤ alpha => 「a」␤ alpha => 「b」␤␤P6opaque: no such attribute '$!pos'␤ in method ACCEPTS at src/gen/m-CORE.setting:12802␤ in method ACCEPTS at src/gen/m-CORE.setting:798␤ in block at /tmp/tmpfile:1␤␤»22:37
Mouq Firstly: ^^ that's awesome.22:38
Secondly: That's the same bug that prevents Grammar::Expression from being possible22:38
Well, maybe not *possible, but it definitely makes it a whole lot harder22:39
r: use NQPCursorRole:from<NQP>; my &deb = {note $^c.MATCH; $^c but NQPCursorRole}; say "ab:cd" ~~ /[<alpha>+] +% [\: &deb]/22:40
camelia rakudo-moar 1aeb7c: OUTPUT«===SORRY!===␤Unexpected named parameter 'line' passed␤»22:40
..rakudo-parrot 1aeb7c: OUTPUT«===SORRY!===␤"load_bytecode" couldn't find file 'NQPCursorRole.pbc'␤»22:40
..rakudo-jvm 1aeb7c: OUTPUT«===SORRY!===␤java.nio.file.NoSuchFileException: NQPCursorRole␤»22:40
Mouq The bug has to do with returning Cursors from code back to the Cursor that called the code22:46
hoverboard joined22:46
hoverboardGuest2723022:47
Ulti even golfed Perl6 looks nice http://codegolf.stackexchange.com/questions/13152/shortest-code-to-produce-infinite-output/23706#2370622:47
synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=2370622:47
Ulti its also amongst the shortest other than horrible things like golfscript22:48
Mouq r: .say xx *22:50
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: ( no output )22:50
Mouq r: 0.say xx *22:50
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: ( no output )22:50
Mouq Oh, it's actually lazy now :P :D22:50
r: eager 0.say xx *22:50
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: ( no output )22:50
Mouq :?22:50
r: (0.say xx *)[15]22:50
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»22:50
Ulti my plan is to do pretty Perl6 golfs though rather than the golf style we had with Perl522:51
though I guess xx * is kind of neat22:51
but maybe less obvious what it does22:51
Mouq r: sub term:<∞> {(state$)++.say; ∞}()22:54
camelia rakudo-jvm 1aeb7c: OUTPUT«0␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52…»22:54
..rakudo-moar 1aeb7c: OUTPUT«(timeout)0␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50…»22:54
..rakudo-parrot 1aeb7c: OUTPUT«(timeout)0␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤5…»22:54
Ulti o___O22:56
TimToady that doesn't seem right22:57
lue TimToady: what, the two 0's? I agree :)22:57
Mouq n: sub term:<∞> {(state$)++.say; ∞}()22:57
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50…»22:58
Mouq m: sub term:<∞> {(state$=0)++.say; ∞}()22:58
camelia rakudo-moar 1aeb7c: OUTPUT«(timeout)0␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50…»22:58
Mouq Huh22:58
TimToady oh, wait, postdec22:59
Mouq m: sub term:<∞> {(++state$).say; ∞}()22:59
camelia rakudo-moar 1aeb7c: OUTPUT«(timeout)1␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»22:59
TimToady hmm, still strange22:59
skids notes "note()" is only documented as an aside under warn()23:00
TimToady is it slurping the ++ inside the once somehow?23:00
but then it wouldn't work the other times23:00
it's more like the top sub and the 2nd-level subs don't share the variabel23:01
*ble23:01
skids: is that a warning?23:02
skids Just that it's ard to look up in the synopsis. Because almost every section has "note that" somewhere :-)23:03
TimToady m: sub term:<∞> {(state$=0)++.say}()23:03
camelia rakudo-moar 1aeb7c: OUTPUT«0␤»23:03
skids m: sub term:<∞> {(++state$).say; ∞; ∞ }()23:04
camelia rakudo-moar 1aeb7c: OUTPUT«(timeout)1␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»23:04
TimToady m: sub term:<∞> {(state$=0)++.say}; ∞; ∞23:04
camelia rakudo-moar 1aeb7c: OUTPUT«0␤1␤»23:04
tadzik oh, look Czech PW23:05
Mouq m: sub term:<∞> {(++state$).say; ∞ xx ∞ }()23:06
camelia rakudo-moar 1aeb7c: OUTPUT«(timeout)1␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»23:06
Psyche^_ joined23:06
Mouq m: sub term:<∞>($w) {$w.say; (++state$).say; ∞('a') xx ∞('b') }()23:07
camelia rakudo-moar 1aeb7c: OUTPUT«===SORRY!===␤Cannot find method 'orig'␤»23:07
TimToady m: sub term:<∞> {(++state$x); say $x; ∞ }()23:07
Mouq m: sub term:<∞>($w) {$w.say; (++state$).say; ∞ 'a' xx ∞ 'b' }() #?23:07
camelia rakudo-moar 1aeb7c: OUTPUT«(timeout)1␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»23:07
rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/bSd4XVkJik␤Two terms in a row␤at /tmp/bSd4XVkJik:1␤------> term:<∞>($w) {$w.say; (++state$).say; ∞ ⏏'a' xx ∞ 'b' }() #?␤ expecting any of:␤ postfix␤ …»23:07
skids m: sub term:<∞> {(++state$).say; ∞ Z ∞ }()23:08
camelia rakudo-moar 1aeb7c: OUTPUT«(timeout)1␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»23:08
aje_ wtf23:08
Mouq Oh, I like ∞ Z ∞ :)23:08
TimToady well, it's just two items23:09
Mouq aje_: We're paying homage to Cantor :)23:09
aje_ Cantor?23:09
Mouq https://en.wikipedia.org/wiki/Georg_Cantor23:10
aje_ aaah :)23:10
rurban joined23:10
Psyche^ left23:10
TimToady I guess with respect to א₀ the extra first value doesn't hurt23:11
Mouq TimToady: ((∞ Z ∞) Z (∞ Z ∞)) Z ((∞ Z ∞) Z (∞ Z ∞)) …23:11
TimToady we need a D metaop for diagonalization23:12
Mouq &23:13
lue TimToady: isn't there a non-RTL version of aleph for math? or am I severely misremembering?23:15
ℵ₀ :) [you could also probably use an LTR override for normal aleph]23:17
Mouq returns to note that there's also ∞ X ∞ if you want to get all Xponential about it23:18
Mouq :P23:18
TimToady Cantor's multidimensional dust23:19
unfortunately I think that still leaves you in ℵ₀23:20
lue r: my $a = 5; $a = +& 6; say $a;23:20
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unsupported use of & variable␤at /tmp/tmpfile:1␤------> my $a = 5; $a = +&⏏ 6; say $a;␤ expecting any of:␤ …»23:20
lue r: my $a = 5; $a = +| 6; say $a;23:20
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '&prefix:<|>' is not declared␤at /tmp/tmpfile:1␤------> my $a = 5; $a = +⏏| 6; say $a;␤»23:20
lue r: my $a = 5; $a = +^ 6; say $a;23:20
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«-7␤»23:20
lue This is what happens when you forget to type out the other $a; weird bugs :)23:21
BenGoldberg r: say 5 +& 6, 5 +| 6, 5 +^ 6;23:22
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«473␤»23:22
TimToady is thinking, 5 is prime, 6 is 2 * 3, how come they don't & to 0?23:24
TimToady I guess you can have a base prime where each digit is 0..*23:25
and you multiply all the digits instead of adding them :)23:25
except then 0 and 1 don't exist, go figure23:26
rurban left23:31
denis_boyun_ left23:33
pmurias left23:45
nebuchadnezzar left23:45
nebuchadnezzar joined23:46
lee__ dir() is supposed to take 2 args right?23:49
https://gist.github.com/leedo/216f4be4ee626d2c84cb23:49
timotimo a starting directory and a test method, right?23:52
you have to give it as a named i believe23:52
r: say &dir.signature23:52
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«:(Cool $path = { ... }, :test($test) = { ... })␤»23:52
timotimo there23:52
lee__ ah-ha! thanks23:53
guess http://doc.perl6.org/routine/dir could use some updating23:54
timotimo er23:54
are you sure?23:54
it seems correct to me23:54
lee__ oh, you're right. my mind is stuck in p5 land23:55
timotimo i wonder if using a regex instead of the "none" junction would be faster23:55
pecastro left23:55
timotimo i *think* it may try to create the junction anew for each dir call23:55
but i didn't verify that23:55
TimToady surely none could do constant folding if given constants23:57
timotimo aye.23:57
though it'll be thunked anyway and probably cloned for each invocation23:57
TimToady surely we avoid cloning things that are constant clones :)23:58
timotimo who knows :)23:58
tadzik timotimo: do you know the story why directories starting with '.' are "hidden"? :)23:58
timotimo i think it was because file names were compared to some ascii value or something?23:59
and . fell outside the range?23:59
tadzik nah23:59
TimToady is this related to why unicorns didn't get onto the ark?23:59
tadzik in all the unix tools, they were checking if the file is not '.' nor '..'23:59
timotimo ah23:59
tadzik so to save time, they just skipped whatever started with .23:59
timotimo but not properly :D23:59

Logs Search ←Prev date Next date→ Channels Documentation