»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 kurahaupo left, kurahaupo joined 00:03 rurban left 00:05 jnap left 00:09 jnap joined, thou left 00:17 Araq left 00:32 thou joined, skids left 00:33 rurban joined 00:34 araujo left 00:35 rurban1 joined 00:37 rurban left 00:39 rurban1 left 00:41 amirite joined 00:43 araujo joined
dalek c/redesign: 9400c44 | Mouq++ | htmlify.p6:
Fix generation of routine-{sub,method}.html
00:48
c/redesign: 2f55811 | Mouq++ | / (2 files):
Code clean-up
00:53 xinming left 00:59 skids joined 01:03 colomon joined 01:05 xinming joined 01:10 Pleiades` left, FROGGS__ joined 01:13 Sqirrel_ joined 01:14 FROGGS_ left, Sqirrel left 01:15 Pleiades` joined 01:16 grondilu joined, grondilu left, grondilu joined
grondilu You guys thought you were done with unicode, right? Well, unicode 7 just came out: unicode-inc.blogspot.fr/2014/06/ann...on-70.html 01:17
segomos_ i just patched in unicode 7.1
grondilu oh
segomos_ kidding :) 01:18
grondilu ah
segomos_ i like the billboard character
01:20 Su-Shee_ joined, sorear joined 01:23 Su-Shee left
grondilu Today I noticed that panda is installable again. Yet I failed to install v5. That's not yet fixed, is it? 01:23
01:27 Pleiades` left 01:28 klapperl_ left 01:30 klapperl joined 01:32 Pleiades` joined 01:45 araujo left
grondilu bah nevermind 01:49
01:49 grondilu left, colomon left 01:52 jjk left 01:53 colomon joined 01:55 btyler joined 01:56 xenoterracide joined 01:57 jjk joined 02:10 thou left 02:16 araujo joined, araujo left, araujo joined, jnap left 02:19 xenoterracide left 02:30 xenoterracide joined 02:33 araujo left
colomon panda install still broken on moar. :( 02:34
lue Too bad we're stuck (documentationally at least) with Unicode 6.2 until they decide to actually publish 7, which appears to be set for October :(
02:39 noganex_ joined 02:40 kaare_ joined 02:42 noganex left 02:43 hoverboard joined
btyler colomon: broken how? just installed both from a local repo and from the ecosystem 02:47
02:48 araujo joined
colomon t/installer.t (Wstat: 0 Tests: 14 Failed: 6) 02:55
Failed tests: 9-14
Parse errors: Bad plan. You planned 8 tests but ran 14.
…. actually that seems more promising than it has.
… and that was because my version of panda was hacked. sigh. 02:58
I have a working panda on moar-HEAD! 02:59
\o/
afk # sleep
benabik colomon: You were hacked? /o\
;-)
03:02 molaf_ left 03:10 colomon left
dalek c/redesign: d636000 | Mouq++ | htmlify.p6:
Remove "Modules" and "Formalities" for now
03:25
c/redesign: cb5d7f3 | Mouq++ | htmlify.p6:
Abstract and generalize finding definitions in language docs
03:30 araujo left 03:34 kaare_ left 03:36 araujo joined 03:40 rurban joined 03:45 [Sno] left 03:57 kaare_ joined 04:08 thou joined
dalek c/redesign: 1dfd619 | Mouq++ | htmlify.p6:
Use find-definitions for Type files

This cuts down on a lot of redundancy and allows for the same procedure to be used in places other than Type files. 9429392 | Mouq++ | lib/Type/ (108 files): Update Type files as per 1dfd619f070
04:10
Mouq sorry dalek v_v
04:11 dalek joined, ChanServ sets mode: +v dalek
Mouq commit is here, fwiw: github.com/perl6/doc/commit/1dfd619f070 04:12
04:19 rurban left 04:20 xenoterracide left 04:23 anaeem1_ joined 04:31 SamuraiJack joined, araujo left
moritz [Coke]: I've added a 4GB swap file to host07 04:47
[Coke] moritz: thanks. 04:50
04:50 rurban joined 04:52 rurban1 joined 04:55 rurban left 04:56 rurban1 left 05:05 [Sno] joined 05:08 BenGoldberg left 05:10 BenGoldberg joined 05:12 hoverboard left 05:19 BenGoldberg left 05:30 btyler left 05:43 hoverboard joined 05:52 thou left 05:59 rindolf joined 06:02 mr-foobar joined 06:04 dayangkun left 06:06 SamuraiJack left 06:07 dwarring left 06:12 bebus joined 06:15 bebus left 06:16 bebus joined
bebus Hello all 06:23
I would like to share my achievement with you :)
During last perl workshop in Poland -> Poznan, on Hackathon, I was working on installing Perl6 on my Ubuntu Touch 06:24
Yup... I failed back then due to lack of build-essentials package
But finally, now, I've compiled Perl6 on my mobile device directly :D 06:25
and it works :]
I've tried to compile using moar,parrot and jvm and unfortunatelly, up to now, I've managed to successfully build Perl6 on JVM only :/ 06:27
configuring parrot return: value for '@icu_shared@' in config/gen/makefiles/root.in is undef at lib/Parrot/Configure/Compiler.pm line 611, <$in> line 135. 06:29
06:29 dayangkun joined
bebus not checked that yet 06:29
06:30 dayangkun_ joined
bebus configuring moar on the other hand gives: make: *** [gen/moar/stage1/nqpmo.moarvm] Bus error (core dumped) 06:30
so, now some results/feedback 06:31
06:33 dayangkun left
Timbus hah. thats neat 06:34
what hardware?
bebus building Perl6 on JVM took ~20h
Timbus aaa
bebus NEXUS 4
~8h took to configure NQP-j
06:35 FROGGS__ left
xiaomiao impressive :) 06:36
bebus Stage parse took ~10000
06:36 kaleem joined
bebus and Stage mast ~20000.... so quite long ;) 06:37
today morning it finished so I wanted to test it ofc :)
06:38 darutoko joined
bebus running "./perl6 -v" takes 1m2s 06:38
return: This is perl6 version 2014.05-171-ge9e842a built on JVM
running "./perl6 -e \"say 'Hello Mobile World';\"" takes 4m7s 06:39
so this is not a speed deamon ;p
Timbus lol 06:40
bebus I think that this should be faster on moarvm if I'll manage to compile it 06:41
Timbus can you cross-compile?
bebus I didn't try that yet. My idea behind that was: I have a phone with power CPU. I want to connect it to keyboard, mouse, monitor and use is as a true PC. 06:44
I'll try to play with that little more and if I'll fail than I'll cross compile it 06:45
aaa just note... On my Ubuntu Touch phone, there is Perl5 - 5.18.2 -> and it's quite fast 06:47
dalek rl6-bench: f079596 | (Geoffrey Broadwell)++ | nqp/rc-man-or-boy-test:
Un-bitrot nqp/rc-man-or-boy-test
06:49
rl6-bench: 4dddf4d | (Geoffrey Broadwell)++ | minibenchmarks.pl:
rc-man-or-boy-test: Enable nqp-moarvm; raise scale above noise floor
06:50 FROGGS__ joined
jnthn segomos_: Well, I don't know exactly what JVM is doing, but I do know writes to async sockets should probably be async 06:52
06:52 igorsutton joined 07:11 dmol joined 07:13 maelus left 07:16 zakharyas joined
masak 'morning, #perl6 07:21
bebus++ # mobile!
is bebus the first one to run Perl 6 on a mobile device? I don't remember.
FROGGS__ hmmm, I'd like to have P6 on my blackberry :/ 07:24
(now)
07:26 kurahaupo left
tadzik bebus: hah, good job! :) 07:27
would be interesting to investigate the moarvm problem
FROGGS__ is there a walkthrough?
like this for Perl 5? github.com/dex4er/perl5/wiki/android
07:27 virtualsue joined
tadzik masak: I think supernovus or snarkyboojum ran rakudo on Nokia N900 a couple of years back 07:27
jnthn tries to remember what CPU bebus++'s phone had in it 07:28
I had hoped nwc10++'s porting work woulda covered it :)
tadzik masak: twitter.com/snarkyboojum/status/21738635293 07:29
that's 4 years ago :o 07:30
I could try compiling moarvm for my n900 too
FROGGS__ tests r* now 07:31
jnthn FROGGS__++ 07:32
bebus tadzik: in fact, moarvm is compiled on my phone... hmmm it fails on building nqp 07:33
07:34 maelus joined 07:35 hoverboard left
masak ok, snarkyboojum++, then. :) 07:38
tadzik ah, hm
07:46 rindolf left
nwc10 bebus: don't bother *building* nqp on your phone 07:46
build MoarVM for you phone, build Rakudo elsewhere (but with the correct paths) and ship it over
MoarVM bytecode files are portable.
like JVM
the only reason to build NQP and Rakudo on a strange platform is if you want to use the entire build process as an extended regression/stress test 07:47
(which is a useful thing to do)
but if your goal is having Rakudo, rather than "finding and fixing bugs in Rakudo", then take the shortcut 07:48
07:49 Ven joined
sergot morning! o/ 07:54
07:57 labster left
Ven o/, * 07:57
masak morning, sergot! \o 08:05
here's all the code from yesterday's blog post, if someone wants to play with it: gist.github.com/masak/f865b7d9dd33e535b501 08:10
(also linked from the post)
sergot masak++ 08:11
masak actually, sergot++ had a part in this, too :) 08:12
08:13 denis_boyun joined 08:16 ivanshmakov left, kaleem left, [Sno] left, noganex_ left, Pleiades` left, [particle] left, woolfy left, maelus left, darutoko left, mr-foobar left, Su-Shee_ left, Alina-malina left, pecastro left, zengargo1le left, perigrin left, cibs left, isacloud__ left, Bucciarati left, TimToady left, lestrrat left, raydiak left, sorear left, mikegrb left, ivan`` left, pnu left 08:18 ivanshma` joined 08:19 pdcawley left 08:20 pdcawley joined, psch joined, maelus joined, darutoko joined, kaleem joined, mr-foobar joined, [Sno] joined, noganex_ joined, Pleiades` joined, Su-Shee_ joined, pecastro joined, [particle] joined, zengargo1le joined, woolfy joined, perigrin joined, cosimo joined, muraiki joined, ponbiki joined, camelia joined, go|dfish joined, tempire_ joined, kshannon joined, firnsy joined, MilkmanDan joined, isacloud__ joined, FOAD joined, pmichaud joined, hugme joined, jercos joined, Juerd joined, bowtie joined, hoelzro joined, amkrankruleuen joined, retupmoca joined, ggherdov joined, Bucciarati joined, TimToady joined, lestrrat joined, raydiak joined, wilhelm.freenode.net sets mode: +vv camelia hugme
psch hi #perl6 08:20
lizmat hi psch
08:21 sorear joined, mikegrb joined, ivan`` joined, PZt joined, japhb_ joined, ashleydev joined, pnu joined, rurban_ joined, xfix joined, dylanwh joined, cooper joined, profan joined, clkaoud joined, mathw joined, timotimo joined, atrodo joined, flussence joined, yogan_ joined, tokuhirom joined, risou joined
ChoHag Can I define a trait to ack as a sort of filter on an attribute or variable, modifying any attempt to read or write from it? 08:21
08:21 Alina-malina joined, anaeem1_ left, cibs joined 08:22 ivan`` left
lizmat ChoHag: you probably mean Proxy 08:22
Ven m: role B { method a { $!a * 5 } }; class A does B { has $.a; }; say A.new(:a(5)).a # <ChoHag
lizmat examples e.g. in srr/core/BagHash.pm
ChoHag ven: Is that all that's needed to augment any attempt to access $!a?
default, direct access, etc.? 08:23
08:23 ivan`` joined
Ven Won't work, actually. B can't find $!a. Duh. 08:23
Uncool.
ChoHag Proxies look about right.
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/s8BhnYfs2v␤Attribute $!a not declared in role B␤at /tmp/s8BhnYfs2v:1␤------> role B { method a { $!a * 5 } }⏏; class A does B { has $.a; }; say A.new␤ expecting any o…» 08:24
Ven thanks camelia ;_l
psch i'm still getting the SEGV for .isa(Scalar); gist.github.com/peschwa/863b4d839e0024388052 08:25
08:26 fhelmberger joined
Ven psch: works here 08:26
(with a fresh rakudo) 08:27
08:27 Pleiades` left, Pleiades` joined, cosimo left
psch the moar version i'm running is the one i should be running though, right? seeing as [Coke] mentioned it was over a month old 08:29
08:31 cosimo joined
ChoHag Hmm. So how can I use a trait to replace an attribute with a proxy? 08:32
08:32 anaeem1 joined
ChoHag core/traits.pm doesn't give me any clues. 08:32
08:33 kaleem left, [Sno] left, noganex_ left, [particle] left, woolfy left, maelus left, darutoko left, mr-foobar left, Su-Shee_ left, pecastro left, zengargo1le left, perigrin left, ponbiki left, camelia left, kshannon left, tempire_ left, MilkmanDan left, muraiki left, go|dfish left, firnsy left, isacloud__ left, FOAD left, pmichaud left, hugme left, jercos left, Juerd left, bowtie left, hoelzro left, amkrankruleuen left, retupmoca left, ggherdov left, Bucciarati left, TimToady left, lestrrat left, raydiak left
lizmat fitness& 08:34
ChoHag Can I mix a Proxy role in?
08:36 dakkar joined
moritz I don't think so 08:36
ChoHag Yeah that didn't work.
08:37 anaeem1 left 08:38 anaeem1 joined 08:39 spider-mario joined
masak Ven: re the private attribute thing above: private attributes can only be accessed in the role/class they were declared. this is a good thing. 08:41
Ven: not even subclasses or mixed-in roles are exempted.
Ven: there's a mechanism for sharing information about private attributes. it's (read/write) accessors. 08:42
ChoHag Where can I find documentation on := ?
moritz S02, I think. And doc.perl6.org/language/containers 08:43
ChoHag Thankyou.
08:44 maelus joined, darutoko joined, kaleem joined, mr-foobar joined, [Sno] joined, noganex_ joined, Su-Shee_ joined, pecastro joined, [particle] joined, zengargo1le joined, woolfy joined, perigrin joined, muraiki joined, FOAD joined, pmichaud joined, hugme joined, jercos joined, Juerd joined, bowtie joined, hoelzro joined, amkrankruleuen joined, retupmoca joined, ggherdov joined, Bucciarati joined, TimToady joined, lestrrat joined, raydiak joined, isacloud__ joined, MilkmanDan joined, firnsy joined, kshannon joined, tempire_ joined, go|dfish joined, camelia joined, ponbiki joined, wilhelm.freenode.net sets mode: +vv hugme camelia
ChoHag Boom. 08:44
Ven masak: meh :p 08:45
masak Ven: I think lexical scoping is a really great idea. the scoping of private attributes is much the same, although the memory allocation is per-object. 08:47
Ven masak: that's unrelated, though
masak how so? 08:48
the private attribute is *scoped*, that's why you cannot access it from the outside.
Ven I mean not lexicall
08:48 anaeem1 left
masak you're making less and less sense. 08:49
moritz m: class A { has $!priv = 42; method a { class B { method b() { say $!priv } }; B.new.b } }; A.a 08:50
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/Kl0OFxPtw5␤Attribute $!priv not declared in class B␤at /tmp/Kl0OFxPtw5:1␤------> { class B { method b() { say $!priv } }⏏; B.new.b } }; A.a␤ expecting any of:␤ …»
Ven m: class A { has $!foo; class B { our sub bar($a) { $a!foo = 5; } }; method BUILD { self.bless(foo => 5) }; method m { $!foo; } }; my A $a .= new; B::bar($a); say $a.m;
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/YrjK9OKdGk␤No such private method 'foo' for invocant of type 'B'␤at /tmp/YrjK9OKdGk:1␤------> s $!foo; class B { our sub bar($a) { $a!⏏foo = 5; } }; method BUILD { self.bless(…»
Ven m: class A { has $!foo; class B { our sub bar($a) { $a.foo = 5; } }; method BUILD { self.bless(foo => 5) }; method m { $!foo; } }; my A $a .= new; B::bar($a); say $a.m;
08:50 anaeem1 joined
camelia rakudo-moar 354c5c: OUTPUT«(timeout)» 08:50
Ven m: class A { has $!foo; class B { our sub bar($a) { $a.foo = 5; } }; method BUILD { self.bless(foo => 5) }; method m { $!foo; } }; my A $a .= new; B::bar($a); say $a.m;
camelia rakudo-moar 354c5c: OUTPUT«(timeout)» 08:51
masak moritz: yeah, point. that's not very lexical.
Ven yes, what I mean.
Except moar doesn't like me much
moritz masak: it's constrained by both lexicality AND object scope, iirc
sergot more videos from the plpw14! :) www.youtube.com/playlist?list=PLf0...du3lHbqGz-
masak sergot++
moritz m: class A { has $!p = 42}; use MONKEY_TYPING; augment A { method a () { say $!p } }; A.new.a 08:52
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!===␤Type 'A' is not declared␤at /tmp/e1OZVCbSQC:1␤------> $!p = 42}; use MONKEY_TYPING; augment A ⏏{ method a () { say $!p } }; A.new.a␤Malformed augment␤at /tmp/e1OZVCbSQC:1␤------> $!p = 42…»
moritz m: class A { has $!p = 42}; use MONKEY_TYPING; augment class A { method a () { say $!p } }; A.new.a
camelia rakudo-moar 354c5c: OUTPUT«42␤»
moritz ok, not restricted lexically
Ven not lexical
08:52 bebus left
Ven masak: does that make more sense now :P ? 08:52
masak: I'm really, really tired, so I probably don't make much sense, but that's what I meant 08:53
masak yes, makes more sense.
but the 'lexical' explanation, while not exactly correct, still carries explanatory power.
moritz I agree; it makes it obvious that subclasses don't get access to the attributes 08:54
masak or roles. 08:55
moritz but the classes get access to the role's attributes, no?
masak m: role R { has $!x }; class C does R { method foo { say $!x } }; C.new.foo 08:56
camelia rakudo-moar 354c5c: OUTPUT«(Any)␤»
masak apparently.
but that rhymes well with "roles are literally copied into classes", so I don't mind.
(though I also wouldn't revolt if the above didn't work) 08:57
Ven But I think I'll miss Ruby's power here 08:58
masak please be more specific.
Ven It's a power VS checking case
do you want to be able to do lots of stuff, or do you want you stuff to be statically checked 08:59
Basically, it's a "there's a runtime and a compile time" which exists in p6 but doesn't in Ruby
09:00 donaldh joined, SevenWolf left
masak so you're saying Ruby is entirely interpreted? 09:02
Ven masak: I am. 09:05
ChoHag What can I do with the container method of Attribute?
Ven masak: try `class A < [String, Array].sample;end` Dynamic inheritance 09:06
ChoHag In particular, what purpose does its being rw serve?
Ven m: sub foo is rw { state $a }; foo = 5; say foo; # look ChoHag, it's rw !
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/KPziJWFxD1␤Preceding context expects a term, but found infix = instead␤at /tmp/KPziJWFxD1:1␤------> sub foo is rw { state $a }; foo =⏏ 5; say foo; # look ChoHag, it's rw !␤»
Ven m: sub foo is rw { state $a }; foo() = 5; say foo; # look ChoHag, it's rw ! 09:07
camelia rakudo-moar 354c5c: OUTPUT«5␤»
ChoHag No, I know that rw means it's settable, but why is Attribute.container settable?
jnthn It's rw so it can actually return to you the prototype container without it being stipped away 09:08
timotimo sergot: twitter botched your youtube link for the plpw videos :(
ChoHag Not so that I can fuck about with it then? 09:09
Do you know how I can use a trait to replace an attribute with a proxy? 09:11
jnthn I don't know "replace it with a proxy" makes sense 09:15
An attribute is a storage location
It's the accessor that wants to return the proxy.
And you can override/control accessor generation. 09:16
Or just .add_method something there and then
Or wrap the generated accessor
If you put a Proxy in the storage location then you don't have a place to store the value I guess you're wishing to validate using the Proxy... 09:17
sergot timotimo++: ohh :( thanks 09:20
Ven masak: are you perl6-slow trying to compute what ruby does for that ? :P
timotimo yeah, why would a legit link ever end in a dash, right?
Ven timotimo: tweet a mangled link :P
sergot timotimo: retweeted :) 09:21
timotimo that's not what that word means %) 09:22
sergot ye.. :)
anyway, you know what I meant 09:23
:)
tadzik oh, my talk video is 23 minutes long! 09:25
so I did fill the time slot 09:26
ChoHag jnthn: What'll that do about default values?
Overriding the accessor.
tadzik or sergot artificially prolonged my video knowing that I probbaly wouldn't watch it but it'd make me feel good that it's so long
timotimo :3
sergot :D 09:27
jnthn ChoHag: Default value is a $!foo level thing, not an accessor level thing, iirc
ChoHag So I'd need to adjust it in BUILD?
jnthn Well, you can write a submethod BUILD(:$.thing, :$.other) { } to force it to go through the accessor. 09:28
FROGGS__ that is supposed to work, correct? 09:35
m: grammar A { token foo is export { a } }; grammar B { token TOP { <foo>+ } }; say B.parse.("aaa")
camelia rakudo-moar 354c5c: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method parse at src/gen/m-CORE.setting:13169␤ in block at /tmp/8z0e23sCpT:1␤␤»
masak Ven: no, I got it. and Stack Overflow sorta-kinda verifies your stance.
Ven masak: eh, I do ruby "all day", so I certainly hope my code works
very very powerful. I once wrote a method to import all methods from submodules with a prefix. 09:36
masak :) 09:38
the pull between static and dynamic is something that interests me. 09:40
09:46 araujo joined
Ven masak: P6 ain't no idris yet 09:49
or agda, for that matters.
dalek osystem: d5f49aa | sergot++ | META.list:
all HTTP::* modules are now in HTTP::UserAgent
09:52
09:52 Psyche^ left
masak Ven: nor is it aiming to be. 09:52
Ven: doing something like that sounds more like a slang or a module.
Ven masak: that's just plain not gonna work
masak maybe not.
but people have surprised me before in that regard. 09:53
09:53 Psyche^ joined 09:55 ivanshma` is now known as ivanshmakov
Ven masak: well, you need the support from the VM for some things 09:57
sergot I remind you about upcoming release, update the changelog please :)
Ven you can't get reified generics on the jvm, for example
(and it's a good thing.)
09:57 amirite left
masak sergot++ # comfort and pain relief manager 10:06
jnthn I really miss having proper generics on the JVM. A bunch of stuff that should work simply doesn't 'cus they type erase. 10:15
One of the things that makes Java just feel plain clunky compared to C#.
masak aye.
sergot it seems that only 8 people contributed to this release.
jnthn so slacking 10:16
:P
masak notices that he's not one of them
maybe I'll have time to contribute something before Thursday... 10:17
nwc10 I hope I'm not one
sergot nwc10: why so? :) 10:19
10:19 Su-Shee_ is now known as Su-Shee
nwc10 because if I am, that means there were only 7 other people active 10:20
or, I would guess, 5 + liz + jnthn
but if I am, then it's 6
er, am not
sergot and only 5 new things in the changelog 10:21
nwc10 Su-Shee: I hope I remember correctly that you were one of the people talking about a Perl 6 hackathon in Germany. 10:22
Su-Shee nwc10: yes, I were, but in general.
nwc10 in that, there's going to be a hackathon, *almost* in Germany: act.useperl.at/apw2014/news 10:23
Su-Shee nwc10: make it probably europe...
haha :)
nwc10 hopefully 4km on the other side of the border isn't a problem.
Su-Shee "almost!" good enough! well they kind of speak german as well! ;)
nwc10: no, I love the accent anyways. ;)
10:23 Sqirrel_ left
nwc10 As far as I can tell, they speak it better than the Venese 10:23
Su-Shee nwc10: I'm from Hannover, every other german is "an accent" for me. ;) 10:24
nwc10 Strong Vienna dialect seems to be about as German as a Glaswegian dialect is English.
also, Salzburg has trolleybuses. If that matters. 10:25
Su-Shee nwc10: I'm working up to a Mozart pun. 10:26
masak .oO( am I? Deus! )
Su-Shee masak: yeah ok.. good enough.. ;)
nwc10 oh balls, are we into puns again?
(that's a meta-Mozart pun, and probably not obvious) 10:27
lizmat unless you're into chocolate 10:36
10:51 colomon joined 10:54 grondilu joined
grondilu r: say ([1], -> @p { [0, @p Z+ @p, 0] } ... *)[2] 10:55
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 2 1␤»
grondilu r: say ([1], -{ [0, @_ Z+ @_, 0] } ... *)[2]
camelia rakudo-jvm 354c5c: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in any at gen/jvm/BOOTSTRAP.nqp:1199␤ in sub prefix:<-> at gen/jvm/CORE.setting:4052␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 354c5c: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in any at gen/parrot/BOOTSTRAP.nqp:1206␤ in method Numeric at gen/parrot/CORE.setting:1007␤ in sub prefix:<-> at gen/parrot/CORE.setting:4056␤ in sub prefix:<-> at gen…»
..rakudo-moar 354c5c: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in sub prefix:<-> at src/gen/m-CORE.setting:4052␤ in block at /tmp/tmpfile:1␤␤»
grondilu r: say ([1], { [0, @_ Z+ @_, 0] } ... *)[2]
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 3 2␤»
grondilu r: say ([1], -> @p { [0, @p Z+ @p, 0] } ... *)[2]
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 2 1␤»
grondilu weird, isn't it? 10:56
r: say ([1], { [0, @^p Z+ @^p, 0] } ... *)[2]
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 2 1␤»
grondilu r: say ([1], { [0, @^p Z+ @p, 0] } ... *)[2]
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 2 1␤»
grondilu r: say ([1], { [0, @_ Z+ @_, 0] } ... *)[2]
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 3 2␤» 10:57
grondilu r: say ([1], { [0, @$_ Z+ @$_, 0] } ... *)[2]
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«1 2 1␤»
grondilu oh I see
11:16 kivutar joined
FROGGS__ jnthn: I updated modules-test-m: gist.github.com/FROGGS/0ea5537eb675588baaa2 11:19
especially "No object at index 167" is disturbing
Ven likes type erasure 11:20
it's one of the few things the JVM got right ...
Rounin Hm... I've heard lots of complaints about how JVM does exactly that
I suppose C# does it in an even fancier way
Generics I mean
Can't say I know or care very much how, but still 11:21
Ven FWIW, Haskell has even more type erasure than the JVM and it's never been a problem 11:24
Rounin Ah
It is a rather elegant solution, too... In how relatively simple it is
And it achieves a lot
Wikipedia describes the complaint... It notes that the parameterized types are no longer known at runtime, so one can't use reflection on them 11:25
Oh well
Ven Don't break parametricity and all will be well :) 11:26
11:27 benabik left 11:28 Tene left, dmol left
ChoHag Do I have to use 'is' to define traits? 11:31
11:33 skids left
Ven ChoHag: trait_mod:<is> I think 11:34
11:37 FROGGS__ left 11:46 FROGGS joined
jnthn FROGGS: ah crap...that'll be some kind of pre-comp failure... 11:50
11:50 jlaire joined
jnthn FROGGS: Any chance of bisecting it? 11:50
I don't *think* anything changed in Moar in regards to serialization.
I'm suspecting the S11 changes. 11:51
Ven: You can't implement the same generic interface multiple times in Java, parameterized differently. You can't parameterize on native types. You can't overlaod methods based on generic parameters. I do all 3 of these frequently in C# (well, not the last one so much as the first two...) 11:53
Ven jnthn: I think overloading methods based on generic parameters is a misfeature and shouldn't be allowed
Some languages thought it was a good idea to include such overloads, then bit the dust 11:54
(I'm thinking of std::vector<bool>, for example)
moritz Ven: then you haven't ever written a high performance matrix multiplication library :-)
Ven: or used on, for that matter :-)
Ven moritz: by some regards, I probably have never used a "high performance" anything, compared to what people did before I even was born 11:55
jnthn Ven: It's not even a feature, it's a natural consequence of implementing generics properly.
Ven jnthn: by your definition or "generics", maybe. I stand by parametricity. 11:56
if I have a function [T] -> Int, I want to know that for any list of the same size, I'm gonna get the same result. 11:57
jnthn Last I heard, they're pondering doing things the .Net way in the JVM in the future... Not sure if it'll actually come to pas.
*pass
nwc10 will it permit Larry (that one) to buy more yachts?
masak ooh, parametricity is related to natural transformations! why didn't you just *say* so? :P 11:58
11:58 Tene joined, Tene left, Tene joined
jnthn nwc10: Sure; they can sell more training/expensive certifications in the new stuff :P 12:00
nwc10 win!
12:01 sqirrel joined
Ven masak: dl.dropboxusercontent.com/u/7810909...ricity.pdf 12:01
nwc10 but will it cost more in engineering than it will earn in training revenue? Surely the plan is to optimise the language to maximise the ratio of traning revenue to engineering cost, without making it so hard that long term its popularity drops, jepardising mindshare and hence total revenue
(that is not meant as buzzword bingo. That's meant as total cynicism about a certain firm's motivations) 12:02
FROGGS jnthn: this must be something that happened within a timeframe of a week, so its is either about spesh or inline 12:03
jnthn: bisecting it in a bit
jnthn FROGGS: I'm skeptical.
Timbus ChoHag, no traits don't need is
m: multi trait_mod:<be>(Attribute $a, :$aching!) { ... }; class Yarr { has $.bones be aching; }; say 'alive' 12:05
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/AthFcFezDf␤Two terms in a row␤at /tmp/AthFcFezDf:1␤------> ng!) { ... }; class Yarr { has $.bones ⏏be aching; }; say 'alive'␤ expecting any of:␤ scoped decl…»
Timbus :o
12:06 SamuraiJack joined
jnthn There are others (will, does, etc.) but you can't just go making up whatever you want :P 12:06
At least, not *yet*
12:07 djanatyn joined
jnthn nwc10: Much like at Microsoft, Oracle is big enough to have lots of people with lots of motivations. 12:07
So plenty can happen even if it's not That Larry's motivation :) 12:08
12:10 rurban joined
FROGGS please +1 github.com/FortAwesome/Font-Awesome/issues/3015 12:10
masak Ven: interesting. I skimmed it. 12:11
Ven: realized I need to read that Wadler paper (which I've heard a lot about), and also the Danielson et al. I now have them queued up. 12:12
Ven masak: I have so many papers queued up :(.
masak: kippt.com/Vendethiel/prog is my part one 12:13
12:15 smls joined, jnap joined, pecastro left
masak life ain't easy for us packrats. 12:18
lizmat r: { my $a="foo"; $a = ::($a); CATCH { say "CAUGHT $_"; default {} } } # no CATCH??? 12:19
camelia ( no output )
lizmat r: { my $a="foo"; ::($a); CATCH { say "CAUGHT $_"; default {} } } # no CATCH???
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«CAUGHT No such symbol 'foo'␤»
lizmat ah that does catch
r: { my $a="foo"; $a = ::($a); CATCH { say "CAUGHT $_"; default {} }; say $a } # also CAUGHT 12:20
camelia rakudo-{parrot,jvm,moar} 354c5c: OUTPUT«CAUGHT No such symbol 'foo'␤»
lizmat masak: do you agree something weird is going on here ?
Ven masak: Uh, that's because I have so much to read that I think life is easy
masak lizmat: not offhand, no. 12:22
Ven lizmat: what seems to be wrong ?
masak lizmat: there's no symbol foo. and exception is thrown. it's caught.
lizmat but that's just it
12:22 dmol joined
lizmat in the first case, there is *NO* exception 12:23
masak ...hm.
Failure?
12:23 xusia joined
masak as in, it's not triggered until it's read? 12:23
lizmat ah....
hmmm....
masak sink context makes it trigger immediately?
lizmat yup
that would be it... masak++
Ven m: { my $a="foo"; $a = ::($a); CATCH { say "CAUGHT $_"; default {} }; say $a; } # no CATCH??? 12:24
camelia rakudo-moar 354c5c: OUTPUT«CAUGHT No such symbol 'foo'␤»
Ven I still think it's confusing to have this behavior without :=
FROGGS hmm, I do not see a connection between binding and exception throwing 12:27
if I assing a Failure to a variable, and check that later (for truthness or for its type), then that is totally legal me thinks 12:28
lizmat hmmm.... I seems to be going around in circles 12:30
I have a string, e.g. "Int"
and I want to change that into a type object
::($string) is the way to do that
tadzik .WHAT
oh
nvm
FROGGS .BUTT 12:31
lizmat .BUTT ?
FROGGS :P
lizmat did I miss something
FROGGS hold on
lizmat but even if that works, it is not defined, as it is a type object
FROGGS lizmat: www.youtube.com/watch?v=fbGkxcY7YFU
lizmat doesn't do Flash, but I get the picture :-) 12:33
FROGGS lizmat: what are you trying to achieve?
lizmat changing a given string into a type object, if possible
and trying to figure out how to handle it if it *didn't* work out
12:33 smls left
lizmat m: my $a = "Int"; say ::($a) 12:34
camelia rakudo-moar 354c5c: OUTPUT«(Int)␤»
lizmat m: my $a = "Intf"; say ::($a)
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!===␤No such symbol 'Intf'␤»
lizmat m: my $a = "Intf"; say ::($a); 1
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!===␤No such symbol 'Intf'␤»
12:34 huf joined
lizmat m: my $a = "Intf"; my $b = ::($a) 12:34
camelia rakudo-moar 354c5c: OUTPUT«Unhandled exception: No such symbol 'Intf'␤ at src/gen/m-CORE.setting:11391 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:117)␤ from src/gen/m-CORE.setting:12845 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CO…»
lizmat m: my $a = "Intf"; my $b = ::($a); 1 12:35
camelia ( no output )
lizmat I guess checking for Failure would be the way, I guess
FROGGS ahh, yeah 12:36
12:36 dmol left
FROGGS in somebody's code I've see: if ::('IO::Socket::INET') ~~ Failure { ... 12:36
12:37 dmol joined
masak is very curious what came next 12:37
FROGGS I forgot 12:38
masak "...hokay, so we don't have that type. then we, um. uh."
12:38 telex left
FROGGS but it was about using a newly introduced thingy without breaking back compat 12:38
masak ah.
12:39 telex joined
FROGGS it's not in star 12:40
12:40 telex left
FROGGS panda has this though: 12:40
star/modules/panda/lib/Panda/Builder.pm:61: if ::('Build').isa(Panda::Builder) {
12:42 telex joined
masak interesting. 12:43
12:43 virtualsue left
masak "build if Build.pm is there and produces a Panda::Builder" 12:43
but "do nothing if it's not or doesn't" surprised me a bit :)
FROGGS it calls Build.pm's build method when the condition holds, otherwise it does what it usually does :o) 12:44
masak no, there's no "otherwise". otherwise it does nothing.
regardless, it does what it usually does.
nice use of 'indir' and 'withp6lib' blocks, by the way. 12:45
FROGGS s/otherwise/and then/
masak that looks like very mature Perl 6 code.
well, except for the '1;' statements at the end, which remind me of Perl 5 modules :P
12:47 xenoterracide joined 12:52 xusia left 12:55 anaeem1 left
FROGGS masak: this was about the 'for loop as the last statement' weirdness 12:56
12:56 skids joined 13:02 kivutar left 13:03 rurban left
masak FROGGS: that explains the first '1;' but not the second. 13:03
FROGGS masak: I think tadzik++ was just scared :o) 13:05
13:06 [particle] left
sergot what does ::() do? 13:06
tadzik skerrd
13:06 carlin joined
tadzik the 1; come from the fact that the last statement used to be sinked 13:07
or something
all in all, didn't work, so instead of trying to understand it I thought I'll wait until the spec changes and put 1;'s in there meanwhile
no rugrats
lizmat sergot: runtime lookup, syntactic sugar for all sorts of mop stuff :-) 13:08
donaldh [Coke]: I reproduced your perl6-roast-data error on an Ubuntu VM with 4GB RAM and no swap.
13:09 simcop2387 left
sergot lizmat++ thanks :) 13:09
lizmat masak / jnthn probably have a better description of what ::() does 13:10
13:10 kaare_ left
FROGGS it is a runtime symbol lookup, aye 13:12
so you have a way to load a class at runtime for example
(or check for its existence)
13:12 simcop2387 joined
FROGGS m: say ::('Match').new 13:13
camelia rakudo-moar 354c5c: OUTPUT«「」␤␤»
FROGGS m: say ::('Mätch').new
camelia rakudo-moar 354c5c: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method new at src/gen/m-CORE.setting:12814␤ in block at /tmp/1G9j4TEcdj:1␤␤»
FROGGS m: say ::('Mätch').WHAT
camelia rakudo-moar 354c5c: OUTPUT«(Failure)␤»
sergot FROGGS++ thanks :) 13:14
lizmat yup, that's the tricky thing I ran into
13:14 pecastro joined
masak lizmat: "runtime lookup" sums it up, methinks. 13:15
Ven But it poisons the scope, doesn't it ? 13:16
or is just setting to a dynamic lookup that does ?
Rounin Poison running through my $var
FROGGS it is an indirect lookup
I dont understand what "poisons the scope" means btw 13:17
lizmat perhaps with regard to optimizations ?
13:17 rurban joined, colomon left 13:18 molaf joined
Ven FROGGS: I mean this github.com/rakudo/rakudo/blob/04fe...r.nqp#L418 13:19
FROGGS Ven: no idea if it results in that being set 13:20
masak that's exactly the kind of static/dynamic tension that I find myself interested in. 13:21
Ven as a macro guy, I can guess :P 13:30
13:33 colomon joined
dalek kudo/nom: 5007abc | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Locally.pm:
Make sure we can do .Str/gist/perl on type objects
13:34
kudo/nom: 0c069f5 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo.pm:
Initial implementation of CompUnitRepo.parse-spec
[Coke] moritz, donaldh: that did it. 13:36
13:36 kivutar joined
donaldh Some swap ? 13:36
13:39 Woodi left, Woodi joined, xenoterracide left
[Coke] aye. with 4G "real" 4G swap, it completed normally. 13:40
so, running the spec test suite takes more than 4G.
That sounds like something is leaking.
donaldh++ moritz++ 13:41
13:42 bluescreen10 joined
dalek kudo-star-daily: a67ef73 | coke++ | log/ (14 files):
today (automated commit)
13:42
donaldh Well the jvm is taking 3GB. Then there is the test harness, the eval-client, the OS, etc.
[Coke] yes, but when I tried to limit the harness to, say, 2GB, I had the same failure. 13:43
donaldh Yeah, I was surprised at that. Do large tmp files also eat available RAM ?
[Coke] and the client should hardly be using anything, neh?
jnthn Using ::(...) will poision some optimizations, yes 13:44
Use of pseudopackages too
The presence of those two just means we can't do certain analyses precisely enough. 13:45
[Coke] moar & parrot R*s are clean; still failing some modules on jvm
jnthn Hmm...what? FROGGS++ reported moar R* failure a moment ago. Wonder what's the difference... 13:48
masak should END phasers run on ^C ? 13:52
masak thinks they should
Ven jnthn: yeah, so, if I want to do that, I try to should put it in a sub somewhere else to avoid poisoning the whole scope ?
Ven does that in JS when he needs eval or something
jnthn masak: Probably not by default. 13:53
masak: but if you really want to make sure of it, then signal(SIG_INT).tap({ exit(1) }); or so
lizmat and that *would* run the END phasers ?
jnthn exit makes sure to
lizmat aha.... 13:54
jnthn I learned tapping SIGINIT from your lightning talk :P
lizmat so normally, control-C is caught outside of rakudo, really?
jnthn Normally we don't ahve a signal handler, it's not caught, and the default behavior is immediate termination, which is likely a good thing.
ChoHag In S17 the documentation for a Promise refers to the excuse method, but Promise.pm defines cause. 13:55
masak ah. Perl 5 doesn't run END phasers on ^C. good enough for me.
carry on :)
FROGGS m: 1 1
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/IzMnoZx0fY␤Two terms in a row␤at /tmp/IzMnoZx0fY:1␤------> 1 ⏏1␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ s…»
13:57 SamuraiJack left 13:59 btyler joined
carlin I like zypper on opensuse handles ^C, on the first ^C it tries to gracefully exit 13:59
after 2 ^C it says "OK OK! Exiting immediately" and terminates 14:00
14:01 woolfy left
[Coke] jnthn: (moar) I am using moar latest, nqp latest, and modules-latest 14:02
the thought being that it's an early warning to let you know if things break.
14:02 sqirrel left
[Coke] hurls github.com/coke/rakudo-star-daily/...master/log 14:02
look at the MoarVM* logs. 14:03
the version log .... doesn't have the moarvm version. wtf.
14:04 [particle] joined
[Coke] odd: this is at the end of a moar config: github.com/coke/rakudo-star-daily/...e.log#L594 14:04
why is it complaining about parrot??
14:04 thou joined
[Coke] sorry, actually the config step of rakudo.moar, that appears to be an nqp complaint. still, odd. 14:05
FROGGS seems like it tries to clean parrot...
Timbus m: (1..*).sort; #ok
camelia rakudo-moar 354c5c: OUTPUT«Unhandled exception: Cannot .sort an infinite list␤ at src/gen/m-CORE.setting:11391 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:117)␤ from src/gen/m-CORE.setting:12845 (/home/p6eval/rakudo-inst-1/languages/perl6/ru…»
[Coke] ;(maybe it's because I'm doing some cheating when building the R*'s individually)
Timbus m: (5, 1..*).sort; #w
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!===␤Cannot use negative index -9223372036854775808 on List␤»
[Coke] m: (5,1...*).sort #q 14:06
camelia rakudo-moar 354c5c: OUTPUT«Unhandled exception: Cannot .sort an infinite list␤ at src/gen/m-CORE.setting:11391 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:117)␤ from src/gen/m-CORE.setting:12845 (/home/p6eval/rakudo-inst-1/languages/perl6/ru…»
dalek kudo/nom: 0bea66a | (Elizabeth Mattijsen)++ | docs/ChangeLog:
Mention some more changes in ChangeLog
14:07
TimToady different precedence between .. and ...
and currently a parcel containing an infinite list is not marked as infinite, it seems 14:08
lizmat can a Parcel have an indefinite number of elems?
TimToady no
since it's tied rather closely to the number of syntactic commas, or equivalent number of operators that do comma-like things 14:10
lizmat looks like it though:
m: (5, 1..*).WHAT.say; (5, 1..*).elems.say
TimToady like X or Z
camelia rakudo-moar 354c5c: OUTPUT«(Parcel)␤Inf␤»
lizmat but that;s probably because Parcel.elems inherits from Any, which does .list
TimToady that's just summing the .elems of each element
m: (5,1..3).elems.say 14:11
camelia rakudo-moar 354c5c: OUTPUT«4␤»
lizmat method elems() { self.flat.elems }
indeed
FROGGS jnthn: the r-m* fails are my fault... I exported PERL6LIB in my .bashrc, so wrong candidates were picked up
jnthn: can we fixes these things together? github.com/coke/rakudo-star-daily/...odules.log 14:12
jnthn: so that we discuss the issues a bit so that I perhaps have enough to fix something
ChoHag Is there a standard way to say 'if any($a|$b|$c) { return $it } else { ... }'? 14:13
[Coke] .tell kid51 Pending parrot-nyc-users request that I can't do anything with. it's been pinging me for a few days
yoleaux [Coke]: I'll pass your message to kid51.
FROGGS jnthn: ohh, my modules/perl6-lwp-simple still fails on r-m*
[Coke] FROGGS: not in my run I did 4 hours ago... 14:14
are you using the latest version, or the R* recommended version?
FROGGS [Coke]: using HEAD
14:15 atroxaper joined
atroxaper Hello, #perl6 ! 14:15
FROGGS hi atrodo
err
hi atroxaper
atroxaper I just read Carl's last post. Really cool!
FROGGS: Hi! :)
PerlJam r: my @stuff = <1 2 3>; ?any(@stuff) || do say "hi"; 14:16
masak atroxaper: thank you. :)
camelia ( no output )
atroxaper masak: thank You :)
masak: but i don't know what is 'so' in Perl 6? In which S can i read about that?
PerlJam ChoHag: anyway ... like that. But I don't know if I'd call it "standard" 14:17
masak atroxaper: 'so' is just like prefix:<?>, but it's a sub.
Ven atroxaper: it's prefix:<?>
atroxaper: basically -- forces boolean context
masak atroxaper: you'll find me using it when I want to "collapse" a junction into a single Bool.
PerlJam so, I guess I should have used so in my example to ChoHag :) 14:18
[Coke] dislikes calling those "contexts", though it does seem five-ish to do so.
ChoHag standard was the wrong word.
atroxaper masak, Ven: ohh. I didn't know that. Thanks ;)
PerlJam masak++ btw, I too just read about boxes and pebbles. Nice post! 14:19
colomon +1 masak++ 14:21
14:21 kaare_ joined
sergot Do you know the "Cannot find method 'Stringy'" error? 14:26
I found out that "use" causes it when used package has i.e. variable-not-declared error. 14:28
TimToady m: class Good { submethod BUILD (:$.allowed?) { } }; class Bad { submethod BUILD (:$prohibited!) { $.prohibited = $prohibited } } 14:29
camelia rakudo-moar 354c5c: OUTPUT«===SORRY!=== Error while compiling /tmp/jYLsmt9_C5␤Virtual call $.prohibited may not be used on partially constructed objects␤at /tmp/jYLsmt9_C5:1␤------> hod BUILD (:$prohibited!) { $.prohibited⏏ = $prohibited } }…»
TimToady jnthn: ^^^ this is kinda odd, thinking about irclog.perlgeek.de/perl6/2014-06-17#i_8883668 14:30
though we do allow self.foo as a workaround in the body, which is not available in the siggy 14:31
dalek p: a5894d2 | donaldh++ | tools/jvm/eval-client.pl:
Make eval client die on connect failure.
14:32
TimToady I'm kinda wondering whether people will get into trouble by allowing the . form in the signature
14:33 MilkmanDan left, MilkmanDan joined 14:34 treehug88 joined 14:36 atroxaper left, [Sno] left, atroxaper joined 14:41 atroxaper left 14:43 FROGGS left 14:51 kurahaupo joined 14:56 woolfy joined 14:57 kivutar left
lizmat commute towards the NRPM meeting& 15:01
15:01 lizmat left, donaldh_ joined, igorsutton left
masak PerlJam, colomon: thanks :) 15:02
it was a bit of a perfect storm of fun puzzle, inspiration, and a Perl 6 day. 15:03
but if I can spend the rest of my life writing such posts about such puzzles, I'll be a very happy masak.
PerlJam wishes masak the blessing of the perfect storm of fun puzzles, inspiration and Perl 6 every day then 15:05
masak \o/ 15:06
15:06 denis_boyun left 15:07 atroxaper joined
Ven
.oO( I have one happy masak at one, I'll lend it to you someday )
15:08
at home*
.oO( I'm not lendind it to my keyboard, either way. )
15:09
masak clearly not.
15:11 atroxaper left 15:16 donaldh_ left 15:20 donaldh_ joined 15:25 smls joined
rurban_ parrot-6.5.0 released. nqp should be bumped. fixes for nqp: icu detection, icu workaround for control char namealiases, better GC writer barriers (more in branch pmc2c_orig) 15:26
masak rurban_++ 15:29
15:31 smls left, zakharyas left 15:34 smls joined 15:35 brrt joined, brrt left 15:37 jnap left, donaldh_ left 15:44 jnap joined 15:46 kaleem left 15:50 kivutar joined 15:52 fhelmberger left, xinming_ joined 15:55 xinming left 15:58 robinsmidsrod left 15:59 kivutar left, treehug8_ joined 16:00 robinsmidsrod joined
japhb Anyone who worked on RC entries or knows them well: I'm looking for more good RC-based tests for perl6-bench. They should be computationally non-trivial, and preferably scalable in some way (image/board size or frame/turn count for graphics or game simulators, packet size/count for network I/O, and so on). With hundreds of Perl 6 entries, it's hard to wade through and find the gems .... 16:02
16:02 treehug88 left, xinming_ left 16:03 xinming joined 16:04 donaldh left 16:09 atroxaper joined 16:14 Rotwang joined, atroxaper left 16:18 FROGGS joined 16:20 atroxaper joined 16:22 dmol left 16:25 molaf_ joined 16:27 molaf left
FROGGS rurban++ # I'll test rakudo and rakudo-star in a bit with parrot 6.5.0 16:28
masak japhb: maybe rosettacode.org/wiki/Maze_generation#Perl_6 rosettacode.org/wiki/Maze_solving#Perl_6 rosettacode.org/wiki/Ramsey%27s_theorem#Perl_6 rosettacode.org/wiki/Self-describin...ers#Perl_6 rosettacode.org/wiki/Dragon_curve#Perl_6 ? 16:30
16:32 pdcawley left, pdcawley joined
japhb masak, thank you! 16:38
masak (I'm not that often on RC, but that's what stood out from just glancing at the tasks)
timotimo japhb++ # perl6-bench hacking
japhb :-) 16:39
psch i might be doing something wrong again, but jakudo doesn't build on 32bit for me. i was trying to reproduce gist.github.com/peschwa/5ede3a120d2d4a81141b there
on jakudo that is
timotimo masak: is there a pun behind the "Meow Room"s in your cat hotel? 16:40
dalek c/redesign: d77582f | Mouq++ | htmlify.p6:
Some fixes after 1dfd619f070
16:43
jnthn TimToady: d'oh, yeah, I forgot about the virtual call thing. 16:47
FROGGS: What is current modules status? Still some r-m failure? 16:48
FROGGS: Or did you figure out what's the difference between what you have and the [Coke]++ run?
16:50 atroxaper left, xenoterracide joined 16:51 xenoterracide left 16:53 xenoterracide joined
xenoterracide perlcabal.org/syn/S12.html#Custom_Meta-objects are there working examples of COMPOSE somewhere? 16:54
jnthn xenoterracide: No, 'cus it's NYI 16:55
I wrote that chunk of the spec a little while ago, but didn't get around to turning it into reality yet 16:56
xenoterracide :/
16:57 Ven left
xenoterracide jnthn: so am I right in my assumption that applying a role to the metaclass at this point is impossible without directly patching (which seems to be less than straightforward) 16:57
16:59 fhelmberger joined
FROGGS jnthn: still one fail 16:59
16:59 btyler left, erdic left
FROGGS jnthn: same as last month me thinks: gist.github.com/FROGGS/0ea5537eb67...-test-m-sh 16:59
17:00 erdic joined
jnthn xenoterracide: Seems so 17:00
I can't imagine it's far off working, though
masak timotimo: not as far as I can remember. 17:01
jnthn FROGGS: OK, but how come you get the error but [Coke]'s run doesn't? Is it the same module version?
masak timotimo: I mean, not beyond the fact that cats say "Meow".
17:02 fhelmberger left
xenoterracide jnthn: ok thanks 17:02
Mouq FROGGS: Does versioning on modules work yet? I just made a change to Pod::To::HTML and doc/redesign needs the latest -- can I put a version string on both and now have to worry about others using an old Pod::To::HTML?
segomos_ jnthn: re: moar vs jvm async sockets, was the thought that the jvm is using blocking sockets and that is why the http::server::async is working and that moar is using the io::socket::async ?
Mouq s/now/not 17:03
17:03 dakkar left, fhelmberger joined 17:04 fhelmberger left
FROGGS jnthn: it is possible that I updated the module and [Coke] did not 17:05
Mouq: versions are not being used yet
they are noops
Mouq FROGGS: Ok, thank you :) 17:06
17:06 xenoterracide left 17:08 lizmat joined
dalek c/redesign: 24be2c4 | Mouq++ | / (3 files):
Do index.html as lib/HomePage.pod with =Html blocks
17:09
17:09 pecastro left
lizmat Mouq: versioning on modules doesn't work yet 17:10
jnthn segomos_: My guess was that writing to an async socket may block on JVM, or something happens to make .close be executed later
lizmat Mouq: that's what I'm working on atm 17:11
jnthn segomos_: But just looking at the code in the module, it looks wrong to me. .write and .send on an async socket return a Promise.
lizmat but won't have it ready for this month's release :-(
jnthn segomos_: And I didn't see that being used. 17:12
segomos_: So I think the socket really does ahve .close called on it before the .write has chance to happen.
segomos_ jnthn: i'm working on fixing that right now to see if that fixes the problem on moar
dalek rl6-roast-data: ec0aa1e | coke++ | / (6 files):
today (automated commit)
17:13
PerlJam what's a "role-group"? (From looking at perlcabal.org/syn/S12.html#Custom_Meta-objects)
Mouq lizmat++
masak timotimo: in retrospect, what should I have called the "Meow Rooms"? :)
dalek c/redesign: a6ae155 | Mouq++ | lib/Language/terms.pod:
Add some terms from terms.pod
17:14
masak PerlJam: it's an internal implementation detail that users generally don't need to worry about.
m: role R[T] {}; role R[S, T] {}; # those two are in the same role-group
camelia rakudo-moar 0bea66: OUTPUT«===SORRY!=== Error while compiling /tmp/jF__IyUK4_␤Invalid typename 'T' in parameter declaration.␤at /tmp/jF__IyUK4_:1␤------> role R[T⏏] {}; role R[S, T] {}; # those two are i␤»
masak er.
m: role R[::T] {}; role R[::S, ::T] {} 17:15
camelia rakudo-moar 0bea66: OUTPUT«Unhandled exception: Could not instantiate role 'R':␤Not enough positional parameters passed; got 1 but expected 3␤ at <unknown>:1 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/Perl6/Metamodel.moarvm:specialize:4294967295)␤ from src/gen/m-Metamode…»
jnthn Tssk. Bad sinking.
masak m: role R[::T] {}; role R[::S, ::T] {}; 1
camelia ( no output )
masak there we go.
timotimo masak: no clue :S
masak hates sinking
17:15 thou left
dalek c/redesign: 841c5b5 | Mouq++ | TODO:
Update TODO
17:16
masak timotimo: ...probably why I couldn't think of an actual pun there :P
timotimo mhm
17:16 thou joined
PerlJam so ... if roles were like multi subs, a role-group would be like all the multis that share the same short name? 17:16
jnthn Pretty much that 17:17
timotimo how do i define a protorole? :P
jnthn And they are resolved using the multi-dispatcher, so the analagy goes really deep
lizmat
.oO( ah, profiteroles :-)
17:21
[Coke] has a 2 week vacation coming up, and wonders if he'll be able to carve out chunks of time for sixing. 17:23
dalek c/redesign: c08160a | Mouq++ | lib/Type/Complex.pod:
Mark postfix i
timotimo Mouq++ # doc redesign implementation 17:24
dalek c: 88a566a | duff++ | lib/Rat.pod:
minor typo fix
cognominal profiteroles++ 17:25
[Coke] github.com/coke/perl6-roast-data/b....out#L1718 - current rakjvm failures.
^^ do those require an env var of some kind that might not be set when running from cron? 17:26
(they didn't fail when I ran it by hand last night)
donaldh++
.tell donaldh Thanks for perservering and getting the eval server stuff working for me. Having these tests run in a fraction of the time makes it much more usable. 17:27
yoleaux [Coke]: I'll pass your message to donaldh.
17:27 jnap left
[Coke] currently there are no clue rakudo spec test runs. :( 17:27
s/clue/clean 17:28
17:29 jnap joined
[Coke] jvm fails 28, moar fails 3, parrot fails 8. 17:30
lizmat the deprecations fails are on my list
[Coke] lizmat++ # those are failing on moar/parrot, but not java. 17:31
17:31 dmol joined
lizmat they're casualties of the say/note optimizations 17:31
r: say $*OS 17:32
camelia rakudo-jvm 0bea66: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 0bea66: OUTPUT«linux␤»
[Coke] ah, maybe we just need a slightly more recent run?
this was with rakudo:354c5c5 17:33
github.com/perl6/Pugs.hs/issues/29 if someone is haskell handy. 17:34
lizmat dinner& 17:35
[Coke] niecza is failing 1200 tests even. :|
17:35 lizmat left 17:41 rurban left 17:42 denis_boyun_ joined
FROGGS no regressions with this in star: This is perl6 version Bajor-211-g0bea66a built on parrot 6.5.0 revision 0 17:42
rurban_ FROGGS: I just updated my roast pull request also 17:43
FROGGS rurban_++
I am running spectests now, and will then bump and merge 17:44
rurban_ I'll do the nqp bump, because I also improved 6model WBs a bit
17:44 Sqirrel joined
dalek p: 898c35f | rurban++ | src/vm/parrot/pmc/ (7 files):
pmc2c_orig: optimize 6model pmcs for the new pmc2c

Annotate several PMC methods for unneeded or manual GC write barriers. This requires the new pmc2c from parrot 6.5.0
This is 2-4% faster for the nqp testsuite.
  $ perf stat -r2 prove -r --exec "./nqp-p --vmlibs=nqp_dyncall_ops" t/nqp t/hll t/qregex t/p5regex t/qast t/serialization
17:44
p: adf65bf | rurban++ | tools/build/PARROT_REVISION:
Bump parrot to 6.5.0 with pmc2c_orig improvements and ICU fixes

fixed icu detection on multi-arch systems (newer debians), icu 5.2 workaround for control char namealiases, better GC write barriers in 6model PMCs
[Coke] I am slightly concerned at all the bumping if we have a release RSN.
doesn't give us a lot of time for testing.
rurban_ When is the rakudo release? old didn't pass the tests, new passes
FROGGS this thursday
rurban_ enough time 17:46
dalek rl6-roast-data: 9504dac | coke++ | README.md:
Don't call out rakudo.jvm, collapse pugs/niecza
FROGGS I also think it is really worth it
17:46 Alina-malina left
FROGGS [Coke]: that is why I tested star before we bumped the version 17:47
17:48 Alina-malina joined
rurban_ I also tested nqp/rakudo since Friday 17:48
FROGGS: I don't understand why perl6-p does not deprecate $*OS. It's enterily backend unspecific: github.com/rurban/roast/commit/c0d...3104f03573 17:50
FROGGS m: say $*OS 17:51
camelia rakudo-moar 0bea66: OUTPUT«linux␤»
FROGGS j: say $*OS
camelia rakudo-jvm 0bea66: OUTPUT«Linux␤»
FROGGS p: say $*OS
camelia rakudo-parrot 0bea66: OUTPUT«linux␤»
FROGGS ?? 17:52
rurban_ There should be deprecation notice according to the tests
FROGGS rurban_: <lizmat> the deprecations fails are on my list
rurban_ p: say $*OS; Deprecation.report
camelia rakudo-parrot 0bea66: OUTPUT«linux␤»
rurban_ m: say $*OS; Deprecation.report
camelia rakudo-moar 0bea66: OUTPUT«linux␤»
rurban_ m: say $*OS; is Deprecation.report
camelia rakudo-moar 0bea66: OUTPUT«===SORRY!=== Error while compiling /tmp/R0yob5Z4Np␤Undeclared routine:␤ is used at line 1␤␤»
FROGGS m: say $*VM<config> 17:53
camelia rakudo-moar 0bea66: OUTPUT«{"ar" => "ar", "arflags" => "rcs", "arout" => "", "asm" => ".s", "asmout" => "-o ", "asmswitch" => "-S", "auxclean" => "\@:", "be" => "0", "can_unaligned_int32" => "1", "can_unaligned_int64" => "1", "can_unaligned_num64" => "1", "cat" => "cat", "cc" => "gc…»
FROGGS m: $*VM<config>
camelia rakudo-moar 0bea66: OUTPUT«Saw 1 call to deprecated code during execution.␤================================================================================␤$*VM<config> called at:␤ /tmp/u9Fbs4x1uv, line 1␤Please use $*VM.config instead.␤-----------------------------------…»
FROGGS p: $*VM<config>
camelia rakudo-parrot 0bea66: OUTPUT«Saw 1 call to deprecated code during execution.␤================================================================================␤$*VM<config> called at:␤ /tmp/ppypYyZTAf, line 1␤Please use $*VM.config instead.␤---------------------------------…»
FROGGS so, problem is $*OS itself
rurban_ it's pretty new code I assume
FROGGS I guess so too
segomos_ jnthn: good call on the promises and socket closing prior to write - 17:54
rurban_ Anyway, I skipped those 2 fails for now. todo didnt work
segomos_ HTTP::Server::Async now works on both jvm and moar 17:55
FROGGS rurban_: when the issue is fixed, I'll leave that specific commit out - I'll cherry pick one-by-one anyway
17:55 thou left, denis_boyun_ left
jnthn segomos_: Cool! ab it! ;) 17:56
FROGGS hmmmm, I think I'm going to create a wrapper script for perl6-p also, so I get the executable name+path easily
17:56 liztormato joined
FROGGS because $*EXECUTABLE is just rubbish for perl6-p 17:57
liztormato Will look at $*OS issue later tonight
segomos_ jnthn: ? ab it? 17:58
oh apache bench :-)
jnthn segomos_: apache benchmark? Or was it something else you were using to get the "what can she take" numbers? :)
segomos_ does close return a promise? 18:04
doesn't look like it..
jnthn no, close is immediate
18:05 btyler joined
btyler (logging) I was running wrk against http-server-async, since wrk does a bit better job of concurrent connections than ab (so I've read) 18:13
18:14 rurban joined
jnthn ah, I see :) 18:14
18:15 pecastro joined, hoverboard joined 18:17 kaleem joined 18:18 rurban left
segomos_ hmm 18:21
jnthn: i may need some more help
github.com/tony-o/perl6-http-serve...ter/ab.pl6
if i run that with moar and then use ab with concurrency set to 1 (1 request at a time), i still segfault 18:22
18:23 rurban joined
segomos_ it segfaults on moar after a random number of requests 18:28
meetings always get in the way of more fun things
dalek c/redesign: e0ec0eb | Mouq++ | / (2 files):
Code clean-up
18:39
c/redesign: 81ef317 | Mouq++ | html (2 files):
Fix routines' lists of sources
18:40 kaleem left
dalek c/redesign: 88a566a | duff++ | lib/Rat.pod:
minor typo fix
18:40
c/redesign: 32abab9 | Mouq++ | lib/Type/Rat.pod:
Merge branch 'master' into redesign
c/redesign: cd88672 | Mouq++ | / (3 files):
Add non-faded Camelia image for the home page
18:47
[Coke] n: use Test; throws_like; 18:48
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'throws_like' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P…»
18:49 brrt joined, anaeem1 joined
[Coke] m: use Test; throws_like {die "whee"}, "hi"; 18:52
camelia rakudo-moar 0bea66: OUTPUT« 1..2␤ ok 1 - code dies␤ not ok 2 - right exception type (Str)␤ # Got: (X::AdHoc)␤ # Expected: hi␤ # Exception message: whee␤ # Looks like you failed 1 tests of 2␤not ok 1 - did we throws_like Str?␤»
[Coke] t/spec/S12-methods/private.t says 12 tests, but it should be 14, yes? 18:53
moritz just manually counted 11 18:54
[Coke]: throws_like used to run as several tests, now it's one test with subtests 18:55
12 is correct
FROGGS 12
[Coke]: even when niecza had throws_like, it does not have typed exceptions 18:56
m: my $VERSION = 1; say "LWP::Simple/$VERSION Perl6/$*PERL.compiler.name" 18:58
camelia rakudo-moar 0bea66: OUTPUT«LWP::Simple/1 Perl6/Perl 6.compiler.name␤»
FROGGS that is what I want to fix tonight: 19:06
froggs@TL02L-R8RXTCW-linux:~/dev/rakudo$ echo '1 1' > Hurz.pm
froggs@TL02L-R8RXTCW-linux:~/dev/rakudo$ perl6-m -I. -e 'use Hurz'
Unhandled exception: Cannot find method 'Stringy': no method cache and no .^find_method
19:06 rindolf joined 19:07 darutoko left
FROGGS only moar is affected, the others show the TTIAR correctly 19:07
19:09 labster joined, dwarring joined
liztormato I'm pretty sure that will be fixed soon 19:11
vendethiel When I'm reading some old perlmonks post and "[if perl6 hadn't been a rewrite] Had this been done we might have gotten something in 2-4 years that was production ready (ran all of CPAN) and cleaned up the worst warts. ..." 19:12
It was in 2010, but even then, py3 was in a pretty bad shape, and I think php6 just got abandoned :D
Mouq
.oO( we might have but what we have now works really well and there's no point in being bitter when we can move forward with such an increadibly powerful language as Perl 6 has become )
19:18
liztormato I think history has shown that bolting on Perl 6 features on Perl 5 doesn't necessarily work out well 19:20
vendethiel haha yeah, pmichaud is actually saying "people like p5.10 because it has ~~ !" :P 19:21
we know how history went ...
moritz likes 5.10 for // and say() 19:23
liztormato And state. Or was that later?
geekosaur some people like smartmatching in p5 a lot. but it was troublesome enough that it's been re-tagged experimental
doesn't help that p5's smartmatching is the early p6 one that had to be thrown out and reworked completely 19:24
Su-Shee never used it. not once..
neither given when.. never needed it..
19:28 liztormato left
PerlJam wishes given/when didn't trigger an "experimental" warning in P5 19:28
I never *needed* them, but they sure were nice to have (with sane semantics :) 19:29
19:29 maraisf joined 19:30 maraisf left
vendethiel is ready on "why is perl bad" and sees some of the stuff perl 6 fixed 19:33
though it's a c2 page
masak state was something like 5.14, I think. 19:35
rurban_ state is actually used sometimes
vendethiel it's funny; because I know I read this page before. But I didn't know 'bout p6 19:36
19:37 properl6ly joined
masak vendethiel: ...and what's your honest opinion about p6? 19:37
vendethiel masak: some stuff I don't like, and that's probably never gonna get fixed 19:38
PerlJam vendethiel: oh? what don't you like?
vendethiel masak: but if I *have* to use a "scripting language", I'd probably use it.
PerlJam: first one will be flattening. I consider that a terrible misfeature
Because Perl6 makes me really, really, really much more comfortable about my code than the ruby I do during the day. 19:39
masak vendethiel: (a) some things I don't like either, (b) I don't like flattening so much either, (c) no, it's not gonna get fixed
vendethiel Because I know in 90% of the cases, the typos etc are gonna get catched at compile-time, and I love it.
PerlJam vendethiel: er, you object to flattening in general, or the sometimes automatic flattening that happens in certain contexts?
vendethiel PerlJam: flattening. It's a terrible idea.
masak PerlJam: speaking for myself, I think flattening occasionally helps. but it doesn't "carry its own weight". 19:40
vendethiel And the fact that it sometimes-flatten-sometimes-doesn't (oh, sure, there are rules -- that doesn't mean it's good.)
masak PerlJam: in that sense, it's a bit like varying sigils.
PerlJam perhaps.
vendethiel I don't like $!, because I think it's really, really confusing with !$ and I usually mess them up visually
masak in Python and JavaScript, the lack of flattening makes me more confident about the at-sight semantics of code.
PerlJam masak: but do you also not like the ability to pack/unpack data structures? 19:41
masak vendethiel: oh, that's just a train-the-eye thing. and perhaps a color-scheme-your-editor thing.
vendethiel
.oO( My WTF-counter would sigh "at-sigh" )
masak PerlJam: that can be done in other ways, such as with destructuring.
vendethiel masak: haha, my editor (ST) is using a Perl5 highlighter, so yeah, tooling would fix it :)
masak :)
vendethiel I don't like the p5 error messages catching a bit too much, but that's probably gonna fixed -- TimToady++ actually made progress on that 19:42
I don't really like `BUILD` with `bless`, because I feel like that's something I, as a user, should never have to mess with 19:43
masak Perl 6 error messages are (asymtotically approaching) awesome.
vendethiel But irrelevant for a non-p5 programmar like me
(I do agree, though <3)
carlin I like how vim highlights `sub foo($blah) {}` when it doesn't understand you're writing Perl 6 19:44
masak vendethiel: I find it weird that our primitive for creating new objects out of thin air ended up being spelled 'bless'. :)
vendethiel oh, and I hate P6's interpolation.
masak I don't love P6's interpolation. but I've also found that I don't love any language's interpolation.
vendethiel I think I'll keep using the no-interpolation modifier everytime I use `"` (well, except for {}) :c ?
masak I suspect there's no non-ugly interpolation syntax out there. 19:45
vendethiel #{} in ruby is good. It's reliable, I know where it starts, where it ends, etc
PerlJam The only interpolation I have issues with is the one with trailing brackets. We have {}, why not just use them?
japhb masak: IIRC the original version of that was "bless an object into a class", in which case the verb makes sense (both literally and poetically)
vendethiel Oh, and I really feel limited with runtime VS compile-time distinction, but I think with the HOWs and the macros, it's okay :). 19:46
I think I love every single other of p6. Because it's amazing. 19:47
Oh, no, I don't really like the implicit %*, but that's a debate for another day :P.
masak japhb: "original" for Perl or for Perl 6?
vendethiel shower& while waiting on comments
masak vendethiel: I'd love to debate the %* thing inside and out. it's one of those really annoying features with a really good intent. 19:48
dwarring r: my @a=(1,2); @a.push: item (3,4); say @a.perl 19:49
jnthn What %* thing?
camelia rakudo-{parrot,jvm,moar} 0bea66: OUTPUT«Array.new(1, 2, $(3, 4))␤»
jnthn oh, the implicit *%_?
PerlJam starts to think masak and vendethiel a little crazy ;)
dwarring r: my @a=(1,2); my @b = (3,4); @a.push: item @b; say @a.perl 19:50
camelia rakudo-{parrot,jvm,moar} 0bea66: OUTPUT«Array.new(1, 2, 3, 4)␤»
dwarring ^^ that's flattening when it shouldn't be
dwarring rakudobug 19:54
TimToady m: my @a=(1,2); my @b = (3,4); @a.push: @b.item; say @a.perl
camelia rakudo-moar 0bea66: OUTPUT«Array.new(1, 2, [3, 4])␤»
TimToady a workaround for the bug
jnthn wtf is item doing...
TimToady m: my @a=(1,2); my @b = (3,4); @a.push: $@b; say @a.perl 19:58
camelia rakudo-moar 0bea66: OUTPUT«Array.new(1, 2, [3, 4])␤»
TimToady another workaround
jnthn > my @a=(1,2); my @b = (3,4); @a.push: item @b; say @a.perl 19:59
Array.new(1, 2, [3, 4])
Local fix :P
jnthn builds a non-debug Moar so spectest won't be glacial 20:00
20:01 rindolf left
vendethiel PerlJam: sorry - is it bad to be crazy ? 20:02
masak: same here :)
jnthn: yes
20:02 thou joined 20:03 hoverboard left
vendethiel PerlJam: I want to be able to reason about my code. flattening makes me unable to do so 20:03
(not because I'm "used to it", but because I fail to see consistency in it)
PerlJam no, it's not bad to be crazy. Many people are crazy and it's awesome! : )
er :)
jnthn vendethiel: I don't find that to be a problem...never really did in Perl 5 either, tbh. 20:04
vendethiel jnthn: I never did perl 5, sorry
and I'm really happy with ruby2 kwargs, because they remove the typo factor
p6 really carried out this one, so I'd love it to be pushed a bit more :P
jnthn vendethiel: Sure, just saying I don't find flattening in either language painful. 20:05
Well, implementation wise, perhaps sometimes :P
vendethiel jnthn: oh, you mean flattening. I thought, you meant *%_
jnthn Oh, *%_ mostly bothered me from a "how the heck to optimize it" point of view...
Well, partly still does, but I manage to optimize it out in places. 20:06
Taht's an implementor view though :)
vendethiel jnthn++ # "Dirty Work" 20:07
PerlJam I don't find flattening painful (or even slightly annoying), but I wonder if it's necessary? I mean, there are certain times when flattening seems like a "natural" thing to do. But is that because of my experience with P5? I dunno.
Also, it occurs to me that flattening may have been a "root cause" for the issues with lists, but I don't know if that's true. 20:08
dalek kudo/nom: 293bb50 | jnthn++ | src/core/Any.pm:
Corret item @a, item %h, item (1,2,3).
20:09
jnthn dwarring: ^^ - if you could write it a test, that'd be awesome. 20:10
muraiki I'm a newbie to perl, but is flattening when something like (1, 2, (3, 4), 5) becomes (1, 2, 3, 4, 5) ?
colomon muraiki: yes
vendethiel muraiki: yes
except when it's not.
muraiki heh
dwarring jnthn: awesome! will do
muraiki coming to perl from python and clojure, I found that flattening resulted in requiring quite a bit more cognitive overhead when making nested data structures, because I now had to also think about references and using the right sigils and {} / [] 20:11
sorry if I don't have all the terms right 20:12
20:12 cognominal left
muraiki now that I've been using perl professionally for two months, I'm usually ok... but it was hard as a learner 20:13
20:13 cognominal joined 20:14 cognominal left
vendethiel muraiki: are you using p6 professionally :P ? 20:14
muraiki oh, no, haha
I haven't actually used perl 6, but I've read a bit about it
vendethiel is
muraiki I meant perl 5 :)
vendethiel muraiki: we have even more cookies :D
muraiki yeah, someday when I have enough free time I'm going to start playing with p6
vendethiel learned perl 6 while commuting 20:15
muraiki coming from a bit of a functional background, I see some really neat things in perl 6
PerlJam muraiki: such as? :)
vendethiel (I guess "clojure" is the functional background part ?)
muraiki yeah, although it's not fully pure
well pretty much everything in the "why perl 6" slides that were on here a week or two ago made me go "awesome!" 20:16
moritz most functional languages aren't fully pure
vendethiel has had the same languages
moritz: most function languages are wrongly called "functional", tbh.
muraiki yeah, that's why I used that term with reservation 20:17
20:17 Alina-malina left
dalek kudo/nom: 87333c9 | jnthn++ | docs/ChangeLog:
Various ChangeLog additions.
20:17
20:18 Alina-malina joined 20:19 pecastro left, Sqirrel left, MilkmanDan left, [particle] left, djanatyn left, Psyche^ left, maelus left, mr-foobar left, Su-Shee left, zengargo1le left, perigrin left, ponbiki left, camelia left, kshannon left, tempire_ left, muraiki left, go|dfish left, firnsy left, isacloud__ left, FOAD left, pmichaud left, hugme left, jercos left, Juerd left, bowtie left, hoelzro left, amkrankruleuen left, retupmoca left, ggherdov left, Bucciarati left, TimToady left, lestrrat left, raydiak left 20:20 pecastro joined, Sqirrel joined, MilkmanDan joined, [particle] joined, djanatyn joined, Psyche^ joined, maelus joined, mr-foobar joined, Su-Shee joined, zengargo1le joined, perigrin joined, muraiki joined, ponbiki joined, camelia joined, go|dfish joined, tempire_ joined, kshannon joined, firnsy joined, isacloud__ joined, raydiak joined, lestrrat joined, TimToady joined, Bucciarati joined, ggherdov joined, retupmoca joined, amkrankruleuen joined, hoelzro joined, bowtie joined, Juerd joined, jercos joined, hugme joined, pmichaud joined, FOAD joined, wilhelm.freenode.net sets mode: +vv camelia hugme
brrt i'm bragging, of course, but github.com/MoarVM/MoarVM/commit/216724387c can be jitted completely 20:21
i.e.
PerlJam vendethiel: I've thought that's because people treat "functional" as more nouny than adjectivey. i.e. "It's a truck" more than "It's blue" (as if all "functional langauges" were the same rather than recognizing that there are differences and gradients)
brrt we have fibonacci
timotimo brrt: sweet! 20:22
jnthn brrt++ 20:23
brrt i think so
you don't have it from me, but labels / branching where much simpler than i had expected
FROGGS brrt: does that really work already?
brrt yes
please be my guest, try it out 20:24
20:24 anaeem1 left, FROGGS left, treehug8_ left, Woodi left, colomon left, carlin left, noganex_ left
Ulti brrt++ 20:24
brrt must say, if anything involved is even slightly object-like, it won't work :-) 20:25
vendethiel brrt++ # HELL YEA.
dalek c/redesign: e61284a | Mouq++ | / (2 files):
Write Type pages for types defined in lang docs, and check for methods

Type definitions can now be integrated within language documentation, just as routine definitions could already.
vendethiel PerlJam: I just mean that people saying JS is a functional or something are spouting nonsense
japhb brrt++
brrt for object stuff to really work, i'll need to work on return-value-management, and thats.... not so much tricky, as a bit of dividing responsibilities 20:26
japhb masak, re: bless, that was Perl 5-design-era. I don't know the exact details.
Mouq brrt++
brrt thanks, my bragging worked :-D 20:27
btyler brrt: what lib should be installed for lua to be able to find 'bit'? haven't done much lua outside of a game engine 20:28
masak muraiki: you stated quite well what I meant by the feature not "carrying its own weight". thank you.
btyler bitop.luajit.org/download.html seems a likely candidate
masak in most languages, flattening is opt-in. in Perls 5 and 6, it's opt-out.
brrt btyler, yes, that is the right lib
[Coke] (subtests) oh, shit. anything with subtests is probably borked count wise in niecza now. :(
(and pugs) 20:29
masak which overall surprises people, and adds a cognitive burden when learning it.
brrt you shouldn't /have/ to install that to build, though
[Coke] gives up fudging them.
brrt oh, and for anyone who wants to test, pass the flag --enable-jit :-)
vendethiel masak: really, I can see outside of what I learned, and I find it harder to reason about
brrt (to Configure.pl, that is)
btyler brrt: hm, ok. well, clang barfs on jit/stub.c 20:30
brrt hmm
it may well
i'll fix that
20:30 Woodi joined
btyler I'll gist it 20:30
20:30 properl6ly left
brrt anyway, if its compiling stub.c,that means Configure thought you don't want jit :-) 20:30
i.e.
btyler oh
brrt you can build jit without lua
because i've checked in the preprocessed files 20:31
(as per jnthn++
's good advice)
btyler ah, ok, found --enable-jit in Configure.pl, sounds promising :) 20:32
dalek ast: b8a32f5 | rurban++ | S (2 files):
More Parrot-fudge tests that rely on $*EXECUTABLE_NAME
20:33
brrt to see the log somewhere, set MVM_JIT_LOG to a non-null value; to see the bytecode, set MVM_JIT_BYTECODE_DIR to some value 20:34
20:34 hoverboard joined
btyler brrt: hm, even with --enable-jit clang is still choking on stub.c:20 20:34
brrt what platform are you on? 20:35
muraiki masak: yeah, if you consider flattening a mutation of the data structure you've provided, then it's kind of weird to have a mutation that occurs most of the time but not always. I imagine that flattening made something easier in Perl 1.0 back in the day, but perhaps it's not the best feature to retain :)
btyler osx 10.9.3
segomos_ jnthn: if i run the requests without concurrency (eg i'm waiting for one request to completely close before handling another), i'm still segfaulting after a random number of requests
btyler mid 2010 mbp, i7 20:36
masak muraiki: it did.
muraiki: it's a wonderful "interface" between arrays and hashes, for example.
20:36 erdic left
masak muraiki: you just "pour" one into the other and the intermediate list form makes it all just "fit". 20:36
20:36 FROGGS joined, treehug8_ joined, colomon joined, carlin joined, noganex_ joined
muraiki ah yes, I see 20:36
dalek ast: 4f04da7 | rurban++ | / (2 files):
Fudge parrot NEXT phasers
20:37
brrt hmmm
masak but that benefit has to be weighed against nested data structures, as you pointed out.
jnthn segomos_: OK. I'll have to see where it's doing that...
PerlJam masak: it was also useful when you needed to pass args to subroutines (at least at first it was useful :)
vendethiel masak: are you coming to YAPC::EU ?
segomos_ jnthn: how are you stepping through this?
masak vendethiel: with less than 50% certainty.
vendethiel: I will submit talks, and then hope for the best.
vendethiel masak: I have far less :P
segomos_ i'd be more helpful if i knew, i think
brrt it is probably that Configure.pl tries to recognise your platform $Config{archname}, and doesn't like it
jnthn segomos_: Debug build of MoarVM, then VS debugger 20:38
vendethiel masak: I have to submit talk and maybe I'll get there if it's accepted :P
jnthn needs ot submit YAPC::EU talks
But I don't actually know what to talk about yet :)
segomos_ HTTP::Server::Async probably
:p
jnthn hehe 20:39
masak jnthn: talk about category theory! :P
masak is coserious
jnthn is a co-expert in it :P
masak that's like an expert, but with the arrows reversed? 20:40
PerlJam jnthn: talk about how this Perl 6 thing is coming together and there's not much left for you to do ;-)
20:40 erdic joined
masak jnthn: talk about MoarVM. 20:40
jnthn Yeah. The arrow of learning points to me figuring out how little I know about the topic, rather than to the audience :P
brrt btyler: can you run this? perl -MConfig -e 'print $Config{archname}."\n";' 20:41
vendethiel jnthn: but are you a generalized expert ?
masak jnthn: what the heck kind of arrow points between you and the audience!?
jnthn And at the end, I applaud the audience for enduring the session.
masak :P
btyler brrt; darwin-2level
vendethiel masak: "Jnthn - the good parts"
masak :P
brrt is that all?
oei
jnthn That'd be a short talk :P
brrt no more?
masak .oO( thank you for coming to this cotalk. would you please coend it now? )
btyler brrt: that's it, yeah. same for all recent macs I imagine 20:42
vendethiel masak: make the beginning a comonad and the end a monad ! No way to enter or to exit safely !
20:43 hoverboard is now known as pqr
btyler brrt: successful compile with --enable-jit and adding darwin-2level to the archname match in configure.pl 20:43
[Coke] jnthn: if it were about lizmat, would it be a tall order?
masak vendethiel: haha
20:43 pqr is now known as hoverboard
btyler I see a lot of "OH HAI" :) 20:43
brrt ok, i'll add that to the Configure.pl - or if you have a commit bit, feel free to commit youself :-) 20:44
no, thats the wrong script i think
masak vendethiel: <jnthn> you can try that door over there, but the door is not part of any public interface!
vendethiel: <audience> *gasp*!
vendethiel masak: you must mean TRY.
EVAL*, even. 20:45
masak yeah.
vendethiel now imagines jnthn screaming EVAL to the top of his lungs
vendethiel ... in the middle of a sentence explaining where to exit safely
masak jnthn screams a lot since he started using VS 2012.
btyler brrt: oh, yep, my moar-jit was a little out of date
vendethiel Why would he do that, though ?
brrt :-)
i'l add the line, then
dalek ast: 26c1a2b | rurban++ | S0 (2 files):
Fudge more parrot TODOs

S06-signature/unpack-array.t: [...] does not lose containerization S04-declarations/will.t: all for blocks set variable
20:46
masak vendethiel: because the menus are all FILE EDIT VIEW ...
20:46 molaf_ left
vendethiel masak: would be better with $ % ! & 20:46
20:46 [Sno] joined
jnthn haha...yeah, I remember the first talk I did with VS 2012 20:47
Early in a morning, audience still not entirely awake yet
"So, we go to do ***DEBUG*** menu..." :D 20:48
20:48 cognominal joined
jnthn That woke everyone up :) 20:48
PerlJam someone should to a tag-team talk with TheDamian
20:49 erdic left
segomos_ that sounds like a rap 20:49
PerlJam I dunno ... it could be like this: TheDamian: let me tell you about some thing absolutely amazing if it existed. jnthn: oh, and by the way, here it is! (or vice versa) 20:52
timotimo :D
that's so you two
brrt btyler - i've added the line and some documentation
PerlJam and if there were several amazing things the whole talk could crescendo until everyone's brain explodes ... ;) 20:53
brrt btyler++ for finding the right option
segomos_ how do i undefine in p6? 20:54
jnthn m: my $a = 42; undefine $a; say $a
camelia rakudo-moar 0bea66: OUTPUT«(Any)␤»
FROGGS hehe
timotimo oh, we really have that?
but then $a still exists!
FROGGS I love these answers :o)
segomos_ i kept trying undef >.<
PerlJam he didn't ask how to obliterate $a
segomos_: why do you want to undefine something anyway?
cognominal Perl 6 waits forever that I decide to close my =begin pod. I can construe that as some form of string layziness. 20:55
segomos_ trying to figure out if i have a promise somewhere that is causing the segfault in moar
btyler brrt: that is one speedy fib :)
brrt you have i7
20:55 rurban left
brrt i'd be scared if fib wasn't fast 20:55
cognominal I may some day append to the file.
brrt :-)
20:56 erdic joined 20:57 lizmat joined, anaeem1 joined
PerlJam cognominal: yeah, but doesn't that mean that it never gets to runtime, but hangs around waiting to compile more code? 20:58
cognominal too bad. 20:59
21:04 ivanshmakov left, ivanshmakov joined, rurban joined
segomos_ the moar tests, as long as moar doesn't segfault, are serving 100% of requests within 20ms on my machine 21:05
vendethiel (that's still a bit too much for a real-world use case, but it's a good sign it works !) 21:06
segomos_ the jvm version is more like 130ms :
Mouq segomos_++ 21:07
segomos_ with brand new jvm build i'm getting 50ms 21:08
timotimo at some point the moar jit will be cool enough to help even with such workloads :3 21:09
21:09 rurban left
vendethiel segomos_: try to trigger 10k requests now :) 21:09
timotimo we can already do fibonacci! :)
segomos_ single requests produces this: gist.github.com/tony-o/83c3d10fefbf50d0b0cd
lol 10k errors out with 'too many files open' on the apache bench side 21:10
Mouq "99% served within 25ms" 21:11
segomos_ pretty good on the jvm, with 1 request at a time
btyler: what were you using ? wrk? 21:12
btyler segomos_: yeah, wrk. multiple concurrent conns seems to hang it, using one conn and one thread gets it around 50 requests before moar segvs
segomos_ i've got moar more stable but it does segfault after a seemingly random number of requests (sometimes it's 12, other times it's 4x, and some other times it will serve 100 some requests) 21:13
jnthn got me on the right path with leaving promises open 21:14
btyler the jvm JIT is really fun to watch in action. the first 150 requests are dog slow, then things start to pick up rapidly
21:14 kaare_ left 21:15 Rotwang left
lizmat jnthn: regarding undefine(): I got the impression from TimToady++ that he was not sure whether that should live 21:16
btyler segomos_: gist.github.com/kanatohodets/f534a...18d250f7b5
lizmat generically, undefining something (which is bringing it back to the original state), is done by assigning Nil
btyler with a warm-ish JVM JIT
vendethiel ^ agreed
lizmat m: my $a = 42; say $a; $a = Nil; say $a
camelia rakudo-moar 0bea66: OUTPUT«42␤(Any)␤»
21:17 colomon left
lizmat m: my $a is default(42); say $a; $a = Nil; say $a 21:17
camelia rakudo-moar 0bea66: OUTPUT«42␤42␤»
segomos_ btyler: nice
lizmat m: my $a is default(42)= 86; say $a; $a = Nil; say $a
camelia rakudo-moar 0bea66: OUTPUT«86␤42␤»
btyler segomos_: next up: multiple concurrent conns, yeah? :)
segomos_ m: my $a is default(42)= 86; $a.say; undefine $a; say $a; 21:18
camelia rakudo-moar 0bea66: OUTPUT«86␤42␤»
dalek c/redesign: f6fdcdd | Mouq++ | / (6 files):
Introduce Sets_Bags_and_Mixes.pod

This includes the definitions of Set, Bag, and Mix, as well as the Set/Bag operators. The pages for Set, Bag and Mix are automatically generated from the documentation
segomos_ btyler: hell yea, they should work right now with p6-j, just not working so well on moar
btyler hm, ok
21:20 SevenWolf joined
segomos_ btyler: -c 5 == gist.github.com/tony-o/1e5d3b5461c7a69420db 21:20
that's against a fresh jvm
btyler segomos_: tried it with default wrk settings? I keep hanging or running into an exception on r-j doing that 21:21
hoelzro I noticed that perl6-m supports $*PROGRAM_NAME, but the specs indicate $*PROGRAM - which one is right? 21:22
segomos_ m: $*PROGRAM_NAME.say; $*PROGRAM.say;
camelia rakudo-moar 0bea66: OUTPUT«/tmp/nlaPhzCURZ␤===SORRY!===␤Dynamic variable $*PROGRAM not found␤» 21:23
segomos_ m: $*PROGRAM_NAME.say;;
camelia rakudo-moar 0bea66: OUTPUT«/tmp/oZ5Rlc2co2␤»
segomos_ r: $*PROGRAM_NAME.say;;
camelia rakudo-{parrot,jvm,moar} 0bea66: OUTPUT«/tmp/tmpfile␤»
hoelzro roast seems to support $*PROGRAM_NAME as well 21:24
btyler segomos_: -t 1 and -c 5 work reliably for me, but -t 2 and -c 10 reliably hangs. not sure what's up yet
hoelzro but according to git blame, $*PROGRAM_NAME became $*PROGRAM in november of last year
FROGGS hoelzro: wasn't that $*EXECUTABLE and $*EXECUTABLE_NAME? 21:25
hoelzro it's both, I think
hang on
FROGGS but I'd favor the short name fwiw
segomos_ btyler: checking it out right now
21:25 colomon joined
hoelzro github.com/perl6/specs/commit/6cdd9f3 21:25
FROGGS: ^ 21:26
segomos_ btyler: are you getting Illegal State Exception from jvm?
hoelzro I favor it as well (esp. considering it's an IO::Path rather than a Str), but I was confused about the status of $*PROGRAM in rakudo
as well as roast
FROGGS hoelzro: ahh, hmmm
$*PROGRAM should be easy to implement though 21:27
21:27 denis_boyun_ joined
hoelzro I've added it to my growing TODO list =P 21:27
FROGGS *g* 21:28
btyler segomos_: I've seen a few crashes, but they're lost beyond scrollback atm, trying to reproduce
jnthn segomos_, btyler: I won't have time needed to debug the Moar issues here in the next few days, but will get to it next week. I suspect that reducing the GC nursery size will quickly show if it's GC related or not, but just seeing where it SEGVs can help 21:29
btyler jnthn: no rush :) looking forward to seeing how r-m handles the wrk barrage 21:31
21:31 _thou joined 21:32 donaldh joined, thou left 21:33 anaeem1 left
lizmat FROGGS: so, $*PROGRAM should be the same as $*PROGRAM_NAME ? 21:38
and $*PROGRAM_NAME should be deprecated ?
FROGGS yes
hoelzro you going to steal the low-hanging fruit away from me, lizmat? =P 21:40
lizmat nononono
please take it !
dalek ast: cf1c647 | (David Warring [email@hidden.address] | S03-operators/context.t:
test: item @arr; item %hash
hoelzro we'll see if I get around to it! 21:41
it doesn't look too hard
lizmat I seem to recall you have enough tuits already :-)
21:41 skids left
hoelzro my only concern (atm) is if the program is found on $PATH 21:41
heh
these days, I'm pretty low
then again, with a shebang, perl6 should receive the full path to the script on its command line, right? 21:42
so it should be fine, I thinjk
*think
FROGGS look at how $*EXECUTABLE works on jvm and moar
segomos_ btyler: i'm seeing the problem, i'll work on that. meanwhile i have timotimo's suggestion of making the registered callbacks fire when the headers are complete 21:43
hoelzro is there a way to DEPRECATED a dynamic variable?
lizmat well, no
hoelzro I figured not 21:44
well, that's ok
lizmat I faked it by making the dynamic variable of the Obsolete class
21:44 rurban joined
lizmat and depend on .gist and .Str doing the deprecation message 21:44
but that doesn't work anymore with the last say optimization
ChoHag How do you tell perl to continue after handling an exception in a CATCH block? 21:45
lizmat which doesn't call .gist on single Str arguments anymore
ChoHag: add a default block
ChoHag I have a default block.
lizmat S04:1033
synopsebot Link: perlcabal.org/syn/S04.html#line_1033
btyler segomos_: awesome, can't wait to see how it turns out
hoelzro hmm 21:46
what should $*PROGRAM be if it's the perl6 REPL?
segomos_ ChoHag: do you mean similar to vb's resume next ?
hoelzro $*PROGRAM_NAME is 'interactive'
lizmat I'm now trying to fix with a separate candidate for Obsolete, but that's not working out for some reason
m; $*OS.say
ChoHag Doesn't that just quell them entirely?
lizmat m: $*OS.say 21:47
camelia rakudo-moar 87333c: OUTPUT«linux␤»
ChoHag No, I want to resume execution at the bottom of the CATCH block.
Not just carry on regardless.
segomos_ it does that already
m: try { 'hi'.say; die "dead"; CATCH { default { 'caught'.say; } }; }; '/try'.say;
camelia rakudo-moar 87333c: OUTPUT«hi␤caught␤/try␤»
lizmat actually, no: if you ignore the exception, it will continue with the line *after* the line causing the exception
afaik
segomos_ m: try { 'try'.say; die "dead"; 'after life'.say CATCH { default { 'caught'.say; } }; }; '/try'.say; 21:48
camelia rakudo-moar 87333c: OUTPUT«===SORRY!=== Error while compiling /tmp/JuenfUKe2s␤Two terms in a row␤at /tmp/JuenfUKe2s:1␤------> 'try'.say; die "dead"; 'after life'.say ⏏CATCH { default { 'caught'.say; } }; }; ␤ expecting any of:␤ …»
FROGGS p: try { die "ohh"; say "well"; CATCH { default { .resume } } };
camelia rakudo-parrot 87333c: OUTPUT«well␤»
segomos_ m: try { 'try'.say; die "dead"; 'after life'.say; CATCH { default { 'caught'.say; } }; }; '/try'.say;
camelia rakudo-moar 87333c: OUTPUT«try␤caught␤/try␤»
FROGGS m: try { die "ohh"; say "well"; CATCH { default { .resume } } }; # broken on moar sadly
camelia rakudo-moar 87333c: OUTPUT«This representation (VMException) does not support associative access␤ in method resume at src/gen/m-CORE.setting:11405␤ in block at /tmp/aYEM6TEzWA:1␤ in block at /tmp/aYEM6TEzWA:1␤␤»
FROGGS but the parrot line shows that .resume is the right thing 21:49
jnthn FROGGS: Moar knows how to do it, though...
ChoHag How does the automatic application of a try block affect the leaving of a CATCH?
segomos_ he wants it to resume at the bottom of the CATCH block
FROGGS yeah, will look at the resume method in rakudo in a bit
ChoHag segomos_: I don't really mind where, as long as resumption occcurs.
21:50 smls left
segomos_ btyler: weird, the connection.send promise is planned but never kept/broken 21:50
TimToady what does "at the bottom of the CATCH block" mean? the position of a CATCH block is meaningless
ChoHag I have a default handler with just say in it, then no further says are said, regardless of where I've spewed them. 21:51
segomos_ example?
TimToady the CATCH block is not anywhere in the normal sequence of execution, in other words
it's a "come from" 21:52
ChoHag perl 6 has comefrom?
TimToady well, COME FROM if yer talking INTERCAL
ChoHag Oh dear.
21:52 _thou left
TimToady well, it's a slightly more controlled form :) 21:52
dalek kudo/nom: 72b1705 | jnthn++ | src/core/Exception.pm:
Fix .resume on MoarVM (and hopefully JVM).
21:54
jnthn FROGGS: ^^, but I suspect it wnats a test :)
TimToady that's why we give phasers uppercase names, to indicate they're not part of the normal execution, but get invoked at odd times
btyler segomos_: with -t > 1? 21:55
FROGGS p: say Exception.new.resumable
camelia rakudo-parrot 87333c: OUTPUT«This type does not support associative operations␤ in method resumable at gen/parrot/CORE.setting:11332␤ in block at /tmp/_3fZGrkXoR:1␤␤»
FROGGS m: say Exception.new.resumable
camelia rakudo-moar 87333c: OUTPUT«This type does not support associative operations␤ in method resumable at src/gen/m-CORE.setting:11401␤ in block at /tmp/l9x6Ahy1oN:1␤␤»
FROGGS j: say Exception.new.resumable
jnthn FROGGS: The resumable thing wants a look still
segomos_ jnthn: any idea why the async connection.send would be planned but never executed?
jnthn FROGGS: But .resume should now rok.
camelia rakudo-jvm 87333c: OUTPUT«java.lang.RuntimeException: This type does not support associative operations␤ in method resumable at gen/jvm/CORE.setting:11342␤ in block at /tmp/B5aYYwpzO0:1␤␤»
TimToady note, for instance, that when CATCH is called, you might actually be executing a statement in an entirely different routine 21:56
segomos_ btyler: yea, with the default wrk settings
jnthn segomos_: No, the code in CORE.setting looks OK
segomos_: Does the data actually get written? 21:57
segomos_ no the promise is just hung in a planned state 21:58
TimToady ChoHag: so, if you really wanted to go to the statement after the CATCH, you probably need to put a label there and goto it...but I don't recommend that
jnthn Hmm, that'd suggest the actual writing never really takes place...
ChoHag No I was mixed up.
TimToady much better to just exit the block containing the CATCH normally 21:59
segomos_ i'll look at it with telnet, one sec
TimToady okay
ChoHag I should have been paying attention to try blocks, not CATCH blocks.
lizmat FROGGS: if I git pull and run Configure.pl for parrot, should it then get 6.5.0 or not?
FROGGS lizmat: only if you pass --gen-parrot, and in case NQP_REVISION was bumped
lizmat I guess we haven't bumped that yet, right? 22:00
TimToady m: say "one"; { say "two"; CATCH { default {} }; die "oops" }; say "three"
camelia rakudo-moar 87333c: OUTPUT«one␤two␤three␤»
FROGGS lizmat: I guess not
TimToady ^^^ illustration of what I mean, to those playing along at home
don't really need a goto to get to the 'say "three"' 22:01
FROGGS n: try { die "ohh"; say "well"; CATCH { default { .resume } } } 22:02
camelia ( no output )
dalek kudo/nom: de3cecc | (Elizabeth Mattijsen)++ | src/core/ (3 files):
Fix deprecations of $*OS/$*OSVER

Basically:
  - expose Obsolete as a proper class
  - make sure there are 'say' candidates for Obsolete:D: that do .gist
Mouq lizmat: Re: Deprecations and the say optimization: couldn't you... oh, you just did it :) 22:03
lizmat++
psch jnthn: can you help me make sense of this? gist.github.com/peschwa/863b4d839e0024388052
TimToady r: try { die "ohh"; say "well"; CATCH { default { .resume } } } 22:04
dalek ast: 1e909c2 | (David Warring [email@hidden.address] | integration/advent2011-day16.t:
adding 2011 adventy day 16
camelia rakudo-moar 87333c: OUTPUT«This representation (VMException) does not support associative access␤ in method resume at src/gen/m-CORE.setting:11405␤ in block at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 87333c: OUTPUT«well␤»
..rakudo-jvm 87333c: OUTPUT«VMException representation does not implement at_key_boxed␤ in method resume at gen/jvm/CORE.setting:11346␤ in block at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
TimToady oh, you just fixed that (hopefully)
jnthn psch: Not really, especially as with exact same Moar version here it's fine :s 22:05
dalek ast: 09ecc5e | (Tobias Leich)++ | S04-statements/try.t:
add test for Exception.resume in CATCH
22:06
lizmat testing NQP_REVISION bump on parrot now
psch that's slightly terrifying; i guess i'll have to understand more of moar
FROGGS jnthn: works on all backends^^
jnthn FROGGS: \o/
psch: Yeah, hard for me to know why it'd not work elsewhere
psch: Maybe a run with ASAN or Valgrind will show something. 22:07
'night, #perl6
segomos_ night 22:08
lizmat gnight jnthn
psch i'll look at valgrind tomorrow then i guess
night jnthn++ & #perl
FROGGS gnight jnthn
gnight psch
psch s/$/6/
segomos_ m: ('jnthn' & 'perl6').say
camelia rakudo-moar 87333c: OUTPUT«all(jnthn, perl6)␤»
22:09 treehug8_ left, psch left
segomos_ guessing that & doesn't do the bit comparison i thought 22:09
FROGGS +& would be for numeric stuff 22:10
and ~& for string
masak m: say (0b11001100 +& 0b01100110).fmt("%b") 22:11
camelia rakudo-moar 87333c: OUTPUT«1000100␤»
lue although ~& really should just be for Bufs :P
lizmat m: say 4 +& 7
camelia rakudo-moar 87333c: OUTPUT«4␤»
lizmat m: say 4 +| 7
camelia rakudo-moar 87333c: OUTPUT«7␤»
masak segomos_: +& does bit comparison.
22:11 bluescreen10 left
masak 'night, #perl6 22:14
lizmat night masak
brrt 'night, #perl6 22:15
22:15 brrt left 22:17 carlin left 22:18 _thou joined
timotimo NtaiveCall is *still* giving deprecation messages in the tests 22:21
FROGGS yes
dalek kudo/nom: 5aa3c3a | (Elizabeth Mattijsen)++ | t/spectest.data:
Add advent2011-day16 tests
22:25
22:27 colomon left
dalek kudo/nom: 0c861ba | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get parrot 6.5.0 (rurban++)
22:29
22:30 colomon joined 22:34 spider-mario left 22:37 woolfy left 22:42 btyler left 22:43 colomon left, maelus is now known as nnunley 22:47 xragnar is now known as Guest48157, xragnar_ joined, Guest48157 left, xragnar_ is now known as xragnar 22:48 colomon joined 22:53 jnap left
Mouq How do you disable optimizations in moar? 22:58
22:58 woolfy joined
Mouq It's giving me a huge WTF 22:58
22:59 skids joined, colomon left, dwarring left
Mouq It seems to be making "given $var { ... }" so that $var can chage outside of the given, but doesn't always change inside of it... 23:01
*change
I'll re make everything and see if the problem persists
FROGGS MVM_SPESH_DISABLE=1 perl6-m ... 23:02
and: perl6-m --optimize=off ...
Mouq FROGGS: Thanks :)
FROGGS good luck :o)
Mouq
.oO( You know you need to optimize your script if Rakudo's build time is refreshing... )
23:05
23:06 xenoterracide joined
Mouq ( Though the change I'm working on should bring it down about 2.5 minutes if I can get it too work again without the bugs... ) 23:06
s/too/to 23:08
FROGGS is that about rendering the docs?
Mouq Yeah, takes about 7 minutes on the redesign branch atm 23:09
23:10 donaldh left
FROGGS :/ 23:10
Mouq I've been seperating out various parts of the process though, which increases the total run time but should make it easier to cache things between runs 23:11
23:11 Pleiades` left 23:15 silug joined 23:16 Pleiades` joined 23:20 jnap joined 23:23 denis_boyun_ left 23:24 denis_boyun_ joined
Mouq Uggghhh. So, it's a recursive sub with `my sub`s inside of it, and whether or not it should've worked by spec, I got it to work by making all the important variables dynamic 23:30
FROGGS ewww
Mouq Maybe I'll golf it later, my head hurts too much though right now 23:31
Looks like I fixed the original bug I was trying to hunt down with that code, at least :) 23:33
FROGGS well, that is something :o) 23:34
lizmat needs some sleep& 23:36
Mouq night lizmat 23:39
dalek c/redesign: 877d74b | Mouq++ | / (2 files):
Rewrite find-definition correctly
23:41
23:45 Alina-malina left, guru joined, Alina-malina joined, guru is now known as Guest54432 23:46 Guest54432 is now known as ajr_
timotimo is building 3xrakudo and 3xnqp for an up to date benchmark run to present in his slides on friday 23:46
sadly, that will not have CGOTO=1 in the moars, though i think i can retrospectively put that in 23:47
someone buildsystem-savvy could put detection into the configure script or makefile to turn CGOTO=1 on if we have a compiler that supports it ...
dalek kudo/nom: b430911 | (Tobias Leich)++ | src/core/Exception.pm:
fix exception printing by boxing line number

A BOOTInt sneaked into it before, so the exeption exploded at the attempt of being printed, like when we 'use'd a module that had a syntax error in it.
23:48
timotimo oh wow, nice catch!
23:48 rindolf joined
FROGGS timotimo: well, the error was quite disturbing :o) 23:48
gnight 23:49
23:49 FROGGS left
dalek ast/hoelzro/special-var-program: 8ed8c3b | (Rob Hoelz)++ | S (4 files):
Use $*PROGRAM instead of $*PROGRAM_NAME

Bring roast up to speed with S28
The following files still need to be updated, but it's out of my level of expertise:
S02-names/pseudo.t S02-magicals/progname.t
23:51
23:51 dmol left 23:52 denis_boyun_ left 23:55 SevenWolf left