»ö« 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:07
FROGGS left
00:18
FROGGS joined
|
|||
dalek | p/io-refactor: 512c07b | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/FileHandle.java: Fix FileHandle print. |
00:38 | |
00:40
FROGGS left
00:41
FROGGS joined
00:46
FROGGS left
00:47
FROGGS joined
00:49
raiph left
01:08
raiph joined
01:14
dayangkun joined,
FROGGS left
01:23
zacts joined
01:28
FROGGS joined
01:44
dayangkun left
01:54
FROGGS_ joined
01:59
FROGGS left
|
|||
dalek | kudo/nom: 6297ac5 | jnthn++ | src/vm/jvm/core/Threading.pm: Add a way to get broken promise cause. Using .result will throw the exception if the promise was broken; this provides a way for getting hold of it if needed. |
02:01 | |
kudo/nom: 27962b0 | jnthn++ | src/vm/jvm/core/Threading.pm: Promise breakage should carry over to combinators. |
|||
kudo/nom: fe22c91 | jnthn++ | src/vm/jvm/core/Threading.pm: A channel can be finished or failed. While some may be "forever", this provides for channels that come to some kind of conclusion, either a happy ending or a sad ending. |
|||
02:04
xinming joined
02:09
mikemol joined
|
|||
diakopter | jnthn: wat. you're still awake!?!?! | 02:11 | |
jnthn | apparently | 02:12 | |
I need to leave home around 3:30am or 4am or so for my flight tomorrow. | |||
JimmyZ | miracle | ||
jnthn | So staying up late tonight, sleeping late, then will skip sleep tomorrow night :) | ||
.oO( Is it bad that I'm working on the concurrency stuff at 4am while drinking Trappistes Rochefort? ) |
02:14 | ||
JimmyZ | not bad, I never heard Trappistes Rochefort | 02:15 | |
jnthn | It's a Belgian beer. | 02:16 | |
11.3% | |||
Very tasty | |||
And to be sipped. Slowly. :) | |||
JimmyZ | jnthn: I guess you Drunk Tsingtao beer? | 02:19 | |
jnthn | JimmyZ: Sure. :) | 02:20 | |
Normally at a Chinese restaurant... :) | |||
JimmyZ | hehe | 02:21 | |
lizmat | good *, #perl6! | 02:33 | |
diakopter | lizmat: HOWDY FROM LEFT COAST | 02:34 | |
dalek | kudo/nom: 2966c57 | (Elizabeth Mattijsen)++ | src/core/Variable.pm: Simplify is default internals |
||
jnthn | o/ lizmat :) | ||
dalek | ast: fba6e2e | (Elizabeth Mattijsen)++ | S02-names/is_default.t: Less and more fudging |
02:35 | |
lizmat | jnthn, diakopter o/ | ||
less than an hour before we need to leave | |||
breakfast& | |||
jnthn writes his first channel combinator in Perl 6 | 02:38 | ||
02:41
araujo joined
|
|||
jnthn | 'night, #perl6 | 02:56 | |
slavik | dang | 02:58 | |
is it possible to deref a CPointer to a CStruct class? | 02:59 | ||
to create a class that repr(CStruct) and then get a Cpointer from a Clibrary and then deref that pointer to the class that repr)CStruct) | |||
diakopter | well, it wouldn't be any more unsafe than all the other things you can do with those | 03:00 | |
03:03
stevan_ joined
03:04
gabriel joined
|
|||
slavik | cool | 03:04 | |
03:06
BinGOs joined
03:11
wtw_ joined
03:13
FROGGS_ left
|
|||
lizmat | commuting& | 03:13 | |
slavik | what license does rakudo have? | 03:16 | |
JimmyZ | see readme | 03:17 | |
03:18
FROGGS_ joined
|
|||
slavik | found it, ty | 03:18 | |
03:31
araujo left
03:37
preflex joined,
ChanServ sets mode: +v preflex
04:17
japhb_ joined
04:28
araujo joined,
araujo left,
araujo joined
04:31
FROGGS_ left
04:34
crab2313 joined
04:40
FROGGS_ joined
04:44
FROGGS_ left
04:52
birdwindupbird joined
05:09
hypolin joined,
hypolin left
05:17
ilogger2 joined,
ChanServ sets mode: +v ilogger2
05:33
xinming joined
05:41
fridim_ joined
06:00
grondilu joined
06:04
jaldhar joined
06:06
jaldhar left
06:07
jaldhar joined
06:09
thou joined
06:11
FROGGS joined
06:20
thou left
|
|||
grondilu | rn: try { say 1 + "pi"; CATCH { die "can not recognize pi" } } | 06:32 | |
camelia | niecza v24-88-g1f87209: OUTPUT«Potential difficulties: Operation cannot succeed (constant folding threw exception: Cannot parse number: pi) at /tmp/jwcNSUwFHH line 1:------> try { say 1 + "pi"⏏; CATCH { die "can not recognize pi" } }» | ||
..rakudo 2966c5: OUTPUT«can not recognize pi in block at /tmp/qpjCP69pY0:1 in block at /tmp/qpjCP69pY0:1» | |||
06:33
fridim_ left
|
|||
FROGGS | rn: try { say 1 + "pi"; CATCH { default { die "can not recognize pi" } } } | 06:36 | |
camelia | niecza v24-88-g1f87209: OUTPUT«Potential difficulties: Operation cannot succeed (constant folding threw exception: Cannot parse number: pi) at /tmp/0D7QpQfZer line 1:------> try { say 1 + "pi"⏏; CATCH { default { die "can not recogni» | ||
..rakudo 2966c5: OUTPUT«can not recognize pi in block at /tmp/tyyrOJd7hg:1 in method Numeric at src/gen/CORE.setting:11252 in sub infix:<+> at src/gen/CORE.setting:3551 in sub infix:<+> at src/gen/CORE.setting:3549 in sub infix:<+> at src/gen/CORE.setting:3551 in sub infix:<+… | |||
06:43
zakalwe joined
06:53
domidumont joined
07:07
domidumont left
07:08
domidumont joined
07:20
benabik joined
|
|||
Mouq | .tell diakopter Oop, I didn't see that you had offered to and did add me. Thank you! | 07:21 | |
yoleaux | Mouq: I'll pass your message to diakopter. | ||
Mouq | .ety yoleaux | 07:25 | |
yoleaux | Sorry, I couldn't find the etymology of that. | ||
diakopter | hi | ||
yoleaux | 07:21Z <Mouq> diakopter: Oop, I didn't see that you had offered to and did add me. Thank you! | ||
Mouq | .tz | 07:26 | |
yoleaux | Mouq: I don't currently have a timezone preference set for you. | ||
diakopter | the etymology is from "yolo" (you only live once) | ||
Mouq | Haha, that's great | 07:27 | |
07:27
sqirrel joined
07:43
dmol joined
|
|||
masak | mornin', #perl6 | 07:49 | |
moritz | \o masak, * | 07:50 | |
diakopter | in Soviet Ukraine your bed wakes up on the wrong side of you, and then it goes back to you. | ||
moritz | diakopter: are you coming to YAPC::EU? | 07:51 | |
diakopter | yeah | ||
are you? | |||
moritz nods | |||
diakopter dances a jiggle | |||
masak | grondilu, FROGGS: you're trying to catch a compiler error at runtime. that won't work. :) | 07:53 | |
masak dances a jiggle too | |||
grondilu | masak: well, it did display my custom error message, didn't it? | 07:54 | |
r: try { say 1 + "pi"; CATCH { die "can not recognize pi" } } | |||
camelia | rakudo 2966c5: OUTPUT«can not recognize pi in block at /tmp/b1KbGiwViA:1 in block at /tmp/b1KbGiwViA:1» | ||
diakopter | t\nqp\01-literals.t ................... Failed 904/913 subtests | ||
t\nqp\02-if.t ......................... Failed 607/613 subtests | |||
t\nqp\03-if-else.t .................... Failed 1399/1413 subtests | |||
t\nqp\04-unless.t ..................... Failed 607/613 subtests | |||
t\nqp\05-comments.t ................... Failed 805/813 subtests | |||
AWESOME. KICKASS. | 07:55 | ||
something tells me there's a bug. | |||
arnsholt | ORLY? =D | ||
diakopter | well when you leave debug printfs in the interp.c.... | 07:56 | |
arnsholt | Oh, that'll do weird things, yeah ^_^ | 07:57 | |
diakopter | t\nqp\01-literals.t ................... ok | ||
t\nqp\02-if.t ......................... ok | |||
t\nqp\03-if-else.t .................... ok | |||
t\nqp\04-unless.t ..................... ok | |||
t\nqp\05-comments.t ................... ok | |||
t\nqp\06-args-pos.t ................... ok | |||
better. | |||
that's PROGRESS. FAST. | |||
JimmyZ | nice | 07:58 | |
diakopter | ;) | ||
here goes nothing... building a NQP.moarvm | 08:00 | ||
(cross-compiling) | |||
arnsholt | Oooh, exciting! | 08:02 | |
diakopter | looks like I'm back to this: At Frame 16, Instruction 380, op 'no_op' has invalid number (4) of operands; needs 0. | ||
moritz | somebody[tm] should blog about moarvm progress | ||
grondilu agrees | |||
diakopter | .oO( somebody who has a blog... ) |
||
.oO( other than jnthn, who's Busy(tm) ) |
08:03 | ||
moritz | diakopter: if you write an entry, I'll put it on my blog as a guest entry | ||
s/entry/blog post/ | |||
diakopter | ok, you'll have it by Sunday morning | 08:04 | |
moritz | \o/ | ||
diakopter: you can hand it to me in person on Sunday :-) | |||
diakopter | "Here's the first bit; here's the second bit.." | 08:05 | |
moritz | it's a... *drumroll*... 1! | ||
diakopter | close | 08:06 | |
masak | wait wait, I got this. just give me one more guess. | 08:07 | |
diakopter | dunno if it's worth it | ||
so many people have failed... | |||
self.panic('Unsupported use of ' ~ ~$old ~ ';' | |||
~ ~$when ~ ' please use ' ~ ~$new); | |||
what's with the double ~ | |||
moritz | ac | ||
benabik | stringily and then concatinate? | 08:08 | |
ow, my spelling. | |||
moritz | diakopter: first '$when' is stringified | ||
diakopter: then it's concatenated | |||
FROGGS | masak: it does work... I was just curious why the default-block triggers printing the backtrace | ||
diakopter | nqp ~ doesn't stringify? | ||
moritz | diakopter: I'm not sure if ~ has coercing multis in nqp | ||
nqp: say('foo' ~ 42) | |||
camelia | nqp: OUTPUT«foo42» | ||
diakopter | that may be an archaism | 08:09 | |
moritz | it might | ||
diakopter | er, what do you call those around here | ||
moritz | or there might be an infix:<~> multi for native str | ||
and stringifying $when prevents the boxing of the string literals | |||
diakopter | I don't think NQP uses operator multis..? | ||
moritz | you'd have to look at the generated code to find out | 08:10 | |
FROGGS | jnthn: if this hyper stuff works out... can something of the rakudo/nqp internals be done in parallel? I'm thinking of nfa, mmd or some such | 08:19 | |
diakopter | those things are too short-lived | 08:20 | |
FROGGS | well, @a >>+<< @b is short lived too, but if can do a gazillion in parallel, it would be faster | 08:22 | |
are there some cases where this helps? somewhere? | |||
maybe if you have large lookup tables or so, then you could partition it and spawn threads | 08:23 | ||
I just dont know the internals well enough to guess where this might be the case | 08:24 | ||
08:37
domidumont left
|
|||
grondilu | rn: say my Int @ = rand xx 3 | 08:43 | |
camelia | niecza v24-88-g1f87209: OUTPUT«0.63349779119412308 0.56023166773851574 0.50795736839434014» | ||
..rakudo 2966c5: OUTPUT«0.137404966724233 0.670122138728527 0.694341523429962» | |||
08:43
dmol left
|
|||
grondilu is not sure he understands what my Foo @var mean exactly :/ | 08:43 | ||
08:44
dmol joined
|
|||
grondilu | I mean, if I write "my Int @a", does that mean that @a is supposed to be an Array of integers? | 08:44 | |
arnsholt | Yes | 08:45 | |
grondilu | r: say my Int @a = <foo bar> | ||
camelia | rakudo 2966c5: OUTPUT«foo bar» | ||
grondilu | ^then why is this ok? | ||
arnsholt | Good question =) | ||
grondilu | n: say my Int @a = <foo bar> | 08:46 | |
camelia | niecza v24-88-g1f87209: OUTPUT«Potential difficulties: @a is declared but not used at /tmp/AoBlG8zB2_ line 1:------> say my Int ⏏@a = <foo bar>foo bar» | ||
arnsholt | r: my Int @a; @a[0] = "foo"; say @a[0]; | ||
camelia | rakudo 2966c5: OUTPUT«Type check failed in assignment to '$v'; expected 'Int' but got 'Str' in block at /tmp/mI0LV1al9a:1» | ||
arnsholt | Looks like it's a rakudobug | ||
FROGGS | not all cases are yet handled right | ||
grondilu | ok | 08:47 | |
masak | it's a rakudobug. | ||
(a well-known one) | |||
mathw | o/ | 09:05 | |
FROGGS | o/ | 09:06 | |
masak | o/ | 09:08 | |
moritz | not only well-known, but also submitted :-) | 09:14 | |
grondilu | rn: my Int $x where * %% 2; say $x = 5 | 09:16 | |
camelia | niecza v24-88-g1f87209: OUTPUT«===SORRY!===Postconstraints, and shapes on variable declarators NYI at /tmp/wrfDkbWm9S line 1:------> my Int $x where * %% 2⏏; say $x = 5Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.set… | ||
..rakudo 2966c5: OUTPUT«5» | |||
moritz | slavik: you can emulate dereferencable pointers with one-element arrays | 09:18 | |
09:21
rindolf joined
09:33
berekuk joined
09:35
daxim joined
|
|||
grondilu | ls | 09:39 | |
^ignore that | 09:40 | ||
09:44
grondilu left
10:01
dmol left,
dmol joined
10:12
sqirrel left
|
|||
jnthn | afternoon, #perl6 | 10:13 | |
10:16
Rotwang joined
|
|||
moritz | \o jnthn | 10:26 | |
masak | greetings, jnthn. | 10:35 | |
jnthn | o/ masak | 10:37 | |
Forecast for today: slide writing, with bits of hacking :) | |||
masak | ain't that the truth. | 10:40 | |
diakopter | jnthn: awakeness. | ||
jnthn | diakopter: a...wha? :P | ||
diakopter | awakified? | 10:41 | |
jnthn | not enough coffee yet | ||
diakopter | awakestry? | ||
10:42
domidumont joined
|
|||
FROGGS | hi jnthn | 10:45 | |
perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); my Mu $s := nqp::shift($rpa); say $s.ohh; say "done"' | 10:52 | ||
No such method 'ohh' for invocant of type 'Int' | |||
perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); my Mu $s := nqp::shift($rpa); say nqp::istype($s, Int); say "done"' | 10:53 | ||
0 | |||
jnthn: how can it be an Int and not be an Int at the same time? | |||
jnthn | FROGGS: You probably cross a marshalling point somewhere | 10:54 | |
FROGGS: See nqp::hllize op | |||
FROGGS | do I have to hllize the thing I'm pushing to the qrpa? | ||
that would the result of nqp_bigint_add then | 10:55 | ||
jnthn | Why isn't nqp_bigint_add already being given the Int type object so it can produce a Perl 6 Int? | 10:56 | |
FROGGS | jnthn: I do that | 10:57 | |
that is why the last argument to hyper_MT is Int | |||
I basically call nqp_get_sc_object on it, and pass it then to nqp_bigint_add as last arg | 10:58 | ||
jnthn: gist.github.com/FROGGS/2f7a18016440db081f99 | 11:04 | ||
maybe that is better than my bad explanation | |||
jnthn | huh? nqp_get_sc_object? | ||
FROGGS | I got that from inspecting pir code that does similar things | 11:05 | |
that is, I grepped for nqp_bigint_add and mimik'd the steps | 11:06 | ||
jnthn | yes, but if you're writing code being passed an Int already... | 11:09 | |
The code you copied is looking up Int from an SC | |||
FROGGS compiles | 11:10 | ||
dalek | kudo/nom: a8d3ca0 | jnthn++ | src/vm/jvm/core/Threading.pm: Ensure borken promise stores an Exception. |
11:12 | |
kudo/nom: bdd4ae1 | jnthn++ | src/vm/jvm/core/Threading.pm: Naming consistency. |
|||
kudo/nom: a3503f9 | jnthn++ | src/vm/jvm/core/Threading.pm: Exceptions should inherit from Exception. |
|||
kudo/nom: 5965345 | jnthn++ | src/vm/jvm/core/Threading.pm: Decontainerize in Channel.send. |
11:13 | ||
11:15
berekuk left
|
|||
FROGGS compiles again | 11:16 | ||
jnthn: do you have an opinion what would be a candidate for doings things in parallel in nqp's and rakudo's core? | 11:18 | ||
11:28
berekuk joined
11:46
jaldhar left
11:55
PacoLinux joined
11:57
rindolf left,
rindolf joined
12:05
rindolf left
|
|||
dalek | rlito: 5058d24 | (Flavio S. Glock)++ | / (5 files): Perlito5 - grammar - save __DATA__ sections |
12:05 | |
12:06
berekuk left
12:10
berekuk joined
12:13
berekuk left
|
|||
FROGGS | jnthn: now I am passing the following as last arg to nqp_bigint_add: my $obj := $qastcomp.coerce($qastcomp.as_post( $op[3] ), 'P'); | 12:17 | |
but istype still says it isnt an Int and calling an unknown method tells it is an Int | |||
moritz | forgot a decont somewhere? | 12:18 | |
FROGGS | I got you right that I dont need to hllize it when passing Int properly? | ||
moritz: where do I have to do that? | |||
right before calling nqp_bigint_add? or afterwards? | |||
12:21
nige joined
|
|||
nige | Hi | 12:21 | |
diakopter | hi | ||
nige | F m | 12:22 | |
FROGGS | moritz: btw, I've got a Dell Latitude 620 here (Centrino Duo 1.8GHz, 2GB RAM, 40GB hdd, DVD +- RW), dunno if it would be useful for you | ||
diakopter | *facepalm* | ||
12:22
nige left
|
|||
FROGGS | -.- | 12:22 | |
moritz | FROGGS: before wherever the problem appears | 12:23 | |
FROGGS | moritz: my problem is that I cant peek and poke the values in the pir code that well | ||
so I dont know at what point something went wrong | |||
moritz | FROGGS: doesn't -ll-exception give you a PIR line number? | 12:24 | |
FROGGS | moritz: it doesnt explode | ||
I get something back that is some sort of QRPA, and inside is something Int-ish, but not quite | 12:25 | ||
moritz | FROGGS: can you show me some code? | ||
FROGGS | sure | ||
12:25
domidumont left
|
|||
moritz | FROGGS: re laptop, thanks for the offer, but I think tadzik++'s offer is a bit better :-) | 12:27 | |
tadzik | moritz: so I'm taking this one for you, and you'll bring the HDD? | ||
FROGGS | moritz: gist.github.com/FROGGS/2f7a18016440db081f99 | 12:28 | |
moritz: yeah, I thought so too # laptop | |||
moritz | tadzik: aye | ||
diakopter | FROGGS: I was facepalming at the interloper | ||
FROGGS | diakopter: yeah, IT WAS A TRAP! :P | 12:29 | |
12:32
lizmat joined
|
|||
moritz | FROGGS: I'm confused by your code. You create a Perl 6-level array in there... | 12:32 | |
lizmat | arrived at the DNIPRO | ||
FROGGS | both calls to perl6_box_int at line 46/47 might be wrong... | ||
moritz | FROGGS: and then you write my Mu $rpa := nqp::hyper_MT | ||
FROGGS | moritz: because it is somehow a QRPA, dunno how to get the perl6 Array :/ | 12:33 | |
moritz: as far as I understand line 8 creates a QRPA, which parrot can handle | |||
I can try and rip out the call to FLATTENABLE_LIST... | 12:34 | ||
moritz | FROGGS: what does line 68 do? | ||
FROGGS | it pushes the $arr_a."FLATTENABLE_LIST"() call to the ops | 12:35 | |
otherwise it would never call that method | |||
moritz: I could paste the generated pir code if that helps | 12:38 | ||
moritz | FROGGS: maybe | 12:39 | |
FROGGS: I feel like the proverbial blind leading the deaf | |||
FROGGS | *g* | ||
takes a bit, recompiling atm... | |||
moritz: gist.github.com/FROGGS/2f7a18016440db081f99 | 12:47 | ||
12:48
PacoLinux left
|
|||
FROGGS | gist.github.com/FROGGS/2f7a1801644...mt-pir-L76 that is line 68 | 12:48 | |
12:50
PacoLinux joined,
lizmat left
12:51
lizmat joined
|
|||
moritz | FROGGS: it looks fine to me from the perspective if checking the types of the arguments to the bigint_add op | 12:55 | |
as for the rest, I have no idea about tasks etc. | |||
12:56
berekuk joined
|
|||
lizmat | jnthn: on the way here, I was thinking we're doing the whole approach to default values wrong | 12:56 | |
I mean, we only have default values for boxed values, right> | 12:57 | ||
12:57
woolfy joined
|
|||
lizmat | ? | 12:57 | |
jnthn | lizmat: Good question...not sure if the spec says it should work on natives too? But that'd need those to somehow cope with Nil assignment to matter... | 12:58 | |
lizmat | so, my idea was that if a value is used as a RHS, *then* it is checked whether it is undefined | ||
FROGGS | moritz: the tasks are fine, I am just curious about the last arg of nqp_bigint_add and how to get an Array at the end instead of this half-baken QRPA | ||
lizmat | and if undefined, then it is checked if it has a default value, and that is then returned instead | 12:59 | |
this would allow .defined to be false on sparse arrays / hashes, but still return the default value if used as a RHS | |||
moritz | FROGGS: last arg of nqp_bigint_add: the bigint ops don't care about the type of the arguments, as long as they have a bigint REPR. So we need to tell bigint_add which type to return | ||
FROGGS | moritz: right, and maybe I'm telling it wrong | 13:00 | |
moritz | well, if you get the Int type object there, all is fine | ||
lizmat | jnthn: so "my %h is default(42); say %h<foo>.defined; say %h<foo>; # would say True, 42 | ||
False, 42 | 13:01 | ||
so it would *not* be defined, and not exist, yet return 42 | |||
jnthn | lizmat: Isn't %h<foo>.defined using it as an r-value? | ||
FROGGS | moritz: so, lets say I properly pass Int there, do I need to hllize the return value of nqp_bigint_add or do something else with it? | 13:02 | |
moritz | FROGGS: no, the return value will be a proper Int | ||
r: say nqp::add_I(3, 42, Int).perl | 13:03 | ||
camelia | rakudo 596534: OUTPUT«45» | ||
moritz | r: say nqp::add_I(3, 42, Int).WHAT | ||
camelia | rakudo 596534: OUTPUT«(Int)» | ||
lizmat | jnthn: hmmm… good point, I guess I was thinking of exists | ||
FROGGS | moritz: then why nqp::istype(nqp::shift($rpa), Int) ir zero? | ||
moritz | FROGGS: how many elements does $rpa have? | ||
FROGGS looks at the pir of `say nqp::add_I(3, 42, Int).WHAT` | 13:04 | ||
moritz: 1000 | |||
13:04
PacoLinux left
13:05
bearman joined
|
|||
FROGGS | hmmm, I see calls to nqp_get_sc_object for all fours args of nqp_bigint_add for `say nqp::add_I(3, 42, Int).WHAT` | 13:05 | |
I had that in my code before too, but it behaved the same | 13:06 | ||
13:06
bearman left
|
|||
jnthn | Note that those are the result of a QAST::WVal being compiled | 13:06 | |
13:07
konundra joined
|
|||
moritz | so, when is everybody traveling to Kiev? | 13:09 | |
13:10
PacoLinux joined
|
|||
tadzik | tomorrow morning | 13:12 | |
I mean, I am. Not everybody :) | |||
lizmat | some of everybody alreafy arrived | ||
jnthn | 6am | ||
tadzik | I'm at 13:45 on RPB, or RBP, or something like this | 13:13 | |
FROGGS | I'll be on my couch :o( | ||
jnthn: the $op[3] (Int in Perl 6 code) is a QAST::WVal, so should I compile it the way I did before? | 13:14 | ||
moritz will leave tomorrow morning, and arrive at KBP at 20:20H | 13:15 | ||
tadzik | KBP, that's it :) | 13:16 | |
masak is leaving early tomorrow morning; arriving at 12:40. | 13:17 | ||
moritz | it was quite difficult to find flights with less than 5h stops | 13:18 | |
lizmat | moritz: how are you flying then? | 13:19 | |
jnthn | FROGGS: Well, you just call .as_post or so on it, or something like that, I guess | 13:20 | |
FROGGS | jnthn: that is what I do atm: my $obj := $qastcomp.coerce($qastcomp.as_post( $op[3] ), 'P'); | 13:21 | |
13:21
berekuk left,
PacoLinux left
|
|||
jnthn | FROGGS: looks right | 13:22 | |
13:22
berekuk joined
|
|||
FROGGS | k, thanks | 13:22 | |
jnthn | Does anybody have the link to testneeded tickets in RT handy? | 13:24 | |
ah rakudo.org/rt/testneeded | |||
13:25
ajr joined,
ajr is now known as Guest82787,
Guest82787 is now known as ajr_
|
|||
moritz | also rakudo.de/testneeded | 13:28 | |
jnthn | I've started a page here: act.yapc.eu/ye2013/wiki?node=Perl6Hackathon | 13:30 | |
The idea is that it's a place for those who show up at the Sunday hackathon to find stuff to hack on or how to get started. | |||
masak | damn you, pmichaud. now I keep doing .subst instead of .trans in my Perl 6 code. :P | ||
jnthn | Please contribute. | ||
masak | jnthn++ | 13:31 | |
FROGGS | moritz / jnthn: the things in the QRPA are somehow not 6model objs | 13:33 | |
moritz adds the most wanted repo to the wiki page | 13:40 | ||
jnthn | moritz: Is perl6doc relatively easy to contribute to? | 13:47 | |
moritz | jnthn: aye (as long as you don't want to rebuild the HTML :-) | 13:48 | |
13:48
colomon joined
|
|||
jnthn | moritz: Maybe add some suggestions about that to the hackathon page... | 13:49 | |
moritz does, though the suggestions remain vague :/ | 13:55 | ||
FROGGS | perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); say +nqp::p6list($rpa, List, Int); say "done"' | 13:57 | |
1001 | |||
done | |||
at least that works | |||
now only the values in the array are problematic | |||
13:59
skids joined
|
|||
colomon | hyper_MT? # colomon has been out of it too long... | 13:59 | |
FROGGS | colomon: a local test | 14:00 | |
I'm playing with parrot's threads | |||
colomon | FROGGS++ | ||
JimmyZ | you may want thread pool | 14:01 | |
FROGGS | JimmyZ: what do you mean? | ||
I am creating a task for every value, and parrot only runs NUM_CORES -1 extra threads at a time | 14:02 | ||
if you mean that I should only create NUM_CORES -1 tasks you might be right, but that would be an optimization I wanna do when it works | 14:03 | ||
I dont wanna make it more complex right now :o) | |||
JimmyZ | no , I mean a pool, to reuse created threads | 14:04 | |
14:05
rindolf joined
|
|||
moritz | well, first make it run, then make it fast, no? | 14:05 | |
JimmyZ | yeah | ||
FROGGS | JimmyZ: wasnt that what I meant by just creating like NUM_CORES-1 threads? | ||
JimmyZ | FROGGS: no | 14:06 | |
you mean max threads | |||
FROGGS | right | ||
and you? | 14:07 | ||
JimmyZ | I mean it needs a pool, like apr's memory pool | ||
FROGGS | can you explain that without repeasting the word 'pool'? | ||
-s | |||
JimmyZ | FROGGS: github.com/rakudo/rakudo/blob/nom/...ng.pm#L304 | 14:09 | |
jnthn | .oO( If in doubt, link to the word instead :P ) |
14:10 | |
FROGGS | why should I do that? I think parrot cares about thread scheduling... | 14:11 | |
[Coke] | jnthn: en.wikipedia.org/wiki/The_Word | ||
JimmyZ | hmm, I don't know about parrot thread | 14:12 | |
FROGGS | and I nothing about pools :P | ||
14:13
dmol left
|
|||
FROGGS | JimmyZ: when thinking about it: I dont meant maximum running threads, not maximal total thread count of the program's life | 14:14 | |
14:15
berekuk left,
berekuk joined
|
|||
jnthn | [Coke]: *groan* | 14:17 | |
14:18
sqirrel joined
|
|||
timotimo | hello butterfly fans | 14:18 | |
FROGGS | timotimo: \o/ | 14:19 | |
timotimo | i was thinking about object slowness when it occured to me that the type of box to be created is always passed as a string and then looked up in the caller's lexical pad or something similar; isn't that something that could be done at compile time and increase execution speed by a whole lot? | ||
as in, will a for loop with a thousand Int objects being created that way look up "Int" in the lexical scope a thousand times? | |||
moritz | timotimo: no, it will just be retrieved from the SC that many times | 14:20 | |
jnthn | Right, it's resolved at compile time | ||
timotimo | ah, well that's good. that should be fast | 14:21 | |
jnthn | And on the JVM, it's further resolved using invokedynamic on first access | ||
So provided the JIT is being smart it should work out just like a static object reference. | |||
timotimo | yes. except on parrot ;) | ||
[Coke] googles for butterfly camel velociraptor and ends up in tv tropes. wtf? | 14:25 | ||
tadzik | about hackaton ideas: I've talked to at least 3 people about it, and everyone is like "yeah, someone else should do it", but I'm more and more tempted to consider writing Python on NQP | ||
FROGGS | tadzik: reimplementing Python? | 14:26 | |
tadzik | yeah | ||
Not Quite Perl6 related, I know | |||
(pun intended) | |||
FROGGS | *g* | ||
I'm just a bit concerned about the amount of work | 14:27 | ||
tadzik | yeah, it's a Big Project | ||
14:27
rindolf left
|
|||
tadzik | but maybe writing a nice syntactic sugar for JVM interop? | 14:27 | |
jnthn needs to get that branch merged :) | 14:28 | ||
(the one that starts doing that) | |||
tadzik | ah :) | ||
jnthn | tadzik: gist.github.com/jnthn/6e5b82c4b70fd6592841 # latest | 14:29 | |
It needs an magical multi-dispatcher-y thingy that resolves to the correct Java overload. | |||
diakopter welcomes our new Java overloads | |||
jnthn | On the one hand it's quite an isolated task. On the other hand, it's probably terrifying :) | ||
tadzik | :) | 14:30 | |
FROGGS .oO( everything should dispatch directly to jnthn, the Java overlord ) | |||
jnthn | :P | ||
phew, one of my three talks now has reached "I can deliver this" level :) | |||
tadzik | hehe | ||
jnthn+=0.3 ;) | 14:31 | ||
jnthn | Thankfully, that's the Monday one :) | 14:32 | |
FROGGS | that was just luck :P | ||
nwc10 | tadzik: as a starter, can you write a rpython implementation for NQP? | ||
14:32
fridim_ joined
|
|||
nwc10 | ie, just run the subset of Python that PyPy is implemented in, and bootstrap from there | 14:33 | |
tadzik | nwc10: I assume rpython is to python what nqp is to perl6? | ||
diakopter | nwc10: :) | ||
nwc10 | yes, this is my understanding | ||
tadzik | possibly | ||
timotimo | rpython also includes a VM and jit generator | ||
nwc10 | you don't need the JIT generator (yet) | ||
timotimo | well, not quite. i believe the vm is implemented in rpython itself as part of the pypy-python-interpreter project | ||
you don't need it unless you want to get anywhere near passable performance ;) | |||
14:34
pmurias joined
|
|||
timotimo | but who in this room needs passable performance anyway? | 14:34 | |
dalek | kudo-js: e5020d2 | (Pawel Murias)++ | .gitignore: Add node_modules to .gitignore. |
||
kudo-js: 38273b3 | (Pawel Murias)++ | run_tests: Add passing test 50 to run_tests. |
|||
nwc10 | yep, but if all you worry about is passable performance you end up refactoring the existing parts of Parrot $n times and never implement the missing features | ||
passable performance comes after (mostly) completeness | |||
jnthn looks into getting the use-from-java branch merged | 14:35 | ||
14:36
crab2313 joined
14:38
Psyche^ joined
|
|||
moritz | lizmat: (missed your question earlier) via Istanbul | 14:42 | |
14:42
bluescreen10 joined
|
|||
tadzik | curious | 14:43 | |
jnthn | Whoa, that's roundabout :) | 14:44 | |
tadzik | I have a direct flight from Warsaw | 14:46 | |
14:46
crab2313 left
14:49
FROGGS left
14:50
thou joined
14:51
kaare_ joined
14:58
stevan_ joined
|
|||
BabsSeed | There was no perl chat on StackOverflow | 14:59 | |
I just created it :o | |||
tadzik | is there a chat on SO? | ||
BabsSeed | tadzik: chat.stackoverflow.com/rooms/34988/perl Yes | ||
tadzik | cool, I didn't know they had chatrooms | ||
15:00
stevan_ left
15:02
rjbs joined
|
|||
rjbs | At OSCON, I talked very briefly with TimToady about Perl 5's chances of developing "pair slicing," like this: | 15:03 | |
%h = (a => 1, b => 2, c => 3); %h{ qw( a c ) }; # evaluates to (a => 1, c => 3) | |||
He said that in p6 this is done with adverbs on the slice. | |||
I made such a hash in my (slightly dated) Rakudo and get: | 15:04 | ||
%h{'a', 'c'} :xyzzy | |||
no matter the string after the colon, I get 1 3 | |||
What am I doing wrong? | |||
PerlJam | r: my %h = (a => 1, b => 2, c => 3); %h<a c> :p | 15:05 | |
camelia | rakudo 596534: ( no output ) | ||
jnthn | r: my %h = a => 1, b => 2, c => 3; say %h{'a', 'c'}:p | ||
camelia | rakudo 596534: OUTPUT«"a" => 1 "c" => 3» | ||
PerlJam | jnthn++ not forgetting his "say" :) | ||
rjbs | Aha, the :p works. | ||
Why aren't unknown adverbs problematic? | |||
r: my %h = a => 1, b => 2, c => 3; say %h{'a', 'c'}:pants | |||
camelia | rakudo 596534: OUTPUT«1 3» | ||
rjbs | Or: isn't it problematic that they're ignored? | 15:06 | |
PerlJam | std: my %h = a => 1, b => 2, c => 3; say %h{'a', 'c'}:pants; # curious | ||
camelia | std c2215f0: OUTPUT«ok 00:00 45m» | ||
dalek | rakudo/nom: 1d8f4d7 | jnthn++ | src/Perl6/Grammar.nqp: | 15:07 | |
rakudo/nom: Start processing use more smartly. | |||
rakudo/nom: | |||
rakudo/nom: This handles it through the usual longname parser, meaning we now can | |||
rakudo/nom: pick out the name itself from any colonpairs. | |||
clkao | w/win 24 | ||
15:07
dalek joined,
ChanServ sets mode: +v dalek
|
|||
jnthn | rjbs: It's because method calls happily accepted any on-the-side named params. However, postcircumfix:<{ }> is set to become a sub call eventually, which will mean they start to complain. :) | 15:08 | |
The above mis-detected merge was the use-from-java branch | |||
tadzik | FRO<TAB><TAB> | ||
:( | |||
rjbs | jnthn: Okeydokey! | 15:09 | |
15:09
PacoLinux joined
15:11
sqirrel left
|
|||
dalek | p: d242880 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Missing decontainerize in param unboxing. |
15:11 | |
[Coke] | r: {}:<> | 15:16 | |
camelia | rakudo b17b0b: OUTPUT«===SORRY!===No such method 'has_compile_time_value' for invocant of type 'NQPMu'» | ||
[Coke] | r: %{}:<> | ||
tadzik | haha | ||
camelia | rakudo b17b0b: OUTPUT«===SORRY!=== Error while compiling /tmp/1fwltGIPfHUnsupported use of %{}; in Perl 6 please use %()at /tmp/1fwltGIPfH:1------> %{}⏏:<>» | ||
jnthn | eeks | 15:17 | |
masak submits rakudobug | |||
jnthn | First one wants rakudo...yeah, that | ||
jnthn is now working on getting the JVM io-refactor branch merged :) | |||
[Coke] | ... I was just making a stupid face. :) | 15:18 | |
... kind of looks like tom servo | |||
jnthn | ... | ||
Each to their own :) | 15:19 | ||
[Coke] | jnthn: | ||
15:19
PacoLinux_ joined
|
|||
[Coke] | en.wikipedia.org/wiki/Tom_Servo | 15:19 | |
also, if you don't know who Tom Servo is, watch some MST3K when you can. ;) | |||
masak | mst3k++! | 15:20 | |
15:21
PacoLinux left,
PacoLinux_ is now known as PacoLinux
|
|||
moritz | mst3k sounds like a mixture between mst and masak | 15:21 | |
scary thought | |||
jnthn | Or the next big re-write of mst | ||
masak | trying not to end up in development hell like certain other rewrites. | ||
jnthn | We'll just fix a few things... :P | 15:22 | |
masak | classical rookie mistake. | ||
r: { foo => 42 }:<> | |||
camelia | rakudo b17b0b: OUTPUT«===SORRY!===No such method 'has_compile_time_value' for invocant of type 'NQPMu'» | ||
masak | r: my %h = foo => 42; say %h:<> | 15:23 | |
camelia | rakudo b17b0b: OUTPUT«===SORRY!===Variable '%h:<>' is not declaredat /tmp/Dl0CtxMIxc:1------> my %h = foo => 42; say %h:<>⏏<EOL> expecting any of: postfixOther potential difficulties: Pair with <> really means an empty list, not n… | ||
masak | r: my %h = foo => 42; say %h :<> | ||
camelia | rakudo b17b0b: OUTPUT«===SORRY!===You can't adverb thatat /tmp/qXe5D4t0OZ:1------> my %h = foo => 42; say %h :<>⏏<EOL>Other potential difficulties: Pair with <> really means an empty list, not null string; use :('') to represent the null stri… | ||
masak | no, *you* can't adverb that! | ||
15:44
kbaker joined
15:45
PacoLinux left
15:46
PacoLinux joined
15:47
konundra left
15:56
berekuk left
15:57
btyler joined
15:58
berekuk joined
16:15
pmurias left
16:25
rindolf joined
16:26
btyler_ joined
16:28
btyler left
|
|||
[Coke] yawns. | 16:30 | ||
16:30
domidumont joined
16:40
ajr_ left
|
|||
moritz | std: {}:<> | 16:41 | |
camelia | std c2215f0: OUTPUT«Potential difficulties: Pair with <> really means an empty list, not null string; use :('') to represent the null string, or :() to represent the empty list more accurately at /tmp/FYKgK0vBDc line 1:------> {}:<>⏏<EOL>ok 00:00 43m»… | ||
16:42
grondilu joined
16:44
PacoLinux left,
FROGGS[mobile] joined
|
|||
moritz tries a fix for [perl #119215] | 16:44 | ||
16:44
berekuk left
|
|||
FROGGS[mobile] | tadzik: sup? | 16:45 | |
tadzik | FROGGS[mobile]: I saw jnthn's patches to use statement in rakudo, thought they might overlap with your v5 patches somewhat | 16:46 | |
dalek | p: fbf9be3 | jonathan++ | / (5 files): Start stubbing in new IO bits. |
||
nqp: 57188a8 | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/io/ (3 files): | |||
nqp: Fill out a little more of file I/O. | |||
16:46
dalek left
|
|||
tadzik | and clear the way for you to make v5 a module | 16:46 | |
16:46
dalek joined,
ChanServ sets mode: +v dalek,
berekuk joined
|
|||
FROGGS[mobile] | tadzik: true, I want to adapt them this weekend | 16:47 | |
tadzik | kewl | ||
FROGGS[mobile] | but I guess I need to unbreak v5 first... | 16:48 | |
(that is the problem with nqp/rakudo refactors) | |||
jnthn | If you poke into the guts, the refactors may poke you :) | 16:49 | |
FROGGS[mobile] | troo | ||
jnthn | Probably we should find nice ways to expose APIs though. | ||
for things where you're poking | |||
16:49
PacoLinux joined
|
|||
jnthn | Hopefully by providing a hook for :from<langname> this latest one is a step in that direction for v5. | 16:50 | |
FROGGS[mobile] | well, everytime Perl6::Actions geht's touched, I need to do that too | ||
jnthn: it is techically the same I had | 16:51 | ||
masak | hm, I wonder how we'd do itertools.starmap in Perl 6... | 16:54 | |
docs.python.org/dev/library/itertoo...ls.starmap | |||
16:55
FROGGS joined
|
|||
tadzik | do they have starfleet to? | 16:55 | |
FROGGS | ahhh, that's better | ||
jnthn: I have basically one last problem at that point: I need to implicitly load a module when somebody does "use v5" | 16:57 | ||
moritz | masak: sub starmap(&c, *@v) { @v.map: { c |$_ }) | ||
FROGGS | jnthn: so the user gets Perl5::Terms too, and this is an evil hack atm | 16:58 | |
16:58
dmol joined
|
|||
moritz | masak: (if I understood the docs correctly) | 16:58 | |
FROGGS | jnthn: it would be awesome if you would suggest a nice refactoring for that: github.com/rakudo-p5/v5/blob/maste...patch#L102 | 16:59 | |
or maybe I should propose some way to really make slangs pluggable | |||
17:01
FROGGS[mobile] left
|
|||
dalek | kudo/nom: 525c5d0 | jnthn++ | src/vm/jvm/core/Threading.pm: Add a first cut at a KeyReducer class. If Promise is for synchronizing over scalar values ($) and Channel is for synchronizing over ordered values (@), this is for synchronizing over keyed values (%). |
17:01 | |
jnthn | FROGGS: I don't have a suggestion right off. | ||
17:01
PacoLinux left
|
|||
FROGGS | jnthn: btw, I would propose that a slang would have to provide a proper Slang object (or at least a hash), containing/referencing the grammar, the actions, and additional information like: to which token the parser should switch (like statementlist), and finally what modules should be loaded and what is the library path | 17:02 | |
17:03
daxim left
17:07
sqirrel joined
17:11
crab2313 joined
|
|||
moritz | are there any (not too obscure) languages that use closures and manual memory management? | 17:11 | |
s/use/provide/ | 17:12 | ||
17:14
spider-mario joined
17:15
berekuk left,
berekuk joined
17:20
colomon left
|
|||
masak | moritz: that seems an odd combination. | 17:21 | |
tadzik | I think I read it in some of masak's documents, that a language with closures must have a GC | 17:22 | |
masak | well, "must", as in, you'll make life pretty difficult for yourself in you want to track when a scope. | 17:24 | |
tadzik | I think you accidentally a verb :) | 17:25 | |
jnthn | ...missing verb? :) | ||
masak | ...expires :) | ||
rn: sub echo($shout) { return -> { say $shout } }; my $delayed-shout = echo("Helloooo-o-o-o!"); say "waaaait for it..."; $delayed-shout() | |||
camelia | rakudo 525c5d, niecza v24-88-g1f87209: OUTPUT«waaaait for it...Helloooo-o-o-o!» | ||
masak | at which point can you GC $shout? well, when the *outer* block is done with $delayed-shout. | 17:26 | |
manual GC would mean doing that... manually, somehow. | |||
jnthn | In a sense, though, a closure is just an object. | 17:27 | |
17:27
berekuk left
|
|||
jnthn | The latest C++ has closures | 17:27 | |
Maybe look at how it does the memory management. | |||
moritz | that's an interesting point | ||
jnthn talked a bit about them with the $dayjob C++ guy | 17:28 | ||
grondilu | Is there someone working on a LLVM backend if this makes any sense and would it be a good idea? | 17:29 | |
moritz | grondilu: I'm not aware of anybody working on it | 17:30 | |
grondilu: that said, LLVM is *low-level*, more low-level than the other VMs we build on | |||
maybe moarvm could use LLVMs JIT compiler? | 17:31 | ||
tadzik | people keep asking about LLVM :) | ||
moritz has no idea what the moarvm JIT plans are | |||
17:35
prammer joined
17:36
sqirrel left
|
|||
perigrin | moritz: moarJIT obviously. | 17:39 | |
moritz | lessTime would be fine too :-) | 17:42 | |
[Coke] | maybe we should post a sign in the corner "unless you have a plan about how to use LLVM, please don't ask us about LLVM" | 17:43 | |
moritz | [Coke]: the usual way to go about such a sign is to blog about why no LLVM backend exists, and then link to that whenever somebody asks | 17:45 | |
tadzik | similar to the Production Ready sign | ||
17:49
sqirrel joined,
konundra joined
|
|||
masak | or the Significant Whitespace sign. | 17:54 | |
or the Junctions Are Not Sets sign. | |||
jnthn | see all(@the_signs) | 17:55 | |
17:56
btyler_ left
17:59
btyler joined
|
|||
geekosaur | .oO { signs, signs, everywhere signs / f*ing up the scenery, breaking my mind / do this, don't do that, can't you read the signs? } | 18:02 | |
masak has a feeling whoever wrote those lines shouldn't get into semiotics | 18:08 | ||
18:12
raiph joined
|
|||
geekosaur | 1960s. if you mentioned semiotics to them they'd probably want to smoke it | 18:16 | |
18:18
ajr joined,
ajr is now known as Guest52334,
berekuk joined,
Guest52334 is now known as ajr_
|
|||
masak | I imagine some appropriate mixture of semiotics and category theory would work quite well for smoking. | 18:22 | |
18:23
domidumont left
18:31
bluescreen10 left
18:36
bluescreen10 joined,
bluescreen10 left,
sqirrel left
18:37
bluescreen10 joined,
bluescreen10 left
18:38
bluescreen10 joined
|
|||
benabik | .oO( co-smoking? ) |
18:45 | |
18:48
fridim_ left
|
|||
geekosaur | or coking | 18:49 | |
ajr_ | Q. What do you get if you cross a Mafia boss and a semiotician? | 18:50 | |
A. An offer you can't understand. | |||
18:53
pnu_ joined
18:54
zwut00 joined,
zwut00 left
18:55
pnu_ left
18:56
zwut00 joined,
zwut00 left
18:57
zwut00 joined
19:02
rindolf left
19:05
btyler left
|
|||
[Coke] | big regression on rakudo.jvm today | 19:08 | |
dalek | rl6-roast-data: 9700d90 | coke++ | / (5 files): today (automated commit) |
||
[Coke] | +S02-names/is_default.rakudo.jvm aborted 47 test(s) | 19:09 | |
+S32-str/substr.rakudo.jvm aborted 63 test(s) | |||
almost down below 99%. | |||
19:18
raiph left
|
|||
lizmat | shit, didn't I fudge that properly ? | 19:18 | |
[Coke] | eh, if you fudged it for rakudo, that's good for 99% of the time. | 19:19 | |
probably needs a fudge in each one for rakudo.jvm | 19:20 | ||
jnthn | substr looks like my fault; I turned a soft fail into a hard fail, by the looks of it | 19:21 | |
19:25
raiph joined,
Rotwang left
|
|||
[Coke] | dammit, jnthn, you had 1 job... er, 2 job... 4? er, nevermind. | 19:26 | |
jnthn++ | 19:27 | ||
lizmat | [Coke]: I'm not sure what I need to fudge for rakudo.jvm | 19:31 | |
moritz is too dumb to find the download link for the oracle JDK for the mac | 19:32 | ||
lizmat | could it be that .VAR doesn't work on rakudo.jvm ? | ||
lizmat is hoping to be able to skip from Parakudo to Moarakudo | 19:33 | ||
moritz | I can't a direct download link on docs.oracle.com/javase/7/docs/webno...c-jdk.html and www.oracle.com/technetwork/indexes/....html#java only has a download link for sources of the jdk | 19:34 | |
FROGGS | moritz: that is why I hate oracle | ||
moritz | seems I have to follow the "Java SE" links | 19:36 | |
[Coke] | lizmat: I would have to build the jvm version, run the test files, see what explodes (it's probably the new test, if any), and go from there. | 19:37 | |
moritz | ftw www.oracle.com/technetwork/java/jav...80260.html seems to have it | ||
[Coke] | I will do so this weekend if jnthn doesn't fix it. | ||
lizmat | then my bet is on .VAR not working, because that's the only thing I added that early in the test | ||
lat me fudge that just to make sure | |||
FROGGS | moritz: yeah, found it too right now | 19:38 | |
moritz hates, hates, hates going to websites to install software | |||
there are package managers for all proper OS, and that's what I want to use | 19:39 | ||
FROGGS | moritz: and I hate pages where you have to register in order to download stuff | ||
19:40
Rotwang joined
|
|||
dalek | ast: 9b8bfed | (Elizabeth Mattijsen)++ | S02-names/is_default.t: Fix most likely reason for failing tests on jakudo |
19:40 | |
FROGGS | I still get oracle newsletters | ||
19:40
dmol left,
konundra left
19:41
dmol joined,
konundra joined
19:52
kaare_ left
19:55
bluescreen10 left
19:58
jaffa4 joined
|
|||
jaffa4 | hi | 19:58 | |
I am compiling Perl6 | |||
it isa struck at a point, restrixted settings. | 19:59 | ||
FROGGS | jaffa4: what? | 20:00 | |
jaffa4: did it fail to compile? | |||
jaffa4 | no it is very slow | ||
as if it were in an infinite loop | |||
at a command... perl6..... restricted.settings..... | 20:01 | ||
FROGGS | hmmm | 20:02 | |
there is a line like: ./perl6 --target=pir --output=src/gen/RESTRICTED.setting.pir src/RESTRICTED.setting | |||
but this only takes seconds | |||
(on my box) | |||
moritz | yes, should be much faster than the previous steps | 20:03 | |
jaffa4 | yes, that one | ||
at least 20 minutes has passed | |||
FROGGS | O.o | ||
20:03
pmurias joined
|
|||
FROGGS | that is very weird | 20:03 | |
moritz | jaffa4: is your machine swapping? | 20:04 | |
20:04
btyler joined
|
|||
FROGGS | jaffa4: do you have free diskspace? | 20:04 | |
jaffa4 | free diskbase yes 360gbyes | 20:05 | |
memory at least 8gbytes | |||
FROGGS | hmmm | ||
dalek | ast: 2dfc5a7 | (Elizabeth Mattijsen)++ | S02-names/is_default.t: Add similar tests for %a is default |
||
jaffa4 | I pulled the current version from git | 20:06 | |
FROGGS | jaffa4: what OS do you have? do you build for parrot or JVM backend? | ||
lizmat is pulling and building to check | |||
jaffa4 | win 7 | 20:07 | |
64bit | |||
FROGGS | and you have activeperl installed? or strawberry? | 20:08 | |
(or cygwin) | |||
jaffa4 | strawberry | ||
FROGGS | that is a problem | ||
that is not supported yet AFAIK | |||
jaffa4 | Whwn I am on windows I use strawberry == Larry Wall | 20:09 | |
moritz | I wouldn't have expected that to result in extreme slowness | ||
FROGGS | jaffa4: I love strawberryperl too, but there problems with some compiler defaults | 20:10 | |
are* | |||
20:10
bluescreen10 joined
|
|||
moritz | r: {}:<bla> | 20:10 | |
camelia | rakudo 525c5d: OUTPUT«===SORRY!===No such method 'has_compile_time_value' for invocant of type 'String'» | ||
FROGGS | O.o | ||
time perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); say nqp::p6list($rpa, List, Bool::True); say "done"' | 20:11 | ||
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 184 186 188 190 192 194 196 198 200 202[...] | |||
\o/ | |||
just a bad hack but at least it is working now | 20:12 | ||
lizmat | fwiw, with the latest pull, I don't see any problems on OSX | ||
FROGGS | hmmm, well, jnthn did IO refactors, and the restricted setting disables some IO stuff... could that be it? | 20:13 | |
20:15
woolfy left
|
|||
FROGGS | jaffa4: can you please do: git checkout 59653455b02b1c1d045442c01a010b9f4d935bc2 | 20:15 | |
and then: make install | |||
jaffa4 | Is anyone going to be in KIev tomorrow? | 20:16 | |
masak | |||
lizmat | |||
jaffa4 | and how will you spend the time tomorroe? | ||
lizmat | (is already there) | ||
masak | jaffa4: fretting about connection flights...? :) | 20:17 | |
connecting* | |||
jaffa4 | What is the weather like? | ||
lizmat | no definite plans yet, probably around dinner back at the hotel to see who'd like to join us for dinner | ||
jaffa4 | masak: no | ||
lizmat | 30+ degrees celsius | 20:18 | |
jaffa4 | When? | ||
IN the evening? | |||
lizmat | well, in the afternoon | ||
now it's more like 20 approaching midnight | 20:19 | ||
jaffa4 | You mean in youir hotel? | ||
lizmat | should be 30+ again around noon tomorrow | ||
PerlJam notes that it's currently about 37°C here | |||
lizmat | no, outside | ||
the room has airco :-) | 20:20 | ||
jaffa4 | Is that Dnepr? | ||
lizmat | Dnipro | ||
the ukranian way of naming the river | |||
jnthn | .oO( They're pro at naming it ) |
20:21 | |
lizmat | .o( they're not against it either) | 20:25 | |
on that bad note, it's time to try out the bed in the hotel& | 20:26 | ||
FROGGS | gnight lizmat, sleep well | 20:27 | |
[Coke] | ~~ | 20:28 | |
jnthn | 'night lizmat | 20:32 | |
jaffa4 | FROGGS: tryinf afain | 20:37 | |
FROGGS | cool | 20:38 | |
20:42
cognominal joined
|
|||
jaffa4 | FROGGS: same | 20:45 | |
20:51
btyler_ joined
20:53
btyler left
20:57
skids left
20:58
konundra left
21:01
kbaker left
21:04
btyler_ left
21:06
zwut00 left,
FROGGS left,
jaffa4 left
21:40
BenGoldberg joined
|
|||
masak | 'night, #perl6 | 22:00 | |
see some of you v Kieve tomorrow. | |||
22:01
dmol left
|
|||
tadzik | w Kijowie : | 22:04 | |
:) | |||
jnthn | в Киеве :) | 22:05 | |
22:11
bluescreen10 left
22:15
crab2313 left
22:21
spider-mario left
22:27
pecastro joined
22:29
skids joined
22:33
ajr_ left
22:35
Woodi joined
22:41
eternaleye joined
22:47
lue joined
22:50
colomon joined
|
|||
dalek | p: 134167f | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java: Stub in AsyncFileHandle. |
22:55 | |
p: f06d78e | jnthn++ | src/vm/jvm/ (4 files): Stub in a couple of basic async IO ops. Not actually implemented on the handle yet. |
|||
p: b212927 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java: Implement asynchronous slurp. |
|||
colomon | !!!! | 23:00 | |
jnthn | o/ colomon :) | 23:06 | |
colomon | \o | ||
jnthn is doing some pre-airport hacking :) | |||
colomon | on your way to YAPC::EU? | ||
jnthn | Yeah | ||
colomon | \o/ | ||
jnthn | Flight is at 6am o.O | ||
colomon | yow | 23:07 | |
jnthn | Yeah...was the only combo of sensible layover time and price that really fitted... | ||
Thankfully, the airport trains run all night from the station near here :) | |||
colomon | I apologize for not getting more done for jakudo before the conference. Though I guess I might be able to sneak in a bit of hacking once we get back home (and before we leave again for the next music festival ;). | 23:08 | |
jnthn | np :) | ||
I've just about got the stuff implemented that I wanted for my concurrency talk :) | |||
colomon | I was quite hoping it could hit 100% by then. | ||
jnthn | It woulda been nice. | 23:09 | |
I did a huge refactor of IO stuff the last few days. | |||
It's a bunch cleaner now. | |||
That unblocks getting the async bits in for my talk, but also sockets. | |||
colomon | cool | ||
jnthn++ | |||
jnthn | So I'm hopeful we'll have those soon. | ||
(Yes, I can look at them if nobody beats me to it.) | |||
Dealing with NIO in Java is...argh. :) | 23:10 | ||
It's not bad, it's just un-Perl-ishly long-winded :) | |||
colomon | you do the long winded stuff so the p6 user doesn't have to... | 23:11 | |
jnthn | True :) | 23:12 | |
Asynchronous slurp in the impl I have locally just returns a Promise :) | |||
colomon | oh! | ||
interesting | |||
jnthn | Same kind of object as an async { ... } block does | 23:13 | |
colomon thinks it should return a Cat. ;) | 23:14 | ||
jnthn will try and have a bunch of nice examples in his talk :) | |||
jnthn can think of use cases for both of those :) | |||
Alas, no Cat yet, so... :) | 23:15 | ||
timotimo | cool stuff, jnthn :) | 23:27 | |
23:31
fgomez joined
23:33
pochi joined
23:34
skids left
|
|||
dalek | p: 89491f5 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java: Implement async lines. Pushes each line into a Channel as it is read/decoded. |
23:38 | |
kudo/nom: 495602b | jnthn++ | src/vm/jvm/core/Threading.pm: Add a partial, preliminary IO::Async::File. So far, only supports textual reading (slurp -> Promise, lines -> Channel). |
23:43 | ||
23:44
colomon left
23:49
telex joined
23:58
eternaleye left
|