»ö« 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.
average I dunno, I just wanted to point out that if the link can be changed to rt.perl.org/Public , it would be better IMHO 00:00
havenwood sigils and twigils, oh my
timotimo yeah, sounds good to me 00:01
average also, lots of spam in that RT, nothing that spamassassin can't fix for example 00:03
jnthn I blug: 6guts.wordpress.com/2014/04/12/opt...-and-moar/ 00:22
timotimo those "moar"/"more" jokes aren't ever going to stop
jnthn Nope :P 00:23
timotimo like'd :) 00:29
jnthn :) 00:30
'night, #perl6
timotimo 'night jnthn 00:53
raiph average: Iv 02:59
average: I've changed the link
(the "perl.org bug tracker" link on rakudo.org/how-to-help/) 03:01
average raiph: ah nice :) 03:02
raiph: thanks :)
raiph .tell pmichaud I've tweaked a rakudo.org link per average++'s comment at irclog.perlgeek.de/perl6/2014-04-12#i_8575582
yoleaux raiph: I'll pass your message to pmichaud.
raiph jnthn++ # another excellent blog post covering excellent work 03:04
TimToady added a solution to rosettacode.org/wiki/Left_factorials#Perl_6 that is 280 times faster 04:23
lue Maybe you could use prefix:<¡> instead? :) 04:26
moritz jnthn++ # blog 05:47
adu jnthn++ # just because 06:27
Woodi gmorning everyone 06:48
moritz \o 06:49
moritz finds that searching 900k files / 350GB is slow even with Perl 5 06:50
Woodi thanx jnthn++ for blog, now I know what that damn spesh is :) and few more things even
moritz s/350/650/ 06:50
Woodi jnthn: but I think your last blogs are in progress-raport form, ready for managers byings to read... I think something targetting able-to-do-hard-code-things devs would help community a lot by aiming at best ppls to work happening here... 06:54
adu which blog? 06:55
ah 6guts 06:56
Woodi jnthn: more detaily: writing about interesting, hard to grock internals changes could have appeal to some good brains. also: I think you could blog using communication form you use to talk to TimToady... eg. q: "what about at_pos ?", a: "ok, but WHENCE"... 06:57
it could help to upload p6 internals skeleton right to SSBrains... 06:58
adu what's SSBrains? 06:59
TimToady after the problem of too many cooks in the kitchen for Parrot, I think jnthn++ prefers to err on the other side
Woodi TimToady: just wanted to write something about lack of p5 internals chapter in moust popular p5 books :) 07:00
moritz Woodi: the able-to-do-hard-code-things devs just read the commit messages :-)
Woodi moritz: no, we need to hijack them first ! 07:01
umm, what is what ladys do to men ?
TimToady lure? 07:02
Woodi seduce...
moritz talk, IME :-)
Woodi right, lure is similiar :)
TimToady actually, decide not to say "no", mostly :)
TimToady most men don't need much luring 07:03
Woodi it's isomorphic to reading commits messages :)
ok, need to work some...
TimToady
.oO("I love it when you talk dirty...")
07:04
adu you would be surprised the power of not saying "no"
TimToady well, it's the only think keeps the human race going :)
adu when I asked my fiancee to spend the rest of her life with me she said "are you f**king sh**ing me?" 07:05
masak jnthn++ # nice blog post
jnthn++ # nice progress
others++ # too
adu TimToady: are you back from China yet? 07:07
TimToady mostly
various systems are not yet convinced 07:08
adu are you standing in line in immigration?
TimToady no, they don't allow electronics there
adu well, then welcome back, "mostly" 07:09
lizmat wow: Files=801, Tests=31023, 183 wallclock secs ( 8.07 usr 3.67 sys + 1212.53 cusr 93.47 csys = 1317.74 CPU) 07:58
lizmat encroaching on 3 mins for doing the full spectest on moar 07:59
dalek ast: 0003eab | (Elizabeth Mattijsen)++ | S03-operators/orelse.t:
Properly plan / skip orelse tests

Before we had a plan, some tests were basically ignored. Now with a plan, and skips in place, we still somehow miss the last test being executed. Patches welcome.
08:10
lizmat decommute& 08:11
dalek ast: 13206ce | moritz++ | S03-operators/orelse.t:
fix fudging of orelse tests

the ok() call needs to be at the start of the line, otherwise fudge ignores it
08:14
moritz .tell lizmat ftfy (orelse.t)
yoleaux moritz: I'll pass your message to lizmat.
Rounin Man, this Chinese tech blog someone posted here the other day has a frightening amount of relevant content 08:41
Did all the tech blogs emigrate to China after the .com bubble or something
Perhaps when Slashdot got bought 08:42
Well, blog schmog... It's a site with articles
Rounin 那我來說,歡迎我們新中國霸主。 08:44
masak China is increasingly becoming a happening place, if that's what you mean. 08:53
masak something to do with bringing millions of people out of poverty and becoming a significant exporter of goods. 08:55
oh, and actually getting education right.
moritz wonders if there are serious, better-working alternatives to today's classroom-style teaching 09:05
bonsaikitten moritz: at scale it's hard 09:08
Woodi moritz: university. only with students *interested* in learning what proffesors want to teach them even they are sure they are not interested in that :) and filling their free time with related subjects, private projects ets :)
bonsaikitten masak: china ...education ... uhm... they didn't get much right 09:09
moritz bonsaikitten: well, it wouldn't need to scale more than today's schools 09:10
Woodi: IME university is pretty much like school, just a bit more liberal in what courses you take (and the resulting self-selection that actually does lead to more interested students)
bonsaikitten moritz: you mean one teacher for 40-60 kids that have the attention span of bicycle?
the old german / "Humboldt" university system was quite interesting. But it got down-harmonized because advantages are unfair 09:11
Woodi moritz: I think that additional freedom is all what is needed. just self motivation is problem. and trust to authorities eg. why ALL that math matters ;) 09:15
Rounin moritz: I've heard great things about the "Experimenting with other things, losing a generation and going back to classroom-style teaching" methodology 09:16
masak moritz: there most likely are.
moritz Woodi: I think that the motivation problem is intrinsic to the current style of teaching (listening over doing, being confined to a class room etc.)
masak &
bonsaikitten motivation ... we make children not move for hours 09:18
maybe that's not a good way to start education
moritz bonsaikitten: agreed
Rounin It seems like the Montessori schools do things radically differently... It must work to some extent, seeing as they're still there
bonsaikitten Rounin: it works only marginally worse than the normal schools
Rounin But who can tell what would appen if the entire general population of students were sent there
bonsaikitten so that's not too bad ;)
Rounin That's something at least :) 09:19
moritz bonsaikitten: by what metrics?
bonsaikitten moritz: trick question 09:20
but - the kids I've known who went to such experimental schools were usually unable to adapt properly to hierarchical systems
e.g. school, workplaces
moritz bonsaikitten: several families I know sent their children to Montessori schools precisely because they had probles adapting to hierarchical systems 09:23
Woodi additional problem is that some persons learn by viewing other by hearing and other by manually doing. and some less elastic - they need to force themselve to learn or do for some period of time and in one point they got small "enlightenment" point - learning/brain is not linear...
Woodi they say ~10 years of learn/do/work to master some domain. works even for bakery :) 09:25
moritz Woodi: but nearly everybody learns best when all of those activities are combined, plus teaching it back to others 09:28
so doing that would be a pretty good approach 09:29
bonsaikitten I guess we'd have to get rid of the idea that all kids are equal 09:31
Rounin "Equal in value", "Equal in rights", "Equal in talents", "Equal in status" and so on so often seem to be conflated 09:32
It's as if people are afraid that the moment we admit that people are different, we'll be rolling out the gas chambers again
bonsaikitten Rounin: gas is too expensive, who would be able to pay for that?! 09:33
Woodi pleas stop
bonsaikitten I heard of schools that don't allow score keeping in sports, so that no one loses
Rounin Hmm...
Does it help I wonder
I was very well aware when I was a kid that I was good at maths and bad at sports 09:34
I'm thankful for all the gym classes I went to nonetheless :P
bonsaikitten "bad" is relative - I didn't have the strength for some things, but had the endurance to outrun everyone else
sadly we never went above 1000m, so that was a big handicap ... ;)
Rounin :D 09:35
moritz would have gladly skipped those 4km runs, and instead played more table tennis :-) 09:36
bonsaikitten oh, 4-5km is nice. 1000m is almost a glorified sprint 09:37
Rounin I wish I'd had more time to play with QuickBASIC! A few more computer lessons, and I might have gotten it to do something 09:38
Woodi that's what I mean before :) kids need to try many fields and trust teachers that's good for them :)
bonsaikitten Rounin: pff. just learn by modifying GORILLA.BAS 09:39
Woodi I do not liked to learn any "graphics" things in ANY form. and few years ago I wanted to edit photos, needed to learn from scrath
moritz bonsaikitten: it was NIBBLES.BAS for me :-)
bonsaikitten hehe 09:40
Woodi so some base knowledge is good
bonsaikitten I started learning C when I figured out that I couldn't allocate more than 64kB sanely in BASIC
Rounin Interesting approach, bonsaikitten
moritz added a level editor, save&restore, lots of cheats and extra modi to nibbles 09:41
Rounin Though that will have to be in my next life, since I know how to code now :P
I mean, considering where we are and all
bonsaikitten Rounin: I wouldn't start with basic for new learners
Rounin Well, it was what we had at the time
Rounin I Windows 0.000007 or whatever it was 09:41
bonsaikitten give them python, then show them how C can be x times faster and let them figure out things like memory allocation and pointers
work 09:42
moritz knows how to code, but has learned that coding is only a very small part of programming
Rounin And then "I have a language that lets you write this in one line, mwahahaaah..."
bonsaikitten then when they are showing some proficiency give them LISP and watch their minds melt
Rounin :D
moritz or maybe s/programming/development/
bonsaikitten: and when their minds are molten, give them Haskell :-)
jnthn morning, #perl6 09:43
moritz that needs to re-wire the brain anyway
\o jnthn
Rounin Molten Minds would be a good trademark
Rounin I wonder if anyone is using it 09:43
Haha yes
Woodi btw. you know en.wikipedia.org/wiki/Miyamoto_Musashi is famous in two swords fighting. what is less common that his father was policeman and was profficient in using special police weapons to disarm, two handed weapon... so background or starting early helps a lot
so in what age you was learnin that BASIC ? :) 09:45
Rounin Hmm... 09:50
Well, I saw some Commodore BASIC at 7-8, but I would think 10-12 for QBASIC
My friend found a book about it at the library near our school 09:51
It's the city's main library, so it also got internet access around the same time
Pretty cool place to spend an ever more extended lunch break 09:52
Woodi my interest in programming started around 10 but probably my brain prefer more sane things :) 09:53
Rounin :D
FROGGS timotimo / tadzik: about the binaries that assimilate .moarvm files... I have some unpushed stuff locally, and I'll push that next week, when I am back from holidays... 10:34
tadzik okay :) 10:36
FROGGS++ 10:37
jnthn FROGGS: Hope you're having a nice holidays! :) 10:38
FROGGS jnthn: I have... the good thing about this place is that I only have GPRS, so hacking or something like that really is pain 11:01
jnthn Enforced vacation! :) 11:03
FROGGS exactly :o) 11:11
feels good somehow
tadzik :D 11:13
weird
jnthn spectests a moar with cleaned up exit
tadzik I know the feeling, I spent a week recently in France, which, as we know, has no internet at all :P
jnthn m: Thread.start({ sleep 1; say 'bye' }); say 'hi' 11:13
camelia rakudo-moar aeda9d: OUTPUT«hi␤Unhandled exception: Cannot invoke null object␤»
jnthn m: Thread.start({ sleep 1; say 'bye' }); say 'hi'
camelia rakudo-moar aeda9d: OUTPUT«hi␤Unhandled exception: Cannot invoke null object␤»
jnthn hah :)
That now works out, with local changes. 11:14
tadzik \o/
jnthn should mean we're rid of the SIGABRT too, I hope.
moritz \o/ 12:34
lizmat moritz /o 13:05
yoleaux 08:14Z <moritz> lizmat: ftfy (orelse.t)
lizmat ftfy?
timotimo o/ 13:08
"fixed that for you"
lizmat ah, cool 13:20
dalek ecs: fa542ea | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add ftfy lemma
13:26
timotimo i wonder if a "spesh" lemma is in order?
lizmat most definitely! 13:29
patches welcome :-)
timotimo yeah, i could do that 13:30
timotimo hm. now it seems like i have to add lemmata for JIT and bytecode 13:37
masak Just Insert It! 13:40
er
Just Insert Them!
jnthn
.oO( And keep them away from the cliff edge... )
13:43
dalek ecs: 8dbfac0 | timo++ | S99-glossary.pod:
a sentence on spesh
13:45
masak by the way, if someone has a peripheral interest in category theory, and a nagging suspicion that ZFC might not be the most optimal way to axiomatize sets, I warmly recommend arxiv.org/abs/1212.6543 -- a nice short read, which doesn't throw the reader off the deep end with CT concepts. 13:49
eiro hello 13:52
timotimo wow, the core.setting.jar is only 2 megabytes big?
is that the compression of jar files that's doing that?
well, gzipping the moarvm core setting shrinks it down to 1.7 mb, whereas the core.setting.pbc gzip'd is also 2 megabytes big 13:53
jnthn timotimo: Yeah. Compression is good, but compress the bytecode and you can't mmap it 13:55
timotimo yup
somehow the jvm still ends up having fantastic startup times and memory usage characteristics
oh ... wait
jnthn :D
Rounin Did you just say JVM, fantastic startup times and memory usage characteristic at the same time 13:59
timotimo :D
Rounin I thought it was April 12th already
timotimo that matches /April ' ' 1/ 14:00
Rounin Ah
Ganz logisch 14:01
cognominal masak, have you seen the latest developments? homotopies a way to represent types ! I groked the first chapter. And choked on the second ; so I am reading material to be able to understand it. btw, that's an open source book written by a team gathered (sometimes virtually) around a guy who got the Fields medal. homotopytypetheory.org/book/
timotimo i think that book is quite famous enough that masak has already heard of it :) 14:05
retupmoca Project Digest::HMAC not found in the ecosystem # when does this get pulled into panda's ecosystem? It's been on modules.perl6.org for almost 24 hours
masak cognominal: yes, I've seen the homotopy book. I've scratched the surface of homotopy theory. after having delved fairly deeply into CT in the past year, I know for a fact I'm not ready for HT yet. 14:06
cognominal: there was a claim on the p6l list on the order of HT revolutionizing comp.sci./type theory (and by extension, maybe Perl 6 should pay attention to it and be based on it?). I very nearly replied to that email. to me, it appears that HT doesn't overthrow anything (nor does CT), but it sometimes puts things on a more solid/general foundation. 14:07
cognominal as if, the scope of the Perl 6 project was not large enough as it stands :) 14:09
masak the paper I linked is a good example of that kind of re-foundationing.
"Category theory is just mathematicians learning to program by interface" -- (quoted from memory) Eric Meijer 14:10
cognominal masak: groups.google.com/forum/#!topic/pe...ZT_KCGTbm8 that post? 14:11
masak that post. 14:13
Rounin One day I'd like mathematicians to learn proper variable and function names
The world would most likely undergo a scientific revolution 14:14
masak the short answer is "No. Sets are very relatively useful in everyday programming. Topoi aren't."
I'd love for someone to prove me wrong!
moritz in fact, at least half of my ad-hoc scripts contain an ad-hoc implementation of sets based on hashes 14:15
typically in the form next if $seen{$key}++;
vendethiel (Eric Meijer just looks mad because he considers he's lost time with haskell)
masak and it's not just "mathemathical fashion sensitivity". even HoTT contains set theory as a (fairly central) special case. 14:16
the other cases being more exotic but less everyday.
'night, #perl6
retupmoca spectest on moar head/head/head seems to be hanging on spec/S17-concurrency/lock.t 14:17
been 6/8 with 0 cpu time for a while now
if I run it manually it looks like it runs through all 8 (failing 1) and then hangs at exit 14:18
jnthn May like to try MoarVM HEAD, which has a better exit strategy. 14:19
retupmoca This is perl6 version 2014.03.01-128-gaeda9d0 built on MoarVM version 2014.03-202-g695fdf9 14:20
moritz tries
retupmoca jnthn: pretty sure I'm running your latest patch
out of 6 runs, 4 hung and 2 exited cleanly 14:22
moritz yes, 2014.03-202-g695fdf9 looks like latest
vendethiel groups.google.com/forum/#!topic/pe...KSIbeNYZto good read
jnthn retupmoca: OK, must be something else, then.
retupmoca tadzik: how often does the panda ecosystem json file update on the server? 14:29
tadzik retupmoca: every hour 14:41
retupmoca tadzik: does that include adding new modules? Digest::HMAC has been on modules.perl6.org for a while now, but panda claims no knowledge of it 14:42
tadzik: I added it to META.list at about 14:40Z yesterday, but I'm not seeing it in feather's projects.json 14:44
tadzik retupmoca: hm, let me see 14:45
ah, stupid LWP doesn't follow redirections 14:50
and/or hates ssl 14:51
retupmoca do I need to put a non-redirecting URL someplace maybe?
tadzik no, no need 14:52
not your fault
I fixed it now, and feather.perl6.nl:3000/module/Digest;HMAC works 14:53
thanks for reporting it
retupmoca tadzik++ ty sir
vendethiel r: 123456789123.Str.split(/ ( \d ** 3 ) /).perl.say 15:52
camelia rakudo-jvm aeda9d: OUTPUT«(timeout)»
..rakudo-parrot aeda9d, rakudo-moar aeda9d: OUTPUT«("", "", "", "", "").list␤»
moritz m: say 123456789123.Str.comb(/ \d ** 3 /).perl 15:59
camelia rakudo-moar aeda9d: OUTPUT«("123", "456", "789", "123").list␤»
vendethiel m: say 1234567891235.Str.comb(/ \d ** 1..3 /).perl 16:04
camelia rakudo-moar aeda9d: OUTPUT«("123", "456", "789", "123", "5").list␤»
vendethiel m: say 1234567891235.Str.flip.comb(/ \d ** 1..3 /).reverse.join('').perl
camelia rakudo-moar aeda9d: OUTPUT«"1432765198532"␤»
vendethiel m: say 1234567891235.Str.flip.comb(/ \d ** 1..3 /).reverse.join(' ').perl 16:05
camelia rakudo-moar aeda9d: OUTPUT«"1 432 765 198 532"␤»
vendethiel moritz++
wait no o/ 16:06
m: say 1234567891235.Str.flip.comb(/ \d ** 1..3 /).reverse.map(&flip).join(' ').perl
camelia rakudo-moar aeda9d: OUTPUT«"1 234 567 891 235"␤»
moritz m: say 1234567891235.flip.comb(/ \d ** 1..3/).reverse>>.flip 16:07
camelia rakudo-moar aeda9d: OUTPUT«1 234 567 891 235␤»
vendethiel moritz: >> keeps the order, does it ? 16:10
moritz vendethiel: it executes out of order, but the return values are ordered again 16:11
flussence ordered on the left, threaded on the right
vendethiel wasn't sure, that's why. What'd it take to get the regexp in "non-greedy" mode ? (where it'd match ** 1 everytime) ? 16:12
moritz **? 16:17
m: say 1234.comb(/\d **? 1..3/)
camelia rakudo-moar aeda9d: OUTPUT«1 2 3 4␤»
moritz j: say 'timeout?' 16:18
camelia rakudo-jvm aeda9d: OUTPUT«timeout?␤»
vendethiel moritz++ 16:20
moritz j: say 'alive' 16:23
camelia rakudo-jvm aeda9d: OUTPUT«alive␤»
lizmat r: my $a; say $a * 4; $a *= 4; say $a 16:29
camelia rakudo-parrot aeda9d: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/tmpfile:1␤␤0␤4␤»
..rakudo-jvm aeda9d, rakudo-moar aeda9d: OUTPUT«use of uninitialized value of type Any in numeric context␤0␤4␤»
lizmat wonders whether that is logical 16:30
would have expected either 4 4 or 0 0 16:31
is there a place where this behaviour is specced
?
geekosaur thinks that should have been 0 0
lizmat also: 16:32
r: say Any * 4; say Int * 4
camelia rakudo-moar aeda9d: OUTPUT«use of uninitialized value of type Any in numeric context␤0␤Invocant requires an instance, but a type object was passed␤ in method Bridge at src/gen/m-CORE.setting:4442␤ in sub infix:<*> at src/gen/m-CORE.setting:4347␤ in block at /tmp/tmpfil…»
..rakudo-jvm aeda9d: OUTPUT«use of uninitialized value of type Any in numeric context␤0␤Cannot look up attributes in a type object␤ in method Bridge at gen/jvm/CORE.setting:4443␤ in sub infix:<*> at gen/jvm/CORE.setting:4347␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot aeda9d: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/tmpfile:1␤␤0␤Invocant requires an instance, but a type object was passed␤ in method Bridge at gen/parrot/CORE.setting:4446␤ in sub infix:<*> at gen/parrot/CORE.setti…»
TimToady S03:4092 specs the behavior of op= on containers containing type objects 16:40
synopsebot Link: perlcabal.org/syn/S03.html#line_4092
TimToady basically, op= is considered a degenerate reduction
making op and op= would be a shallow consistency, but Perl 6 tends to prefer the deep semantic consistencies where there's a choice 16:43
hmm, looks like I a verb there 16:44
lizmat "operator's identify valiue" 16:45
shouldn't that read "identity" value ?
TimToady yup
dalek ecs: 9e5a70e | (Elizabeth Mattijsen)++ | S03-operators.pod:
Identified type and fixed
16:47
lizmat *typo 16:48
TimToady it's also one of those spots where the design is assuming a decent optimizer to pull the is-it-defined? guard out of the loop 16:50
and maybe even just turn it into an initializer for the variable, with no need to check definedness at all 16:52
lizmat so how is the identity value of an operator determined ? 16:52
moritz lizmat: with the zero-arity multi 16:53
TimToady the spec indicates it calls the nullary form of the operator
moritz m: say infix:<+>(), infix:<*>() 16:54
camelia rakudo-moar aeda9d: OUTPUT«01␤»
TimToady admittedly, only mentions that in the example
lizmat takes a little getting used to $foo op= $bar not necessarily being the same as $foo = $foo op $bar 17:00
timotimo i'm going to put rakudo-jvm/2014.03 data into the benchmark plots now 17:37
jnthn arnsholt: Hm. I found a bit of a callbacks bug in NativeCall. 17:56
arnsholt: If you have a callback that is not invoked immediately, then: 18:02
1) The callback cache re-uses it without consideration of the fact there may be many closure clones of the same code-ref, so closure semantics break
2) The callback being the only thing rooting the closure means it gets up getting GC'd at some point, then boom SEGV. 18:03
Suspect this affects all backends.
Adding my own array of things and then disabling the insert into the callback cache gets my thing reliably working.
eiro jnthn, have you experienced pbs with compiling nqp on windows ? i'm struggling with java -cp because: 18:08
eiro * from msys, MSWin32 ne $^O 18:08
eiro * from cmd, i don't have a 64bits version of nmake 18:09
eiro so i'm trying to modify things to make msys work. maybe it's a false trail 18:10
timotimo these slow benchmarks >_> 18:24
tadzik unrelated, but I lol'd: i.imgur.com/USnLRR0.jpg 18:29
timotimo hahaha 18:30
excellent
Rounin :D 18:34
jnthn eiro: No, I compile it each and every day on Windows :) 18:40
eiro: Don't think you should need a 64-bit nmake, especially to build JVM one 18:42
eiro: What issue do you hit?
eiro -cp is always broken because $^O is msys 18:47
i have fixed this part (adding "" in JVM.in and cpsep when $^O is msys 18:48
now i can compile some jars but later i have another error 18:49
3rdparty/asm/asm-tree-4.1.jar: 3rdparty/asm/asm-tree-4.1.jar: cannot execute binary file
i though it was about $(CP (line 84) 18:50
apparently it's not. i'm trying to make "make" verbose
eiro jnthn, but maybe i should just use the same env as you. how did you setup yours ? do you use msys ? cygwin ? 18:55
rurban dont use msys, use mingw or MSVC or cygwin 19:07
eiro what's wrong with msys ? 19:08
(if there is something wrong)
jnthn eiro: I build r-j with nmake
eiro: And an ActiveState Perl in the path
rurban it's only needed for cross-compiling to windows 19:09
eiro ok
i'm pretty confortable with cygwin: i'm trying right now
rurban you are in the wrong shell. either the mingw bash or the old-style cmd.exe with strawberry or activeperl env 19:10
cmd.exe for jvm preferred
jnthn Yes, shoulda mentioned that. Using the one with build stuff configured that a VS install (and so probably an Win SDK install) sets up. 19:11
eiro cmd ask me for nmake
and windows complains about nmake to be 32bits binary
ohh ... installing visual studio express is required so 19:12
eiro wow ... i need a microsoft account :( 19:14
tadzik ah, yes
I can give you mine
I opened it only to compile my university project once
of course you can't compile your code w/o a microsoft account
eiro no: i have one. i just have to remember :) 19:16
eiro time's up: got to go to italias 19:23
cya everyong
s/ong/one 19:24
timotimo oh wow the benchmarks are finally done 19:39
FROGGS linky? 19:40
timotimo soon 19:41
jnthn FROGGS: I just did a make modules-install against a latest MoarVM and only Digest::MD5 fails; was something done about that, since I seem to recall you getting a clean build? 19:42
FROGGS jnthn: github.com/cosimo/perl6-digest-md5/pull/4
jnthn: so you might want to switch it to github.com/cosimo/perl6-digest-md5/pull/4 19:43
err
this github.com/FROGGS/perl6-digest-md5
jnthn FROGGS: ah, ok
retupmoca FROGGS: I have a feature request for Digest::MD5
FROGGS retupmoca: do tell
timotimo i'm locked out of my vhost thingie
retupmoca FROGGS: can you export a (Buf $data --> Buf) method/sub?
the only exported one right now is Str --> Str 19:44
FROGGS retupmoca: I have suck-ish internet here, can you send a pull request to my fork? 19:45
retupmoca FROGGS: ack
FROGGS very nice :o) 19:46
retupmoca FROGGS: github.com/FROGGS/perl6-digest-md5/pull/1 19:51
jnthn bah, my attempt to run all the module tests failed 'cus I typo'd languages... 19:52
FROGGS O.o
typo--
timotimo huh? 19:53
jnthn timotimo: Am taking a look how we are for a Moar star. 19:54
FROGGS is the typo about setting the PATH? 19:55
jnthn Using latest Moar
tadzik "Memory usage building Firefox with debug enabled was reduced from 15GB to 3.5GB; link time from 1700 seconds to 350 seconds"
jnthn No, I ran modules-install.pl manually and put a wrong path in it.
tadzik GCC 4.9 is quite a thing :)
jnthn langauges :P
FROGGS because I built r-m*/r-j*/r-p* several times
jnthn FROGGS: ah, I'm just running the tests against an already built latest. 19:56
timotimo oooh
jnthn Anyway, two things have failures
timotimo because "languages" is in the path to stuff?
jnthn t/05-mock.t in DBIish
And a couple of Panda tests.
FROGGS <prefix>/install/languages/[nqp|perl6]/[bin|lib] 19:57
retupmoca jnthn: DBIish tests were passing for me on moar if I didn't precompile
retupmoca jnthn: they start failing once precompiled, iirc 19:57
jnthn: more specifically, they started failing once DBDish.pm6 was compiled I think 19:58
jnthn It's odd in so far as all the other DBIish tests put that one pass...
FROGGS retupmoca: I will merge that PR when I had the chance to test it on all backends (most likely until wednesday)
retupmoca jnthn: the mysql/etc tests don't actually run unless you have the right db username/pass/etc set up 19:59
FROGGS: sounds good
jnthn retupmoca: ah. 20:00
retupmoca jnthn: once I had the mysql environment set up, some tests passed before compile and failed after (just like mock)
FROGGS jnthn: btw, panda should pass its tests when you'd do: s/$*EXECUTABLE_NAME/$*EXECUTABLE/ 20:01
jnthn FROGGS: Is that a patch we need to get into Panda? 20:03
FROGGS jnthn: there is no patch yet, only github.com/tadzik/panda/issues/73 20:04
jnthn: this problem got me into working on nqp-m/perl6-m binaries... 20:07
timotimo FROGGS: how does a packaged binary call out to an actual vanilla perl6 binary if it needs to, btw? 20:11
retupmoca m: say $*EXECUTABLE # like this? 20:12
camelia rakudo-moar aeda9d: OUTPUT«IO::Path</home/p6eval/rakudo-inst-2/bin/perl6-m>␤»
FROGGS timotimo: I don not understand... why do you mean by "call out" and "vanilla perl6"?
retupmoca: yes 20:13
m: say $*EXECUTABLE_NAME # this is not very helpful if it is not in PATH
camelia rakudo-moar aeda9d: OUTPUT«perl6-m␤»
timotimo well, if you bundle a bunch of bytecode with a moarvm 20:14
sometimes you want to shell out to a perl6-m
the trick so far has, as far as i understand it, been to use $*EXECUTABLE_NAME or something
retupmoca FROGGS, jnthn: I can make a PR for panda with s/EXECUTABLE_NAME/EXECUTABLE/ ?
or is it more complicated than that?
FROGGS retupmoca: I think that should do 20:16
retupmoca: please add "#73" to the commit title
retupmoca FROGGS: will do. testing locally now 20:17
FROGGS timotimo: okay, if there is another perl6-* in PATH then you have quite a lot of choices... perl6, perl6-m, perl6-j, perl6-p 20:18
jnthn Narrowed the DBIish thing down to the methods using gather.
retupmoca FROGGS, jnthn, *: github.com/tadzik/panda/pull/78 20:20
FROGGS ohh, jnthn++ # blog post
retupmoca oh, and tadzik I guess ^
dalek nda: 78bb1e0 | (Andrew Egeler)++ | / (4 files):
s/EXECUTABLE_NAME/EXECUTABLE/ (for GH #73)

This lets us use panda with a perl6 that isn't in the current path.
20:21
nda: abafd49 | tadzik++ | / (4 files):
Merge pull request #78 from retupmoca/master

s/EXECUTABLE_NAME/EXECUTABLE/ (for GH #73)
FROGGS retupmoca: there are more occourances that needs to be fixed...
retupmoca wow, that was fast
tadzik I was looking :P
retupmoca++
FROGGS in Panda::Builder or so at least
retupmoca FROGGS: oh? I just did a grep
FROGGS hmmm
retupmoca FROGGS: I don't see anything in Panda::Builder 20:23
FROGGS retupmoca: there are six hits
lib/Panda/Builder.pm: shell("$*EXECUTABLE --target={comptarget} "
lib/Panda/Tester.pm: my $c = "$prove-command -e $*EXECUTABLE -r t/";
that is my local stuff 20:24
retupmoca yeah, but that's fine
retupmoca we're changing *to* EXECUTABLE, right? 20:24
FROGGS yes 20:25
retupmoca FROGGS: my PR changed 6 lines of EXECUTABLE_NAME to EXECUTABLE 20:25
in 4 files
FROGGS retupmoca: ahh, sorry 20:28
I only saw the first file changed...
now I see the rest
retupmoca p: say $*EXECUTABLE 20:29
camelia rakudo-parrot aeda9d: OUTPUT«IO::Path</home/p6eval/rakudo-inst/bin/perl6-p>␤»
retupmoca FROGGS: no problem, just making sure I got it right :)
jnthn wtf, the DBIish issue seems to be something involving precomp and the while something -> @foo { } construct 20:30
jnthn phew, golfed it to 15 line module. 20:33
And now gist.github.com/jnthn/52ca22e3b375e160b780 20:37
I'll bet it's gonna be QAST -> MAST mutating the tree 20:40
ah, found it 20:42
Not a darn serialization bug, for once...
FROGGS that feels like the bug that shows up for other traits as well (I remember `sub foo is hidden_from_bt`) 20:52
jnthn FROGGS: Not sure it's related. 20:52
jnthn FROGGS: It's specifically about the use of while ... -> $x { }, if ... -> $x { }, etc. in a role or code that runs at BEGIN time. 20:53
FROGGS ahh
yeahm is_hidden_from_backtrace has no pointy 20:54
dalek p: c12a9a1 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Don't ruin input QAST in pointy if/while.
21:11
timotimo t.h8.lv/p6bench/2014-04-11-rakudo_opt.html - now with vintage 2014.03 rakudo-jvm 21:17
while_array_set and while_hash_set really make the jvm much happier 21:19
vendethiel timotimo: the jvm ? 21:22
timotimo yeah 21:23
what i meant was:
these test profitted a lot by the changes since 2014.03
timotimo these benchmarks* 21:29
retupmoca jnthn++
timotimo not terribly much else changed its performance characteristics, but jnthn is going to port some of the recent improvements to moarvm to the jvm and knowing the jvm it'll probably be pretty amazing 21:31
retupmoca jnthn: there is another precomp bug out there if you feel like working on it (it doesn't affect star) 21:32
timotimo how can it not affect star? :)
retupmoca doesn't affect the base star modules :P 21:33
jnthn retupmoca: No, I don't feel like it.
retupmoca: Maybe somebody else can.
I seem to do almost all of them... 21:34
If not, I'll get to it eventually.
timotimo: while_push got better too :)
timotimo and for_push
jnthn ah, yes 21:35
push is still awfully slow though
oh, I only improved the sub though. 21:36
Method form still needs a look
retupmoca jnthn: is the precomp code something I could understand well enough to find it?
jnthn: and what's a good starting point to understanding precomp? 21:37
jnthn retupmoca: Well, generally golfing the thing down to a few lines of code/minimal number of files gives a good pointer.
retupmoca jnthn: I've gotten that far 21:38
jnthn retupmoca: From there, it depends on the nature of the bug. If it involves nested modules and interesting use paths, it's often a repossession related issue.
retupmoca: I hunt those by putting breakpoints or debug stuff into MVM_sc_wb_hit_obj or MVM_sc_wb_hit_st 21:39
Ulti so Promises are different processes rather than threads?
timotimo what!?
jnthn Ulti: A Promise is an object representing some asynchronous piece of work. 21:40
Ulti: That *may* involve running code on a thread.
Ulti yeah I guess I mean the implementation in MoarVM atm
timotimo well, on linux every thread is its own process, no?
jnthn Moar doesn't have a clue about promises (nor does the JVM). They're higher level than that.
timotimo wait, am i confusing things again?
Ulti I dunno, with pthreads if you do top its a single process that might say >100% CPU 21:41
jnthn timotimo: No, processes can have many threads.
timotimo oh, fair enough.
jnthn timotimo: But they get IDs too, and maybe the visualization of them is confusing.
Ulti yeah it might just be I dont get how htop is displaying this
jnthn retupmoca: serialization.c is the place that drives the overall process.
timotimo oh, htop 21:42
you can tell htop to show threads
retupmoca goes bug-hunting, jnthn++
jnthn askubuntu.com/questions/145707/why-...ses-as-top
Ulti: Processes and threads are certainly different. Threads share a memory space within a process. Those are what Moar and the JVM use 21:43
retupmoca++
timotimo somehow i seem to recall that a thread on linux is just a process that starts out with the heap shared or something? 21:44
Ulti yeah that's why I was really confused to see it as a process 21:45
jnthn timotimo: Mebbe, but that feels like an impl detail. 21:46
geekosaur timotimo, used to be, not since 2.6 kernel series or thenabouts
timotimo right, it would be
Ulti rm: (await do for ^10 -> $i { start { [$i, $i.is-prime] } }).grep(*[1]).map(*[0]) 22:02
camelia rakudo-moar aeda9d: OUTPUT«(signal )»
Ulti rm: say (await do for ^10 -> $i { start { [$i, $i.is-prime] } }).grep(*[1]).map(*[0])
camelia rakudo-moar aeda9d: OUTPUT«(signal )2 3 5 7␤»
Ulti yay
jnthn Ulti: That signal thing is probably fixed in MoarVM HEAD also. 22:03
Ulti yeah I noticed -e with the moar backend is a bit funky on the version I'm using
jnthn Actually guess I should bump revs...
Ulti like that code will core dump 22:04
Ulti but is fine in the REPL 22:04
also await and start are super nice
that covers about 90% of my parallel use cases that I rely on shell tools like GNU parallel for 22:05
jnthn Ulti: Yes, the bug fixed today was an exit-time one, which explains why you don't get it in the REPL
Ulti cool
dalek p: 1cf05eb | jnthn++ | tools/build/MOAR_REVISION:
Bump to get Moar exit and callback fixes.
22:06
Ulti jnthn++ 22:06
dalek kudo/nom: 11a6934 | jnthn++ | tools/build/NQP_REVISION:
Get NQP with Moar comp fixes, Moar fixes.
22:07
jnthn There we go.
Ulti also the machine I'm playing with has 20 physical threads and 40 "physical" threads :)
jnthn HT?
Ulti yeah 22:08
timotimo and how many psychological threads?
Ulti one
jnthn Whoa...how fast can you spectest r-m on that beast? :)
Ulti unless I am rubbing my tummy at the same time
jnthn I haven't tried
jnthn TEST_JOBS=20 it :D
timotimo obviously immediately
Ulti at the moment a PhD student is using 10 cores and 250GB of RAM :S
jnthn oh :)
wow :) 22:09
Ulti but yeah I was thinking since we arent using this machine yet I can do some grind for you guys
jnthn has no hardware like that to hand :) 22:09
Ulti well its behind loads of university institutional guff otherwise I would give you an account ;P 22:10
jnthn :)
Ulti also the machine is called doge >:3
such compute 22:11
jnthn so cores. such RAM. wow.
Ulti but yeah maybe I can just make some way for you to poke some place and it git pulls and runs tests for you.... 22:13
jnthn Well, I can run them fairly fast here too; I was just curious if parallel spectest can saturate that many cores :) 22:14
Ulti well Monday all the cores are free and I can find out 22:15
Ulti I wish I was rich so I could get a 4CPU monster with the latest 15core Xeons 120 threads of execution all with shared RAM would be amazing 22:20
jnthn I imagine that costs even more than the top-rated Apple Trashcan(TM)...
Ulti DELL says £35k without much RAM :( 22:24
you can buy several doge for that
jnthn whoa
Ulti I imagine 4xCPU mother boards are fairly crazy to engineer 22:25
dalek kudo-star-daily: 099a27f | coke++ | log/ (5 files):
today (automated commit)
[Coke] jvm spectest hung again 22:26
timotimo d'oh 22:38
jnthn 'night, #perl6 22:55
[Coke] ~~
Ulti someone might want to comment www.reddit.com/r/perl6/comments/22v..._priority/ 23:07
[Coke] I wonder if pimozv hangs out on IRC. 23:12
timotimo um. nativecall does work, doesn't it? 23:14
on moar?
retupmoca I've used it to create a couple of modules, so I'm pretty sure it does 23:16
TimToady didn't jnthn++ just fix a callback bug?
timotimo he did
does moarvm pass all tests from NativeCalls test suite?
retupmoca yeah
has for a while now, I think 23:17
(where while is O(weeks)?)
timotimo do you have a reddit account? otherwise i'll post it after this match
TimToady doesn't
timotimo or after the map after that 23:29
i just want to build the freshest rakudo and run the nativecall test suite just to be extra sure 23:30
tadzik hm, did anyone test zavolaj on moar on 32bits? 23:42
www.reddit.com/r/perl6/comments/22v...ty/cgqwdng
[Coke] "please report bugs via rakudobug, not reddit" 23:45
sorry, not -just- reddit.
timotimo could it be that we're not supporting 32bit? 23:50