»ö« 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:00
FROGGS joined
00:02
ssutch left
00:03
berekuk left,
lizmat left
00:05
locsmif left
00:06
berekuk joined
00:07
ssutch joined,
colomon left
00:08
FROGGS left
00:11
kbaker joined
|
|||
grondilu | how do you guys manage to find a function definition in nqp or perl6 source code? Do you use etags or something? | 00:12 | |
00:13
lizmat joined
00:15
locsmif joined
00:17
locsmif left
00:19
census left
|
|||
timotimo ran into a swapbomb somehow | 00:22 | ||
lue: what confuses you about before and after? | 00:23 | ||
r: say "foo" ~~ /o<?after o>/ | |||
camelia | rakudo a37987: OUTPUT«「o」» | ||
timotimo | r: say "foo" ~~ /.o<?before o>/ | ||
camelia | rakudo a37987: OUTPUT«「fo」» | ||
timotimo | r: say "foo" ~~ /.o<!before o>/ | ||
camelia | rakudo a37987: OUTPUT«「oo」» | ||
lue | Well, I expect <?before to be true if I have yet to encounter the given thing, and <?after if I've passed it, and so far it doesn't seem to be the case. | 00:25 | |
Furthermore, it seems variables in there is currently broken, adding to my confusion >:/ | |||
say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before \:>/ | |||
r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before \:>/ | |||
camelia | rakudo a37987: OUTPUT«「:A」 CL => 「:」 alpha => 「A」» | ||
lue | r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before $<CL>>/ | ||
camelia | rakudo a37987: OUTPUT«Nil» | ||
timotimo | okay, let's see | 00:26 | |
00:26
locsmif joined,
zwut00 left
|
|||
timotimo | r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ {} <?before $<CL>>/ | 00:26 | |
camelia | rakudo a37987: OUTPUT«Nil» | ||
timotimo | r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ { say $<CL> } <?before $<CL>>/ | 00:27 | |
camelia | rakudo a37987: OUTPUT«「:」「:」「:」「:」「B」「B」「C」Nil» | ||
timotimo | r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ $<CL>/ | ||
camelia | rakudo a37987: OUTPUT«「:A:」 CL => 「:」 alpha => 「A」» | ||
timotimo | very strange indeed. it should work | ||
maybe the $<...> stuff is just not available inside <?...>? no clue | 00:28 | ||
00:28
Mouq joined
|
|||
timotimo | .u 」 | 00:28 | |
yoleaux | U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」) | ||
preflex | yoleaux: you have 2 new messages. '/msg preflex messages' to read them. | ||
timotimo | r: say ":A:BCD" ~~ /:my $cl$<CL>=. { $cl := $<CL> } <alpha>+ <?before $cl>/ | 00:29 | |
camelia | rakudo a37987: OUTPUT«===SORRY!=== Error while compiling /tmp/dFwVqArOP7Unrecognized regex modifier :myat /tmp/dFwVqArOP7:2------> <BOL>⏏$<CL>=. { $cl := $<CL> } <alpha>+ <?befo expecting any of: scoped declarator constraint … | ||
timotimo | r: say ":A:BCD" ~~ regex { :my $cl$<CL>=. { $cl := $<CL> } <alpha>+ <?before $cl> } | ||
camelia | rakudo a37987: OUTPUT«===SORRY!=== Error while compiling /tmp/67Q1_kG3psUnrecognized regex modifier :myat /tmp/67Q1_kG3ps:2------> <BOL>⏏$<CL>=. { $cl := $<CL> } <alpha>+ <?befo expecting any of: scoped declarator constraint … | ||
lue | And for some reason in my grammar [<!before '::'> .]+ does what I would expect [. <?before '::'>]+ to do (that is, match everything /before/ the :: | ||
) | 00:30 | ||
timotimo | <!before '::'> . means will match single : or anything else, but never the first : of a pair of two | ||
[. <?before '::'>]+ means "match any character if it's followed by two more :" | 00:32 | ||
repeatedly | |||
lue | (Which is why <before> seems to me as though it should be called <at-point> or similar. The word "before" doesn't imply any sense of immediacy for me.) | 00:33 | |
timotimo | it means "am i before ...?" | 00:34 | |
lue | Would it be slightly better described as "Am I right/immediately before ...?" That seems to me what it is. | ||
timotimo | yes | 00:35 | |
that's exactly how it works | 00:36 | ||
just like lookahead and lookbehind always worked | |||
lue | It appears my idea of "before" and "looking ahead" doesn't match the accepted definitions. | 00:37 | |
lue has gotten to that point in problem solving where every misstep is a minor frustration, and likely needs a break. & | |||
At least I know what <before> and <after> *really* mean, and that I wasn't going crazy moving from <?before "CONSTANT"> in small one-liner tests to <?before $<VAR>> in my grammar :) | 00:39 | ||
timotimo | i got panda installed now, fwiw | 00:43 | |
aaw shucks, i did *not* install panda correctly | 00:45 | ||
gah | 00:49 | ||
i'll go to bed instead >:( | |||
00:55
benabik joined
01:01
PacoAir left
01:04
logie left
01:09
kbaker left
01:13
colomon joined
|
|||
dalek | ast: c790303 | coke++ | S (3 files): rakudo.jvm fudges |
01:19 | |
01:24
bbkr joined
01:27
woolfy joined
01:30
aindilis` left
01:37
colomon left
01:40
colomon joined
01:56
crab2313 joined
02:01
btyler_ left
02:09
Khisanth joined
|
|||
timotimo | since i can't seem to fall asleep, i'll make the is dynamic test thingie right | 02:17 | |
because i'm convinced it should actually say my $y is dynamic in that test, rather than skipping it outright | 02:18 | ||
02:23
FROGGS joined
02:28
FROGGS left
|
|||
lue | rn: say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before $<CL>>/ | 02:37 | |
camelia | rakudo a37987: OUTPUT«Nil» | ||
..niecza v24-88-g1f87209: OUTPUT«「:A」 CL => 「:」 alpha => 「A」» | |||
lue | niecza++ | ||
dalek | ast: f5bbfc6 | (Timo Paulssen)++ | S02-names/pseudo.t: i think $y actually supposed to be dynamic here. |
02:38 | |
02:48
Targen left
|
|||
lue | timotimo: ICUC, I solved my problem with a global variable and {$cl = $<CL>} | 02:53 | |
timotimo | yikes :) | ||
lue | [it also happens to satisfy my "I'll show you!" attitude towards Rakudo for such an inexplicably missing feature :)] | 02:57 | |
03:06
BenGoldberg left,
colomon left
03:12
wtw_ joined
03:13
crab2313 left
03:14
wtw left
03:19
colomon joined
03:22
FROGGS joined
03:30
FROGGS left
|
|||
timotimo | i'm amazed that i got an optimizer into place that actually gets executed | 03:30 | |
diakopter | timotimo++ :) | 03:31 | |
timotimo | it only causes crashes so far, though | 03:32 | |
03:32
sidus joined,
raiph joined
|
|||
raiph | Pod errors are reported at the end of S05 and S32/IO | 03:36 | |
03:37
raiph left,
crab2313 joined
03:38
FROGGS joined
03:42
FROGGS left
03:44
xinming left,
colomon left
03:45
xinming joined
|
|||
timotimo | "get_number() not implemented in class 'int'" ?? | 03:45 | |
i'm just trying to == that number with another | 03:46 | ||
03:47
colomon joined
|
|||
timotimo | ah, now i know what went wrong | 03:51 | |
my transformation is successfully finding places where nqp::add_n and friends are used, but cannot figure out if replacing it with ..._i is safe | 03:57 | ||
Mouq | rn: say circumfix:<( )>("a","b",4).^mro | 03:58 | |
camelia | rakudo a37987: OUTPUT«===SORRY!=== Error while compiling /tmp/e6G01bxRdAUndeclared routine: circumfix:<( )> used at line 1. Did you mean '&circumfix:<[ ]>', '&circumfix:<{ }>'?» | ||
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===Undeclared routine: 'circumfix:<( )>' 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 (P6.comp_unit @ 36)… | |||
timotimo | i'm trying to $op[0].returns =:= 1 && $op[1].returns =:= 1, but that's apparently never true and using == instead of =:= sometimes gets me get_number() not implemented in class int which is ... o_O | 04:00 | |
04:00
FROGGS joined
04:01
colomon left
|
|||
timotimo | saving myself using nqp::isint doesn't help :| | 04:01 | |
i'll retry the sleep thing. | 04:05 | ||
Mouq | r: say so 2/e+^0+^+0^+e/2 | 04:11 | |
camelia | rakudo a37987: OUTPUT«True» | ||
04:12
dalek left
04:13
dalek joined,
ChanServ sets mode: +v dalek
|
|||
diakopter | github feature wish: when viewing a pull request, display any branches that currently would merge cleanly from the pull request's target branch, but if this pull request were merged, would cause conflicts with any of the other branches | 04:30 | |
.tell pmichaud happy birthday | 04:31 | ||
yoleaux | diakopter: I'll pass your message to pmichaud. | ||
04:33
FROGGS left
04:43
JQK joined,
JQK left
04:44
birdwindupbird joined
05:00
Targen joined,
FROGGS joined,
FROGGS left,
crab2313 left
05:05
logie joined
|
|||
moritz | o/ | 05:12 | |
05:14
mdn joined
|
|||
moritz | grondilu: fwiw I usually use 'git grep' or 'ack' to find routine definitions | 05:18 | |
05:22
mdn left
05:51
SamuraiJack_ joined
05:52
logie left
05:55
SamuraiJack_ left
06:13
FROGGS joined
|
|||
FROGGS | o/ | 06:14 | |
masak | o/ | 06:23 | |
masak .oO( or, if you decide to have an IPA to celebrate: hoppy birthday, pmichaud ) | 06:24 | ||
FROGGS | pmichaud: happy birthday! # finally | 06:25 | |
moritz | pmichaud++ #birthday! | 06:26 | |
06:28
kaleem joined
|
|||
masak | FROGGS: the wait was excruciating? :) | 06:30 | |
FROGGS | masak: well no, I just fell into torpidity | 06:32 | |
masak .oO( sounds like the next Bond movie. "Bond. James Bond. I just fell into this torpidity." ) | 06:34 | ||
r: say so "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ~~ /a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ | 06:39 | ||
camelia | rakudo a37987: OUTPUT«(timeout)» | 06:40 | |
masak | :( | ||
that one really should be trivial. | 06:41 | ||
arnsholt | Yeah, no Thompson engine yet =) | ||
masak | venue & | ||
arnsholt: Perl 5.10 and up does it instantaneously. not even a hiccup. | |||
arnsholt | Oh, neat | ||
In that case, Perl 5 has a better optimiser =) | 06:42 | ||
Like matching from the end in cases like that, IIRC | |||
JimmyZ | masak: did you test this regex wtih swtch.com/~rsc/regexp/regexp1.html ? | 06:43 | |
06:43
berekuk left
|
|||
moritz | yes, perl 5 regexes track the min and max string length, and do some magic with that | 06:47 | |
and they take the longest literal substring and do a fast search for that, anchoring with the length information | 06:48 | ||
06:48
nugged_ joined
|
|||
moritz | masak: perlgeek.de/blog-en/perl-tips/in-se...egexp.html :-) | 06:48 | |
06:53
nugged_ left
06:56
nugged joined
06:57
benabik left
|
|||
BabsSeed | Are there any online p6 sandboxes like eval.in for other languages? | 06:59 | |
moritz | BabsSeed: we have camelia on irc | 07:00 | |
07:02
denis_boyun joined
|
|||
masak | moritz++ | 07:03 | |
moritz: I had forgotten about that one. | |||
BabsSeed | moritz: Does that parse multi-line input? | 07:04 | |
moritz | r: say 42 | 07:07 | |
camelia | rakudo a37987: OUTPUT«42» | ||
moritz | BabsSeed: it translates  to newline on input, and back again on output | 07:08 | |
BabsSeed: but it's not really suitable for larger programs | 07:10 | ||
07:11
nugged left
07:12
dmol joined,
woolfy left,
lizmat left
07:13
dmol left,
crab2313 joined
07:14
rindolf joined
07:19
BigBear joined
07:21
sqirrel joined
|
|||
masak | moritz: a very informative blog post. I think I may be able to work it in somehow. | 07:21 | |
moritz | masak: each time you such a thing, I'm proud that I helped make your talk better, and feel bad about you spending even more conference time on making slides :-) | 07:23 | |
*say | |||
masak | no no, it's OK :) | ||
07:25
nugged joined
|
|||
masak | I'm not using that much of actual conf time. | 07:27 | |
frettled | haha :D | 07:28 | |
Thank goodness for your enthusiasm! | 07:29 | ||
FROGGS | BabsSeed: camelia can execute public gists | 07:37 | |
07:37
Vico_Wu2 left
07:38
denis_boyun left,
denis_boyun joined
07:41
rindolf left
07:43
aindilis joined
07:44
rindolf joined
07:47
lizmat joined
07:51
benabik joined
07:52
Vico_Wu2 joined
07:55
Vico_Wu2 left
07:57
dmol joined
07:59
nugged left
08:00
Vico_Wu joined
|
|||
dalek | kudo/nom: aa7c682 | (Elizabeth Mattijsen)++ | src/vm/parrot/guts/container.h: Add struct member for "is_dynamic" to be on the safe side |
08:01 | |
kudo/nom: b6e8999 | (Elizabeth Mattijsen)++ | src/Perl6/ (2 files): $/, $! and $/ are now default Nil and dynamic |
|||
08:02
BigBear left
08:03
Gwyxx joined
08:04
dmol left,
lizmat left
08:06
denis_boyun left
08:07
Gwyxx left
08:18
berekuk joined,
bloonix left
08:20
not_gerd joined
|
|||
not_gerd | o/ | 08:20 | |
08:20
denis_boyun joined
|
|||
diakopter | o/ | 08:20 | |
masak | 'An "else" block is now required to have braces except if the body of the "else" is another "if".' -- golang.org/doc/devel/release.html | 08:21 | |
there's nothing new under the sun. | |||
surely dangling elses are a well-known language design issue? | |||
not_gerd | for some reason, building NQP with strawberry perl doesn't set nqp::version | 08:22 | |
08:22
segomos left
|
|||
not_gerd | ah, seems to be my fault - no git in PATH | 08:24 | |
diakopter | masak: at least they didn't require indentation | ||
08:29
berekuk left
|
|||
BabsSeed | Hmm, all the variations of my usual nick are reg'd :D | 08:30 | |
08:31
lizmat joined
08:32
berekuk joined
08:34
dmol joined
08:35
nugged joined
08:37
lizmat left
08:40
lizmat joined
08:41
ugexe joined,
segomos joined
|
|||
lizmat | p: say $/ | 08:41 | |
camelia | pugs: OUTPUT«» | ||
lizmat | n: say $/ | 08:42 | |
camelia | niecza v24-88-g1f87209: OUTPUT«(Any)» | ||
lizmat | pn: say $! | ||
n: say $! | |||
camelia | niecza v24-88-g1f87209: OUTPUT«(Any)» | ||
lizmat | p: say $! | ||
camelia | pugs: OUTPUT«» | ||
lizmat | p: say $_ | ||
camelia | pugs: OUTPUT«» | ||
lizmat | n: say $_ | ||
camelia | niecza v24-88-g1f87209: OUTPUT«(Any)» | ||
lizmat | .oO( need to fudge Nil tests for $/, $! and $_) |
||
08:44
denis_boyun left
08:45
BigBear joined
|
|||
dalek | ast: 8e4a5c6 | (Steve Mynott)++ | S02-magicals/ (2 files): import of spectest for RT #78258 |
08:46 | |
ast: 60b7fc0 | (Steve Mynott)++ | S05-transliteration/79778.t: import of spectest for RT #79778 |
|||
ast: 44d392a | masak++ | S32-io/IO-Socket-INET.sh: kill stray IO-Socket-INET.sh process better cono++ for patch. |
|||
ast: 1411931 | masak++ | S32-io/IO-Socket-INET.sh: remove some stray comments |
|||
ast: 04046f8 | (Elizabeth Mattijsen)++ | S02-names/is_default.t: Unfudge now passing tests |
|||
ast: 751bd56 | (Elizabeth Mattijsen)++ | S02-names/caller.t: Unfudge passing test |
|||
ast: 7252f0d | (Elizabeth Mattijsen)++ | S02-types/nil.t: Add Nil tests for $/, $!, $_ |
|||
08:47
fhelmberger joined
08:48
denis_boyun joined
|
|||
lizmat | hmm…. that as a bit more than I thought :-( | 08:49 | |
dalek | rlito: 4e99a62 | (Flavio S. Glock)++ | / (5 files): Perlito5 - grammar - refactoring |
||
not_gerd | hm... rakudo build on strawberry perl is broken | ||
looks like an infinite loop when building RESTRICTED.setting | 08:50 | ||
moritz | not_gerd: I think JimmyZ reported the same problem before | ||
not_gerd: but we have no idea what's going on | |||
not_gerd: does ./perl6 -e '' terminate? | |||
not_gerd | do we actually need RESTRICTED.setting by default? | ||
moritz | not really; but if that hangs, there's something else being fishy | 08:51 | |
not_gerd | same thing happens when doing lib.pm6 -> lib.pir | 08:54 | |
moritz | not_gerd: does executing (and not compiling) code also hang? | ||
not_gerd | repl starts up, then hangs after one entered code | 08:55 | |
same with -e | |||
08:56
denis_boyun left
|
|||
lizmat | indeed: building the restricted setting is just the first use of the created perl6 executable | 08:56 | |
so *that* is borked | |||
although I cannot reproduce | 08:57 | ||
08:57
crab2313 left
|
|||
lizmat | you could try zapping the install directory and rebuilding | 08:57 | |
moritz | lizmat: seems to be specific to windows + strawberry perl | 08:58 | |
not_gerd doesn't see anything wrong with the config hash | 09:00 | ||
jnthn | yay network | 09:01 | |
dalek | rlito: 21f04b9 | (Flavio S. Glock)++ | / (5 files): Perlito5 - grammar - refactoring |
||
lizmat | jnthn o/ | 09:02 | |
jnthn | not_gerd: oh, so it's a Strawberry specific thing? Hm | 09:04 | |
not_gerd: I saw somebody else have that, and hunted it down so far as it being to do with setting up $*TZ, or all things | |||
moritz | eerew | 09:05 | |
09:05
dmol left
|
|||
moritz | sorry | 09:05 | |
dalek | kudo/nom: 39597e8 | (Elizabeth Mattijsen)++ | src/core/PseudoStash.pm: No longer need to special case $/, $! and $_ |
||
09:05
lizmat_ joined,
nugged_ joined
|
|||
masak | moritz: those stray dalek commits are even the same that I got the other day when I pushed to roast. | 09:05 | |
09:06
dmol joined,
berekuk left
|
|||
lizmat_ | maybe I borked my spec repo | 09:06 | |
tadzik | jnthn: do you haev any kind of tests for select()? | 09:07 | |
moritz | lizmat: unlikely | 09:08 | |
09:08
lizmat left
|
|||
lizmat_ | well, sometimes, when I do a spectest, I all of a sudden need to specify a commit message | 09:08 | |
09:09
nugged left
|
|||
jnthn | tadzik: No, not done spectests for any of the Threading.pm stuff yet. Yes, I know I'm naughty. :) | 09:09 | |
09:09
berekuk joined
|
|||
tadzik | so I can break it and it's not my fault? :P | 09:09 | |
jnthn | ummm :P | 09:10 | |
I just won't pull until after my tak :D | |||
*talk | |||
tadzik | I mean, do ou have any usecase with a predictive result | ||
so I can run it aginst my refactor to see if it's mostly correct | |||
jnthn | I guess I got a bnch of demo code I'll use in my talk...can push it somewhere later | 09:12 | |
tadzik | ok, cool | ||
I'll keep breaking it locally | 09:13 | ||
JimmyZ | Socket Confidential | ||
you should do handshake first | 09:14 | ||
3 times | |||
dalek | kudo/nom: 0cd2c68 | (Elizabeth Mattijsen)++ | src/vm/parrot/guts/container.c: Assigning Nil / undefine a scalar now also sets default for untyped scalars |
09:26 | |
09:26
SamuraiJack_ joined
|
|||
BabsSeed | Any DBI implementations with true prepared statements yet? | 09:27 | |
tadzik | gist.github.com/tadzik/6219412 | ||
BabsSeed | for MariaDB/MySQL? | ||
tadzik | my new idea for select | ||
jnthn: ^^ | |||
it compiles, so it's probably flawless | |||
jnthn | lizmat_: Hm, is that the thing we couldn't do for ages 'cus it broke sectests? | ||
JimmyZ | BabsSeed: github.com/perl6/DBIish | 09:28 | |
the best one for now | |||
dalek | ast: cd8dbe0 | (Elizabeth Mattijsen)++ | S02- (2 files): Unfudge now passing tests |
||
moritz | BabsSeed: fwiw DBIish uses prepared statements for postgresql and sqlite, not mysql (because the mysql C API for prepared statements sucks) | 09:29 | |
lizmat_ | jnthn: yes, now that $/, $! and $_ are default Nil | ||
the patch finally worked! | |||
jnthn | tadzik: Is is-ready menat to be API? | ||
tadzik | jnthn: it should probably be internal. I don't see a reason for it to be exposed | ||
can be an inner sub of select() | 09:30 | ||
jnthn | aye | ||
Goal is functional equivalence except the default feature? | |||
09:30
BigBear left
|
|||
tadzik | not really | 09:31 | |
09:31
BigBear joined
|
|||
tadzik | it picks a random ready candidate, not the firs tone | 09:31 | |
as Go does | |||
jnthn | oh, and that | ||
09:31
berekuk left
|
|||
jnthn | oh, it's vulnerable to semi-predicate issues | 09:32 | |
tadzik | yeah, other than that it should be identical | ||
semi-predicate? | |||
jnthn | What if the Promise evaluates to False? | ||
tadzik | aw | ||
jnthn | That's a perfectly valid result | ||
tadzik | right | ||
jnthn | Or a false hting comes down a channel | ||
tadzik | correct | ||
jnthn | The pick random thing is fine, though | 09:33 | |
arnsholt | Do we have a solution to the semi-predicate thing for optional arguments? | ||
jnthn | arnsholt: You can always look in the capture if you really wish | ||
arnsholt | Right, so the data is there if you really, really need it | ||
TimToady | generally, you just use default to make it so you don't care | ||
arnsholt | Yeah, in 99% of the cases it's a non-problem | 09:34 | |
tadzik | updated: gist.github.com/tadzik/6219412/revisions | ||
TimToady | you could use a default to set a flag that it was executed too | ||
arnsholt | Just curious about the remaining fraction of cases where it makes a difference | ||
Yeah, that works as well | |||
TimToady | hmm | ||
tadzik | I have a gut feeling that it could be done simplier, that last thing | ||
jnthn | ooh, cute solution | 09:35 | |
TimToady | nr: sub foo ($x = eval '$x++') { my $x; $x }; say foo() | ||
camelia | rakudo 39597e: OUTPUT«Potential difficulties: Redeclaration of symbol $x at /tmp/FMyGfKTivk:1 ------> sub foo ($x = eval '$x++') { my $x⏏; $x }; say foo()0» | ||
..niecza v24-88-g1f87209: OUTPUT«Potential difficulties: Useless redeclaration of variable $x (see line 1) at /tmp/83nmFquStq line 1:------> sub foo ($x = eval '$x++') { my $x⏏; $x }; say foo()Unhandled exception: System.NullReferenceException: Object reference not… | |||
jnthn | I'm not sure is-ready multi-dispatch is an overall win over the smart match I had before? | ||
TimToady | nr: sub foo ($y = eval '$x++') { my $x; $x }; say foo() | 09:36 | |
camelia | rakudo 39597e: OUTPUT«1» | ||
..niecza v24-88-g1f87209: OUTPUT«Potential difficulties: $y is declared but not used at /tmp/RdqsmtodBL line 1:------> sub foo (⏏$y = eval '$x++') { my $x; $x }; say foo1» | |||
TimToady | there you go :) | ||
tadzik | jnthn: well, we get error message for free :) | ||
and it's probably easier to extend | |||
like, add somethin gnew over Channel and Promise | |||
jnthn | we probably get an internal multi-dispatch error for free :P | ||
09:36
berekuk joined
|
|||
jnthn | yes, good point... | 09:36 | |
09:38
xinming left
09:40
xinming joined
09:41
nugged_ left
09:43
lizmat_ left
09:48
mdn joined,
danaj left
09:49
lizmat joined
09:50
dmol left
|
|||
mathw | o/ | 09:50 | |
masak | \o | 09:52 | |
09:52
lizmat_ joined
09:53
mdn left
09:54
kaleem left,
lizmat left
09:57
daxim joined
10:02
danaj joined
10:03
dmol joined
|
|||
mathw | Sounds like I'm missing out on some good stuff at YAPC::EU | 10:03 | |
moritz | yes | 10:04 | |
10:08
PacoAir joined,
berekuk left,
daxim left
|
|||
mathw | But on the bright side, my city now has a PM group and we're meeting tonight :) | 10:10 | |
lizmat_ | which city is that ? | ||
10:10
lizmat_ is now known as lizmat
10:11
lizmat left
10:12
rindolf left,
dmol left
|
|||
mathw | Nottingham | 10:18 | |
the one in England | |||
10:31
BigBear left
10:32
aindilis` joined
|
|||
grondilu | r: say .fmt("%032b"), " ", $_ given my uint32 $ = 2**31; | 10:34 | |
camelia | rakudo 0cd2c6: OUTPUT«10000000000000000000000000000000 -2147483648» | ||
grondilu did not expect a negative number :/ | |||
10:35
gabriel_ joined,
cxreg2 joined,
BigBear joined
10:39
denisboyun joined
10:40
danaj left,
aindilis left,
Util joined
|
|||
mathw | not for a uint32, no... | 10:44 | |
10:46
Ulti joined,
obra joined,
Pleiades` joined
10:47
danaj joined,
obra left,
Pleiades` left
10:48
Pleiades` joined,
obra joined
10:49
berekuk joined
10:56
berekuk left,
dmol joined
|
|||
masak | mathw: do people of Nottingham keep having to listen to Robin Hood jokes all the time? | 10:58 | |
TimToady | grondilu: parrot bug, likely; rakudo/jvm gets it right | 10:59 | |
unless it's a 32/64 bit thing | |||
yah, breaks at 2**63 on my computer | 11:00 | ||
(on JVM) | |||
(with a uint64) | 11:01 | ||
mathw | masak: yes. | ||
11:01
berekuk joined
|
|||
TimToady | it also puts a - on the binary output | 11:02 | |
well, jvm is known to be not very unsigned-friendly | |||
FROGGS | hmmm, I though rakudo@jvm uses nqp::sprintf which is bigint-capable... | 11:05 | |
moritz | FROGGS: the problem seems to be uint32, not sprintf | 11:06 | |
FROGGS | ohh | 11:07 | |
I missed that bit | |||
masak | did I hear something about a bug? | 11:11 | |
11:13
lizmat joined
|
|||
masak | jnthn giving his parallelism talk! | 11:13 | |
TimToady | in parallel with other talks?!? | ||
cono | :D | ||
masak | TimToady: and concurrently! | 11:14 | |
11:14
nugged joined
|
|||
diakopter | also, asynchronously. with most of the audience, anyway | 11:16 | |
masak | unless there's a non-empty intersection between the audience and members of N'Sync. | 11:17 | |
moritz | masak: you know that the ' stands for "ot"? | 11:18 | |
or even "otIn" | |||
masak | moritz: o.O | ||
:P | |||
cono | N::Sync | 11:19 | |
11:20
crab2313 joined
11:23
denisboyun left
|
|||
grondilu | r: sleep 2; say now - BEGIN now; | 11:25 | |
camelia | rakudo 0cd2c6: OUTPUT«2.0531855» | ||
arnsholt | It's also worth noting that talks usually employ some kind of message-passing strategy to communicate with other concurrent processes | ||
Arbitrarily twiddling bits is generally frowned upon in that kind of setting | 11:26 | ||
masak | audience members are generally assumed to be actors, even when they do not directly interact with the speaker. | 11:27 | |
arnsholt | Indeed | ||
diakopter | naked actors | ||
masak | which means that they have an address (not necessarily unique), and they encapsulate and manage their own state. | ||
moritz doesn't see anybody naked | 11:28 | ||
diakopter | it's the nervous speaker who's told to imagine the audience naked | ||
moritz | so that he becomes even more nervous? (he must think "what a bunch of weird freaks, I can't emphasize with them") | 11:29 | |
masak | was gonna say. | ||
or at least extremely distracted. | 11:30 | ||
diakopter | no, it's meant to amuse, to relax the speaker at the time of hearing the suggestion. | ||
11:30
kivutar joined
|
|||
diakopter | thus implanting the reminder that they can relax themselves by remembering the thought/incident | 11:30 | |
/notion | |||
(amusedment at the absurdity of the suggestion) | 11:31 | ||
11:32
colomon joined
11:33
nugged left
|
|||
cono | :( async used at line 1. Did you mean '&asin', '&asec', '&asinh' | 11:34 | |
moritz | cono: do you have rakudo on JVM? | 11:35 | |
cono | oh, its only on jvm :( | ||
moritz | aye | ||
FROGGS | but I guess after we have a sane factoring/spec this will land on parrot too | 11:36 | |
cono fan of parrot ;) | |||
diakopter | orly | ||
FROGGS | we can't just try to implement threads on two different backends at the same time | ||
JimmyZ fan of MoarVM | |||
moritz fan of working code | |||
cono | not familiar with MoarVM atm | ||
FROGGS | yeah, MoarVM++ | 11:37 | |
cono: it is not yet ready for rakudo | |||
cono | ic | ||
11:37
kivutar left
|
|||
cono | btw, I left from p2 talk (had to do something :( ), have you guys who are doing p2 were looking to llvm ? | 11:38 | |
diakopter | no; reini explicitly stated he hated llvm | 11:39 | |
cono | :) | ||
ic | |||
diakopter | (for the use of a JIT, b/c it's so "huge") | ||
JimmyZ | sregex uses dynasm | 11:40 | |
11:40
kivutar joined
|
|||
moritz really must do the blog post about why there's no llvm backend | 11:42 | ||
cono | moritz++ | 11:43 | |
masak | "we're not targeting LLVM because it's too low-level a VM" :P | ||
moritz | masak: thank you. Please but that on your blog. :-) | 11:44 | |
cono | :) | ||
it more looks like a tweet, not a post :) | |||
diakopter | it's so low-level a VM it's not a VM | ||
mathw | Isn't llvm more like a slightly-higher-level abstract machine language? | 11:46 | |
tadzik | it is | ||
masak | they should have called it SHLAML. | ||
moritz | shlaml! | ||
mathw | 'virtual machine' may be too wide a term, because it's correct to call llvm a virtual machine, but it's not a virtual machine in the same way that the CLR is | 11:47 | |
diakopter | yes | ||
mathw | but one can understand why rakudo having an llvm backend would be difficult | ||
maybe you'd have to build something else on llvm and then build nqp on that :) | |||
at which point I'm starting to think, why bother? | 11:48 | ||
diakopter | well, you'd bother if you wanted llvm's tremendous optimizers | ||
mathw | true, true | 11:49 | |
11:50
berekuk left
11:53
dmol left,
pmurias joined
|
|||
dalek | kudo-js: d3ee97b | (Pawel Murias)++ | / (4 files): Rename nqp-mo to nqpmo. |
11:53 | |
11:53
dmol joined,
lizmat_ joined
|
|||
masak | jnthn++ # talk | 11:53 | |
FROGGS | :o( | 11:54 | |
FROGGS likes to have a video link | |||
11:54
lizmat_ left
11:56
fridim_ left,
lizmat left
|
|||
not_gerd doesn't know of any dynamic language that has been successfully implemented on top of LLVM | 11:56 | ||
apparently, there's work on an R implementation using VMKit | 11:57 | ||
timotimo | ohai | ||
not_gerd: there was Unladen Swallow, which put a part of itself on top of llvm i believe | |||
tadzik | VMKit? | ||
not_gerd | tadzik: VM layer on top of LLVM | 11:58 | |
mostly runs Java | |||
11:58
BigBear left
|
|||
pmurias | not_gerd: re succesfully on top of LLVM, it's possible to compile perl5 using clang isn't it? ;) | 12:00 | |
12:00
berekuk joined,
lizmat joined
|
|||
timotimo | i suppose it really comes down to what's going on | 12:00 | |
not_gerd | pmurias: perhaps I should have clarified that LLVM should be used for runtime code generation ;) | ||
timotimo | lizmat: the commit message you are being asked for when the spectests are being updates is the result of an implicit "git merge" that happens when the makefile uses "git pull" to get the newest and greatest of spectests and you have commits locally that are not up stream yet | 12:01 | |
12:01
lizmat left
|
|||
timotimo | aaw | 12:01 | |
i hope lizmat backlogs that | |||
12:02
sqirrel left
|
|||
pmurias | not_gerd: rakudo on top of vmkit? ;) | 12:02 | |
12:04
nugged joined,
dmol left
|
|||
not_gerd | pmurias: if someone's interested in doing that, why not | 12:04 | |
but I don't really see the appeal | |||
timotimo | jnthn: i've started on a stub-ish optimizer, but so far i'm not yet able to figure out when the transformation from (add|sub|mul)_n to $0_i is safe; i had hoped i could just introspect the .returns of both $op[0] and $op[1], but that leads nowhere, those seem to be unset. | ||
not_gerd | pmurias: btw, how goes the rakudo-js work? | 12:05 | |
12:07
dmol joined,
lizmat joined
|
|||
pmurias | not_gerd: passing most tests, will start to work on bootstraping this week or the next one | 12:07 | |
timotimo | \o/ | ||
12:07
lizmat left
|
|||
pmurias | will write a blog post explaining the current state of things today | 12:08 | |
not_gerd | pmurias++ ++pmurias # work, blog post | ||
diakopter | pmurias: it has a regex compiler? | 12:14 | |
pmurias | diakopter: a basic one | ||
diakopter: a partial translation of the nqp-jvm/nqp-parrot QAST one | 12:15 | ||
benabik would ponder writing a rakudo-on-vmkit if he was more impressed with vmkit. | 12:17 | ||
12:17
rindolf joined
|
|||
mathw | llvm does seem more suited to languages which you just compile down to machine code and leave that way, like C++ or Haskell. | 12:17 | |
pmurias++ # rakudo-js progress | |||
I'm impressed, because I can barely write a few lines of JS without going mad | 12:18 | ||
pmurias | berekuk: re rakudo-on-vmkit, I was joking we could run rakudo on top of jvm on top of vmkit on top of llvm, and technically we would have a llvm backend ;) | 12:21 | |
sorry, meant benabik | |||
benabik | pmurias++ | ||
12:23
mdn joined
|
|||
mathw | performance might be an issue with that :) | 12:24 | |
I mean, theoretically you could compile parrot using a C-to-javascript compiler and run rakudo on that... | |||
12:26
berekuk left
12:28
kaleem joined
12:29
berekuk joined
12:31
crab2313 left
|
|||
JimmyZ | pmurias: another way to do rukudo-js: github.com/kripken/emscripten/wiki | 12:31 | |
not_gerd | mathw: supposedly, asm.js performance is reasonably competitive | ||
JimmyZ | we just compile parrot to js | ||
not_gerd | blog.mozilla.org/javascript/2013/0...dermonkey/ | ||
C++/asm.js beats Java/Dalvik | |||
JimmyZ | and Emscripten use LLVM bitcode | 12:32 | |
12:33
crab2313 joined
12:41
berekuk left
|
|||
pmurias | JimmyZ: re compiling parrot to js, that's a joke? | 12:43 | |
12:45
berekuk joined
|
|||
JimmyZ | pmurias: not really, see github.com/kripken/emscripten/wiki...-languages | 12:45 | |
dalek | rlito: 9483128 | (Flavio S. Glock)++ | / (2 files): Perlito5 - better perl5 code formatter |
12:46 | |
12:46
dmol1 joined,
dmol left
12:50
Ayiko left
12:53
berekuk left
12:56
ajr joined
12:57
daxim joined,
ajr is now known as Guest85799,
Guest85799 is now known as ajr_,
bloonix joined
|
|||
dalek | rlito: da7bafb | (Flavio S. Glock)++ | / (4 files): Perlito5 - perl5 code formatter fix |
13:03 | |
13:06
dmol1 left
13:07
dmol joined
13:09
cognominal left
13:11
cognominal joined
|
|||
pmichaud | good morning #perl6 | 13:16 | |
yoleaux | 04:31Z <diakopter> pmichaud: happy birthday | ||
timotimo | happy birthday pmichaud :) | 13:17 | |
13:17
bluescreen10 joined,
mdn left
|
|||
nwc10 was unaware of this | 13:17 | ||
happy birthday pmichaud | 13:18 | ||
colomon | pmichaud! \o/ | ||
not_gerd | pmichaud: happy (belated?) birthday | 13:19 | |
13:19
mdn joined
|
|||
FROGGS | pmichaud: happy birthday :o) | 13:20 | |
mathw | I hear it's pmichaud's birthday, or possibly it was his birthday yesterday, so happy birthday :) | ||
alternatively, it's not his birthday and someone got it wrong and we all followed along like sheep | |||
mathw hums that bit from Messiah about the sheep going astray | |||
pmurias | pmichaud: good morning | 13:21 | |
pmichaud | birthday is today, Aug 13 | ||
moritz | pmichaud: it was Aug 13 here when we congratulated in the backlog :-) | 13:22 | |
pmichaud | indeed. | 13:23 | |
colomon | pmichaud: happy birthday! | ||
pmichaud | I just was wanting to remove any yesterday/today confusion. :) | ||
nwc10 | pmichaud: jnthn's concurrency talk was in the main room, because it was the most well attended of the three | 13:26 | |
colomon | nice! | ||
13:26
daxim left,
nugged left
|
|||
pmurias | is there a way to implement nqp::bitneg_I in terms of other ops? | 13:26 | |
moritz | pmurias: yes, it's two's complement | 13:27 | |
it's -$i + 1 or so | |||
(modulo sign errors :-) | |||
pmichaud | nwc10: how did the talk go / how well was it received ? | ||
(jnthn's talks are always excellent :-) | 13:28 | ||
moritz | it was awesome, though he ran out of time at the end | ||
and I think it was well received too | |||
13:30
dmol left
|
|||
pmurias | moritz: -$i + 1 seems to pass the test | 13:30 | |
mathw | yay concurrency | 13:31 | |
felher | rt.perl.org/rt3/Ticket/Display.html?id=119267 | anything I missed or shoud add? | 13:32 | |
13:35
mdn left
|
|||
FROGGS | felher: looks good to me | 13:37 | |
13:37
Aww joined
|
|||
felher | FROGGS: good :) | 13:38 | |
FROGGS: thnx | 13:39 | ||
timotimo | huh. how does the codegen know when to put coercing ops if not by looking at the .returns of the direct child of a QAST::Op? | ||
13:39
kbaker joined
|
|||
timotimo | like, here i have a QAST::Var(lexical $cand_count) and a QAST::IVal(1); how do i make sure that lexical contains an int rather than a num? | 13:39 | |
13:40
notjack joined
13:42
btyler joined
|
|||
tadzik | r: (foo => 5).status.say | 13:45 | |
camelia | rakudo 0cd2c6: OUTPUT«No such method 'status' for invocant of type 'Pair' in block at /tmp/LM7qT0dGMC:1» | ||
tadzik | it says "Method 'status' not found" for Rakudo-jvm, without Pair | 13:46 | |
LTA error message | |||
timotimo | i think that's a know, though? | ||
moritz | nqp-jvm: 42.status | 13:47 | |
camelia | nqp-jvm: OUTPUT«Invocant must be an object in <anon> in process_args in <anon> in <anon> in compile_op in as_jast in as_jast in <anon> in compile_all_the_stmts in as_jast in as_jast in <anon> in compile_all_the_stmts in as_jast in as_jast in <anon> in c… | ||
13:47
lizmat joined
|
|||
FROGGS | jnthn said something about a TODO for exceptions yesterday | 13:47 | |
moritz | nqp-jvm: (sub (){}).status | ||
camelia | nqp-jvm: OUTPUT«Method 'status' not found in <anon> in <anon> in eval in evalfiles in command_eval in command_line in MAIN in <anon> in <anon>» | ||
moritz | same problem in nqp-jvm | ||
FROGGS: I wanted it to have the invocant in the exception object | 13:48 | ||
timotimo | just making sure here: i should be able to port the "turn lexicals into locals" optimisation into nqp almost verbatim, right? | ||
moritz | yes | ||
except you don't have to care about parameters | |||
13:48
not_gerd left
13:49
kaare_ joined
|
|||
moritz | (nor about explicit OUTER:: usage, which iirc doesn't exist in nqp) | 13:49 | |
pmurias | timotimo: and how do you distinguish contextuals? | ||
timotimo | pmurias: i think they are :decl<contvar> | ||
but i'm not sure yet | |||
lizmat | timotimo: which happens when I'm trying to do a spectest on all file potentially changed | 13:51 | |
hmmm… maybe we need a different target for not doing the git pull with make spectest? | |||
or is there an environment variable for that yet? | |||
FROGGS | arnsholt: ping | ||
lizmat: no, there is a cd t/spec && git pull hardcoded | 13:52 | ||
timotimo | i think "make spectest" should do a pull only if it can fast-forward, otherwise warn at the end and use the "old" spectest verison | ||
version | |||
i think i can implement that if you think that's a good idea | |||
13:52
sqirrel joined
|
|||
moritz | lizmat: just make a shell alias for perl t/harness --fudge --keep-exit-code --icu=1 --tests-from-file=t/spectest.data | 13:53 | |
or maybe --icu=0 in your case | |||
13:55
dmol joined,
denis_boyun joined
|
|||
pmurias | timotimo: contvar is for containers not contextuals | 13:58 | |
tadzik | gist.github.com/tadzik/6219412 updated | ||
now not only it works, but it even has some tests :) | |||
arnsholt | FROGGS: Pong. | ||
timotimo | ah, ok | 13:59 | |
lizmat | moritz: good point | 14:00 | |
FROGGS | arnsholt: about using role Native, that won't work because Inline::C allows to declare a C gode block, how would I compile and call that using role Native? | ||
tadzik | now updated with exceptoins on bogus keys | ||
arnsholt | FROGGS: Could you write up a short example? | ||
tadzik | if no further comments arise, I'll commit it after the LT session | 14:01 | |
timotimo | pmichaud: i'm not sure, honestly, how to differentiate contextuals from regular variables in nqp, except by looking if they have a * after their sigil | ||
colomon | tadzik: commit it where? | 14:02 | |
tadzik | colomon: to rakudo-jvm | ||
FROGGS | arnsholt: or wait, it should work... | ||
colomon | tadzik++ | ||
14:02
lizmat left
|
|||
timotimo | but allegedly the changing add/sub/mul (probably not div though, right?) thing is going to give a very big benefit, so i'm chasing that first | 14:04 | |
arnsholt | FROGGS: I assume everything gets compiled into a C function at some point, so it should be doable I think | ||
FROGGS | arnsholt: exactly | ||
it gets compiled to a library, so I just need to apply the is native($library) trait | 14:05 | ||
14:05
berekuk joined
|
|||
arnsholt | Yeah, which uses role Native internally | 14:05 | |
FROGGS | true | ||
pmurias | timotimo: I talked with jnthn about marking contextuals, and they will be marked at decl time | ||
FROGGS | I guess this would be the smallest Inline::C module ever :o) | 14:06 | |
arnsholt | Quite possibly =D | ||
timotimo | will be or already is? ;) | 14:07 | |
FROGGS | well, it will be about 35 lines then (including blanks) | ||
cant test atm if it works because my rakudo is not in a fit state atm | 14:08 | ||
14:08
logie joined
|
|||
pmurias | timotimo: will be | 14:09 | |
timotimo | can you perhaps point me at the right point? then i could perhaps implement that marking myself | 14:10 | |
would that require a new field for QAST::Var or is the hash interface to QAST::Node enough for now? | 14:11 | ||
14:13
nugged joined
14:16
nugged left
14:19
mdn joined
14:21
kaleem left
14:23
berekuk left
|
|||
dalek | rlito: b4940fb | (Flavio S. Glock)++ | / (4 files): Perlito5 - perl5, js - emit map-BLOCK |
14:28 | |
FROGGS | puuuhhh, v5 should work now again... | 14:29 | |
timotimo | ah damn. i thought .result would be the right way to go, but that's in POST, not QAST :( | ||
14:32
berekuk joined
|
|||
pmurias | timotimo: one solution would be to declare the contextuals with a scope marked as contextual instead of lexical | 14:32 | |
timotimo | ah, that would make it easy for my code at least; wouldn't i have to change lots of different things all over the place? | ||
14:33
SamuraiJack_ left
|
|||
pmurias | all of the backends will need updating | 14:33 | |
alternatively it could be marked using the hash interface | 14:34 | ||
14:35
SamuraiJack joined
14:36
denis_boyun left,
Chris_____ joined
14:37
Chris_____ left
14:40
colomon left
14:42
Psyche^_ left
14:43
berekuk left
|
|||
timotimo | yeah, but moritz warned me that the hash interface will be very wasteful | 14:43 | |
14:44
Psyche^ joined
|
|||
[Coke] | .u 🍰 | 14:53 | |
yoleaux | U+1F370 SHORTCAKE [So] (🍰) | ||
[Coke] | .u 🍰🎈🎉😃 | ||
yoleaux | U+1F370 SHORTCAKE [So] (🍰) | ||
U+1F388 BALLOON [So] (🎈) | |||
U+1F389 PARTY POPPER [So] (🎉) | |||
14:55
colomon joined
|
|||
pmurias | timotimo: we need to s/contextual/dynamic at some point too | 14:58 | |
timotimo: re marking using the scope attribute, it shouldn't be so much changing, much more compiling and running tests | 14:59 | ||
timotimo | mhm | ||
now that i finally figured out i have to use nqp::objprimspec to inspect the .returns of QAST::Vars, i can progress! | 15:00 | ||
but it seems like even QAST::IVal has .returns of type 0 (which is "PMC" if i'm not mistaken) | |||
maybe i should change IVal to have a default :returns of int? | 15:02 | ||
pmurias | you could try and see if anything breaks ;) | 15:05 | |
timotimo | doing that ATM | 15:06 | |
but during build i get a strange failure; probably something to do with my changed makefile? | |||
huh. that doesn't seem to have helped. | |||
i put a method BUILD on IVal that nqp::bindattr(self, QAST::Node, '$!returns', int); - shouldn't that cause nqp::objprimspec to return 1? | 15:07 | ||
masak | diakopter just predicted in a lightning talk that we'll have Perl 6.0.0 within a year. | ||
timotimo | nqp: say(nqp::objprimspec(int)) | ||
camelia | nqp: OUTPUT«1» | ||
timotimo | "missing or wrong version of dependency 'src/stage1/gen/nqp-mo.nqp' | 15:08 | |
not sure why i get that :( | |||
PerlJam | Perl 6 has always seemed about 2 years out to me (since around 2007 or so) | 15:09 | |
diakopter++ (I hope he's right :) | |||
timotimo | i expect my optimisation efforts to give us at least a 50% decrease of all run times!!!111¹one | ||
masak | PerlJam: also a (1 year) prediction about p5-p6 interop on moar, and a (2 year) prediction about p5 running faster on moar than in the standard implementation. | 15:10 | |
15:10
dmol left
|
|||
timotimo | why would p5 be faster on moarvm? | 15:10 | |
moritz | timotimo: JIT compiler | 15:11 | |
PerlJam | masak: no fair predicting something he's in direct control of making happen ;) | ||
timotimo | jit compiler for p5 as well? wow | ||
moritz | well, if moarvm gets a jit, and we run p5 code on moarvm, p5 code will benefit from the JIT compiler | ||
timotimo | is it safe to annotate any op that ends in _i with :returns(int), with _n to :returns(num) and _s to :returns(str)? | ||
pmichaud | ...annotate an op? | 15:13 | |
masak | & | ||
pmichaud is a little concerned | |||
timotimo | a QAST::Op | 15:14 | |
pmichaud | Also note that Perl 6 doesn't have a "str" type. :-) | 15:15 | |
(although it's potentially fair for NQP to provide one) | 15:16 | ||
timotimo | this is only for nqp at the moment | ||
15:16
ajr_ left,
cono left
|
|||
pmurias | timotimo: annotate an op, shouldn't :returns just look at the op name? | 15:17 | |
instead of adding an extra attribute? | |||
pmichaud: is gmp an acceptable dependency for nqp-on-node.js? | 15:19 | ||
timotimo | pmurias: i dunno. should it? | 15:20 | |
pmurias | timotimo: not sure | 15:21 | |
dalek | rlito: 8a1ddc6 | (Flavio S. Glock)++ | / (3 files): Perlito5 - js - initialize "our" vars |
15:22 | |
pmurias | I found a bug in my node.js gmp binding :( | 15:26 | |
timotimo | i wonder why it would complain about the version of nqp-mo.nqp :/ | 15:27 | |
FROGGS | arnsholt: PR closed | 15:28 | |
pmurias | timotimo: it? | 15:29 | |
timotimo | the build system; when it's trying to make NQPP5QRegex.nqp | 15:30 | |
from stage2 | |||
ah! | 15:31 | ||
... no, not ah! | |||
FROGGS: are you going to make an SDL2 binding as well? :) | 15:33 | ||
that would be pretty cool | |||
when i don't run my optimizer over the ast, i don't get the dependency problem. weird! | |||
i must be botching up the ast somehow | |||
oh, perhaps i'm using the wrong "int" | 15:36 | ||
15:38
FROGGS left
|
|||
arnsholt | FROGGS: Oh, super-awesome. I thought we'd have to export bits of the internal API still. Not having to expose any of it is even better! | 15:38 | |
Oh, he timed out | 15:39 | ||
pmurias | is nqp::isprime_I 100% sure? | ||
timotimo | for low values surely | 15:40 | |
arnsholt | pmurias: Only for values smaller than some threshold | ||
After that it's wrong with a probability roughly on the order of a bit being flipped in your computer by a cosmic ray, IIRC | 15:41 | ||
pmurias | is 2^-50 good enough? | 15:42 | |
I have to determine which value should I pass to mpz_probab_prime_p from gmplib.org/manual/Number-Theoretic-...tions.html | 15:44 | ||
arnsholt | Sounds good | 15:45 | |
Which backend are you implementing this on? | |||
pmurias | JavaScript | ||
node.js | |||
arnsholt | You can probably look at the Parrot backend for inspiration, though. IIRC it uses gmp as well | ||
(Might be in the actual Parrot tree rather than NQP, mind) | 15:46 | ||
15:47
SmokeMac_ joined
15:48
SmokeMachine left
15:52
FROGGS joined
|
|||
FROGGS | timotimo: I could, but that is not even at the bottom of my todo list :o) | 15:52 | |
pmurias | hmm, what's a good way to implement nqp::div_In? (the last thing left for bignums test) | ||
[Coke] tries running the spec tests -all- on diakopter's box today to reverse the polarity. | 15:53 | ||
FROGGS | pmurias: nqp's code should be a good pattern, no? | ||
15:56
rindolf left
|
|||
timotimo | am i destroying the CompUnit or something? :( | 15:57 | |
pmurias | FROGGS: I'm using a slightly buggy node.js gmp binding not the real library | ||
FROGGS: I have dealt with the problem by multipling the number and the dividing it | 15:58 | ||
dalek | kudo-js: a78a4e4 | (Pawel Murias)++ | / (4 files): Implement bignums and fill in nqp::composetype. Pass test 60. |
15:59 | |
timotimo | cool stuff, pmurias :) | ||
pmurias | pmichaud: 3 failing tests left in nqp/t/nqp, and one of them 49 requires bootstraping | 16:00 | |
timotimo | aaw come on. diff shows no difference between the nqp-mo.pirs :( | 16:02 | |
between working and not working | |||
FROGGS | pmurias++ | ||
timotimo: what errors do you get? | |||
timotimo | wrong or missing dependency of nqp-mo.nqp | 16:03 | |
[Coke] | seen au | 16:04 | |
16:04
sqirrel left
|
|||
[Coke] | .seen au | 16:04 | |
yoleaux | I haven't seen au around. | ||
FROGGS | hmmm | ||
[Coke] | .to au Could use some help getting pugs running on a new box (host06) if you get a few minutes. Thanks. | ||
yoleaux | [Coke]: I'll pass your message to au. | ||
16:04
Targen_ joined
16:05
Targen left
|
|||
timotimo | FROGGS: while trying to compile src/stage/gen/NQPP5QRegex.nqp | 16:06 | |
16:06
ajr joined
16:07
ajr is now known as Guest64498,
Guest64498 is now known as ajr_,
tsmith left
|
|||
FROGGS | timotimo: weird, P5QRegex is often a thing that breaks | 16:07 | |
last time I changed the order in the makefile: all: $(NQP_EXE) $(P5QREGEX_PBC) | 16:08 | ||
timotimo | interestingly it says "current instr:" comes from nqp-mo.pir line 7848 | ||
FROGGS | it built then but I dunno why | ||
timotimo | ah, that's just a nqp_deserialize_sc | ||
[Coke] | raw.github.com/mauke/poly.poly/master/poly.poly | 16:09 | |
timotimo | i just don't understand :( | ||
pmurias | timotimo: have you tried a 'make clean' | 16:10 | |
timotimo | yes, multiple times | ||
do i perhaps have to make bootstrap-files or something? | 16:11 | ||
FROGGS | usually not | ||
pmurias | not with a broken build | ||
timotimo | right | 16:13 | |
pmurias | you didn't touch the Makefile at all? | 16:15 | |
timotimo | i did | ||
i had to add NQP/Compiler.nqp to the build | |||
pmurias | s/touch/change/ | ||
got to go& | 16:16 | ||
16:18
mdn left
16:19
denis_boyun joined
16:20
rindolf joined,
colomon left
|
|||
timotimo | well, turning the optimizer off to get a working build, then making bootstrap-files and turning it back on doesn't help the build unfortunately :( | 16:22 | |
16:24
kivutar left
|
|||
FROGGS | So ein Mist! | 16:29 | |
timotimo | very true :( | 16:31 | |
how do i even begin to debug this? | 16:32 | ||
16:33
kivutar joined
|
|||
arnsholt | FROGGS: Really awesome that you didn't need to export any of the internal stuff! I thought we'd have to do a bit of that | 16:34 | |
But I think you want to move the trait application to the inside of the setup block =) | 16:35 | ||
FROGGS++ # Doing stuff so I don't have to =) | |||
timotimo | FROGGS: "not even at the bottom of my todo list" just means "isn't lowest priority", right? | 16:36 | |
16:41
spider-mario joined
|
|||
FROGGS | :o) | 16:41 | |
timotimo: true | |||
16:42
spider-mario left
|
|||
timotimo | i just read the migration guide and a bit on the new feature set today, there's some really good stuff in there | 16:42 | |
FROGGS | timotimo: because I'm not going to write from scratch or port a game in near future | ||
timotimo: yeah, everything is there that was missing in 1.2 :o) | |||
timotimo | i was a bit surprised to see manymouse support dropped from sdl2, but there's still ManyMouse, so that's no big deal | 16:43 | |
16:49
fhelmberger left
|
|||
dalek | rlito: 3255126 | (Flavio S. Glock)++ | / (21 files): Perlito5 - grammar - more all parser modules to Grammar/ |
16:53 | |
: 33a007d | (Tobias Leich)++ | / (7 files): catch up with rakudo This covers latest use- and load_module refactorings. |
17:02 | ||
17:04
sqirrel joined
17:06
spider-mario joined
|
|||
FROGGS | .tell jnthn I tried to use a custom ModuleLoader for v5, but something with the context went wrong so that I'm unable to `require` a script and use its subs via indirect lookup | 17:06 | |
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
timotimo | i guess i'll just push my optimizer wip and see what others think of it? | 17:07 | |
FROGGS | .tell jnthn so I still need to "hack" rakudo... github.com/rakudo-p5/v5/blob/maste...kudo.patch | ||
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
17:07
birdwindupbird left
|
|||
dalek | p/nqp-optimizer: 456b7a6 | (Timo Paulssen)++ | / (6 files): initial draft of optimizer, inactive ATM. |
17:10 | |
timotimo | according to the debug output, it will transform a few adds, subs and mults to _i | ||
dalek | rlito: 2537119 | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - TODO update |
17:16 | |
timotimo | wow, 2.5 more hours of river cruise | 17:36 | |
not going to get help with the optimizer portion any time soon :( | |||
FROGGS | :/ | 17:39 | |
timotimo | well, still hope they are all enjoying it | 17:42 | |
FROGGS | they will, no doubt :o) | 17:43 | |
17:46
Ayiko joined
17:48
kivutar left,
Targen_ left
|
|||
dalek | kudo/from_nqp: 96314da | (Tobias Leich)++ | src/Perl6/ (2 files): wire NQP's ModuleLoader to use ...:from<NQP> |
17:56 | |
ajr_ | In the RosettaCode "100 doors" problem, this line ($_ = !$_ for @doors[0, * + $_ ...^ * > 100]) for 1..100; | 18:01 | |
produces this error message: Cannot assign to a readonly variable or a value | |||
in block at 100_doors:3 | |||
Obviously, it's become impossible to assign values explicitly to $_ since that was written. Any suggestions as to how to acieve the same thing? | |||
timotimo | for 1..100 -> $_ is rw { ... } is my first suggestion | 18:03 | |
PerlJam | for 1..100 <-> { ... } # should work too | 18:05 | |
timotimo | oh indeed | 18:06 | |
18:13
kivutar joined
18:21
rindolf left
18:22
colomon joined
18:26
mdn joined
18:31
SamuraiJack left
18:39
sidus left
18:40
sidus joined
18:41
sqirrel left
18:53
TimK1 joined
18:54
TimK1 left,
TimK1 joined
|
|||
Util | #ps in 30m | 19:00 | |
FROGGS | hmm? | 19:01 | |
19:01
coax75ohm joined
|
|||
timotimo | parrotsketch | 19:02 | |
PerlJam | .oO( ... will there ever be a moarsketch? ) |
19:03 | |
FROGGS | that'd be cool | ||
19:07
yangzhe joined
|
|||
coax75ohm | rakudo: my Int $i = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; say $i ~ " " ~ $i.fmt('%032x'); | 19:12 | |
camelia | rakudo 0cd2c6: OUTPUT«340282366920938463463374607431768211455 000000000000000000000000ffffffff» | ||
coax75ohm | how do I get 128 bit hex output? | ||
19:13
sidus left
|
|||
FROGGS | rakudo-jvm$ ./perl6 -e 'my Int $i = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; say $i ~ " " ~ $i.fmt("%032x");' | 19:14 | |
340282366920938463463374607431768211455 ffffffffffffffffffffffffffffffff | |||
colomon | right -- use rakudo JVM. ;) | 19:15 | |
FROGGS | coax75ohm: rakudo@JVM contains a patch that will land on rakudo@parrot within the next weeks | ||
19:15
exodist_ is now known as exodist
|
|||
coax75ohm | so wait...? | 19:15 | |
colomon | FROGGS: oh, they're planning on adopting the NQP sprintf for parrakuido? | 19:16 | |
FROGGS | coax75ohm: yes | ||
coax75ohm | ok | ||
FROGGS | colomon: sure, that is the only way to have a common interface | ||
I'm not sure though what parrot's sprintf can what nqp::sprintf can't | 19:17 | ||
colomon wishes this were not August, so he had some time to clean up the nqp::sprintf... | |||
FROGGS | maybe it is ready already | ||
colomon: what's wrong with august? | |||
colomon | FROGGS: music festivals | ||
;) | |||
FROGGS | yeah, I cant concentrate too when they make that loud music :P | 19:18 | |
FROGGS really hopes that v5 passes this time ó.ò | |||
colomon | "this time"? | ||
FROGGS | yeah | 19:19 | |
it is like I pull nqp+rakudo HEAD like once a week, and usually v5 looses like >250 passing tests | 19:20 | ||
so I fixed one thing, from pulling yesterday, pulled again and again things exploded | |||
colomon | ugh. | ||
FROGGS | it sucks when you depend on other's internals | 19:21 | |
[Coke] | FROGGS: we appreciate your pain. Thank you | 19:22 | |
FROGGS | :o) | ||
[Coke] | (I had similar issues trying to code against parrot six years ago) | ||
FROGGS | I really just have to pull at least once a day, so I dont search for the problems >2h | 19:23 | |
yeah | |||
I mean, these refactorings are sane... but still make my life harder | |||
19:24
mdn left
19:25
riceandbeans joined
|
|||
riceandbeans | when is perl6 coming out? | 19:25 | |
FROGGS | haha | ||
next one | |||
riceandbeans: you can download the latest release from rakudo.org | 19:26 | ||
19:26
troydm joined
|
|||
PerlJam | riceandbeans: There is a Rakudo Perl 6 compiler release every month. | 19:26 | |
[Coke] | "there are monthly releases of the rakudo compiler, and irregular but usually at least quarterly releases of Rakudo *, a bundle of the compiler and many modules. The specification is not yet frozen at 6.0.0." | ||
FROGGS | and a so called "Rakudo Star"-release containing useful momdules | ||
modules* | 19:27 | ||
[Coke] | PerlJam: combine those, put them up in a gist we can point people to? | ||
riceandbeans | is Larry Wall not doing anything with Perl 6? | ||
PerlJam | riceandbeans: sure he is! What makes you think otherwise? | ||
riceandbeans | the site looks like something a 12 year old girl would draw | ||
FROGGS | riceandbeans: he is, why do you ask? | ||
troydm | riceandbeans: haha | ||
riceandbeans | not something a 45 year old man in his mother's basement would craft | ||
PerlJam | riceandbeans: excellent! Perl 6 is meant for 12 year old girls. | ||
[Coke] | score one for the home team. | ||
troydm | perl6 is pedobear | 19:28 | |
[Coke] | that's not cool. | ||
riceandbeans | when will it be a stable release? | ||
FROGGS | riceandbeans: the releases we do arn't unstable | ||
troydm | stable != production ready i guess | ||
FROGGS | troydm: and there are gazillion of production-ready-definitions | 19:29 | |
PerlJam | riceandbeans: you need to be even more specific :) | ||
dalek | rlito: 247f88f | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - TODO update |
||
FROGGS | if one asks detailed questions he/she would might get a better answer from me | ||
19:30
TimK1 left
|
|||
troydm | which one is bleading edge perl6 development branch? i've heard of some alternatives poping up and i was just interested | 19:30 | |
like MoarVM | |||
PerlJam | troydm: there are multiple Perl 6 implementations. Which are you referring to? | 19:31 | |
troydm: moarvm is a low-level vm that implementations will target. | |||
troydm | PerlJam: the one that would eventually become defacto Perl 6 reference implementation/standard | ||
PerlJam | well ... at least one implementation. | ||
troydm | which one will be it? | ||
grondilu | rakudo | 19:32 | |
FROGGS | troydm: rakudo is the most active developed perl 6 compiler, running on parrot and on JVM (and someday on MoarVM too) | ||
troydm | so MoarVM is like alternative for Parrot ? | ||
[Coke] | there isn't a "reference implementation" like there is with perl5. | ||
PerlJam | troydm: aye | ||
grondilu | but consider rakudo as a 'high-level' perl6 implementation, since it needs a specific runtime. | ||
[Coke] | troydm: Aye. | ||
troydm | hmm.... ic | 19:33 | |
[Coke] | there's also niecza (p6 on mono - getting a little crufty), and pugs (p6 on haskell - pretty much dead, but still passing a huge chunk of spec tests) | ||
FROGGS | mono is like .Net fwiw | ||
[Coke] | also, GSOC project working on a JS backend rakudo could use. | ||
FROGGS | and there is a javascript backend in the works... | 19:34 | |
right | |||
[Coke] | TOO SLOW I WIN | ||
FROGGS | *g* | ||
PerlJam | .oO( is there an echo in here? ) |
||
FROGGS | [Coke]: sure, you're coffeinated :P | ||
[Coke] | FROGGS: i'm in the middle of drinking a diet mountain dew. | ||
geekosaur | I'm sure there's some pseudo-wit who would refer to this channel as an echo chamber... | ||
19:34
xenoterracide left
|
|||
grondilu | Isn't TimToady also working on his own implementation with std, viv and vile? | 19:35 | |
PerlJam | grondilu: yeah, but those aren't full compilers | 19:36 | |
[Coke] | std: say "can I { parse } this?" | ||
camelia | std c2215f0: OUTPUT«===SORRY!===Undeclared routine: 'parse' used at line 1Check failedFAILED 00:00 42m» | ||
PerlJam | heh | ||
FROGGS | grondilu: I guess it was only meant to be a parser that other implementors could adopt | ||
grondilu | in std/README: C<vill> is a prototype STD-based LLVM-based Perl 6 JIT compiler. | 19:37 | |
^seems promising | |||
japhb | *rez* | ||
[Coke] | maybe that's where the LLVM questions keep coming from. | ||
PerlJam | could be | 19:38 | |
japhb | yoleaux, ask jnthn Pretty please can you post your talk slides for those of us stuck in the wrong hemisphere. | ||
[Coke] | japhb: ".ask jnthn <msg>" | ||
japhb | .ask jnthn Pretty please can you post your talk slides for those of us stuck in the wrong hemisphere. | ||
yoleaux | japhb: I'll pass your message to jnthn. | ||
japhb | Thank you, [Coke] | ||
ETOOMANYBOTSYNTAXES | 19:39 | ||
[Coke] | nojoke. | ||
19:39
crab2313_ joined
|
|||
FROGGS | grondilu: I dont see a villl script | 19:39 | |
PerlJam | now if only that bot figured out to best get in touch with jnthn and deliver the message rather than waiting for him to appear here ;) | 19:40 | |
grondilu | FROGGS: neither do I, but the description is indeed in the README | ||
FROGGS | grondilu: and old :o) | ||
19:42
crab2313 left
|
|||
FROGGS | PerlJam: if the bot had beer.... since I guess beer finds jnthn these days, not vice-versa :o) | 19:42 | |
19:43
mdn joined
|
|||
dalek | : 1792099 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: remove Perl6::ConstantFolder, moritz++ |
19:47 | |
: 9981fe9 | (Tobias Leich)++ | / (2 files): fixed assignment to a list of vars When there were less vars on the LHS than on the right, the vars were Mu instead of Any. |
|||
19:50
xenoterracide joined
|
|||
riceandbeans | is perl6 fully object oriented? | 19:51 | |
[Coke] | r: say 9.sqrt | 19:52 | |
camelia | rakudo 0cd2c6: OUTPUT«3» | ||
[Coke] | (i'm not sure what you mean by "fully", but there's a data point.) | ||
19:53
Targen joined
|
|||
PerlJam | Coke: Can you identify anything in Perl 6 that is not an object? | 19:54 | |
FROGGS | riceandbeans: yes | ||
PerlJam | (I'd answer "yes, Perl 6 is fully object oriented") | ||
19:54
colomon left
|
|||
PerlJam | riceandbeans: But that doesn't mean you *must* use it in an object oriented manner. | 19:55 | |
19:55
zwut00 joined,
zwut00 left
19:58
zwut00 joined
|
|||
segomos | is any of the module versioning stuff implemented ? | 19:58 | |
FROGGS | segomos: not much, no | ||
19:59
crab2313_ left
|
|||
FROGGS | we had some discussions and drafts how to do it right, but there is no complete proposal yet | 19:59 | |
19:59
colomon joined
|
|||
FROGGS | (there is one that I consider to be 80% complete, there are still some minor quirks) | 19:59 | |
segomos | FROGGS: ahh okay..i was looking at how i'm going to do this packaging stuff. whether we're looking at folder structures or some kind of internal 'db' for perl to do version lookups, etc. | 20:00 | |
20:00
prammer left
|
|||
sergot | hi ! o/ | 20:00 | |
20:00
crab2313 joined
|
|||
FROGGS | it probably will be a mix of both | 20:01 | |
there will be at least metadatafiles (dbs), that tell where a file/unit/module/whatever is stored on disk, so you have to query that metadata file first in most cases | |||
20:02
sidus joined
|
|||
segomos | FROGGS: okay, my plan was to implement the function you just described manually (in pp6) until i knew more about how it was going to work internally | 20:03 | |
FROGGS | 'the function' ? | 20:04 | |
segomos | not the comp sci definition | 20:05 | |
20:05
PacoAir left
|
|||
segomos | i was going to build out a way in pp6 to do the version/package/author stuff as an interim solution to including versioned modules | 20:06 | |
unsure of whether it's useful to anyone other than me | |||
i should've prefaced this by saying that i'm working on writing a package management system in perl6 | 20:08 | ||
FROGGS | segomos: then you might want to read this: github.com/FROGGS/p6-S11Versioning | ||
segomos | FROGGS: i've been reading that and have been doing some testing with it, i was just curious about a solution in the interim | 20:09 | |
FROGGS | yeah | ||
btw, my module/description is not in sync with latest discussion (mostly happened during YAPC::NA) | 20:10 | ||
ahh, and btw, right now the parser already accepts the adverbs like :auth to use-statements, and passes this to Perl6::ModuleLoader | 20:11 | ||
segomos | i'm trying to find information on how that stuff is stored on disk or if it's a db somewhere | 20:12 | |
20:12
kaare_ left
|
|||
FROGGS | segomos: if it is easier to start putting everything in a database, go ahead | 20:14 | |
segomos: hint: you could have a switch like: use Test:from<Database> which will use your module locating+loading logic, and if you omit the :from, it would load the modules the common way | 20:17 | ||
r: use Test:from<Database> | 20:18 | ||
camelia | rakudo 0cd2c6: OUTPUT«===SORRY!===Do not know how to load code from Database» | ||
FROGGS | r: use Test:test<ohh yeah!> | ||
camelia | rakudo 0cd2c6: ( no output ) | ||
FROGGS | or you just use a custom adverb :o) | ||
jnthn++ for that gift :o) | 20:19 | ||
segomos | i'm guessing i'd have to extend the module loader | ||
FROGGS | true | ||
basically only the part that slurps the file | |||
segomos | FROGGS: thanks a lot | 20:22 | |
FROGGS | segomos: you are welcome | ||
dont hesitate to ask (me or lizmat++) | 20:23 | ||
20:26
kivutar left,
kivutar joined,
benabik left
|
|||
segomos | FROGGS: we using :auth and :vers ? | 20:27 | |
FROGGS | :auth, :ver, :name, :file and :from | 20:28 | |
segomos | thanks | ||
FROGGS | but the hairy bits for you are :auth and :ver | 20:29 | |
20:30
tsmith joined
20:31
crab2313 left,
mdn left
20:32
mdn joined
20:33
benabik joined
20:34
tsmith left
20:36
mdn left
20:37
bluescreen10 left
20:42
lizmat joined
|
|||
[Coke] | ARRRRRGH | 20:42 | |
FROGGS | sup? | ||
[Coke] | ah, whew, false alarm. THought I had to rerun today's spec test. | 20:43 | |
lizmat | ?? | ||
20:43
berekuk joined
|
|||
FROGGS | hi lizmat | 20:44 | |
[Coke] | lizmat: due to potentially screwing up a merge on the new test machine | 20:45 | |
20:46
stevan_ joined
|
|||
dalek | rl6-roast-data: 415cc66 | coke++ | doit: Change default runs for new host |
20:46 | |
rl6-roast-data: ed3e200 | coke++ | / (5 files): today (automated commit) |
|||
[Coke] | ok. I've now switched from running pugs,rakudo.p,niecza on one machine, and merging in the results from rakudo.j on the other machine, to running everything but pugs on the new machine. | 20:47 | |
20:47
spider-mario left
|
|||
[Coke] | I see that rakudo.p, rakudo.j have improved; niecza is failing more tests than yesterday, which might be a problem with the new host, or with new spectests. | 20:48 | |
20:48
riceandbeans left
|
|||
[Coke] | S05-mass/properties-block.t aborted 670 test(s) - that looks like the main culprit. | 20:48 | |
might just be slower on the new box, I suppose. | 20:49 | ||
lizmat | [Coke]: looking at it | ||
[Coke] | lizmat: it's on niecza. | 20:50 | |
lizmat | ah, could it be that the new machine doesn't have icu properly installed ? | ||
ah, ok | |||
lizmat shuts op | |||
up | |||
[Coke] | rakudo.p is only failing 5 tests on the new box, down from 9ish. | ||
timotimo | oh hey lizmat :) | 20:51 | |
the cruise is over? | |||
lizmat | yes, and we managed to get a cab quickly | 20:52 | |
timotimo | did y'all enjoy it? :) | ||
lizmat | I guess most of the people are still on their way back from the harbor | ||
it was very enjoyable, the weather was nice… food and drink and everything | |||
and even manaaged to talk some shop | 20:53 | ||
:-) | |||
just submitted a lightning talk proposal showing how easy it is tp contribute to Perl 6 and its internals | 20:55 | ||
20:55
traceur joined
|
|||
lizmat | now going downstairs again for some more drinks | 20:55 | |
afk& | 20:56 | ||
FROGGS | have fun! | ||
masak | o/ | 21:02 | |
FROGGS | hi masak! | ||
masak | hejehj :) | ||
ugh. laggy connection is laggy. | 21:03 | ||
diakopter | I guess I don't understand with stating my expectations. I wasn't suggesting anyone should make business decisions on the timings; I was pointing out WHERE IT'S HEADING, and gave 3-4x conservative time horizons | 21:05 | |
*what's wrong | |||
my point was that NO ONE KNOWS that's where it's heading | 21:06 | ||
so I wanted to make people aware | |||
that people believe those things are reasonable | |||
masak | re irclog.perlgeek.de/perl6/2013-08-13#i_7446742 , I think $_ should be rw there. | ||
diakopter: "underpromise and overdeliver" covers exactly what you went up and talked about this afternoon. it doesn't matter whether you call it "promise" or not. | 21:07 | ||
what I admire jnthn++ for is that he does shit, and then showcases it, in that order. | 21:08 | ||
FROGGS | (showcase shit)++ :P | 21:09 | |
21:09
thou joined
21:10
traceur left
|
|||
masak | Perl 6 has such a lousy reputation of (its various representatives) conjecturing "we're totally gonna do X" that we shouldn't even be using that kind of language any more. | 21:10 | |
thou | o/ | ||
FROGGS | o/ | ||
21:14
lizmat left
21:16
sidus left
|
|||
diakopter | masak: it's not that I didn't call it promise. I explicitly called it NOT PROMISE | 21:17 | |
(can't possibly be any more clear than that) | |||
21:18
kbaker left
|
|||
diakopter | I really don't think the average yapc attendee is so stupid as to thing "he must mean promise" when he says in all caps, bold, and italic, "not commitments" | 21:18 | |
masak | it's not that people are stupid, it's a bandwidth thing. | 21:19 | |
simple things get across, complex things don't. | |||
"this is not a commitment" gets lost in the noise of "we will do all this awesome stuff in 1 or 2 years" | 21:20 | ||
diakopter | well, good thing I was way underpromising | ||
masak | I kinda wish you had underpromised a bit more. :/ | 21:21 | |
s/kinda // | |||
diakopter | how should I have phrased it? | 21:22 | |
am I not allowed to talk about what I'll be working on the next few months? | |||
or imply that I have high confidence it will be achieved? | 21:23 | ||
21:23
lizmat joined
|
|||
masak looks for a reference that will explain the phrase "underpromise but overdeliver" to diakopter | 21:24 | ||
diakopter | I still don't see how I didn't underpromise | ||
masak | "If you set expectations high and fail to live up to them you will lose trust and credibility." -- www.dailyblogtips.com/underpromise-...erdeliver/ | 21:25 | |
note, "expectations", not even "commitments". | 21:26 | ||
21:26
stevan_ left
|
|||
masak | you're not the first to phrase it as "I expect X within Y time units." -- and yes, you may well turn out to be right about your corageous predictions. | 21:27 | |
diakopter | again, what should I have said, given I had the goals stated above? | 21:29 | |
masak | but when I look at them, I mostly see more ammunition for people like chromatic who keep track and write sarcastic blog posts 1 or 2 years later. | ||
21:30
rafl joined
|
|||
dalek | kudo/nom: 59f0605 | tadzik++ | src/vm/jvm/core/Threading.pm: Make select() more awesome and more useful. Add a default block that runs when no other candidate is ready. When more than one candidate is ready, pick one at random. |
21:30 | |
masak | diakopter: again, I admire what jnthn does in this case: build stuff first, then give a presentation. I don't know how else to phrase it. | ||
diakopter | so your answer to my question "am I not allowed to talk about what I'll be working on the next few months" is no | 21:31 | |
er, yes. | |||
FROGGS | I guess 'not allowed' are not the right words | ||
masak | your lightning talk wasn't "what I'll be working on the next few months"! | ||
it was "what Perl 6 will be like in the next few years". | 21:32 | ||
PerlJam | diakopter: you could also be exceedingly awesome rendering masak's fears moot. | ||
masak | by all means, please do. | ||
diakopter | I'm VERY VERY VERY VERY VERY VERY VERY VERY VERY VERY confused. | 21:34 | |
masak | diakopter: do you have the impression that more than, say, two people are telling you what I am telling you? | ||
diakopter | what exactly is so uncertain about my expectations? | ||
masak | *sigh* | 21:35 | |
diakopter | I'm trying to find out the source of your fears | ||
PerlJam | my guess is "other people" | ||
masak | I don't want to iterate another cycle through this conversation. | ||
just re-read the backlog. | |||
lue | My guess would be: masak but when I look at them, I mostly see more ammunition for people like chromatic who keep track and write sarcastic blog posts 1 or 2 years later. | 21:36 | |
lizmat | well, when I found out about MoarVM and Perl 5 interop, I was hopeing to see this in action at the YAPC::NA | ||
or by YAPC::EU at the latest | |||
alas, that did not happen yet | |||
timotimo | diakopter: i think the problem is that you expect people to be much more sensible than they actually are | ||
masak | YAPC::EU was the goal. then life interferred. | ||
lue | .oO( Apparently, jnthn hasn't finished it yet :) ) |
21:37 | |
diakopter | *facepalm* | ||
lizmat | life will always interfere | ||
timotimo | you have the best intention and given pertectly reasonable people you would probably have done just fine | ||
21:37
colomon left
|
|||
timotimo | at least that's my guess | 21:37 | |
21:37
coax75ohm left
|
|||
FROGGS | I was expecting that MoarVM hosts nqp by now fwiw :/ | 21:37 | |
diakopter | FROGGS: I think focusing on getting rakudo-jvm ready to demo the async stuff was the better choice | 21:38 | |
masak | fwiw, me too. | ||
FROGGS | so, everybody has his/her expectations, and you probably make ppl upset when you raise em' and can't deliver | ||
lue | diakopter: I think it's that masak would like to avoid more bad thoughts about Perl 6 wherever possible. | 21:39 | |
timotimo | i think so, too. there have been rakudo parallelism talks already, but p5 interop with moar was rather new in comparison | ||
FROGGS | diakopter: yeah, but I thought you were working on that to demo it at the yapc | ||
diakopter | who said that? | ||
FROGGS | lue: true, we have to be careful | 21:40 | |
diakopter: you | |||
diakopter | I might've said I'd like to do that | ||
or even hope to | |||
timotimo | right. too many bad thoughts and the dwarves are going to throw a tantrum | ||
a tantrum spiral would be very bad for our fortress | |||
pmichaud | pmurias: I'm fine with gmp as a dependency | 21:41 | |
lue | .oO(No sense instigating a war with the elves, the siege'd come at the worst part of the spiral.) |
||
diakopter | FROGGS: feel free to quote me with dates; if I had unreasonable expectations about my time availability, that's good to know | ||
pmichaud sees he will need to read the backlog | |||
timotimo | lue: you know that elves are the "everybody hates them" people of df? :) | ||
diakopter | pmichaud: no, just privmsg masak | 21:42 | |
lue | We may not like them, but I'd rather not have *two* civilizations want to siege my fortress. (esp. during a tantrum spiral) | 21:43 | |
diakopter | lizmat: are you saying I shouldn't have helped yapc::na occur and put off the other work? | ||
I could've sworn statements about expectations implied "as long as my expectations about dependencies remain correct" | 21:44 | ||
[Coke] | diakopter: I think the disconnect here is that you expect people to deal rationally with what you presented, and masak doesn't expect them to. | 21:45 | |
21:45
bruges_ left
|
|||
masak | I've never seen diakopter be so defensive. he really thought that was a good idea. | 21:45 | |
experience tells me it probably wasn't. | |||
21:46
colomon joined
|
|||
[Coke] | and, having lobbed that potential grenade, I have to commute home. Hasta luego. | 21:46 | |
perigrin | diakopter: this actually isn't about anything you *said* | ||
masak | right. | ||
perigrin | masak is (I think) saying that people will only hear the dates | ||
and make of them what they will | |||
PerlJam | Hmm. | ||
diakopter | well what dates or 95% confidence interval should I have given? | 21:47 | |
21:47
bruges joined
|
|||
lizmat | and when you *not* make it for a very good reason, they will just assume that you would have never been able to anyway | 21:47 | |
PerlJam | masak: earlier you implied that had his talk been "what I'm working on" it wouldn't have been a problem. true or false? | ||
btyler | trolls feast on perl6 statements that involve dates, I think is the overall message | ||
lizmat | 95% confidence is a a | ||
statistical anomaly | 21:48 | ||
perigrin | diakopter: I wouldn't have given dates at all ... or even a confidence interval | ||
just said "this is where I want to go." | |||
lizmat | perigrin++ | ||
diakopter | without a time frame it's delusional dreaming that hasn't considered the level of effort | ||
perigrin | diakopter: not true | ||
lizmat | I expect a 50% chance of rain this Thursday in Kiev | ||
masak | PerlJam: I've seen "what I'm working on talks". they're usually 20 minutes long, and don't list numbered predictions. they're more about code, design, and results. | ||
perigrin | diakopter: also I'm saying *nothing* about what research or consideration you've done | 21:49 | |
masak | s/on talks"/on" talks/ | ||
21:49
benabik left
|
|||
masak | perigrin: me neither. | 21:49 | |
lue | Your Hauge Grant would beg to differ on the "delusional dreaming" notion. | ||
perigrin | I'm saying announcing it has almost no upside, and a lot of downside. | ||
diakopter | you guys changed the text | ||
I didn't say "what I'm working on" | |||
perigrin wasn't there. | 21:50 | ||
diakopter | I didn't say "what I'm working on" above | ||
21:50
benabik joined,
nugged_ joined
|
|||
lizmat | "21:22am I not allowed to talk about what I'll be working on the next few months?" | 21:50 | |
diakopter | yes. | ||
future. | |||
perigrin | I'm just responding to the two conversations I've seen about it :) | ||
diakopter | these guys are implying they are defining "what I have been working on, look at it" | ||
FROGGS | diakopter: this was what I was talking about: irclog.perlgeek.de/moarvm/2013-08-08#i_7424966 | ||
diakopter | like I said above | 21:51 | |
'might' is even weaker than 'hope' | |||
FROGGS | diakopter: note that I am not upset or so, just wanted to note... I appreciate your work, no doubt | ||
diakopter: not in my understanding | 21:52 | ||
perigrin | diakopter: your expectations of people parsing your meaning and intent is painfully optimisitic, I *sincerely* hope you don't get disappointed by it. | ||
diakopter | lue: huh? | ||
21:53
nugged joined
|
|||
diakopter | lue: that makes no sense | 21:53 | |
lue | If you had just talked about what you're planning to do, I'd've also mentioned the grant to give the idea more weight than just "delusional dreaming" | ||
(not all dreams apply for grants) | |||
diakopter | yes, you're right, it would've been a good idea to mention the grant app | 21:54 | |
lizmat | it's getting too late for me to stay coherent& | 21:55 | |
timotimo | does anyone have an intuition why changing the ast after the ast stage when compiling NQP will give me wrong or missing version of dependency nqp-mo.nqp in stage2? | ||
lue | I think the ultimate point masak was making was: now that you've mentioned specific timeframes, it'd be really cool if you met them, and food for trolls if you don't. | 21:56 | |
perigrin | honestly, I've reached the jaded opinion that anybody stating goals for open source projects that they're not *directly* funded for with solid deadlines ... is ultimately a form of dreaming | ||
21:56
lizmat left
|
|||
timotimo | well, wrong or missing version of dependency nqp-mo.nqp in stage1/gen | 21:56 | |
21:57
nugged_ left
|
|||
colomon | perigrin: I've reach the jaded opinion that anybody stating goals and deadlines for non-trivial software projects is ultimately a form of dreaming. | 21:58 | |
timotimo | i'm trying to golf the optimizer down to the minimal bit of doing stuff that still breaks the build down the road and i'm now down to not changing the ast at all | 22:00 | |
at least it seems to me | |||
22:02
aindilis` left
|
|||
PerlJam | in 20 | 22:04 | |
perigrin | colomon: yeah but I'm paid to dream sometimes. | ||
if I get jaded about my job *that* badly, I stop being able to feed my kids. | 22:05 | ||
colomon | perigrin: I'm not jaded about doing the work, just predicting anything like a schedule for it. | ||
perigrin: I mean, I'll do my best to make the prediction, but I'm wrong about it 90% of the time. | 22:06 | ||
perigrin is a consultant ... we dream up front and get paid based on how accurate our dreams were. | |||
Oh I'm wrong nearly 100% of the time. | |||
colomon | this is definitely why I prefer to be paid by the hour for these things. ;) | 22:07 | |
pmichaud | I thought consultants got paid for helping others to articulate dreams (that then turn out to be inaccurate) :-) | ||
segomos | pmichaud: we get paid to talk in irc about dreams | ||
diakopter | haha | ||
timotimo | huh! | 22:09 | |
say, can ~~ in nqp cause modifications to something? | |||
tadzik | s///? | ||
pmichaud | afair, ~~ in NQP just calls .ACCEPTS, same as in Rakudo | 22:10 | |
(well, without the topicalization that Rakudo does) | |||
benabik | method infix:sym<~~>($/) { make QAST::Op.new( :op<callmethod>, :name<ACCEPTS>, :node($/) ); } | ||
timotimo | the line that breaks the build is: | 22:11 | |
if $op.op ~~ /^$<opt>=(add|sub|mul)_n$/ { } | |||
if i remove that, everything's fine, if i add it, the build breaks with the missing required version | |||
$op is a QAST::Op node | |||
pmichaud | I'm not paying close attention, but sounds to me like a stale or incorrect QRegex library is being loaded. | 22:12 | |
because it would then call accepts on the /.../ regex. | |||
timotimo | would an exact error message dump help? | ||
pmichaud | I think I'm at the extent of my ability to help | 22:13 | |
gotta run | |||
timotimo | ah | ||
thank you! | |||
fortunately i can do this with substr just as easily | |||
nqp: say(nqp::substr("add_n", * - 2, 2)) | |||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::substr(\"add_n\", * - 2, 2)"): Error while compiling op substr (source text: "nqp::substr(\"add_n\", * - 2, 2)"): Error while compiling op substr3: Error while compiling op mul_n (source text: "*… | ||
timotimo | nqp: say(nqp::substr("add_n", nqp::chars("add_n") - 2, 2)) | ||
camelia | nqp: OUTPUT«_n» | ||
22:20
rafl left
|
|||
timotimo | i would have never guessed the regex would cause trouble | 22:20 | |
22:20
troydm left
|
|||
timotimo | yeeeaaaah it goes through! :) | 22:21 | |
now qast tests fail, because ... some reason? | 22:23 | ||
all the other tests succeed, though. looking forward to building a rakudo with this | 22:25 | ||
22:27
rafl joined
|
|||
timotimo | aaw, stage parse didn't get any faster at all | 22:30 | |
but ... but ... all my hopes and dreams!! | |||
FROGGS | :o( | ||
colomon | so what exactly did jnthn demo? just saw a raving tweet…. | 22:32 | |
diakopter | super-cool factorings of neat async patterns | 22:33 | |
timotimo | i think i might want to add more knowledge about other ops, like "nqp::chars returns an int" | 22:34 | |
diakopter | using the new things he made (Promise, Channel, etc) | ||
timotimo | is op "numify" guaranteed to return an int? | ||
like in +@foo? | 22:35 | ||
i can't tell if numify is used in places where it could turn into a num, but i think it could surely do that | |||
i suppose the optimizer could know that if an op numify has a var that starts with @, it will return an int | 22:37 | ||
FROGGS | hmmm, I can't think of something that returns something else | 22:38 | |
colomon | I'd be surprised if it only returns an Int. What happens when you call it on a double? | ||
a Num | |||
timotimo | exactly, that's my worry | ||
timotimo sprinkles more "int" after "my" in some rakudo files | 22:39 | ||
colomon | I mean, I don't know the nqp ops that well yet, but int and num have *very* distinct meanings in p6 talk | ||
timotimo | this is all int and num, not Int and Num | 22:40 | |
colomon | still very distinct meanings | ||
22:41
denis_boyun left
|
|||
timotimo | and in nqp, too ;) | 22:41 | |
22:44
nugged left,
nugged joined
22:47
nugged left
22:48
woolfy joined
|
|||
timotimo | nqp: say(nqp::ord("foo")) | 22:52 | |
camelia | nqp: OUTPUT«102» | ||
22:57
yangzhe left
|
|||
timotimo | any ops you can think of that clearly return int, but do not end in _i? | 22:59 | |
segomos | FROGGS: is there plans to redo the moduleloader ? | 23:00 | |
FROGGS | segomos: it must be done somehow for S11, but plans in a sense of beeing an item of a TODO, no | ||
timotimo | if i could go from "callmethod .to/.from on lexical $/", that would be a big win, too | 23:06 | |
does that sounds dumb? | |||
if somebody defines "my $/" in nqp code and has a class that has .to and .from that don't return int, that would bomb pretty bad | 23:07 | ||
and even worse may explode in very unexpected ways | |||
23:10
benabik left
23:11
zwut00 left
|
|||
FROGGS | nqp: my $/ | 23:12 | |
camelia | nqp: ( no output ) | ||
FROGGS | :/ | ||
23:14
nugged joined
23:15
BenGoldberg joined
|
|||
BenGoldberg | Good evening | 23:17 | |
timotimo | hello ben | 23:18 | |
BenGoldberg | r: (^Inf).infinite.say | ||
camelia | rakudo 59f060: OUTPUT«True» | ||
BenGoldberg | r: (0..Inf).infinite.say | ||
camelia | rakudo 59f060: OUTPUT«True» | ||
23:20
btyler left
23:22
ajr_ left
|
|||
BenGoldberg | r: (grep(True,(^Inf))).infinite.say | 23:22 | |
camelia | rakudo 59f060: OUTPUT«Nil» | ||
23:23
nugged left
|
|||
timotimo | nqp: say(nqp::isnull(NQPMu)) | 23:24 | |
camelia | nqp: OUTPUT«0» | ||
timotimo | oh, huh | ||
23:24
FROGGS left
23:28
benabik joined,
colomon left
|
|||
BenGoldberg | r: role finite-list { };my @foo but finite-list;say @foo ~~ List;say @foo ~~ finite-list; | 23:29 | |
camelia | rakudo 59f060: OUTPUT«TrueFalse» | ||
timotimo | i get lots of transform successes in nqp, but almost none in rakudo | 23:31 | |
in some of the files it seems like i can't find "int", "num" or "str" symbols | 23:32 | ||
23:32
fridim_ joined
|
|||
timotimo | and stage parse is still >100s; before i call that a failure i should look at how long exactly it takes with unoptimized nqp, though. | 23:33 | |
23:34
berekuk left
|
|||
timotimo | stage parse is 105.1s and stage optimize is 14.0s for optimized nqp. | 23:35 | |
23:36
berekuk joined
|
|||
segomos | r: say "test" ~~ rx{^ <![e]>+ $} | 23:37 | |
camelia | rakudo 59f060: OUTPUT«(timeout)» | ||
segomos | this is a bug? | 23:39 | |
diakopter | pmichaud: ^ bug? | ||
timotimo | seems pretty buggy, yeah. that should totally terminate | 23:40 | |
virtually no change in time with unoptimized nqp :| | 23:42 | ||
BenGoldberg | r: say "test" ~~ /<![^e]>+/; | ||
timotimo | must be because this exact optimisation is failing so hard when perl6 is being compiled | ||
i wonder why | |||
camelia | rakudo 59f060: OUTPUT«(timeout)» | 23:43 | |
segomos | BenGoldberg: both timeout from what i've seen | ||
timotimo | what's that ^ supposed to do there? | ||
BenGoldberg | Oops | ||
r: say "test" ~~ /<![e]>+/; | |||
camelia | rakudo 59f060: OUTPUT«(timeout)» | ||
segomos | the problem is with the negation | ||
r: say "test" ~~ rx{^ <[e]>+ $} | |||
camelia | rakudo 59f060: OUTPUT«Nil» | 23:44 | |
segomos | r: say "test" ~~ rx{<[e]>+} | ||
camelia | rakudo 59f060: OUTPUT«「e」» | ||
segomos | r: say "test" ~~ rx{^<[e|\w]>+$} | 23:45 | |
camelia | rakudo 59f060: OUTPUT«「test」» | ||
23:45
kivutar left
|
|||
BenGoldberg | r: say "test" ~~ /<![e]>{3}/; | 23:46 | |
camelia | rakudo 59f060: OUTPUT«===SORRY!=== Error while compiling /tmp/rDEDjqJAicUnsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)at /tmp/rDEDjqJAic:1------> say "test" ~~ /<![e]>{3}⏏/;» | ||
BenGoldberg | r: say "test" ~~ /<![e]>{3,3}/; | ||
camelia | rakudo 59f060: OUTPUT«===SORRY!=== Error while compiling /tmp/63D81hQNiFUnsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)at /tmp/63D81hQNiF:1------> say "test" ~~ /<![e]>{3,3}⏏/;» | ||
BenGoldberg | r: say "test" ~~ /<![e]>**3/; | ||
camelia | rakudo 59f060: OUTPUT«「」» | ||
BenGoldberg | r: say "test" ~~ /<![e]>**5/; | ||
camelia | rakudo 59f060: OUTPUT«「」» | ||
BenGoldberg | r: say "test" ~~ /<![e]>**Inf/; | ||
camelia | rakudo 59f060: OUTPUT«===SORRY!=== Error while compiling /tmp/EIeTD9MMCJQuantifier quantifies nothingat /tmp/EIeTD9MMCJ:1------> say "test" ~~ /<![e]>**⏏Inf/; expecting any of: postfix infix stopper infix or meta-infix… | 23:47 | |
BenGoldberg | r: say "test" ~~ /<![e]>**0..Inf/; | ||
camelia | rakudo 59f060: OUTPUT«===SORRY!=== Error while compiling /tmp/xKy0WHiKLnOnly integers or '*' allowed as range quantifier endpointat /tmp/xKy0WHiKLn:1------> say "test" ~~ /<![e]>**0..⏏Inf/;» | ||
BenGoldberg | r: say "test" ~~ /<![e]>**0..*/; | ||
camelia | rakudo 59f060: OUTPUT«(timeout)» | ||
BenGoldberg | r: say "test" ~~ /<![e]>**10000/; | ||
camelia | rakudo 59f060: OUTPUT«「」» | ||
BenGoldberg | r: say "test" ~~ /<![e]>**100000/; | ||
camelia | rakudo 59f060: OUTPUT«「」» | ||
BenGoldberg | What prevents a zero-length match from happening two or more times in the same locaiton? | 23:48 | |
r: say "test" ~~ /<![e]>**1000000/; | 23:49 | ||
camelia | rakudo 59f060: OUTPUT«(timeout)» | ||
timotimo | ah, i can kind of guess why symbol "int" wouldn't be available when compiling BOOTSTRAP.nqp | ||
ah, i found out what i did wrong! | 23:51 | ||
silly me :D | |||
maybe now it'll turn out to be a bit faster | 23:52 | ||
23:52
Vico_Wu1 joined
|
|||
timotimo | huh. it did transform lots of things, in grammar and friends, too. but no visible change in run time :( | 23:54 | |
23:54
Vico_Wu left
23:55
Vico_Wu joined
|
|||
timotimo | ell, i hope at least the spectests are clean, since clearly the optimizer has no speed benefits >_> | 23:56 | |
23:56
Vico_Wu1 left
|
|||
timotimo | failures only in is_default and nil so far ... | 23:57 | |
23:59
araujo joined
|