Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-08-13

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 FROGGS joined #perl6
00:06 berekuk joined #perl6
00:07 ssutch joined #perl6
00:11 kbaker joined #perl6
00:12 grondilu how do you guys manage to find a function definition in nqp or perl6 source code?  Do you use etags or something?
00:13 lizmat joined #perl6
00:15 locsmif joined #perl6
00:22 * timotimo ran into a swapbomb somehow
00:23 timotimo lue: what confuses you about before and after?
00:23 timotimo r: say "foo" ~~ /o<?after o>/
00:23 camelia rakudo a37987: OUTPUT«「o」␤␤»
00:23 timotimo r: say "foo" ~~ /.o<?before o>/
00:23 camelia rakudo a37987: OUTPUT«「fo」␤␤»
00:23 timotimo r: say "foo" ~~ /.o<!before o>/
00:23 camelia rakudo a37987: OUTPUT«「oo」␤␤»
00:25 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 lue Furthermore, it seems variables in there is currently broken, adding to my confusion >:/
00:25 lue say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before \:>/
00:25 lue r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before \:>/
00:25 camelia rakudo a37987: OUTPUT«「:A」␤ CL => 「:」␤ alpha => 「A」␤␤»
00:25 lue r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before $<CL>>/
00:25 camelia rakudo a37987: OUTPUT«Nil␤»
00:26 timotimo okay, let's see
00:26 locsmif joined #perl6
00:26 zwut00 left #perl6
00:26 timotimo r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ {} <?before $<CL>>/
00:26 camelia rakudo a37987: OUTPUT«Nil␤»
00:27 timotimo r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ { say $<CL> } <?before $<CL>>/
00:27 camelia rakudo a37987: OUTPUT«「:」␤␤「:」␤␤「:」␤␤「:」␤␤「B」␤␤「B」␤␤「C」␤␤Nil␤»
00:27 timotimo r: say ":A:BCD" ~~ /$<CL>=. <alpha>+ $<CL>/
00:27 camelia rakudo a37987: OUTPUT«「:A:」␤ CL => 「:」␤ alpha => 「A」␤␤»
00:27 timotimo very strange indeed. it should work
00:28 timotimo maybe the $<...> stuff is just not available inside <?...>? no clue
00:28 Mouq joined #perl6
00:28 timotimo .u 」
00:28 yoleaux U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
00:28 preflex yoleaux: you have 2 new messages. '/msg preflex messages' to read them.
00:29 timotimo r: say ":A:BCD" ~~ /:my $cl␤$<CL>=. { $cl := $<CL> } <alpha>+ <?before $cl>/
00:29 camelia rakudo a37987: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dFwVqArOP7â�¤Unrecognized regex modifier :myâ�¤at /tmp/dFwVqArOP7:2â�¤------> [32m<BOL>[33mâ��[31m$<CL>=. { $cl := $<CL> } <alpha>+ <?befo[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤  â€¦
00:29 timotimo r: say ":A:BCD" ~~ regex { :my $cl␤$<CL>=. { $cl := $<CL> } <alpha>+ <?before $cl> }
00:29 camelia rakudo a37987: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/67Q1_kG3psâ�¤Unrecognized regex modifier :myâ�¤at /tmp/67Q1_kG3ps:2â�¤------> [32m<BOL>[33mâ��[31m$<CL>=. { $cl := $<CL> } <alpha>+ <?befo[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤  â€¦
00:29 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 lue )
00:30 timotimo <!before '::'> . means will match single : or anything else, but never the first : of a pair of two
00:32 timotimo [. <?before '::'>]+ means "match any character if it's followed by two more :"
00:32 timotimo repeatedly
00:33 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:34 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.
00:35 timotimo yes
00:35 timotimo that's exactly how it works
00:36 timotimo just like lookahead and lookbehind always worked
00:37 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. &
00:39 lue 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:43 timotimo i got panda installed now, fwiw
00:45 timotimo aaw shucks, i did *not* install panda correctly
00:49 timotimo gah
00:49 timotimo i'll go to bed instead >:(
00:55 benabik joined #perl6
01:13 colomon joined #perl6
01:19 dalek roast: c790303 | coke++ | S (3 files):
01:19 dalek roast: rakudo.jvm fudges
01:19 dalek roast: review: https://github.com/perl6/roast/commit/c790303ffb
01:24 bbkr joined #perl6
01:27 woolfy joined #perl6
01:40 colomon joined #perl6
01:56 crab2313 joined #perl6
02:09 Khisanth joined #perl6
02:17 timotimo since i can't seem to fall asleep, i'll make the is dynamic test thingie right
02:18 timotimo because i'm convinced it should actually say my $y is dynamic in that test, rather than skipping it outright
02:23 FROGGS joined #perl6
02:37 lue rn: say ":A:BCD" ~~ /$<CL>=. <alpha>+ <?before $<CL>>/
02:37 camelia rakudo a37987: OUTPUT«Nil␤»
02:37 camelia ..niecza v24-88-g1f87209: OUTPUT«「:A」␤ CL => 「:」␤ alpha => 「A」␤␤»
02:37 lue niecza++
02:38 dalek roast: f5bbfc6 | (Timo Paulssen)++ | S02-names/pseudo.t:
02:38 dalek roast: i think $y actually supposed to be dynamic here.
02:38 dalek roast: review: https://github.com/perl6/roast/commit/f5bbfc634a
02:53 lue timotimo: ICUC, I solved my problem with a global variable and {$cl = $<CL>}
02:53 timotimo yikes :)
02:57 lue [it also happens to satisfy my "I'll show you!" attitude towards Rakudo for such an inexplicably missing feature :)]
03:12 wtw_ joined #perl6
03:19 colomon joined #perl6
03:22 FROGGS joined #perl6
03:30 timotimo i'm amazed that i got an optimizer into place that actually gets executed
03:31 diakopter timotimo++ :)
03:32 timotimo it only causes crashes so far, though
03:32 sidus joined #perl6
03:32 raiph joined #perl6
03:36 raiph Pod errors are reported at the end of S05 and S32/IO
03:37 crab2313 joined #perl6
03:37 FROGGS joined #perl6
03:45 xinming joined #perl6
03:45 timotimo "get_number() not implemented in class 'int'" ??
03:46 timotimo i'm just trying to == that number with another
03:47 colomon joined #perl6
03:51 timotimo ah, now i know what went wrong
03:57 timotimo 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:58 Mouq rn: say circumfix:<( )>("a","b",4).^mro
03:58 camelia rakudo a37987: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/e6G01bxRdAâ�¤Undeclared routine:â�¤    circumfix:<( )> used at line 1. Did you mean '&circumfix:<[ ]>', '&circumfix:<{ }>'?â�¤â�¤Â»
03:58 camelia ..niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'circumfix:<( )>' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36)…
04:00 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 FROGGS joined #perl6
04:01 timotimo saving myself using nqp::isint doesn't help :|
04:05 timotimo i'll retry the sleep thing.
04:11 Mouq r: say so 2/e+^0+^+0^+e/2
04:11 camelia rakudo a37987: OUTPUT«True␤»
04:13 dalek joined #perl6
04:30 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:31 diakopter .tell pmichaud happy birthday
04:31 yoleaux diakopter: I'll pass your message to pmichaud.
04:43 JQK joined #perl6
04:43 JQK left #perl6
04:44 birdwindupbird joined #perl6
04:59 Targen joined #perl6
05:00 FROGGS joined #perl6
05:05 logie joined #perl6
05:12 moritz o/
05:14 mdn joined #perl6
05:18 moritz grondilu: fwiw I usually use 'git grep' or 'ack' to find routine definitions
05:51 SamuraiJack_ joined #perl6
06:13 FROGGS joined #perl6
06:14 FROGGS o/
06:22 masak o/
06:24 * masak .oO( or, if you decide to have an IPA to celebrate: hoppy birthday, pmichaud )
06:25 FROGGS pmichaud: happy birthday! # finally
06:26 moritz pmichaud++ #birthday!
06:28 kaleem joined #perl6
06:30 masak FROGGS: the wait was excruciating? :)
06:32 FROGGS masak: well no, I just fell into torpidity
06:34 * masak .oO( sounds like the next Bond movie. "Bond. James Bond. I just fell into this torpidity." )
06:39 masak 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:40 camelia rakudo a37987: OUTPUT«(timeout)»
06:40 masak :(
06:41 masak that one really should be trivial.
06:41 arnsholt Yeah, no Thompson engine yet =)
06:41 masak venue &
06:41 masak arnsholt: Perl 5.10 and up does it instantaneously. not even a hiccup.
06:41 arnsholt Oh, neat
06:42 arnsholt In that case, Perl 5 has a better optimiser =)
06:42 arnsholt Like matching from the end in cases like that, IIRC
06:43 JimmyZ masak: did you test this regex wtih http://swtch.com/~rsc/regexp/regexp1.html ?
06:47 moritz yes, perl 5 regexes track the min and max string length, and do some magic with that
06:48 moritz and they take the longest literal substring and do a fast search for that, anchoring with the length information
06:48 nugged_ joined #perl6
06:48 moritz masak: http://perlgeek.de/blog-en/perl-tips/in-search-of-an-exponetial-regexp.html :-)
06:56 nugged joined #perl6
06:59 BabsSeed Are there any online p6 sandboxes like http://eval.in for other languages?
07:00 moritz BabsSeed: we have camelia on irc
07:02 denis_boyun joined #perl6
07:03 masak moritz++
07:03 masak moritz: I had forgotten about that one.
07:04 BabsSeed moritz: Does that parse multi-line input?
07:07 moritz r: say 42
07:07 camelia rakudo a37987: OUTPUT«42␤»
07:08 moritz BabsSeed: it translates ␤ to newline on input, and back again on output
07:10 moritz BabsSeed: but it's not really suitable for larger programs
07:11 dmol joined #perl6
07:12 woolfy left #perl6
07:13 crab2313 joined #perl6
07:14 rindolf joined #perl6
07:19 BigBear joined #perl6
07:21 sqirrel joined #perl6
07:21 masak moritz: a very informative blog post. I think I may be able to work it in somehow.
07:23 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 moritz *say
07:23 masak no no, it's OK :)
07:25 nugged joined #perl6
07:27 masak I'm not using that much of actual conf time.
07:28 frettled haha :D
07:29 frettled Thank goodness for your enthusiasm!
07:37 FROGGS BabsSeed: camelia can execute public gists
07:38 denis_boyun joined #perl6
07:43 aindilis joined #perl6
07:44 rindolf joined #perl6
07:47 lizmat joined #perl6
07:51 benabik joined #perl6
07:52 Vico_Wu2 joined #perl6
07:57 dmol joined #perl6
08:00 Vico_Wu joined #perl6
08:01 dalek rakudo/nom: aa7c682 | (Elizabeth Mattijsen)++ | src/vm/parrot/guts/container.h:
08:01 dalek rakudo/nom: Add struct member for "is_dynamic" to be on the safe side
08:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa7c68286b
08:01 dalek rakudo/nom: b6e8999 | (Elizabeth Mattijsen)++ | src/Perl6/ (2 files):
08:01 dalek rakudo/nom: $/, $! and $/ are now default Nil and dynamic
08:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b6e89999c7
08:03 Gwyxx joined #perl6
08:18 berekuk joined #perl6
08:20 not_gerd joined #perl6
08:20 not_gerd o/
08:20 denis_boyun joined #perl6
08:20 diakopter o/
08:21 masak 'An "else" block is now required to have braces except if the body of the "else" is another "if".' -- http://golang.org/doc/devel/release.html
08:21 masak there's nothing new under the sun.
08:21 masak surely dangling elses are a well-known language design issue?
08:22 not_gerd for some reason, building NQP with strawberry perl doesn't set nqp::version
08:24 not_gerd ah, seems to be my fault - no git in PATH
08:24 diakopter masak: at least they didn't require indentation
08:30 BabsSeed Hmm, all the variations of my usual nick are reg'd :D
08:31 lizmat joined #perl6
08:32 berekuk joined #perl6
08:34 dmol joined #perl6
08:35 nugged joined #perl6
08:40 lizmat joined #perl6
08:41 ugexe joined #perl6
08:41 segomos joined #perl6
08:41 lizmat p: say $/
08:41 camelia pugs: OUTPUT«␤»
08:42 lizmat n: say $/
08:42 camelia niecza v24-88-g1f87209: OUTPUT«(Any)␤»
08:42 lizmat pn: say $!
08:42 lizmat n: say $!
08:42 camelia niecza v24-88-g1f87209: OUTPUT«(Any)␤»
08:42 lizmat p: say $!
08:42 camelia pugs: OUTPUT«␤»
08:42 lizmat p: say $_
08:42 camelia pugs: OUTPUT«␤»
08:42 lizmat n: say $_
08:42 camelia niecza v24-88-g1f87209: OUTPUT«(Any)␤»
08:42 lizmat .oO( need to fudge Nil tests for $/, $! and $_)
08:45 BigBear joined #perl6
08:46 dalek roast: 8e4a5c6 | (Steve Mynott)++ | S02-magicals/ (2 files):
08:46 dalek roast: import of spectest for RT #78258
08:46 dalek roast: review: https://github.com/perl6/roast/commit/8e4a5c6716
08:46 dalek roast: 60b7fc0 | (Steve Mynott)++ | S05-transliteration/79778.t:
08:46 dalek roast: import of spectest for RT #79778
08:46 dalek roast: review: https://github.com/perl6/roast/commit/60b7fc075e
08:46 dalek roast: 44d392a | masak++ | S32-io/IO-Socket-INET.sh:
08:46 dalek roast: kill stray IO-Socket-INET.sh process better
08:46 dalek roast:
08:46 dalek roast: cono++ for patch.
08:46 dalek roast: review: https://github.com/perl6/roast/commit/44d392aca3
08:46 dalek roast: 1411931 | masak++ | S32-io/IO-Socket-INET.sh:
08:46 dalek roast: remove some stray comments
08:46 dalek roast: review: https://github.com/perl6/roast/commit/1411931c73
08:46 dalek roast: 04046f8 | (Elizabeth Mattijsen)++ | S02-names/is_default.t:
08:46 dalek roast: Unfudge now passing tests
08:46 dalek roast: review: https://github.com/perl6/roast/commit/04046f8dbd
08:46 dalek roast: 751bd56 | (Elizabeth Mattijsen)++ | S02-names/caller.t:
08:46 dalek roast: Unfudge passing test
08:46 dalek roast: review: https://github.com/perl6/roast/commit/751bd56ca7
08:46 dalek roast: 7252f0d | (Elizabeth Mattijsen)++ | S02-types/nil.t:
08:46 dalek roast: Add Nil tests for $/, $!, $_
08:46 dalek roast: review: https://github.com/perl6/roast/commit/7252f0d9f4
08:47 fhelmberger joined #perl6
08:48 denis_boyun joined #perl6
08:49 lizmat hmm…. that as a bit more than I thought  :-(
08:49 dalek Perlito: 4e99a62 | (Flavio S. Glock)++ | / (5 files):
08:49 dalek Perlito: Perlito5 - grammar - refactoring
08:49 dalek Perlito: review: https://github.com/fglock/Perlito/commit/4e99a6231d
08:49 not_gerd hm... rakudo build on strawberry perl is broken
08:50 not_gerd looks like an infinite loop when building RESTRICTED.setting
08:50 moritz not_gerd: I think JimmyZ reported the same problem before
08:50 moritz not_gerd: but we have no idea what's going on
08:50 moritz not_gerd: does ./perl6 -e '' terminate?
08:50 not_gerd do we actually need RESTRICTED.setting by default?
08:51 moritz not really; but if that hangs, there's something else being fishy
08:54 not_gerd same thing happens when doing lib.pm6 -> lib.pir
08:54 moritz not_gerd: does executing (and not compiling) code also hang?
08:55 not_gerd repl starts up, then hangs after one entered code
08:55 not_gerd same with -e
08:56 lizmat indeed: building the restricted setting is just the first use of the created perl6 executable
08:56 lizmat so *that* is borked
08:57 lizmat although I cannot reproduce
08:57 lizmat you could try zapping the install directory and rebuilding
08:58 moritz lizmat: seems to be specific to windows + strawberry perl
09:00 * not_gerd doesn't see anything wrong with the config hash
09:01 jnthn yay network
09:01 dalek Perlito: 21f04b9 | (Flavio S. Glock)++ | / (5 files):
09:01 dalek Perlito: Perlito5 - grammar - refactoring
09:01 dalek Perlito: review: https://github.com/fglock/Perlito/commit/21f04b9165
09:02 lizmat jnthn  o/
09:04 jnthn not_gerd: oh, so it's a Strawberry specific thing? Hm
09:04 jnthn 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
09:05 moritz eerew
09:05 moritz sorry
09:05 dalek rakudo/nom: 39597e8 | (Elizabeth Mattijsen)++ | src/core/PseudoStash.pm:
09:05 dalek rakudo/nom: No longer need to special case $/, $! and $_
09:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/39597e81ce
09:05 lizmat_ joined #perl6
09:05 nugged_ joined #perl6
09:05 masak moritz: those stray dalek commits are even the same that I got the other day when I pushed to roast.
09:06 dmol joined #perl6
09:06 lizmat_ maybe I borked my spec repo
09:07 tadzik jnthn: do you haev any kind of tests for select()?
09:08 moritz lizmat: unlikely
09:08 lizmat_ well, sometimes, when I do a spectest, I all of a sudden need to specify a commit message
09:09 jnthn tadzik: No, not done spectests for any of the Threading.pm stuff yet. Yes, I know I'm naughty. :)
09:09 berekuk joined #perl6
09:09 tadzik so I can break it and it's not my fault? :P
09:10 jnthn ummm :P
09:10 jnthn I just won't pull until after my tak :D
09:10 jnthn *talk
09:10 tadzik I mean, do ou have any usecase with a predictive result
09:10 tadzik so I can run it aginst my refactor to see if it's mostly correct
09:12 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
09:13 tadzik I'll keep breaking it locally
09:13 JimmyZ Socket  Confidential
09:14 JimmyZ you should do handshake first
09:14 JimmyZ 3 times
09:26 dalek rakudo/nom: 0cd2c68 | (Elizabeth Mattijsen)++ | src/vm/parrot/guts/container.c:
09:26 dalek rakudo/nom: Assigning Nil / undefine a scalar now also sets default for untyped scalars
09:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0cd2c68e9f
09:26 SamuraiJack_ joined #perl6
09:27 BabsSeed Any DBI implementations with true prepared statements yet?
09:27 tadzik https://gist.github.com/tadzik/6219412
09:27 BabsSeed for MariaDB/MySQL?
09:27 tadzik my new idea for select
09:27 tadzik jnthn: ^^
09:27 tadzik it compiles, so it's probably flawless
09:27 jnthn lizmat_: Hm, is that the thing we couldn't do for ages 'cus it broke sectests?
09:28 JimmyZ BabsSeed: https://github.com/perl6/DBIish
09:28 JimmyZ the best one for now
09:28 dalek roast: cd8dbe0 | (Elizabeth Mattijsen)++ | S02- (2 files):
09:28 dalek roast: Unfudge now passing tests
09:28 dalek roast: review: https://github.com/perl6/roast/commit/cd8dbe02e0
09:29 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
09:29 lizmat_ the patch finally worked!
09:29 jnthn tadzik: Is is-ready menat to be API?
09:29 tadzik jnthn: it should probably be internal. I don't see a reason for it to be exposed
09:30 tadzik can be an inner sub of select()
09:30 jnthn aye
09:30 jnthn Goal is functional equivalence except the default feature?
09:31 tadzik not really
09:31 BigBear joined #perl6
09:31 tadzik it picks a random ready candidate, not the firs tone
09:31 tadzik as Go does
09:31 jnthn oh, and that
09:32 jnthn oh, it's vulnerable to semi-predicate issues
09:32 tadzik yeah, other than that it should be identical
09:32 tadzik semi-predicate?
09:32 jnthn What if the Promise evaluates to False?
09:32 tadzik aw
09:32 jnthn That's a perfectly valid result
09:32 tadzik right
09:32 jnthn Or a false hting comes down a channel
09:32 tadzik correct
09:33 jnthn The pick random thing is fine, though
09:33 arnsholt Do we have a solution to the semi-predicate thing for optional arguments?
09:33 jnthn arnsholt: You can always look in the capture if you really wish
09:33 arnsholt Right, so the data is there if you really, really need it
09:33 TimToady generally, you just use default to make it so you don't care
09:34 arnsholt Yeah, in 99% of the cases it's a non-problem
09:34 tadzik updated: https://gist.github.com/tadzik/6219412/revisions
09:34 TimToady you could use a default to set a flag that it was executed too
09:34 arnsholt Just curious about the remaining fraction of cases where it makes a difference
09:34 arnsholt Yeah, that works as well
09:34 TimToady hmm
09:34 tadzik I have a gut feeling that it could be done simplier, that last thing
09:35 jnthn ooh, cute solution
09:35 TimToady nr: sub foo ($x = eval '$x++') { my $x; $x }; say foo()
09:35 camelia rakudo 39597e: OUTPUT«Potential difficulties:â�¤    Redeclaration of symbol $xâ�¤    at /tmp/FMyGfKTivk:1â�¤    ------> [32msub foo ($x = eval '$x++') { my $x[33mâ��[31m; $x }; say foo()[0mâ�¤0â�¤Â»
09:35 camelia ..niecza v24-88-g1f87209: OUTPUT«Potential difficulties:â�¤  Useless redeclaration of variable $x (see line 1) at /tmp/83nmFquStq line 1:â�¤------> [32msub foo ($x = eval '$x++') { my $x[33mâ��[31m; $x }; say foo()[0mâ�¤â�¤Unhandled exception: System.NullReferenceException: Object reference not…
09:35 jnthn I'm not sure is-ready multi-dispatch is an overall win over the smart match I had before?
09:35 TimToady nr: sub foo ($y = eval '$x++') { my $x; $x }; say foo()
09:36 camelia rakudo 39597e: OUTPUT«1␤»
09:36 camelia ..niecza v24-88-g1f87209: OUTPUT«Potential difficulties:â�¤  $y is declared but not used at /tmp/RdqsmtodBL line 1:â�¤------> [32msub foo ([33mâ��[31m$y = eval '$x++') { my $x; $x }; say foo[0mâ�¤â�¤1â�¤Â»
09:36 TimToady there you go :)
09:36 tadzik jnthn: well, we get error message for free :)
09:36 tadzik and it's probably easier to extend
09:36 tadzik like, add somethin gnew over Channel and Promise
09:36 jnthn we probably get an internal multi-dispatch error for free :P
09:36 berekuk joined #perl6
09:36 jnthn yes, good point...
09:40 xinming joined #perl6
09:48 mdn joined #perl6
09:49 lizmat joined #perl6
09:50 mathw o/
09:52 masak \o
09:52 lizmat_ joined #perl6
09:57 daxim joined #perl6
10:02 danaj joined #perl6
10:03 dmol joined #perl6
10:03 mathw Sounds like I'm missing out on some good stuff at YAPC::EU
10:04 moritz yes
10:08 PacoAir joined #perl6
10:10 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:18 mathw Nottingham
10:18 mathw the one in England
10:32 aindilis` joined #perl6
10:34 grondilu r: say .fmt("%032b"), " ", $_ given my uint32 $ = 2**31;
10:34 camelia rakudo 0cd2c6: OUTPUT«10000000000000000000000000000000 -2147483648␤»
10:34 * grondilu did not expect a negative number :/
10:35 gabriel_ joined #perl6
10:35 cxreg2 joined #perl6
10:35 BigBear joined #perl6
10:39 denisboyun joined #perl6
10:40 Util joined #perl6
10:44 mathw not for a uint32, no...
10:46 Ulti joined #perl6
10:46 obra joined #perl6
10:46 Pleiades` joined #perl6
10:47 danaj joined #perl6
10:48 Pleiades` joined #perl6
10:48 obra joined #perl6
10:49 berekuk joined #perl6
10:56 dmol joined #perl6
10:58 masak mathw: do people of Nottingham keep having to listen to Robin Hood jokes all the time?
10:59 TimToady grondilu: parrot bug, likely; rakudo/jvm gets it right
10:59 TimToady unless it's a 32/64 bit thing
11:00 TimToady yah, breaks at 2**63 on my computer
11:00 TimToady (on JVM)
11:01 TimToady (with a uint64)
11:01 mathw masak: yes.
11:01 berekuk joined #perl6
11:02 TimToady it also puts a - on the binary output
11:02 TimToady well, jvm is known to be not very unsigned-friendly
11:04 FROGGS hmmm, I though rakudo@jvm uses nqp::sprintf which is bigint-capable...
11:06 moritz FROGGS: the problem seems to be uint32, not sprintf
11:07 FROGGS ohh
11:07 FROGGS I missed that bit
11:11 masak did I hear something about a bug?
11:12 lizmat joined #perl6
11:13 masak jnthn giving his parallelism talk!
11:13 TimToady in parallel with other talks?!?
11:13 cono :D
11:13 masak TimToady: and concurrently!
11:14 nugged joined #perl6
11:16 diakopter also, asynchronously. with most of the audience, anyway
11:17 masak unless there's a non-empty intersection between the audience and members of N'Sync.
11:18 moritz masak: you know that the ' stands for "ot"?
11:18 moritz or even "otIn"
11:18 masak moritz: o.O
11:18 masak :P
11:18 cono N::Sync
11:20 crab2313 joined #perl6
11:25 grondilu r: sleep 2; say now - BEGIN now;
11:25 camelia rakudo 0cd2c6: OUTPUT«2.0531855␤»
11:25 arnsholt It's also worth noting that talks usually employ some kind of message-passing strategy to communicate with other concurrent processes
11:26 arnsholt 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
11:27 diakopter naked actors
11:27 masak which means that they have an address (not necessarily unique), and they encapsulate and manage their own state.
11:28 * moritz doesn't see anybody naked
11:28 diakopter it's the nervous speaker who's told to imagine the audience naked
11:29 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.
11:30 masak 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 #perl6
11:30 diakopter thus implanting the reminder that they can relax themselves by remembering the thought/incident
11:30 diakopter /notion
11:31 diakopter (amusedment at the absurdity of the suggestion)
11:32 colomon joined #perl6
11:34 cono :(    async used at line 1. Did you mean '&asin', '&asec', '&asinh'
11:35 moritz cono: do you have rakudo on JVM?
11:35 cono oh, its only on jvm :(
11:35 moritz aye
11:36 FROGGS but I guess after we have a sane factoring/spec this will land on parrot too
11:36 * cono fan of parrot ;)
11:36 diakopter orly
11:36 FROGGS we can't just try to implement threads on two different backends at the same time
11:36 * JimmyZ fan of MoarVM
11:36 * moritz fan of working code
11:36 cono not familiar with MoarVM atm
11:36 FROGGS yeah, MoarVM++
11:37 FROGGS cono: it is not yet ready for rakudo
11:37 cono ic
11:38 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 :)
11:39 cono ic
11:39 diakopter (for the use of a JIT, b/c it's so "huge")
11:40 JimmyZ sregex uses dynasm
11:40 kivutar joined #perl6
11:42 * moritz really must do the blog post about why there's no llvm backend
11:43 cono moritz++
11:43 masak "we're not targeting LLVM because it's too low-level a VM" :P
11:44 moritz masak: thank you. Please but that on your blog. :-)
11:44 cono :)
11:44 cono it more looks like a tweet, not a post :)
11:44 diakopter it's so low-level a VM it's not a VM
11:46 mathw Isn't llvm more like a slightly-higher-level abstract machine language?
11:46 tadzik it is
11:46 masak they should have called it SHLAML.
11:46 moritz shlaml!
11:47 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
11:47 mathw but one can understand why rakudo having an llvm backend would be difficult
11:47 mathw maybe you'd have to build something else on llvm and then build nqp on that :)
11:48 mathw at which point I'm starting to think, why bother?
11:48 diakopter well, you'd bother if you wanted llvm's tremendous optimizers
11:49 mathw true, true
11:53 pmurias joined #perl6
11:53 dalek rakudo-js: d3ee97b | (Pawel Murias)++ | / (4 files):
11:53 dalek rakudo-js: Rename nqp-mo to nqpmo.
11:53 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/d3ee97bf68
11:53 dmol joined #perl6
11:53 lizmat_ joined #perl6
11:53 masak jnthn++ # talk
11:54 FROGGS :o(
11:54 * FROGGS likes to have a video link
11:56 * not_gerd doesn't know of any dynamic language that has been successfully implemented on top of LLVM
11:57 not_gerd apparently, there's work on an R implementation using VMKit
11:57 timotimo ohai
11:57 timotimo not_gerd: there was Unladen Swallow, which put a part of itself on top of llvm i believe
11:57 tadzik VMKit?
11:58 not_gerd tadzik: VM layer on top of LLVM
11:58 not_gerd mostly runs Java
12:00 pmurias not_gerd: re succesfully on top of LLVM, it's possible to compile perl5 using clang isn't it? ;)
12:00 berekuk joined #perl6
12:00 lizmat joined #perl6
12:00 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 ;)
12:01 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 timotimo aaw
12:01 timotimo i hope lizmat backlogs that
12:02 pmurias not_gerd: rakudo on top of vmkit? ;)
12:04 nugged joined #perl6
12:04 not_gerd pmurias: if someone's interested in doing that, why not
12:04 not_gerd but I don't really see the appeal
12:04 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.
12:05 not_gerd pmurias: btw, how goes the rakudo-js work?
12:07 dmol joined #perl6
12:07 lizmat joined #perl6
12:07 pmurias not_gerd: passing most tests, will start to work on bootstraping this week or the next one
12:07 timotimo \o/
12:08 pmurias will write a blog post explaining the current state of things today
12:08 not_gerd pmurias++ ++pmurias # work, blog post
12:14 diakopter pmurias: it has a regex compiler?
12:14 pmurias diakopter: a basic one
12:15 pmurias diakopter: a partial translation of the nqp-jvm/nqp-parrot QAST one
12:17 * benabik would ponder writing a rakudo-on-vmkit if he was more impressed with vmkit.
12:17 rindolf joined #perl6
12:17 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 mathw pmurias++ # rakudo-js progress
12:18 mathw I'm impressed, because I can barely write a few lines of JS without going mad
12:21 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 pmurias sorry, meant benabik
12:21 benabik pmurias++
12:23 mdn joined #perl6
12:24 mathw performance might be an issue with that :)
12:24 mathw I mean, theoretically you could compile parrot using a C-to-javascript compiler and run rakudo on that...
12:28 kaleem joined #perl6
12:29 berekuk joined #perl6
12:31 JimmyZ pmurias: another way to do rukudo-js: https://github.com/kripken/emscripten/wiki
12:31 not_gerd mathw: supposedly, asm.js performance is reasonably competitive
12:31 JimmyZ we just compile parrot to js
12:31 not_gerd https://blog.mozilla.org/javascript/2013/08/01/staring-at-the-sun-dalvik-vs-spidermonkey/
12:31 not_gerd C++/asm.js beats Java/Dalvik
12:32 JimmyZ and Emscripten use  LLVM bitcode
12:33 crab2313 joined #perl6
12:43 pmurias JimmyZ: re compiling parrot to js, that's a joke?
12:45 berekuk joined #perl6
12:45 JimmyZ pmurias: not really, see https://github.com/kripken/emscripten/wiki#programming-languages
12:46 dalek Perlito: 9483128 | (Flavio S. Glock)++ | / (2 files):
12:46 dalek Perlito: Perlito5 - better perl5 code formatter
12:46 dalek Perlito: review: https://github.com/fglock/Perlito/commit/948312847c
12:46 dmol1 joined #perl6
12:56 ajr joined #perl6
12:57 daxim joined #perl6
12:57 bloonix joined #perl6
13:03 dalek Perlito: da7bafb | (Flavio S. Glock)++ | / (4 files):
13:03 dalek Perlito: Perlito5 - perl5 code formatter fix
13:03 dalek Perlito: review: https://github.com/fglock/Perlito/commit/da7bafb535
13:07 dmol joined #perl6
13:11 cognominal joined #perl6
13:16 pmichaud good morning #perl6
13:16 yoleaux 04:31Z <diakopter> pmichaud: happy birthday
13:17 timotimo happy birthday pmichaud :)
13:17 bluescreen10 joined #perl6
13:17 * nwc10 was unaware of this
13:18 nwc10 happy birthday pmichaud
13:18 colomon pmichaud!  \o/
13:19 not_gerd pmichaud: happy (belated?) birthday
13:19 mdn joined #perl6
13:19 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 :)
13:20 mathw alternatively, it's not his birthday and someone got it wrong and we all followed along like sheep
13:20 * mathw hums that bit from Messiah about the sheep going astray
13:21 pmurias pmichaud: good morning
13:21 pmichaud birthday is today, Aug 13
13:22 moritz pmichaud: it was Aug 13 here when we congratulated in the backlog :-)
13:23 pmichaud indeed.
13:23 colomon pmichaud: happy birthday!
13:23 pmichaud I just was wanting to remove any yesterday/today confusion.  :)
13:26 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 pmurias is there a way to implement nqp::bitneg_I in terms of other ops?
13:27 moritz pmurias: yes, it's two's complement
13:27 moritz it's -$i + 1 or so
13:27 moritz (modulo sign errors :-)
13:27 pmichaud nwc10: how did the talk go / how well was it received ?
13:28 pmichaud (jnthn's talks are always excellent :-)
13:28 moritz it was awesome, though he ran out of time at the end
13:28 moritz and I think it was well received too
13:30 pmurias moritz: -$i + 1 seems to pass the test
13:31 mathw yay concurrency
13:32 felher https://rt.perl.org/rt3/Ticket/Display.html?id=119267 | anything I missed or shoud add?
13:37 FROGGS felher: looks good to me
13:37 Aww joined #perl6
13:38 felher FROGGS: good :)
13:39 felher 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 #perl6
13:39 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:40 notjack joined #perl6
13:42 btyler joined #perl6
13:45 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␤␤»
13:45 tadzik it says "Method 'status' not found" for Rakudo-jvm, without Pair
13:46 tadzik LTA error message
13:46 timotimo i think that's a know, though?
13:46 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 #perl6
13:47 FROGGS jnthn said something about a TODO for exceptions yesterday
13:47 moritz nqp-jvm: (sub (){}).status
13:47 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>»
13:47 moritz same problem in nqp-jvm
13:48 moritz 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?
13:48 moritz yes
13:48 moritz except you don't have to care about parameters
13:48 not_gerd left #perl6
13:49 kaare_ joined #perl6
13:49 moritz (nor about explicit OUTER:: usage, which iirc doesn't exist in nqp)
13:49 pmurias timotimo: and how do you distinguish contextuals?
13:49 timotimo pmurias: i think they are :decl<contvar>
13:49 timotimo but i'm not sure yet
13:51 lizmat timotimo: which happens when I'm trying to do a spectest on  all file potentially changed
13:51 lizmat hmmm…  maybe we need a different target for not doing the git pull with make spectest?
13:51 lizmat or is there an environment variable for that yet?
13:51 FROGGS arnsholt: ping
13:52 FROGGS 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
13:52 timotimo version
13:52 timotimo i think i can implement that if you think that's a good idea
13:52 sqirrel joined #perl6
13:53 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 moritz or maybe --icu=0 in your case
13:55 dmol joined #perl6
13:55 denis_boyun joined #perl6
13:58 pmurias timotimo: contvar is for containers not contextuals
13:58 tadzik https://gist.github.com/tadzik/6219412 updated
13:58 tadzik now not only it works, but it even has some tests :)
13:58 arnsholt FROGGS: Pong.
13:59 timotimo ah, ok
14:00 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?
14:00 tadzik now updated with exceptoins on bogus keys
14:00 arnsholt FROGGS: Could you write up a short example?
14:00 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
14:02 colomon tadzik: commit it where?
14:02 tadzik colomon: to rakudo-jvm
14:02 FROGGS arnsholt: or wait, it should work...
14:02 colomon tadzik++
14:04 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
14:04 FROGGS arnsholt: exactly
14:05 FROGGS it gets compiled to a library, so I just need to apply the is native($library) trait
14:05 berekuk joined #perl6
14:05 arnsholt Yeah, which uses role Native internally
14:05 FROGGS true
14:05 pmurias timotimo: I talked with jnthn about marking contextuals, and they will be marked at decl time
14:06 FROGGS I guess this would be the smallest Inline::C module ever :o)
14:06 arnsholt Quite possibly =D
14:07 timotimo will be or already is? ;)
14:07 FROGGS well, it will be about 35 lines then (including blanks)
14:08 FROGGS cant test atm if it works because my rakudo is not in a fit state atm
14:08 logie joined #perl6
14:09 pmurias timotimo: will be
14:10 timotimo can you perhaps point me at the right point? then i could perhaps implement that marking myself
14:11 timotimo would that require a new field for QAST::Var or is the hash interface to QAST::Node enough for now?
14:13 nugged joined #perl6
14:19 mdn joined #perl6
14:28 dalek Perlito: b4940fb | (Flavio S. Glock)++ | / (4 files):
14:28 dalek Perlito: Perlito5 - perl5, js - emit map-BLOCK
14:28 dalek Perlito: review: https://github.com/fglock/Perlito/commit/b4940fb317
14:29 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 #perl6
14:32 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 pmurias all of the backends will need updating
14:34 pmurias alternatively it could be marked using the hash interface
14:35 SamuraiJack joined #perl6
14:36 Chris_____ joined #perl6
14:43 timotimo yeah, but moritz warned me that the hash interface will be very wasteful
14:44 Psyche^ joined #perl6
14:53 [Coke] .u ????
14:53 yoleaux U+1F370 SHORTCAKE [So] (????)
14:53 [Coke] .u ????????????????
14:53 yoleaux U+1F370 SHORTCAKE [So] (????)
14:53 yoleaux U+1F388 BALLOON [So] (????)
14:53 yoleaux U+1F389 PARTY POPPER [So] (????)
14:55 colomon joined #perl6
14:58 pmurias timotimo: we need to s/contextual/dynamic at some point too
14:59 pmurias timotimo: re marking using the scope attribute, it shouldn't be so much changing, much more compiling and running tests
14:59 timotimo mhm
15:00 timotimo now that i finally figured out i have to use nqp::objprimspec to inspect the .returns of QAST::Vars, i can progress!
15:00 timotimo but it seems like even QAST::IVal has .returns of type 0 (which is "PMC" if i'm not mistaken)
15:02 timotimo maybe i should change IVal to have a default :returns of int?
15:05 pmurias you could try and see if anything breaks ;)
15:06 timotimo doing that ATM
15:06 timotimo but during build i get a strange failure; probably something to do with my changed makefile?
15:06 timotimo huh. that doesn't seem to have helped.
15:07 timotimo 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.
15:07 timotimo nqp: say(nqp::objprimspec(int))
15:07 camelia nqp: OUTPUT«1␤»
15:08 timotimo "missing or wrong version of dependency 'src/stage1/gen/nqp-mo.nqp'
15:08 timotimo not sure why i get that :(
15:09 PerlJam Perl 6 has always seemed about 2 years out to me  (since around 2007 or so)
15:09 PerlJam diakopter++ (I hope he's right :)
15:09 timotimo i expect my optimisation efforts to give us at least a 50% decrease of all run times!!!111¹one
15:10 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 timotimo why would p5 be faster on moarvm?
15:11 moritz timotimo: JIT compiler
15:11 PerlJam masak: no fair predicting something he's in direct control of making happen  ;)
15:11 timotimo jit compiler for p5 as well? wow
15:11 moritz well, if moarvm gets a jit, and we run p5 code on moarvm, p5 code will benefit from the JIT compiler
15:11 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)?
15:13 pmichaud ...annotate an op?
15:13 masak &
15:13 * pmichaud is a little concerned
15:14 timotimo a QAST::Op
15:15 pmichaud Also note that Perl 6 doesn't have a "str" type.  :-)
15:15 pmichaud (although it's potentially fair for NQP to provide one)
15:16 timotimo this is only for nqp at the moment
15:16 pmurias timotimo: annotate an op, shouldn't :returns just look at the op name?
15:17 pmurias instead of adding an extra attribute?
15:19 pmurias pmichaud: is gmp an acceptable dependency for nqp-on-node.js?
15:20 timotimo pmurias: i dunno. should it?
15:21 pmurias timotimo: not sure
15:22 dalek Perlito: 8a1ddc6 | (Flavio S. Glock)++ | / (3 files):
15:22 dalek Perlito: Perlito5 - js - initialize "our" vars
15:22 dalek Perlito: review: https://github.com/fglock/Perlito/commit/8a1ddc662a
15:26 pmurias I found a bug in my node.js gmp binding :(
15:27 timotimo i wonder why it would complain about the version of nqp-mo.nqp :/
15:28 FROGGS arnsholt: PR closed
15:29 pmurias timotimo: it?
15:30 timotimo the build system; when it's trying to make NQPP5QRegex.nqp
15:30 timotimo from stage2
15:31 timotimo ah!
15:31 timotimo ... no, not ah!
15:33 timotimo FROGGS: are you going to make an SDL2 binding as well? :)
15:33 timotimo that would be pretty cool
15:33 timotimo when i don't run my optimizer over the ast, i don't get the dependency problem. weird!
15:33 timotimo i must be botching up the ast somehow
15:36 timotimo oh, perhaps i'm using the wrong "int"
15:38 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:39 arnsholt Oh, he timed out
15:39 pmurias is nqp::isprime_I 100% sure?
15:40 timotimo for low values surely
15:40 arnsholt pmurias: Only for values smaller than some threshold
15:41 arnsholt 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:42 pmurias is 2^-50 good enough?
15:44 pmurias I have to determine which value should I pass to mpz_probab_prime_p from http://gmplib.org/manual/Number-Theoretic-Functions.html
15:45 arnsholt Sounds good
15:45 arnsholt Which backend are you implementing this on?
15:45 pmurias JavaScript
15:45 pmurias node.js
15:45 arnsholt You can probably look at the Parrot backend for inspiration, though. IIRC it uses gmp as well
15:46 arnsholt (Might be in the actual Parrot tree rather than NQP, mind)
15:47 SmokeMac_ joined #perl6
15:52 FROGGS joined #perl6
15:52 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)
15:53 * [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:57 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
15:58 pmurias FROGGS: I have dealt with the problem by multipling the number and the dividing it
15:59 dalek rakudo-js: a78a4e4 | (Pawel Murias)++ | / (4 files):
15:59 dalek rakudo-js: Implement bignums and fill in nqp::composetype.
15:59 dalek rakudo-js:
15:59 dalek rakudo-js: Pass test 60.
15:59 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/a78a4e420d
15:59 timotimo cool stuff, pmurias :)
16:00 pmurias pmichaud: 3 failing tests left in nqp/t/nqp, and one of them 49 requires bootstraping
16:02 timotimo aaw come on. diff shows no difference between the nqp-mo.pirs :(
16:02 timotimo between working and not working
16:02 FROGGS pmurias++
16:02 FROGGS timotimo: what errors do you get?
16:03 timotimo wrong or missing dependency of nqp-mo.nqp
16:04 [Coke] seen au
16:04 [Coke] .seen au
16:04 yoleaux I haven't seen au around.
16:04 FROGGS hmmm
16:04 [Coke] .to au Could use some help getting pugs running on a new box (host06) if you get a few minutes. Thanks.
16:04 yoleaux [Coke]: I'll pass your message to au.
16:04 Targen_ joined #perl6
16:06 timotimo FROGGS: while trying to compile src/stage/gen/NQPP5QRegex.nqp
16:06 ajr joined #perl6
16:07 FROGGS timotimo: weird, P5QRegex is often a thing that breaks
16:08 FROGGS 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
16:08 FROGGS it built then but I dunno why
16:08 timotimo ah, that's just a nqp_deserialize_sc
16:09 [Coke] https://raw.github.com/mauke/poly.poly/master/poly.poly
16:09 timotimo i just don't understand :(
16:10 pmurias timotimo: have you tried a 'make clean'
16:10 timotimo yes, multiple times
16:11 timotimo do i perhaps have to make bootstrap-files or something?
16:11 FROGGS usually not
16:11 pmurias not with a broken build
16:13 timotimo right
16:14 pmurias you didn't touch the Makefile at all?
16:15 timotimo i did
16:15 timotimo i had to add NQP/Compiler.nqp to the build
16:15 pmurias s/touch/change/
16:16 pmurias got to go&
16:19 denis_boyun joined #perl6
16:20 rindolf joined #perl6
16:22 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:29 FROGGS So ein Mist!
16:31 timotimo very true :(
16:32 timotimo how do i even begin to debug this?
16:33 kivutar joined #perl6
16:34 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:35 arnsholt But I think you want to move the trait application to the inside of the setup block =)
16:35 arnsholt FROGGS++ # Doing stuff so I don't have to =)
16:36 timotimo FROGGS: "not even at the bottom of my todo list" just means "isn't lowest priority", right?
16:41 spider-mario joined #perl6
16:41 FROGGS :o)
16:41 FROGGS timotimo: true
16:42 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
16:42 FROGGS timotimo: yeah, everything is there that was missing in 1.2 :o)
16:43 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:53 dalek Perlito: 3255126 | (Flavio S. Glock)++ | / (21 files):
16:53 dalek Perlito: Perlito5 - grammar - more all parser modules to Grammar/
16:53 dalek Perlito: review: https://github.com/fglock/Perlito/commit/3255126272
17:02 dalek v5: 33a007d | (Tobias Leich)++ | / (7 files):
17:02 dalek v5: catch up with rakudo
17:02 dalek v5:
17:02 dalek v5: This covers latest use- and load_module refactorings.
17:02 dalek v5: review: https://github.com/rakudo-p5/v5/commit/33a007d66d
17:04 sqirrel joined #perl6
17:06 spider-mario joined #perl6
17:06 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.
17:07 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... https://github.com/rakudo-p5/v5/blob/master/rakudo.patch
17:07 yoleaux FROGGS: I'll pass your message to jnthn.
17:10 dalek nqp/nqp-optimizer: 456b7a6 | (Timo Paulssen)++ | / (6 files):
17:10 dalek nqp/nqp-optimizer: initial draft of optimizer, inactive ATM.
17:10 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/456b7a6a1d
17:10 timotimo according to the debug output, it will transform a few adds, subs and mults to _i
17:16 dalek Perlito: 2537119 | (Flavio S. Glock)++ | TODO-perlito5:
17:16 dalek Perlito: Perlito5 - TODO update
17:16 dalek Perlito: review: https://github.com/fglock/Perlito/commit/25371190e9
17:36 timotimo wow, 2.5 more hours of river cruise
17:36 timotimo not going to get help with the optimizer portion any time soon :(
17:39 FROGGS :/
17:42 timotimo well, still hope they are all enjoying it
17:43 FROGGS they will, no doubt :o)
17:46 Ayiko joined #perl6
17:56 dalek rakudo/from_nqp: 96314da | (Tobias Leich)++ | src/Perl6/ (2 files):
17:56 dalek rakudo/from_nqp: wire NQP's ModuleLoader to use ...:from<NQP>
17:56 dalek rakudo/from_nqp: review: https://github.com/rakudo/rakudo/commit/96314da49c
18:01 ajr_ In the RosettaCode "100 doors" problem, this line ($_ = !$_ for @doors[0, * + $_ ...^ * > 100]) for 1..100;
18:01 ajr_ produces this error message: Cannot assign to a readonly variable or a value
18:01 ajr_ in block  at 100_doors:3
18:01 ajr_ Obviously, it's become impossible to assign values explicitly to $_ since that was written. Any suggestions as to how to acieve the same thing?
18:03 timotimo for 1..100 -> $_ is rw { ... } is my first suggestion
18:05 PerlJam for 1..100 <-> { ... }  # should work too
18:06 timotimo oh indeed
18:13 kivutar joined #perl6
18:22 colomon joined #perl6
18:26 mdn joined #perl6
18:40 sidus joined #perl6
18:53 TimK1 joined #perl6
18:54 TimK1 joined #perl6
19:00 Util #ps in 30m
19:01 FROGGS hmm?
19:01 coax75ohm joined #perl6
19:02 timotimo parrotsketch
19:03 PerlJam .oO( ... will there ever be a moarsketch? )
19:03 FROGGS that'd be cool
19:07 yangzhe joined #perl6
19:11 coax75ohm rakudo: my Int $i = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; say $i ~ " " ~ $i.fmt('%032x');
19:12 camelia rakudo 0cd2c6: OUTPUT«340282366920938463463374607431768211455 000000000000000000000000ffffffff␤»
19:12 coax75ohm how do I get 128 bit hex output?
19:14 FROGGS rakudo-jvm$ ./perl6 -e 'my Int $i = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; say $i ~ " " ~ $i.fmt("%032x");'
19:14 FROGGS 340282366920938463463374607431768211455 ffffffffffffffffffffffffffffffff
19:15 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 coax75ohm so wait...?
19:16 colomon FROGGS: oh, they're planning on adopting the NQP sprintf for parrakuido?
19:16 FROGGS coax75ohm: yes
19:16 coax75ohm ok
19:16 FROGGS colomon: sure, that is the only way to have a common interface
19:17 FROGGS 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...
19:17 FROGGS maybe it is ready already
19:17 FROGGS colomon: what's wrong with august?
19:17 colomon FROGGS: music festivals
19:17 colomon ;)
19:18 FROGGS yeah, I cant concentrate too when they make that loud music :P
19:18 * FROGGS really hopes that v5 passes this time ó.ò
19:18 colomon "this time"?
19:19 FROGGS yeah
19:20 FROGGS it is like I pull nqp+rakudo HEAD like once a week, and usually v5 looses like >250 passing tests
19:20 FROGGS so I fixed one thing, from pulling yesterday, pulled again and again things exploded
19:20 colomon ugh.
19:21 FROGGS it sucks when you depend on other's internals
19:22 [Coke] FROGGS: we appreciate your pain. Thank you
19:22 FROGGS :o)
19:22 [Coke] (I had similar issues trying to code against parrot six years ago)
19:23 FROGGS I really just have to pull at least once a day, so I dont search for the problems >2h
19:23 FROGGS yeah
19:23 FROGGS I mean, these refactorings are sane... but still make my life harder
19:25 riceandbeans joined #perl6
19:25 riceandbeans when is perl6 coming out?
19:25 FROGGS haha
19:25 FROGGS next one
19:26 FROGGS riceandbeans: you can download the latest release from rakudo.org
19:26 troydm joined #perl6
19:26 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."
19:26 FROGGS and a so called "Rakudo Star"-release containing useful momdules
19:26 FROGGS modules*
19:27 [Coke] PerlJam: combine those, put them up in a gist we can point people to?
19:27 riceandbeans is Larry Wall not doing anything with Perl 6?
19:27 PerlJam riceandbeans: sure he is!  What makes you think otherwise?
19:27 riceandbeans the site looks like something a 12 year old girl would draw
19:27 FROGGS riceandbeans: he is, why do you ask?
19:27 troydm riceandbeans: haha
19:27 riceandbeans not something a 45 year old man in his mother's basement would craft
19:27 PerlJam riceandbeans: excellent!  Perl 6 is meant for 12 year old girls.
19:27 [Coke] score one for the home team.
19:28 troydm perl6 is pedobear
19:28 [Coke] that's not cool.
19:28 riceandbeans when will it be a stable release?
19:28 FROGGS riceandbeans: the releases we do arn't unstable
19:28 troydm stable != production ready i guess
19:29 FROGGS troydm: and there are gazillion of production-ready-definitions
19:29 PerlJam riceandbeans: you need to be even more specific  :)
19:29 dalek Perlito: 247f88f | (Flavio S. Glock)++ | TODO-perlito5:
19:29 dalek Perlito: Perlito5 - TODO update
19:29 dalek Perlito: review: https://github.com/fglock/Perlito/commit/247f88fde7
19:29 FROGGS if one asks detailed questions he/she would might get a better answer from me
19:30 TimK1 left #perl6
19:30 troydm which one is bleading edge perl6 development branch? i've heard of some alternatives poping up and i was just interested
19:30 troydm like MoarVM
19:31 PerlJam troydm: there are multiple Perl  6 implementations.  Which are you referring to?
19:31 PerlJam troydm: moarvm is a low-level vm that implementations will target.
19:31 troydm PerlJam: the one that would eventually become defacto Perl 6 reference implementation/standard
19:31 PerlJam well ... at least one implementation.
19:31 troydm which one will be it?
19:31 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)
19:32 troydm so MoarVM is like alternative for Parrot ?
19:32 [Coke] there isn't a "reference implementation" like there is with perl5.
19:32 PerlJam troydm: aye
19:32 grondilu but consider rakudo as a 'high-level' perl6 implementation, since it needs a specific runtime.
19:32 [Coke] troydm: Aye.
19:33 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)
19:33 FROGGS mono is like .Net fwiw
19:33 [Coke] also, GSOC project working on a JS backend rakudo could use.
19:34 FROGGS and there is a javascript backend in the works...
19:34 FROGGS right
19:34 [Coke] TOO SLOW I WIN
19:34 FROGGS *g*
19:34 PerlJam .oO( is there an echo in here? )
19:34 FROGGS [Coke]: sure, you're coffeinated :P
19:34 [Coke] FROGGS: i'm in the middle of drinking a diet mountain dew.
19:34 geekosaur I'm sure there's some pseudo-wit who would refer to this channel as an echo chamber...
19:35 grondilu Isn't TimToady also working on his own implementation with std, viv and vile?
19:36 PerlJam grondilu: yeah, but those aren't full compilers
19:36 [Coke] std: say "can I { parse } this?"
19:36 camelia std c2215f0: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'parse' used at line 1�Check failed�FAILED 00:00 42m�»
19:36 PerlJam heh
19:36 FROGGS grondilu: I guess it was only meant to be a parser that other implementors could adopt
19:37 grondilu in std/README: C<vill> is a prototype STD-based LLVM-based Perl 6 JIT compiler.
19:37 grondilu ^seems promising
19:37 japhb *rez*
19:37 [Coke] maybe that's where the LLVM questions keep coming from.
19:38 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.
19:38 [Coke] japhb: ".ask jnthn <msg>"
19:38 japhb .ask jnthn Pretty please can you post your talk slides for those of us stuck in the wrong hemisphere.
19:38 yoleaux japhb: I'll pass your message to jnthn.
19:38 japhb Thank you, [Coke]
19:39 japhb ETOOMANYBOTSYNTAXES
19:39 [Coke] nojoke.
19:39 crab2313_ joined #perl6
19:39 FROGGS grondilu: I dont see a villl script
19:40 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
19:40 FROGGS grondilu: and old :o)
19:42 FROGGS PerlJam: if the bot had beer.... since I guess beer finds jnthn these days, not vice-versa :o)
19:43 mdn joined #perl6
19:47 dalek v5: 1792099 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
19:47 dalek v5: remove Perl6::ConstantFolder, moritz++
19:47 dalek v5: review: https://github.com/rakudo-p5/v5/commit/1792099f92
19:47 dalek v5: 9981fe9 | (Tobias Leich)++ | / (2 files):
19:47 dalek v5: fixed assignment to a list of vars
19:47 dalek v5:
19:47 dalek v5: When there were less vars on the LHS than on the right, the vars
19:47 dalek v5: were Mu instead of Any.
19:47 dalek v5: review: https://github.com/rakudo-p5/v5/commit/9981fe91ee
19:50 xenoterracide joined #perl6
19:51 riceandbeans is perl6 fully object oriented?
19:52 [Coke] r: say 9.sqrt
19:52 camelia rakudo 0cd2c6: OUTPUT«3␤»
19:52 [Coke] (i'm not sure what you mean by "fully", but there's a data point.)
19:53 Targen joined #perl6
19:54 PerlJam Coke: Can you identify anything in Perl 6 that is not an object?
19:54 FROGGS riceandbeans: yes
19:54 PerlJam (I'd answer "yes, Perl 6 is fully object oriented")
19:55 PerlJam riceandbeans: But that doesn't mean you *must* use it in an object oriented manner.
19:55 zwut00 joined #perl6
19:58 zwut00 joined #perl6
19:58 segomos is any of the module versioning stuff implemented ?
19:58 FROGGS segomos: not much, no
19:59 FROGGS we had some discussions and drafts how to do it right, but there is no complete proposal yet
19:59 colomon joined #perl6
19:59 FROGGS (there is one that I consider to be 80% complete, there are still some minor quirks)
20:00 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 sergot hi ! o/
20:00 crab2313 joined #perl6
20:01 FROGGS it probably will be a mix of both
20:01 FROGGS 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 #perl6
20:03 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:04 FROGGS 'the function' ?
20:05 segomos not the comp sci definition
20:06 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 segomos unsure of whether it's useful to anyone other than me
20:08 segomos 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: https://github.com/FROGGS/p6-S11Versioning
20:09 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
20:10 FROGGS btw, my module/description is not in sync with latest discussion (mostly happened during YAPC::NA)
20:11 FROGGS ahh, and btw, right now the parser already accepts the adverbs like :auth to use-statements, and passes this to Perl6::ModuleLoader
20:12 segomos i'm trying to find information on how that stuff is stored on disk or if it's a db somewhere
20:14 FROGGS segomos: if it is easier to start putting everything in a database, go ahead
20:17 FROGGS 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:18 FROGGS r: use Test:from<Database>
20:18 camelia rakudo 0cd2c6: OUTPUT«===SORRY!===␤Do not know how to load code from Database␤»
20:18 FROGGS r: use Test:test<ohh yeah!>
20:18 camelia rakudo 0cd2c6:  ( no output )
20:18 FROGGS or you just use a custom adverb :o)
20:19 FROGGS jnthn++ for that gift :o)
20:19 segomos i'm guessing i'd have to extend the module loader
20:19 FROGGS true
20:19 FROGGS basically only the part that slurps the file
20:22 segomos FROGGS: thanks a lot
20:22 FROGGS segomos: you are welcome
20:23 FROGGS dont hesitate to ask (me or lizmat++)
20:26 kivutar joined #perl6
20:27 segomos FROGGS: we using :auth and :vers ?
20:28 FROGGS :auth, :ver, :name, :file and :from
20:28 segomos thanks
20:28 FROGGS but the hairy bits for you are :auth and :ver
20:30 tsmith joined #perl6
20:32 mdn joined #perl6
20:33 benabik joined #perl6
20:42 lizmat joined #perl6
20:42 [Coke] ARRRRRGH
20:42 FROGGS sup?
20:43 [Coke] ah, whew, false alarm. THought I had to rerun today's spec test.
20:43 lizmat ??
20:43 berekuk joined #perl6
20:44 FROGGS hi lizmat
20:45 [Coke] lizmat: due to potentially screwing up a merge on the new test machine
20:46 stevan_ joined #perl6
20:46 dalek perl6-roast-data: 415cc66 | coke++ | doit:
20:46 dalek perl6-roast-data: Change default runs for new host
20:46 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/415cc660b6
20:46 dalek perl6-roast-data: ed3e200 | coke++ | / (5 files):
20:46 dalek perl6-roast-data: today (automated commit)
20:46 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/ed3e2003d8
20:47 [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:48 [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 riceandbeans left #perl6
20:48 [Coke] S05-mass/properties-block.t aborted 670 test(s) - that looks like the main culprit.
20:49 [Coke] might just be slower on the new box, I suppose.
20:49 lizmat [Coke]: looking at it
20:50 [Coke] lizmat: it's on niecza.
20:50 lizmat ah, could it be that the new machine doesn't have icu properly installed ?
20:50 lizmat ah, ok
20:50 * lizmat shuts op
20:50 lizmat up
20:50 [Coke] rakudo.p is only failing 5 tests on the new box, down from 9ish.
20:51 timotimo oh hey lizmat :)
20:51 timotimo the cruise is over?
20:52 lizmat yes, and we managed to get a cab quickly
20:52 timotimo did y'all enjoy it? :)
20:52 lizmat I guess most of the people are still on their way back from the harbor
20:52 lizmat it was very enjoyable, the weather was nice…  food and drink and everything
20:53 lizmat and even manaaged to talk some shop
20:53 lizmat :-)
20:55 lizmat just submitted a lightning talk proposal showing how easy it is tp contribute to Perl 6 and its internals
20:55 traceur joined #perl6
20:55 lizmat now going downstairs again for some more drinks
20:56 lizmat afk&
20:56 FROGGS have fun!
21:02 masak o/
21:02 FROGGS hi masak!
21:02 masak hejehj :)
21:03 masak ugh. laggy connection is laggy.
21:05 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 diakopter *what's wrong
21:06 diakopter my point was that NO ONE KNOWS that's where it's heading
21:06 diakopter so I wanted to make people aware
21:06 diakopter that people believe those things are reasonable
21:06 masak re http://irclog.perlgeek.de/perl6/2013-08-13#i_7446742 , I think $_ should be rw there.
21:07 masak 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:08 masak what I admire jnthn++ for is that he does shit, and then showcases it, in that order.
21:09 FROGGS (showcase shit)++ :P
21:09 thou joined #perl6
21:10 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/
21:10 FROGGS o/
21:17 diakopter masak: it's not that I didn't call it promise. I explicitly called it NOT PROMISE
21:17 diakopter (can't possibly be any more clear than that)
21:18 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:19 masak it's not that people are stupid, it's a bandwidth thing.
21:19 masak simple things get across, complex things don't.
21:20 masak "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
21:21 masak I kinda wish you had underpromised a bit more. :/
21:21 masak s/kinda //
21:22 diakopter how should I have phrased it?
21:22 diakopter am I not allowed to talk about what I'll be working on the next few months?
21:23 diakopter or imply that I have high confidence it will be achieved?
21:23 lizmat joined #perl6
21:24 * 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
21:25 masak "If you set expectations high and fail to live up to them you will lose trust and credibility." -- http://www.dailyblogtips.com/underpromise-and-overdeliver/
21:26 masak note, "expectations", not even "commitments".
21:27 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:29 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 #perl6
21:30 dalek rakudo/nom: 59f0605 | tadzik++ | src/vm/jvm/core/Threading.pm:
21:30 dalek rakudo/nom: Make select() more awesome and more useful.
21:30 dalek rakudo/nom:
21:30 dalek rakudo/nom: Add a default block that runs when no other candidate is ready.
21:30 dalek rakudo/nom:
21:30 dalek rakudo/nom: When more than one candidate is ready, pick one at random.
21:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/59f0605b3d
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.
21:31 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 diakopter er, yes.
21:31 FROGGS I guess 'not allowed' are not the right words
21:31 masak your lightning talk wasn't "what I'll be working on the next few months"!
21:32 masak 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.
21:32 masak by all means, please do.
21:34 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?
21:34 diakopter what exactly is so uncertain about my expectations?
21:35 masak *sigh*
21:35 diakopter I'm trying to find out the source of your fears
21:35 PerlJam my guess is "other people"
21:35 masak I don't want to iterate another cycle through this conversation.
21:35 masak just re-read the backlog.
21:36 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
21:36 lizmat or by YAPC::EU at the latest
21:36 lizmat alas, that did not happen yet
21:36 timotimo diakopter: i think the problem is that you expect people to be much more sensible than they actually are
21:36 masak YAPC::EU was the goal. then life interferred.
21:37 lue .oO( Apparently, jnthn hasn't finished it yet :) )
21:37 diakopter *facepalm*
21:37 lizmat life will always interfere
21:37 timotimo you have the best intention and given pertectly reasonable people you would probably have done just fine
21:37 timotimo at least that's my guess
21:37 FROGGS I was expecting that MoarVM hosts nqp by now fwiw :/
21:38 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.
21:38 FROGGS so, everybody has his/her expectations, and you probably make ppl upset when you raise em' and can't deliver
21:39 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
21:39 FROGGS diakopter: yeah, but I thought you were working on that to demo it at the yapc
21:39 diakopter who said that?
21:40 FROGGS lue: true, we have to be careful
21:40 FROGGS diakopter: you
21:40 diakopter I might've said I'd like to do that
21:40 diakopter or even hope to
21:40 timotimo right. too many bad thoughts and the dwarves are going to throw a tantrum
21:40 timotimo a tantrum spiral would be very bad for our fortress
21:41 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.)
21:41 diakopter FROGGS: feel free to quote me with dates; if I had unreasonable expectations about my time availability, that's good to know
21:41 * pmichaud sees he will need to read the backlog
21:41 timotimo lue: you know that elves are the "everybody hates them" people of df? :)
21:42 diakopter pmichaud: no, just privmsg masak
21:43 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?
21:44 diakopter I could've sworn statements about expectations implied "as long as my expectations about dependencies remain correct"
21:45 [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 masak I've never seen diakopter be so defensive. he really thought that was a good idea.
21:45 masak experience tells me it probably wasn't.
21:46 colomon joined #perl6
21:46 [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*
21:46 masak right.
21:46 perigrin masak is (I think) saying that people will only hear the dates
21:46 perigrin and make of them what they will
21:46 PerlJam Hmm.
21:47 diakopter well what dates or 95% confidence interval should I have given?
21:47 bruges joined #perl6
21:47 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?
21:47 btyler trolls feast on perl6 statements that involve dates, I think is the overall message
21:47 lizmat 95% confidence is a a
21:48 lizmat statistical anomaly
21:48 perigrin diakopter: I wouldn't have given dates at all ... or even a confidence interval
21:48 perigrin just said "this is where I want to go."
21:48 lizmat perigrin++
21:48 diakopter without a time frame it's delusional dreaming that hasn't considered the level of effort
21:48 perigrin diakopter: not true
21:48 lizmat I expect a 50% chance of rain this Thursday in Kiev
21:48 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.
21:49 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 masak perigrin: me neither.
21:49 lue Your Hauge Grant would beg to differ on the "delusional dreaming" notion.
21:49 perigrin I'm saying announcing it has almost no upside, and a lot of downside.
21:49 diakopter you guys changed the text
21:49 diakopter I didn't say "what I'm working on"
21:50 * perigrin wasn't there.
21:50 diakopter I didn't say "what I'm working on" above
21:50 benabik joined #perl6
21:50 nugged_ joined #perl6
21:50 lizmat "21:22am I not allowed to talk about what I'll be working on the next few months?"
21:50 diakopter yes.
21:50 diakopter future.
21:50 perigrin I'm just responding to the two conversations I've seen about it :)
21:50 diakopter these guys are implying they are defining "what I have been working on, look at it"
21:50 FROGGS diakopter: this was what I was talking about: http://irclog.perlgeek.de/moarvm/2013-08-08#i_7424966
21:51 diakopter like I said above
21:51 diakopter 'might' is even weaker than 'hope'
21:51 FROGGS diakopter: note that I am not upset or so, just wanted to note... I appreciate your work, no doubt
21:52 FROGGS 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.
21:52 diakopter lue: huh?
21:53 nugged joined #perl6
21:53 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"
21:53 lue (not all dreams apply for grants)
21:54 diakopter yes, you're right, it would've been a good idea to mention the grant app
21:55 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?
21:56 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 timotimo well, wrong or missing version of dependency nqp-mo.nqp in stage1/gen
21:58 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.
22:00 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 timotimo at least it seems to me
22:04 PerlJam in 20
22:04 perigrin colomon: yeah but I'm paid to dream sometimes.
22:05 perigrin 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.
22:06 colomon 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.
22:06 perigrin Oh I'm wrong nearly 100% of the time.
22:07 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)  :-)
22:07 segomos pmichaud: we get paid to talk in irc about dreams
22:07 diakopter haha
22:09 timotimo huh!
22:09 timotimo say, can ~~ in nqp cause modifications to something?
22:09 tadzik s///?
22:10 pmichaud afair, ~~ in NQP just calls .ACCEPTS, same as in Rakudo
22:10 pmichaud (well, without the topicalization that Rakudo does)
22:10 benabik method infix:sym<~~>($/) { make QAST::Op.new( :op<callmethod>, :name<ACCEPTS>, :node($/) ); }
22:11 timotimo the line that breaks the build is:
22:11 timotimo if $op.op ~~ /^$<opt>=(add|sub|mul)_n$/ { }
22:11 timotimo if i remove that, everything's fine, if i add it, the build breaks with the missing required version
22:11 timotimo $op is a QAST::Op node
22:12 pmichaud I'm not paying close attention, but sounds to me like a stale or incorrect QRegex library is being loaded.
22:12 pmichaud because it would then call accepts on the /.../  regex.
22:12 timotimo would an exact error message dump help?
22:13 pmichaud I think I'm at the extent of my ability to help
22:13 pmichaud gotta run
22:13 timotimo ah
22:13 timotimo thank you!
22:13 timotimo fortunately i can do this with substr just as easily
22:13 timotimo nqp: say(nqp::substr("add_n", * - 2, 2))
22:13 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: "*…
22:13 timotimo nqp: say(nqp::substr("add_n", nqp::chars("add_n") - 2, 2))
22:13 camelia nqp: OUTPUT«_n␤»
22:20 timotimo i would have never guessed the regex would cause trouble
22:20 troydm left #perl6
22:21 timotimo yeeeaaaah it goes through! :)
22:23 timotimo now qast tests fail, because ... some reason?
22:25 timotimo all the other tests succeed, though. looking forward to building a rakudo with this
22:27 rafl joined #perl6
22:30 timotimo aaw, stage parse didn't get any faster at all
22:30 timotimo but ... but ... all my hopes and dreams!!
22:30 FROGGS :o(
22:32 colomon so what exactly did jnthn demo?  just saw a raving tweet….
22:33 diakopter super-cool factorings of neat async patterns
22:34 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)
22:34 timotimo is op "numify" guaranteed to return an int?
22:35 timotimo like in +@foo?
22:35 timotimo 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
22:37 timotimo i suppose the optimizer could know that if an op numify has a var that starts with @, it will return an int
22:38 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?
22:38 colomon a Num
22:38 timotimo exactly, that's my worry
22:39 * 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
22:40 timotimo this is all int and num, not Int and Num
22:40 colomon still very distinct meanings
22:41 timotimo and in nqp, too ;)
22:43 nugged joined #perl6
22:48 woolfy joined #perl6
22:52 timotimo nqp: say(nqp::ord("foo"))
22:52 camelia nqp: OUTPUT«102␤»
22:59 timotimo any ops you can think of that clearly return int, but do not end in _i?
23:00 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
23:06 timotimo if i could go from "callmethod .to/.from on lexical $/", that would be a big win, too
23:06 timotimo does that sounds dumb?
23:07 timotimo 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 timotimo and even worse may explode in very unexpected ways
23:11 zwut00 left #perl6
23:12 FROGGS nqp: my $/
23:12 camelia nqp:  ( no output )
23:12 FROGGS :/
23:14 nugged joined #perl6
23:15 BenGoldberg joined #perl6
23:17 BenGoldberg Good evening
23:18 timotimo hello ben
23:18 BenGoldberg r: (^Inf).infinite.say
23:18 camelia rakudo 59f060: OUTPUT«True␤»
23:18 BenGoldberg r: (0..Inf).infinite.say
23:18 camelia rakudo 59f060: OUTPUT«True␤»
23:22 BenGoldberg r: (grep(True,(^Inf))).infinite.say
23:22 camelia rakudo 59f060: OUTPUT«Nil␤»
23:23 timotimo nqp: say(nqp::isnull(NQPMu))
23:24 camelia nqp: OUTPUT«0␤»
23:24 timotimo oh, huh
23:28 benabik joined #perl6
23:29 BenGoldberg r: role finite-list { };my @foo but finite-list;say @foo ~~ List;say @foo ~~ finite-list;
23:29 camelia rakudo 59f060: OUTPUT«True␤False␤»
23:31 timotimo i get lots of transform successes in nqp, but almost none in rakudo
23:32 timotimo in some of the files it seems like i can't find "int", "num" or "str" symbols
23:32 fridim_ joined #perl6
23:33 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:35 timotimo stage parse is 105.1s and stage optimize is 14.0s for optimized nqp.
23:36 berekuk joined #perl6
23:37 segomos r: say "test" ~~ rx{^ <![e]>+ $}
23:37 camelia rakudo 59f060: OUTPUT«(timeout)»
23:39 segomos this is a bug?
23:39 diakopter pmichaud: ^ bug?
23:40 timotimo seems pretty buggy, yeah. that should totally terminate
23:42 timotimo virtually no change in time with unoptimized nqp :|
23:42 BenGoldberg r: say "test" ~~ /<![^e]>+/;
23:42 timotimo must be because this exact optimisation is failing so hard when perl6 is being compiled
23:42 timotimo i wonder why
23:43 camelia rakudo 59f060: OUTPUT«(timeout)»
23:43 segomos BenGoldberg: both timeout from what i've seen
23:43 timotimo what's that ^ supposed to do there?
23:43 BenGoldberg Oops
23:43 BenGoldberg r: say "test" ~~ /<![e]>+/;
23:43 camelia rakudo 59f060: OUTPUT«(timeout)»
23:43 segomos the problem is with the negation
23:43 segomos r: say "test" ~~ rx{^ <[e]>+ $}
23:44 camelia rakudo 59f060: OUTPUT«Nil␤»
23:44 segomos r: say "test" ~~ rx{<[e]>+}
23:44 camelia rakudo 59f060: OUTPUT«「e」␤␤»
23:45 segomos r: say "test" ~~ rx{^<[e|\w]>+$}
23:45 camelia rakudo 59f060: OUTPUT«「test」␤␤»
23:46 BenGoldberg r: say "test" ~~ /<![e]>{3}/;
23:46 camelia rakudo 59f060: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rDEDjqJAic�Unsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)�at /tmp/rDEDjqJAic:1�------> [32msay "test" ~~ /<![e]>{3}[33m�[31m/;[0m�»
23:46 BenGoldberg r: say "test" ~~ /<![e]>{3,3}/;
23:46 camelia rakudo 59f060: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/63D81hQNiF�Unsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*)�at /tmp/63D81hQNiF:1�------> [32msay "test" ~~ /<![e]>{3,3}[33m�[31m/;[0m�»
23:46 BenGoldberg r: say "test" ~~ /<![e]>**3/;
23:46 camelia rakudo 59f060: OUTPUT«「」␤␤»
23:46 BenGoldberg r: say "test" ~~ /<![e]>**5/;
23:46 camelia rakudo 59f060: OUTPUT«「」␤␤»
23:46 BenGoldberg r: say "test" ~~ /<![e]>**Inf/;
23:47 camelia rakudo 59f060: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EIeTD9MMCJâ�¤Quantifier quantifies nothingâ�¤at /tmp/EIeTD9MMCJ:1â�¤------> [32msay "test" ~~ /<![e]>**[33mâ��[31mInf/;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤â€¦
23:47 BenGoldberg r: say "test" ~~ /<![e]>**0..Inf/;
23:47 camelia rakudo 59f060: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/xKy0WHiKLn�Only integers or '*' allowed as range quantifier endpoint�at /tmp/xKy0WHiKLn:1�------> [32msay "test" ~~ /<![e]>**0..[33m�[31mInf/;[0m�»
23:47 BenGoldberg r: say "test" ~~ /<![e]>**0..*/;
23:47 camelia rakudo 59f060: OUTPUT«(timeout)»
23:47 BenGoldberg r: say "test" ~~ /<![e]>**10000/;
23:47 camelia rakudo 59f060: OUTPUT«「」␤␤»
23:47 BenGoldberg r: say "test" ~~ /<![e]>**100000/;
23:47 camelia rakudo 59f060: OUTPUT«「」␤␤»
23:48 BenGoldberg What prevents a zero-length match from happening two or more times in the same locaiton?
23:49 BenGoldberg r: say "test" ~~ /<![e]>**1000000/;
23:49 camelia rakudo 59f060: OUTPUT«(timeout)»
23:49 timotimo ah, i can kind of guess why symbol "int" wouldn't be available when compiling BOOTSTRAP.nqp
23:51 timotimo ah, i found out what i did wrong!
23:51 timotimo silly me :D
23:52 timotimo maybe now it'll turn out to be a bit faster
23:52 Vico_Wu1 joined #perl6
23:54 timotimo huh. it did transform lots of things, in grammar and friends, too. but no visible change in run time :(
23:55 Vico_Wu joined #perl6
23:56 timotimo ell, i hope at least the spectests are clean, since clearly the optimizer has no speed benefits >_>
23:57 timotimo failures only in is_default and nil so far ...
23:59 araujo joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo