»ö« 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/s8BhnYfs2vAttribute $!a not declared in role Bat /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/Kl0OFxPtw5Attribute $!priv not declared in class Bat /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/YrjK9OKdGkNo 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 declaredat /tmp/e1OZVCbSQC:1------> $!p = 42}; use MONKEY_TYPING; augment A ⏏{ method a () { say $!p } }; A.new.aMalformed augmentat /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/KPziJWFxD1Preceding context expects a term, but found infix = insteadat /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/AthFcFezDfTwo terms in a rowat /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/IzMnoZx0fYTwo terms in a rowat /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_C5Virtual call $.prohibited may not be used on partially constructed objectsat /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/R0yob5Z4NpUndeclared 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 1Please 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 1Please 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 1Unhandled 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 2not 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«4242» | ||
segomos_ | btyler: nice | ||
lizmat | m: my $a is default(42)= 86; say $a; $a = Nil; say $a | ||
camelia | rakudo-moar 0bea66: OUTPUT«8642» | ||
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«8642» | ||
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«hicaught/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/JuenfUKe2sTwo terms in a rowat /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«trycaught/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«onetwothree» | ||
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
|