»ö« 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.
lue <timotimo> unicode already specs a replacement character for encoding errors, iirc <-- isn't that just FFFD ? :) 00:00
timotimo .u REPLACEMENT
yoleaux U+FFFC OBJECT REPLACEMENT CHARACTER [So] ()
U+FFFD REPLACEMENT CHARACTER [So] (�)
timotimo apparently
00:02 btyler left 00:04 pippo left 00:10 fridim_ left 00:11 fridim_ joined 00:12 tgt joined 00:16 tgt left 00:23 dayangkun joined 00:44 LootingLemur joined
LootingLemur Are we skipping 2014.02? 00:49
00:50 hoverboard left
timotimo nobody volunteered to do a star release 00:53
there was a compiler release, though. we don't advertise them as openly to not confuse people.
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 hmm
i would have accepted an R* without jvm 00:57
Mouq too 00:58
idk
timotimo i didn't do it because i already did the compiler release that month :P
and i'm lazy
colomon lazy++ 00:59
timotimo more like ++lazy
r: enum Foo <One Two>; say One eq "One"; 01:02
01:02 tgt joined
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«True␤» 01:02
timotimo mhh, not bad.
01:05 pecastro left 01:06 tgt left 01:10 hoverboard joined 01:16 LootingLemur left 01:26 woosley joined 01:29 __thou left 01:38 hoverboard left
timotimo r: say "".split("|") 01:40
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«␤»
timotimo r: say "".split("|").perl
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("",).list␤»
timotimo hmm.
Mouq r: say "timotimo".split("timo").perl
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("", "", "").list␤»
timotimo :)
what are your next tuits going to be spent on, Mouq? 01:41
Mouq timotimo: Right now I want to get github.com/Mouq/Grammar-Expression working 01:43
timotimo ah, of course
i remember looking at that and thinking to myself that that's going to be quite useful
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 time 01:44
timotimo: Yourself?
(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 variables 01:47
currently, that already happens, but the effect of turning lexicals into locals doesn't cascade outwards, so it hardly gives a performance benefit yet
01:48 btyler joined
timotimo it ought to improve memory usage as well as give better run-time performance in nqp and hopefully also in rakudo 01: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 nqp
Mouq Whoa, sweet :) ++timotimo
timotimo hopefully! ;) 01:49
and at some point i (or someone else) should introduce nqp::locallifetime to our moarvm MAST compiler
and i'm kind of having an eye on the string instantiations in the moarvm heap during the core setting compilation 01:52
gist.github.com/timo/e1af6d5c10a4e34d6cb0 - as you can see here, there's quite a bit of duplication 01:53
i'm guessing that these instances come from some substring operation
Mouq timotimo: I have no clue, but I can see why optimization would be useful here 02:01
Mouq is at the insert-random-debug-statements-because-perl6-isn't-throwing-good-enough-errors stage of programming
timotimo make sure to document these not-good-enough errors so that we can improve Perl 6 02:02
02:02 tgt joined
Mouq timotimo: Well, I have no idea what's even happening 02:03
timotimo: So I don't know what error it should be giving
timotimo ah, okay :)
Mouq ===SORRY!=== postcircumfix:<{ }> not defined for type Arithmetic 02:04
apparently from the line last-term = True and last unless $infix.pos > $oldpos;
02:07 tgt left
timotimo that's an interesting line 02:07
Mouq *$last-term 02:08
We don't have loop-labels yet, so it should really be last TERM unless $infix.pos > $oldpos;
timotimo "True and" seems like you can always replace it with "so"
Mouq and has lower prec than item = 02:09
*"and" has lower prec than item assignment
02:09 klapperl joined
timotimo oh, ok 02:09
Mouq OH. Duhh 02:10
I'm calling last, of course my debug statement isn't getting run -_-
lol
timotimo yeah :)
timotimo makes a good rubber duck, he has found
02:12 hoverboard joined 02:13 klapperl_ left 02:14 Sqirrel_ joined, FROGGS_ joined 02:18 FROGGS left, Sqirrel left
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 ? github.com/lue/synopsis-generator/...en.p6#L139 02: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 2 02:23
camelia ( no output )
timotimo something something autovivification?
Mouq r: (state%){0}.push(Any) xx 2
camelia ( no output ) 02:24
timotimo r: my %test; %test{0}.push("hi"); %test{0}.push("bye"); say %test;
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("0" => ["hi", "bye"]).hash␤»
timotimo r: my %test{Int}; %test{0}.push("hi"); %test{0}.push("bye"); say %test;
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«Hash[Any,Int].new(0 => ["hi", "bye"])␤»
timotimo hm, no clue
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 :(
Mouq lue: might --ll-exception help?
lue timotimo: maybe it iterates over the @.textfrag attribute, but I don't know.
Mouq: that was going to be my next try :) .
colomon is busy doing $work using rakudo-moar 02:27
lue Hm. I just had a thought to try changing the key to a true number, and afterwards I'll try ll-exception
Mouq colomon: \o/
timotimo colomon: cool. let us know if you stumble upon anything bad 02:28
colomon timotimo: you'd better believe I will. ;) 02:29
JimmyZ Mouq: you meant %placements{'0'}.push($BL); ? 02:31
timotimo :)
JimmyZ: no, it's a %hash{Int}
JimmyZ Int is the value, not the key, methinks 02:32
lue That's another thing to try actually, just use a plain ol' %hash
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 ☺)
timotimo JimmyZ: see the code i treid before
02:33
JimmyZ NYI? :P
timotimo i'm pretty sure that's implemented
lue JimmyZ: the issue is some random, obscure problem with the value part of the hash's pairs.
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?
JimmyZ I'm curious, why not @array[0]
:/
timotimo maybe because it's sparse?
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 hmm
and --ll-exception doesn't help?
02:35 btyler left
lue timotimo: haven't run --ll-exception yet, trying to see if pushing to %hash{1} changes anything 02:36
(it takes a while to run through each time)
timotimo mhm
--ll-exception only causes better tracebacks; you should use it all the time when you're developing IMO :P
lue realizes he forgot about the time-saving trick that makes it easier to debug *faceplam*
timotimo i don't know what that is and i'd really like you to tell me :3 02:37
Mouq finally finds the bug he was looking for: a ==Sorry== exception was getting put into an array and then thrown years later 02:38
timotimo oops, that's kind of nasty
lue timotimo: the trick? --backlinks=../roast/subdir-with-test-with-bl-that-crashes instead of --backlinks=../roast
timotimo oh 02:39
i got a feeling that that won't help me with all my debuggings in the future :)
lue much easier when you're parsing a couple dozen test files than when parsing 918 :P
timotimo yeah
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 now 02:42
JimmyZ good night
Mouq night timotimo!
Mouq suddenly understands he was doing stuff completely wrong 02:48
02:55 __thou joined
TimToady at least with you it's sudden :) 03:01
03:03 tgt joined 03:07 tgt left
lue Well, that's not cool. Narrowing down the test files I process somehow fixes it :/ 03:09
03:13 Sibin joined
lue afk 03:21
[Coke] wonders when "package foo;" became illegal. 03:27
TimToady 2 Apr 2001 03:29
03:30 grep0r left, cooper left
[Coke] you're good. :) 03:30
I have code that worked about a year ago that used it.
03:30 hoverboard left
[Coke] I wonder how long it took rakudo to catch up. 03:31
(don't really need to know)
03:32 Sibin left
[Coke] on the flip side, I can throw out my .combine function... 03:32
03:33 cooper joined, cooper left, cooper joined 03:36 cooper left, Sibin joined, Sibin left 03:37 cooper joined 03:38 cooper left, cooper joined
Mouq [Coke]: Sat May 7 18:20:10 2011 +0200 03:38
git diff 1c0430601^..1c0430601
:P
03:39 grep0r joined
Mouq Oh, nope 03: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
03:43 molaf joined
TimToady \o/ 03:43
lue --ll-exception for r-j doesn't give me anything much different from before, trying r-m 03:55
Mouq is having major Cursor issues 04:02
04:04 tgt joined
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 semantics
TimToady would be interested to see what an implementation of backtracking using real lazy lists would look like 04:07
04:07 xinming__ left
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 6 04:08
*fewer
04:08 tgt left
TimToady I guess we need to write vivi instead of viv 04:09
04:09 raydiak left
lue
.oO(./ⅥⅥ.p6 --to=r-m)
04:12
04:13 molaf left 04:16 __thou left
Mouq is annoyed 04:18
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 barrier 04:20
TimToady is this an issue of Cursors not be quite as immutable as they're supposed to be in theory?
*not being 04:21
04:21 aje_ joined
aje_ moo 04:21
Hello 04:22
lue TimToady: looking at STD, I like how you called 「 」 "perfect quotes" :)
TimToady aje_: howdy mate
Mouq It's an issue with creating new Cursors and losing their private attributes somehow
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 yup
aje_ OK
STD/viv is not the place to start?
TimToady nope 04:24
aje_ OK
TimToady that's just a prototype we planned to throw away, on which the real parsers are based
aje_ aaah, OK
TimToady and viv can only translate a very limited subset of P6 back to P5 in order to run
and it cheats :) 04:25
aje_ I see... no worries then, just curious
hehe
TimToady are you familiar with P5?
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?
TimToady it would mostly be rewriting CursorBase and LazyMap 04:26
04:27 kaare_ joined
TimToady no time for it currenlty 04:28
*ntly
aje_ TimToady: Yes, from way back when I used to do Unix sysadmin stuff... but that must be at least 10 years ago
04:31 fridim_ left 04:35 Mouq left 04:48 grondilu left 04:49 telex left 04:50 telex joined 05:04 tgt joined
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
05:09 tgt left 05:14 araujo left 05:23 [Sno] left 05:57 ggoebel11111 joined 05:58 ggoebel11110 left 06:03 ggoebel joined 06:05 tgt joined 06:08 kvakerman left 06:10 tgt left 06:12 BenGoldberg left 06:20 woosley1 joined, woosley left 06:22 xragnar left, xragnar joined 06:28 donk left 06:30 water joined 06:31 water is now known as hoverboard 06:39 [Sno] joined 06:52 kaleem joined 07:06 tgt joined 07:10 tgt left 07:15 Monkey joined, Monkey left 07:18 xenoterracide left 07:28 dayangkun left 07:30 FROGGS_ left 07:35 xenoterracide joined
moritz good morning 07:38
07:41 darutoko joined 07:51 FROGGS joined 07:55 dmol joined 08:04 zakharyas joined 08:07 tgt joined
aje_ yippie, rakudo star installed 08:07
08:10 hoverboard left 08:11 tgt left
FROGGS timotimo: +1 to :fallback 08: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 weird 08:14
08:15 vincent23 left 08:21 vincent23 joined 08:25 tgt joined 08:29 tgt left 08:35 dayangkun joined 08:38 arnsholt left 08:43 dayangkun left, pdcawley joined
sergot morning o/ 08:45
FROGGS morning sergot 08:49
08:55 fhelmberger joined, dayangkun joined 08:57 pdcawley left 09:11 pdcawley joined 09:26 rindolf joined 09:33 kivutar left, virtualsue joined 09:34 dakkar joined
timotimo o/ 09:40
jnthn o/ 09:41
FROGGS o/
JimmyZ \o/
FROGGS \o
jlaire o\ 09:42
09:45 woosley joined, woosley1 left 09:46 Mouq joined, arnsholt joined, woosley left
arnsholt o/ 09:46
09:46 woosley joined
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?
j: say nqp::backendconfig 09: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…»
FROGGS j: say $*VM
camelia rakudo-jvm 1aeb7c: OUTPUT«("name" => "jvm", "properties" => {"java.vm.version" => "24.51-b03", "sun.jnu.encoding" => "UTF-8", "java.vendor.url" => "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:51 aje_ left 09:52 aje_ joined, Mouq left 09:55 pecastro joined
arnsholt There is that, yeah 09:55
It's just weird that the JVM backend config has a separate op to get the information we need 09:56
If nqp::backendconfig is sparse on information, we should add some more stuff to it, rather than add a JVM-specific op, no?
FROGGS +1 from me :o) 09:57
(dunno if that is worth much though)
jnthn I think jvmproperties may be accessing something JVM-specific (that actually is called properties)...
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 :P
timotimo :) 10:04
10:10 dayangkun left
arnsholt timotimo: The user of NQP was what I meant, though =) 10:14
10:30 robinsmidsrod left 10:31 robinsmidsrod joined 10:36 woosley1 joined, woosley left 10:40 pmurias joined
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 up 10:43
get busy, people! :)
jnthn pmurias: There's already a #?if ... mechanism.
pmurias: That's perhaps useful?
timotimo jnthn: but that doesn't give logical operations, no?
i think that's the core of the question
pmurias jnthn: it only takes one backend
jnthn oh
But it can be negated
pmurias but it can't be nested 10:44
jnthn Nope
10:44 woosley joined, woosley1 left
pmurias and I want to disable a given section for both js and parrot 10:44
timotimo time to pick up m4 10:45
10:45 vincent21 joined
jnthn Well, guess we could support #?if moar|jvm 10:45
10:45 woosley left, woosley joined
pmurias or nesting 10:46
10:46 woosley left
jnthn True. 10:46
pmurias which one should I implement?
jnthn Though the or is probably easier 10:47
Anyway, it's just a simple Perl 5 script that does the thing.
Don't feel strongly; I'd probably do the | 10:49
10:50 vincent21 left 10:51 PZt left, virtualsue left, simcop2387 left 10:53 simcop2387 joined
dalek p-js: 06ccf9e | (Pawel Murias)++ | tools/build/Makefile-JS.in:
Run test 2 during make test.
10:59
p-js: 0772a15 | (Pawel Murias)++ | tools/build/gen-cat.pl:
Implement #ifdef nesting in tools/build/gen-cat.pl.
p-js: 3c6b592 | (Pawel Murias)++ | / (2 files):
Use more of the setting, pass more tests.
pmurias jnthn: nesting was easier to implement and avoid introducing more syntax 11:00
* avoids
11:04 arnsholt left, vincent21 joined 11:12 rom1504 joined
daxim mls, build.opensuse.org/project/monitor...ges:parrot 11:18
I've started with 2014.01 11:19
currently stuck with parrot 6.0.0 because I cannot figure out how to fdupes uninstalled %doc files
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 it 11:21
11:30 Mouq joined 11:31 pmurias left 11:34 Mouq left 11:39 sqirrel joined, Sqirrel_ left 11:42 dmol left 11:44 pmurias joined 11:52 xenoterracide left
daxim segfault when compiling nqp: paste.scsys.co.uk/323215 # who feels responsible? 11:53
FROGGS I do 11:56
daxim: do you have the MoarVM configure+build output somewhere?
11:57 skids left
daxim certainly. build log <build.opensuse.org/package/live_bu...x86_64> spec file <build.opensuse.org/package/view_fi...pand=1> packages <software.opensuse.org/download.html...moarvm> 12:00
12:01 brrt joined 12:02 xenoterracide joined 12:03 arnsholt joined 12:06 scumdog1 joined 12:07 scumdog1 left 12:10 btyler joined 12:12 benabik left
brrt hi #perl6 12:14
colomon o/
brrt is your wheather as awesome as it is here?
12:15 dayangkun joined 12:16 fridim_ joined
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
oh
i've got 20 deg c at least
68F
tadzik 12C here, very nice :)
colomon brrt: Jan and Feb had only four or five days that got above 0C here.
43F probably means half the town will be breaking out the light jackets and shorts. 12:24
brrt :-)
well, in europe its BBQ time at least
daxim here the same info as above as github ticket: github.com/MoarVM/MoarVM/issues/81 12:27
12:27 mavcunha joined 12:31 fridim_ left
masak afty, #perl6 12:59
FROGGS daxim++ # sorry, got distracted 13:01
13:03 kaare_ left, kaare_ joined
FROGGS daxim: I am moving the discussion to #moarvm 13:04
13:09 guru joined 13:10 guru is now known as Guest58, Guest58 is now known as ajr_ 13:23 skids joined
tadzik mwahaah 13:32
uh, ww
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-challenge
brrt ugh
26^6 options
lizmat ah, that's so ascii thinking 13:36
moritz brrt: just scroll up a bit
brrt :-) moritz saved me so much time
masak it would've been more fun if we had made you search. :) 13:37
moritz mwahaah
FROGGS hehe
I got it too fwiw :o)
mls daxim: I updated nqp/rakudo/moarvm in devel:languages:parrot last week 13:45
I didn't upate parrot yet (because nqp no longer needs it for building) 13:46
tadzik mls! \o/
mls hi guys ;) 13:47
FROGGS mls: nqp still needs parrot if you are going to provide nqp-p
mls yes. I currently only build nqp-m
JimmyZ wb, mls :) 13:48
moritz not a bad choice (nqp-m only), we just need NativeCall and a bit more modules support 13: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 too
jnthn Same; nqp-m has fastest build/spectest time, so it's the shortest dev cycle. :)
mls daxim: do you want write access to devel:languages:parrot? 13:53
FROGGS btw, someone should rename that to devel:languages:perl6 some day
excepts that parrot might stay in parrot
-s
mls yes. I should have named it "perl6" ;)
but at that time I thought that there'll be many languages using parrot as a backend 13:54
JimmyZ jnthn: just curious, what's your todo list after nativecall :P
s/your/your next/
13:56 vincent23 left 13:57 vincent23 joined, vincent23 left
FROGGS my guess is getting m* in the shops 13:57
13:57 vincent23 joined 13:58 vincent23 left
dalek kudo-star-daily: 66e0fce | coke++ | log/ (5 files):
today (automated commit)
13:58
jnthn Yeah...m*, async I/O, the Moar specializer, and native typed rw/array... 14:02
office & 14:03
14:03 kbaker joined
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-j 14:04
rurban__ parrot -O2 unfortunately doesn't work yet on nqp. found a label bug 14:11
14:11 __thou joined
[Coke] wonders if jvm or moar are ready to add the star pile for testing modules. 14:12
14:13 virtualsue joined 14:15 jnap joined
FROGGS [Coke]: I think so 14:17
[Coke]: even when NativeCall and their deps will fail, it still makes sense to fix possible bugs in other modules
rurban__: the default for parrot is to do -O1 when configures with --optimize? 14:18
14:19 sqirrel left 14:24 xenoterracide left
rurban__ yes 14:33
-O1 is equal to -O
oh, sorry. --optimize does not call parrot with -O. so not
I just tested optimized nqp pbc's via parrot -L. -X. -O2 14:34
how much nqp packfiles are already optimized or not
14:37 PZt joined
FROGGS ahh, I see, thanks 14:37
14:49 kaare_ left, telex left, ribasushi left
rurban__ how much constant propagation and constant folding will improve nqp and thus rakudo performance 14:49
I estimate 2-3% only
14:51 kaare__ joined, telex_ joined, ribasushi joined 14:52 telex_ is now known as telex 14:55 kaleem left
moritz rakudo already has a constant folder, fwiw 15:00
so it'll likely only affect the compiler itself 15:01
15:09 treehug88 joined 15:13 rindolf left, araujo joined 15:14 mavcunha left 15:15 jnap left
rurban__ it affects the generated nqp code. lots of constants which can be propagated 15:15
fixed the bug, testing now again
15:17 SamuraiJack_ joined
rurban__ yes, all nqp tests pass now with parrot -O2 15:17
15:18 jnap joined
moritz was it an nqp or a parrot bug? 15:19
15:19 perlpilot is now known as PerlJam
timotimo cool! 15:21
rurban__ moritz: an old premature imcc optimization 15: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 do
(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?
timotimo i'm not sure
feel free to restate it 15:31
moritz r: 1
camelia ( no output )
moritz simplify that to 'rakudo-{parrot,jvm,moar} 1aeb7c:'
timotimo ah yes
did you see my implementation attempt?
moritz no 15:32
timotimo gist.github.com/timo/c2119931370ee31360e7
alas, it's not complete 15:33
it doesn't handle situations yet when there's niecza in the mix or something similar
moritz and, uhm, I hate to spoil this, but camelia is written in p5 :(
timotimo not important. this script can pre-generate all the combinations and write them to a text file 15:34
you would then just have to run that script whenever you rebuild the rakudos and nieczas and stuff
15:35 treehug8_ joined
moritz well, I'd prefer it camelia's workflow didn't get more complicated 15:36
timotimo fair enough
i'll put it up on the blog
15:36 treehug88 left
moritz thanks 15:36
15:38 arnsholt left
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 er
moritz confused
timotimo panda
all those animals starting with pa :|
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?
PerlJam
.oO( pmurias: the most awesome Perl 6 work ever accomplished! )
timotimo for last week, actually 15:43
well, last week and today :)
moritz pmurias: probably something to make the IRC module reconnect on timeouts and other stuff
15:44 denis_boyun joined
tadzik hmm 15:45
timotimo tadzik: you got something cool to report?
tadzik I wonder how is Net::IRC::Bot doing
timotimo: no :(
timotimo that's fine
tadzik I did absolutely nothing, aside from the usual maintenance
moritz tadzik: last time I used it, it, like, mostly worked quite well
timotimo if you keep that up, though, be prepared to receive a strongly worded letter :P
tadzik :> 15:46
I know, I know
want to give me a project idea?
I'd like to do something in Perl 6 userspace
timotimo huh? but there are no perl 6 users!
masak tadzik: mishu!
tadzik oh, I could rework MuEvent and make it exploit all the concurrency awesomeness
moritz timotimo: port camelia to Perl 6
masak ooh 15:47
tadzik moritz: me? :)
I wanted to start with synopsebot
see if it can run long-term
timotimo perlcabal.org/syn/S15.html - is this supposed to 404?
tadzik masak: mishu is a great idea, *but* :)
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... disappointed 15: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 :)
masak \o/
tadzik: even hearing that, I'm very excited. looking forward to meeting you, whenever :D
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 there
it worked for all the last conferences with hackathons :)
timotimo: I think it works :P
let me check again
timotimo to be honest, i wasn't even really sure what exactly broke :(
i know you couldn't install URI, or at least i thought that was it
tadzik ah, URI is tricky
and I think some thinking is required for how to spec META.infos and all this stuff to make it not-crazy 15:51
what I mean is: modules with per-backend code are tricky
moritz URI has always been the big test for precompilation on rakudo-p
tadzik oh, maybe it's mime-base64 that has those problems
either way, it's something that wants to be solved 15:52
moritz that's also tricky, yes :-)
hoelzro I got MIME::Base64 precompiling not an hour ago
timotimo \o/
moritz URI is tricky because it has lots of interdependencies, and partially used with require
timotimo hoelzro: can you summarize last week's stuff for me?
hoelzro I had to trick it, though
moritz and MIME::Base64 is tricky because it has a parrot-specific backend
hoelzro timotimo: I'm afraid I've been in and out of the Perl 6 world over the last few weeks =/
timotimo that's fine 15:53
vincent21 gist.github.com/timo/c2119931370ee31360e7
hoelzro latest version of the Moar report: gist.github.com/hoelzro/9467700
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 repo
timotimo pmurias: ah, so just nqp so far?
that's fine, too! :)
pmurias yes, and those tests are passing using a different build system 15:54
hoelzro crap, forgot summary.txt =( 15:55
tadzik ah 15:56
panda cannot connect to feather for some reason
and it only happens on my box; I guess I'll debug that 15:57
15:57 jnap left
tadzik what was that strace incantation for child threads? 16:00
ach, -3
-f that is 16:01
and mystery solved: moarvm cannot ipv6
hoelzro ok, summary.txt is in the latest moar report 16: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 p6weekly.wordpress.com/?p=86&sh...de39172131 - first draft. i've surely missed some interesting and/or important changes during the week? 16:09
16:10 fhelmberger left
tadzik huh 16:10
moarvm is doing something very weird with ipv6 16:11
gist.githubusercontent.com/tadzik/...tfile1.txt
it connects to correct host in the first place, but then it closes it, and connects to...incomplete address 16:12
TimToady timotimo: no one will know what moar-conc means 16:13
timotimo good point.
16:13 benabik joined
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 first 16:17
tadzik argh argh 16:20
timotimo: halp
timotimo but i don't know how to sockets :(
tadzik but you know how to gdb
and I can't run moarvm with this thing
it needs some wizardry with 'set args' I figured 16:21
timotimo oh
gdb and args is easy
just figure out how exactly moarvm is invoked
and then gdb --args /foo/bar/moarvm --libpath=something something.moarvm foo.pm6 16: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!?
tadzik oh
benabik Huh. I had always just used `gdb foo` and then `run bar baz` to debug `foo bar baz`
tadzik me too
oh?
timotimo YES! :D
tadzik me not
[Coke] timotimo++ timotimo++ timotimo++ # holy crap 16:24
tadzik I have no idea what's surprising me anymore
but something is
but with the help of puts() I found where moarvm fails anyway :D
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
16:26 [Sno] left
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
16:26 brrt left
timotimo jnthn: no, even better is to gdb --args moar foo bar baz 16:26
:)
benabik timotimo: I doubt that works with msvc
jnthn timotimo: Or what :) Either way, without the shell script :P
tadzik yeah, I got to that part :) 16:27
jnthn benabik: I tend to set it up inside VS :)
tadzik verdict: resolve_host_name can't ipv6
jnthn tadzik: I never actually tried out the ipv6 bit of Moar sockets...
16:27 dmol joined
jnthn I *thought* the code I did would handle to it... 16:27
s/to//
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));
that looks wrongish
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."?
tadzik oh, not
I should talk less :P
jnthn timotimo: Well, "so we can see if the claim holds up" is more the reason :) 16:31
timotimo fair enough
jnthn It'll need a volunteer to write that implementation, 'cus I sure ain't working on it.
timotimo sure enough
tadzik ah, yes, gotcha 16:32
jnthn tadzik: Found the bug? :) 16:33
16:33 jnap joined
tadzik I think 16:33
I think sockaddr only works for v4, and you need sockaddr_in6 for v6
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 :)
tadzik: ah, ok :) 16:34
16:34 zakharyas left
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?
tadzik I never bothered to learn ipv6 sockets. "Baah, we'll never use ipv6 anyway"
jnthn timotimo: Probably not...
tadzik and now I'm the one who noticed the bug... :)
timotimo hm, ok.
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 up
jnthn wonders if it's github or the train wifi that is being flaky... 16:37
16:38 jnap left, jnap joined 16:39 SamuraiJack_ left
tadzik github is 16:41
jnthn ah, k
uh-oh...here's the underground station where connection gets interesting...
tadzik :P
16:43 vincent22 joined
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 modules
even if it's just golfing problems down to bug reports
timotimo anything in particular you'd like me to mention?
nwc10 I don't know. I hope that jnthn, [Coke] or holzero would have a better idea 16:45
and I have a train to catch
to see the damian
tadzik aww yiss
I seem to have fixed it
should socket spectests work on rakudo?
rakudo-moar, that is 16:46
jnthn tadzik: yes
tadzik: Passed for me last I checked (day or two ago)
tadzik okayo
[Coke] what are we looking at ? things to do for people who are just joining the #perl6 community?
timotimo [Coke]: i'll mention mojo6 if that's okay with you
[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 implementations 16:47
16:48 SamuraiJack joined 16:49 ajr_ left, isBEKaml joined
tadzik oh, hahaha 16:51
now that I fixed ipv6, it turns out that the moduleDB doesn't support it :P
timotimo hah, excellent :)
still, decent ipv6 support is definitely a necessity for Perl 6
jnthn tadzik: The patch is still welcome :) 16:52
timotimo not only because the numbers are equal :)
tadzik sure :)
timotimo p6weekly.wordpress.com/?p=86&sh...dedc52b185
tadzik ok, I can fetch stuff from ipv6.google.com, so I say it works 16:53
16:55 rindolf joined 16:56 btyler_ joined 16:57 btyler left, vincent21 left, jnap left 16:58 virtualsue left 17:00 jnap joined 17:03 mcglk left, FROGGS left 17:04 mcglk joined 17:05 mcglk_ joined 17:06 mcglk__ joined
timotimo post published 17:08
17:09 mcglk left 17:10 mcglk joined, mcglk_ left
tadzik \o/ 17:10
timotimo++
jnthn yay, think I've a patch that fixes the Supplies issue without regressing roles tests :) 17:11
17:11 mcglk__ left, raiph joined
tadzik aww yiss 17:12
now both panda-moar and moduledb like ipv6
I hope they still like ipv4 too
==> Successfully installed Term::ANSIColor
jnthn \o/
tadzik I like how fast that is. May actually convince people to trust panda a bit, instead of installing things manually :P 17:13
isBEKaml panda is actually a bumbling animal. Why would people trust it with important stuff?
tadzik duude, chiillll 17:14
jnthn 'cus it's unbearably cute
17:14 mcglk left
isBEKaml It only reinforces its image with those Kung fu series. :) 17:14
17:14 mcglk joined
tadzik I think pandas are always high on eucaliptus 17:14
oh wait, that's koalas 17:15
isBEKaml mate, you got your geography mixed up.
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:17 jnap left 17:18 mcglk left 17:19 SamuraiJack left
dalek kudo/moar-conc: c9d478e | jonathan++ | src/vm/moar/ops/container.c:
Fix role type checking bug in assignment.

Mostly unbusts Supply on Moar.
17:21
17:22 mcglk joined, Rotwang joined 17:23 mcglk_ joined
vendethiel r: 0 but "" ==> .perl 17: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>␤ …»
vendethiel r: say (0 but "").perl
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«␤»
17:24 mcglk__ joined 17:26 mcglk___ joined
vendethiel uuh :( 17:26
17:26 mcglk left, mcglk___ is now known as mcglk
TimToady r: say ("" but 0).perl 17:27
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«""␤»
17:27 mcglk_ left 17:28 mcglk___ joined, mcglk__ left 17:29 mcglk_ joined 17:30 mcglk__ joined 17:31 SamuraiJack joined, mcglk left 17:32 mcglk joined
[Coke] no buts about .perl 17:32
17:32 mcglk___ left
tadzik oh-oh, interesting fact 17:32
rakudo-moar is apparently the first rakudo to support IPv6
TimToady r: say ("foo" but "bar").perl
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«"foo"␤»
TimToady r: say ("foo" but "bar").gist 17:33
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«foo␤»
TimToady r: say ("foo" but "bar").Str
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«bar␤»
17:33 mcglk_ left
tadzik or maybe other platforms have clever sockets that fallback to v4 17:33
17:34 mcglk_ joined, FROGGS[mobile] joined, mcglk__ left 17:35 mcglk__ joined 17:36 mcglk left 17:38 kbaker left, isBEKaml left, mcglk_ left
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 socket 17:39
17:39 mcglk joined 17:40 mcglk__ left
tadzik oh, neat 17:41
17:41 mcglk_ joined
dalek rl6-roast-data: e4a6668 | coke++ | perl6_pass_rates.csv:
today (automated commit)
17:42
17:43 dakkar left 17:44 mcglk left 17:46 mcglk_ left, [Sno] joined 17:52 pdcawley left 17:53 mcglk joined 17:54 mcglk_ joined 17:55 pecastro left, mcglk__ joined 17:57 mcglk left 17:59 mcglk_ left, mcglk joined 18:00 mcglk__ left, lizmat left, lizmat joined 18:02 mcglk_ joined 18:04 mcglk left 18:06 mcglk_ left 18:09 vincent_ joined, vincent_ left 18:13 spider-mario joined
pmichaud good afternoon, #perl6 18:14
jnthn o/ pmichaud 18:15
18:15 kbaker joined
pmichaud did anyone else see lists.alioth.debian.org/pipermail/p...00367.html ? 18:15
18:17 guru joined, guru is now known as ajr_
jnthn pmichaud: Hadn't seen that, no 18: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.
jnthn pmichaud++ 18:19
pmichaud if there's anyone that would be interested in taking over that role/responsibility, please let us know asap 18:21
right now I'm out for a walk :)
18:27 jnap joined 18:30 dwarring joined 18:32 mcglk joined
jnthn detrain, dinner & 18:33
18:34 mcglk_ joined 18:37 mcglk left, arnsholt joined 18:39 mcglk_ left
[Coke] jnthn: shouldn't that be "derail" ? 18:39
18:40 jnap left 18:42 FROGGS joined 18:44 denis_boyun_ joined 18:45 denis_boyun left 18:47 darutoko left 18:55 cognominal__ joined 18:56 cognominal left
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
19:04 LLamaRider joined
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
19:07 hoverboard joined
FROGGS timotimo++ # blög 19:12
timotimo LLamaRider: i think if you want to do something like that you'll have to write a tiny piece of Inline::C 19:18
19:19 jnap joined
FROGGS yes, there is no way to access defines for example without writing C code 19:20
okay, there could be some magic that writes code for you in theory
19:26 btyler_ left
[Coke] LLamaRider: glad to hear it. Just need... tuits. :) 19:28
19:33 Sqirrel joined
vendethiel FROGGS: (mind giving me the link again ? blog) 19:35
FROGGS vendethiel: p6weekly.wordpress.com/ 19:37
vendethiel FROGGS++, timotimo++
FROGGS :o)
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.
FROGGS jnthn: it can already detect dependencies, be registering my own module loader, which records every module loading, and delegates to the normal one
jnthn: how could I get my hands on the things a module provides? like class definitions and such? 19:49
timotimo its WHO, no?
FROGGS on what do I call it? 19:50
timotimo no, not on WHAT
:P
dunno :|
FROGGS perhaps I should just compare GLOBAL of before and after loading a module
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 that
as in: XS lets you directly fiddle with the interpreter's internal state
in NativeCall, you can't do that
since NativeCall is cross-backend 19:52
LLamaRider oh, so a direct port might even be impossible. Great news xD
timotimo you can, however, build extension libraries, like what rakudo does to gets the nqp::p6* ops in place
but i'm not sure how easy it is to make that "packagable"
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 course
19:54 dlinnyj joined
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
19:55 hoverboard left
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
19:58 hoverboard joined
FROGGS okay, so far we agree 19: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 variable 20:00
FROGGS ahh
I am doing this crap in SDL, getting a memory address by a function, and then unpack that memory... 20:01
*shudder*
LLamaRider yes, it ought to be something shudder-invoking :D
timotimo the only hard part i can really think of right now is how to find the memory address reliably
perhaps you can even use the CStruct repr for single variables at that point 20:02
FROGGS m: BEGIN my $g = GLOBAL::.keys; use Test; say GLOBAL::.keys (-) $g 20:03
camelia rakudo-moar 1aeb7c: OUTPUT«set(Test)␤»
timotimo heh
that's lovely and a tiny bit scary
20:07 SamuraiJack left 20:13 jnap1 joined 20:14 jnap left 20:19 vincent22 left
jnthn back 20:20
20:21 dlinnyj left
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 after 20:24
because I don't want to implement more of load_module's logic 20:25
jnthn: this is already there: github.com/tadzik/panda/commit/17b...6f9#diff-4
jnthn FROGGS: No, GLOBALish in $module_ctx, before global merging happens, *is* that diff I think. 20:28
Also there's EXPORT.
FROGGS ahh, hmm
jnthn FROGGS: To be clear, I'm suggesting you might be able to intercept it before merge_globals happens...
20:31 pecastro joined 20:37 benabik left 20:39 BenGoldberg joined
FROGGS jnthn: but how? 20:40
jnthn FROGGS: Dunno, it'll need some changes to ModuleLoader I guess 20:42
FROGGS yeah...
jnthn FROGGS: I think that probably what is today ModuleLoader just wants to end up being "guts" support for writing a CompUnitRepo.
if I understand The Plans correctly anyway :) 20:43
FROGGS that sounds about right
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
20:49 rindolf left
FROGGS jnthn: btw, nextsame is not specced to return, right? 20:49
timotimo that's right
FROGGS ahh, have an idea...
timotimo callsame does that
FROGGS ahh
of course 20:50
"next"-same
20:50 xenoterracide joined
FROGGS sometimes it is too obvious :o) 20:50
timotimo++
jnthn Yeah, nextsame is "pass control on to the candidate and don't come back to me again" :)
timotimo :)
.o( don't you dare come crawling back to me )
FROGGS hehe
NEXT
jnthn tssk. Finally I have a bit of free time but...so tired... 20:51
20:51 kaare__ left
timotimo don't push yourself too hard :) 20:51
jnthn yeah. Gotta teach tomorrow
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!
timotimo oh :(
jnthn Well, this is the first time we're exercising the parallel GC with anything resembling a real world workload. 20:53
timotimo right
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. :)
timotimo yays
jnthn These things just take work/patience is all. 20:54
timotimo unfortunately has no clue how to do it himself
20:56 LLamaRider left
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)
I do like NativeCall... and it could be quite fun to hack on SDL again 20: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++. :-)
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 left 21:02 skids left 21:04 Sqirrel left
FROGGS Nominal type check failed for parameter '<anon>'; expected CompUnitRepo but got DepTracker 21:05
so callsame is not very happy when called in a method, when "self" changes
21:07 BenGoldberg left
FROGGS m: class Foo { method bar { } }; class Bar { method bar { callsame } }; Bar.bar 21:07
camelia ( no output )
FROGGS hmpf
m: class Foo { method bar { } }; class Bar if Foo { method bar { callsame } }; Bar.bar
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 …»
FROGGS m: class Foo { method bar { } }; class Bar is Foo { method bar { callsame } }; Bar.bar
camelia ( no output ) 21:08
FROGGS m: class Foo { method bar { 42 } }; class Bar is Foo { method bar { callsame } }; say Bar.bar
camelia rakudo-moar 1aeb7c: OUTPUT«42␤»
FROGGS damn
21:09 raiph left 21:11 FROGGS[mobile] left 21:18 dayangkun joined, tgt joined 21:28 dwarring left 21:29 kbaker left 21:32 Mouq joined 21:33 telex left 21:34 BenGoldberg joined, telex joined
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
21:44 treehug88 joined, Rotwang left 21:46 treehug8_ left 21:51 rurban joined 21:52 jnap joined 21:53 jnap1 left
rurban nwc10: Is this parrot master? parrot -O2 should be faster now 21:54
Mouq tadzik: github.com/tadzik/Task-Star/pull/1 22:05
dalek p: 8a414b7 | jonathan++ | / (2 files):
Map nativecall ops.

Nothing works yet; the next step is to build stuff up in MoarVM to get towards passing t/nativecall/01-basic.t.
22: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
22:11 hoverboard left 22:13 ajr_ left 22:26 spider-mario left 22:27 rurban left 22:28 tgt left 22:31 treehug88 left 22:34 skids joined
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:…»
..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…»
..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␤␤»
Mouq Firstly: ^^ that's awesome. 22:38
Secondly: That's the same bug that prevents Grammar::Expression from being possible
Well, maybe not *possible, but it definitely makes it a whole lot harder 22: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␤»
..rakudo-parrot 1aeb7c: OUTPUT«===SORRY!===␤"load_bytecode" couldn't find file 'NQPCursorRole.pbc'␤»
..rakudo-jvm 1aeb7c: OUTPUT«===SORRY!===␤java.nio.file.NoSuchFileException: NQPCursorRole␤»
Mouq The bug has to do with returning Cursors from code back to the Cursor that called the code 22:46
22:46 hoverboard joined 22:47 hoverboard is now known as Guest27230
Ulti even golfed Perl6 looks nice codegolf.stackexchange.com/question...3706#23706 22:47
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=23706
Ulti its also amongst the shortest other than horrible things like golfscript 22:48
Mouq r: .say xx * 22:50
camelia ( no output )
Mouq r: 0.say xx *
camelia ( no output )
Mouq Oh, it's actually lazy now :P :D
r: eager 0.say xx *
camelia ( no output )
Mouq :?
r: (0.say xx *)[15]
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␤»
Ulti my plan is to do pretty Perl6 golfs though rather than the golf style we had with Perl5 22:51
though I guess xx * is kind of neat
but maybe less obvious what it does
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…»
..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…»
..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…»
Ulti o___O 22:56
TimToady that doesn't seem right 22:57
lue TimToady: what, the two 0's? I agree :)
Mouq n: sub term:<∞> {(state$)++.say; ∞}()
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; ∞}()
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…»
Mouq Huh
TimToady oh, wait, postdec 22:59
Mouq m: sub term:<∞> {(++state$).say; ∞}()
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…»
TimToady hmm, still strange
skids notes "note()" is only documented as an aside under warn() 23:00
TimToady is it slurping the ++ inside the once somehow?
but then it wouldn't work the other times
it's more like the top sub and the 2nd-level subs don't share the variabel 23:01
*ble
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}()
camelia rakudo-moar 1aeb7c: OUTPUT«0␤»
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…»
TimToady m: sub term:<∞> {(state$=0)++.say}; ∞; ∞
camelia rakudo-moar 1aeb7c: OUTPUT«0␤1␤»
tadzik oh, look Czech PW 23: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^_ joined
Mouq m: sub term:<∞>($w) {$w.say; (++state$).say; ∞('a') xx ∞('b') }() 23:07
camelia rakudo-moar 1aeb7c: OUTPUT«===SORRY!===␤Cannot find method 'orig'␤»
TimToady m: sub term:<∞> {(++state$x); say $x; ∞ }()
Mouq m: sub term:<∞>($w) {$w.say; (++state$).say; ∞ 'a' xx ∞ 'b' }() #?
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…»
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␤ …»
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…»
aje_ wtf
Mouq Oh, I like ∞ Z ∞ :)
TimToady well, it's just two items 23:09
Mouq aje_: We're paying homage to Cantor :)
aje_ Cantor?
Mouq en.wikipedia.org/wiki/Georg_Cantor 23:10
aje_ aaah :)
23:10 rurban joined, Psyche^ left
TimToady I guess with respect to א₀ the extra first value doesn't hurt 23:11
Mouq TimToady: ((∞ Z ∞) Z (∞ Z ∞)) Z ((∞ Z ∞) Z (∞ Z ∞)) …
TimToady we need a D metaop for diagonalization 23: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 it 23:18
:P
TimToady Cantor's multidimensional dust 23:19
unfortunately I think that still leaves you in ℵ₀ 23:20
lue r: my $a = 5; $a = +& 6; say $a;
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:␤ …»
lue r: my $a = 5; $a = +| 6; say $a;
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;␤»
lue r: my $a = 5; $a = +^ 6; say $a;
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«-7␤»
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␤»
TimToady is thinking, 5 is prime, 6 is 2 * 3, how come they don't & to 0? 23:24
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 :)
except then 0 and 1 don't exist, go figure 23:26
23:31 rurban left 23:33 denis_boyun_ left 23:45 pmurias left, nebuchadnezzar left 23:46 nebuchadnezzar joined
lee__ dir() is supposed to take 2 args right? 23:49
gist.github.com/leedo/216f4be4ee626d2c84cb
timotimo a starting directory and a test method, right? 23:52
you have to give it as a named i believe
r: say &dir.signature
camelia rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«:(Cool $path = { ... }, :test($test) = { ... })␤»
timotimo there
lee__ ah-ha! thanks 23:53
guess doc.perl6.org/routine/dir could use some updating 23:54
timotimo er
are you sure?
it seems correct to me
lee__ oh, you're right. my mind is stuck in p5 land 23:55
timotimo i wonder if using a regex instead of the "none" junction would be faster
23:55 pecastro left
timotimo i *think* it may try to create the junction anew for each dir call 23:55
but i didn't verify that
TimToady surely none could do constant folding if given constants 23:57
timotimo aye.
though it'll be thunked anyway and probably cloned for each invocation
TimToady surely we avoid cloning things that are constant clones :) 23:58
timotimo who knows :)
tadzik timotimo: do you know the story why directories starting with '.' are "hidden"? :)
timotimo i think it was because file names were compared to some ascii value or something? 23:59
and . fell outside the range?
tadzik nah
TimToady is this related to why unicorns didn't get onto the ark?
tadzik in all the unix tools, they were checking if the file is not '.' nor '..'
timotimo ah
tadzik so to save time, they just skipped whatever started with .
timotimo but not properly :D