Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-08-20

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 iarna joined #perl6
00:09 * hoelzro .oO( make specktest )
00:09 hoelzro must be dinner time
00:12 timotimo moarvm's stability with multithreaded spec tests is not quite so awesome on the last days before the release ...
00:13 hoelzro =/
00:14 dalek roast: 6ccd874 | TimToady++ | S32-array/exists-adverb.t:
00:14 dalek roast: remove .list coercions that are no longer needed
00:14 dalek roast: review: https://github.com/perl6/roast/commit/6ccd874d5c
00:14 timotimo t/spec/S32-num/rat.rakudo.moar seems to fail now
00:14 timotimo well, one test
00:14 japhb timotimo: CDD is winning at the moment, so things there will be talks about are getting all the love.  :-)  After the conf, I bet things get a lot better on threading/async stuff.  :-)
00:14 timotimo #      got: '301281685344656669 1250'
00:14 timotimo # expected: '301281685344656640 1250'
00:14 timotimo could this be due to the bigint "is big" check changes?
00:15 jnthn timotimo: Dunno, but I did a spectest right after those changes here and saw no difference.
00:15 japhb Does it matter that the bigint lib reserves a few bits in each mp_digit?
00:15 timotimo er ... and sprintf is failing quite a bit, too
00:15 jnthn japhb: In fact, I'm relying on the fact it does that... :)
00:16 timotimo oh, failed only one there apparently
00:16 dalek specs: eda3e60 | (Stéphane Payrard)++ | S99-glossary.pod:
00:16 dalek specs: S99: atomic
00:16 dalek specs: review: https://github.com/perl6/specs/commit/eda3e60dce
00:16 timotimo i'm quite confused by these spectest failures i don't seem to recall from earlier
00:17 timotimo but i don't think my moarvm changes are responsible
00:21 TimToady the LOLLY patch doesn't actually fix t/spec/S02-types/multi_dimensional_array.rakudo.moar if LOLLY is set
00:22 TimToady I suspect it only works if LOLLY isn't set
00:23 timotimo https://gist.github.com/timo/252f6b903d169bd34eb1 - will post spectest failures with spesh enabled later
00:24 nbrown_ joined #perl6
00:26 dalek roast: f2b1bb0 | TimToady++ | S17-supply/start.t:
00:26 dalek roast: can't compare @array with [], needs $@array
00:26 dalek roast: review: https://github.com/perl6/roast/commit/f2b1bb0c0f
00:28 BenGoldberg joined #perl6
00:29 timotimo gist updated
00:29 timotimo seems like my changes to spesh/jit in the branch i did for moarvm are benign
00:31 TimToady I don't think the numeric stuff is related to lists
00:31 TimToady that is, the rat and sprintf failures seem lower-leveler
00:31 timotimo yeah, i'm confused by them
00:31 TimToady loss of precision on the rat
00:32 timotimo as i said, may be caused by the "bigint is_big" change
00:32 timotimo so we store that number in a num temporarily or something?
00:32 TimToady and getting 0's where NaN or Inf is expected
00:32 timotimo those are # TODO'd, though
00:32 TimToady not the ones at the end
00:33 timotimo well, it says only one test has failed on my box
00:33 TimToady I mean, not #144
00:34 timotimo er ... right
00:34 TimToady yeah, that one is also precision, my bad
00:34 timotimo i'm not making much sense any more, time to go to bed!
00:34 timotimo o/
00:34 TimToady \o
00:40 Timbus joined #perl6
00:44 fhelmberger joined #perl6
00:56 kurahaupo_ joined #perl6
01:29 PotatoGim joined #perl6
01:30 FROGGS_ joined #perl6
01:33 jnap joined #perl6
01:38 telex joined #perl6
01:39 klapperl joined #perl6
01:41 dayangkun joined #perl6
02:09 Mouq joined #perl6
02:13 xenoterracide joined #perl6
02:14 nbrown_ joined #perl6
02:29 fling joined #perl6
02:37 dayangkun joined #perl6
02:45 Sqirrel joined #perl6
02:46 noganex_ joined #perl6
02:48 Mouq joined #perl6
03:07 Mouq m: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully # :(
03:07 camelia rakudo-moar 220442: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PsLP5pMauWâ�¤You can't adverb thatâ�¤at /tmp/PsLP5pMauW:1â�¤------> [32mmy $b = 2; $a < 1 and $b == 2 :carefully[33mâ��[31m # :([0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
03:07 Mouq I thought that used to work, too
03:07 Mouq star: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully
03:07 camelia star-{m,p} 2014.04: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤You can't adverb thatâ�¤at /tmp/tmpfile:1â�¤------> [32mmy $b = 2; $a < 1 and $b == 2 :carefully[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
03:07 Mouq n: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully
03:07 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Cannot call infix:<==>; none of these signatures match:␤    Any, Any␤  at /tmp/XfRtULGKNv line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting lin…»
03:18 Sqirrel joined #perl6
03:23 Colby` joined #perl6
03:44 pyrimidine joined #perl6
03:51 BenGoldberg std: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully
03:51 camelia std ee1ef48: OUTPUT«ok 00:01 124m␤»
04:01 kaare_ joined #perl6
04:20 rindolf joined #perl6
04:33 Mouq Ohhhh
04:33 Mouq m: 1 + 2 :carefully
04:33 camelia rakudo-moar 220442: OUTPUT«Unexpected named parameter 'carefully' passed␤  in sub infix:<+> at src/gen/m-CORE.setting:4311␤  in block  at /tmp/OOM_0DY9uI:1␤␤»
04:33 Mouq It doesn't work if the operator is chaining
04:34 xinming_ joined #perl6
04:35 TimToady it doesn't work if the parser isn't STD
04:36 TimToady there is no operator that takes :carefully as a named argument
04:36 Mouq TimToady: Yes, but even if you define one to, Rakudo doesn't like it
04:36 Mouq *define a chaining one to
04:37 TimToady I don't see any such defs above...
04:37 Mouq m: sub infix:<eq> ($a, $b, :$pl!) { $a eq $b }; "a" eq "b" :pl
04:37 camelia rakudo-moar 220442: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DYOMmkQNYeâ�¤You can't adverb thatâ�¤at /tmp/DYOMmkQNYe:1â�¤------> [32m $b, :$pl!) { $a eq $b }; "a" eq "b" :pl[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
04:37 TimToady okay, that I'll buy :)
04:38 Mouq m: sub infix:<pl-eq> ($a, $b, :$n) { $a eq $b }; "a" pl-eq "b" :n
04:38 camelia rakudo-moar 220442: ( no output )
04:40 Mouq m: sub infix:<eq> is  ($a, $b, :$pl!) is assoc('left') { $a eq $b }; "a" eq "b" :pl
04:40 camelia rakudo-moar 220442: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/GbMPoMZyFVâ�¤Missing blockâ�¤at /tmp/GbMPoMZyFV:1â�¤------> [32msub infix:<eq> is  [33mâ��[31m($a, $b, :$pl!) is assoc('left') { $a eq[0mâ�¤    expecting any of:â�¤        colon pairâ�¤        q…»
04:40 Mouq m: sub infix:<eq> ($a, $b, :$pl!) is assoc('left') { $a eq $b }; "a" eq "b" :pl
04:40 camelia rakudo-moar 220442: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Ls2rEqcf7Uâ�¤You can't adverb thatâ�¤at /tmp/Ls2rEqcf7U:1â�¤------> [32msoc('left') { $a eq $b }; "a" eq "b" :pl[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
04:40 Mouq Worth a shot
05:00 dalek rakudo/nom: 359acca | TimToady++ | src/core/List.pm:
05:00 dalek rakudo/nom: eagerize combinations/permutations somewhat
05:00 dalek rakudo/nom:
05:00 dalek rakudo/nom: Since we generally want all the combinations at a particular complexity
05:00 dalek rakudo/nom: level, batch the gather/take at each level.  (Combinations over a range of
05:00 dalek rakudo/nom: levels still are lazy on going to the next level.)  Runs about 25% faster.
05:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/359acca178
05:01 * TimToady likes the N times faster better, but will take what he can get :)
05:09 rindolf TimToady: hi.
05:09 rindolf Hi all.
05:13 TimToady [Coke]: your lolly fix to S02-types/multi_dimensional_array.t doesn't actually run any multidimensional tests if LOLLY is set
05:20 ponbiki joined #perl6
05:41 gfldex joined #perl6
05:45 iarna joined #perl6
05:49 cognome joined #perl6
05:56 TimToady [Coke]: I'm currently working on a patch to fudge to allow fudging by envvar
06:01 kaleem joined #perl6
06:02 kurahaupo joined #perl6
06:14 dalek roast: dbecd40 | TimToady++ | fudge:
06:14 dalek roast: teach fudge to know about envvars
06:14 dalek roast:
06:14 dalek roast: Now in addition to #?rakudo.moar lines, you can do three other things
06:14 dalek roast:
06:14 dalek roast:     1) negate the line to #!rakudo.moar to fudge anything *except* rakudo.moar
06:14 dalek roast:     2) test #?FOO, if environment variable is set, perform action
06:14 dalek roast:     2) test #!FOO, if environment variable is *not* set, perform action
06:14 dalek roast:
06:14 dalek roast: We're using this temporary to mark #!LOLLY tests.
06:14 dalek roast: review: https://github.com/perl6/roast/commit/dbecd402bc
06:14 dalek roast: 1312762 | TimToady++ | S02-types/multi_dimensional_array.t:
06:14 dalek roast: mark tests to skip if LOLLY isn't set
06:14 dalek roast: review: https://github.com/perl6/roast/commit/131276214a
06:15 TimToady s/temporary/temporarily/
06:16 darutoko joined #perl6
06:17 TimToady aaaaand...looks like I broke combinations.t
06:17 TimToady (earlier, not with the fudge fudges)
06:23 anaeem1_ joined #perl6
06:32 dalek roast: 5180a6f | TimToady++ | S32-list/combinations.t:
06:32 dalek roast: is_deeply for better feedback on AoA comparisons
06:32 dalek roast:
06:32 dalek roast: Also added test for .combinations default of powerset.
06:32 dalek roast: review: https://github.com/perl6/roast/commit/5180a6f136
06:33 dalek roast: bb7df7e | TimToady++ | S32-list/permutations.t:
06:33 dalek roast: is_deeply for better diagnosics on failure
06:33 dalek roast: review: https://github.com/perl6/roast/commit/bb7df7ebff
06:35 dalek rakudo/nom: 688c289 | TimToady++ | src/core/List.pm:
06:35 dalek rakudo/nom: fix combinations(0) to work as a list of []
06:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/688c2895ac
06:42 dalek roast: 3f4f55d | TimToady++ | README:
06:42 dalek roast: document new fudge directives, negated and envvar
06:42 dalek roast: review: https://github.com/perl6/roast/commit/3f4f55d59e
06:45 TimToady well, that's probably enough damage for one day...
06:46 TimToady Mouq: your multidimensional tests should run now if you set LOLLY
06:47 sergot morning o/
06:50 krunen joined #perl6
06:59 klaas-janstol joined #perl6
07:00 cosimo joined #perl6
07:18 FROGGS_ <xsd:complexType name="BinarySecurityTokenType">
07:18 FROGGS_ <xsd:annotation><xsd:documentation>A security token that is encoded in binary</xsd:documentation>
07:18 FROGGS_ arrr!
07:18 FROGGS_ >.<
07:24 zakharyas joined #perl6
07:26 klaas-janstol joined #perl6
07:27 moritz good morning
07:28 nwc10 you're making assumptions there :-)
07:28 moritz nope
07:28 moritz I can wish a good morning independently of time of day, goodness of the day so far, and the whole rest
07:28 nwc10 mmm, true that
07:29 moritz well, I'm making the assumptions that there's at least one reader who understand a bit of English
07:29 nwc10 clearly I failed on that
07:31 * moritz lays his hopes on FROGGS_ :-)
07:49 FROGGS_ o/
07:49 FROGGS_ *yawn*
07:51 FROGGS Q: is it going to be a good morning when I have to do WSSE/SOAP with client certificates on linux?
07:51 moritz FROGGS: maybe not, but I wish you one anyway :-)
07:52 nwc10 have you considered an alternative career herding sheep?
07:52 nwc10 (although to be fair, the comments of the two london.pm members who have farmed sheep are that it's not easy either)
07:53 * moritz herds kids instead in his free time
07:54 moritz copious free time, actually, to stick with the meme
07:55 moritz afk
07:58 nwc10 yes, tell me about herding.
07:58 nwc10 the small one wants to eat cables
08:04 FROGGS eww :P
08:05 FROGGS our smallest just wants to hug all the time
08:06 nwc10 at least he usually announces his intent by making a loud noise before setting off across the floor to reach his newly identified target
08:07 nwc10 to be clear, he will try to eat anything
08:07 nwc10 but cables are worth travel
08:07 FROGGS kids are weird :o)
08:08 nwc10 I find him reasonably predictable
08:08 nwc10 1) will try to eat anything
08:08 nwc10 2) will move towards anything deemed interesting
08:08 nwc10 3) is hungry and tired on a reasonably guessable schedule
08:08 nwc10 and does not deny that he is tired when he is tired.
08:09 Alula_ joined #perl6
08:15 FROGGS I've got one that always deny that he's tired (maybe except when he's ill), the other one does not deny and the third cannot deny yet
08:17 nwc10 small one is 8 months and can't deny much
08:17 nwc10 large one is 61 months and will deny some things
08:21 FROGGS #1 is 56 months, #2 is 40 months and #3 is 1.5 moths old
08:24 denis_boyun_ joined #perl6
08:24 kurahaupo joined #perl6
08:31 klaas-janstol joined #perl6
08:35 donaldh joined #perl6
08:35 denis_boyun__ joined #perl6
08:45 anaeem1 joined #perl6
08:52 fhelmberger joined #perl6
09:04 fuad joined #perl6
09:04 fuad Hi, all.
09:05 klaas-janstol joined #perl6
09:05 klaas-janstol joined #perl6
09:06 FROGGS hi fuad
09:14 masak hi fuad
09:14 masak good ante-something, #perl6
09:16 fuad hey, masak! How are you my friend?!
09:16 fuad it was a long time!
09:17 masak yes, you don't stop by often enough :)
09:17 * masak is here all the time, almost
09:18 fuad Sorry, bro. I've been so busy with real life. And i'm always coming here, whenever i get a chance to connect to irc :)
09:18 masak no worries.
09:18 masak it's nice to see you!
09:19 fuad i'm very glad to see you after a long time
09:19 fuad now it's more than 4 years i guess we know each other
09:21 masak m: say "welcome fuad!"; say join ", ", .[0, 0], "$(.^name)!" given ["hip"]
09:21 camelia rakudo-moar 688c28: OUTPUT«welcome fuad!␤hip, hip, Array!␤»
09:21 masak :D
09:21 fuad :)
09:37 cono left #perl6
09:38 fuad left #perl6
09:38 fuad joined #perl6
09:40 fuad left #perl6
09:47 spider-mario joined #perl6
09:57 dayangkun joined #perl6
10:08 dalek nqp-js: 6955881 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
10:08 dalek nqp-js: Prefer ' to " for comformance with the Google JavaScript Style Guide.
10:08 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/6955881796
10:09 dalek nqp-js: 0229633 | (Pawel Murias)++ | TODO:
10:09 dalek nqp-js: Update TODO.
10:09 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/0229633213
10:13 pmurias joined #perl6
10:15 pmurias [Coke]: re: helping with nqp-js yes, there is a TODO file and I could write down some more interested TODO tasks
10:20 bjz joined #perl6
10:37 Ven joined #perl6
10:40 woolfy left #perl6
10:53 dalek perl6-most-wanted: 3d2bdd1 | (Filip Sergot)++ | most-wanted/modules.md:
10:53 dalek perl6-most-wanted: HTTP::UserAgent as WIP added
10:53 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/3d2bdd1b4a
10:55 carlin is there a way to send a signal from perl6 code, or would I have to qx/kill .../
10:58 anaeem1_ joined #perl6
11:01 tadzik sergot: is there a list of things that are still IP?
11:02 moritz carlin: only if you use the new MoarVM async process thingy, and then only to processes you spawned
11:09 erkan joined #perl6
11:09 Ven joined #perl6
11:11 sergot tadzik: no, I will create it
11:11 tadzik awesome, thanks :)
11:12 sergot tadzik: https://github.com/tadzik/Bailador/pull/13 an update :)
11:13 tadzik ahahahah
11:13 sergot tadzik++ # nice idea (the list)
11:13 tadzik what a hack
11:13 tadzik it's very clever, but I'm not sure I like it from the API perspective
11:13 sergot masak++
11:13 sergot tadzik: why so?
11:14 sergot tadzik: https://github.com/tadzik/Bailador/b​lob/master/examples/pastebin.pl#L16 what is the content here?
11:14 tadzik sergot: https://github.com/tadzik/Bailador/​blob/master/examples/views/index.tt 'content' is the key
11:16 sergot ok, then I have a question
11:16 sergot What to do, when we pass something like this, in the content of a Request: "blabla" ?
11:16 tadzik as for not quite liking it, I think $res.<&content> looks confusing and ugly :P
11:17 sergot It will appear as (blabla => Any).hash in request.params
11:17 tadzik I think so, yes
11:17 sergot Do you think it is correct?
11:17 tadzik my understanding was that if someone wants raw data, they'd use .env<psgi.input>
11:17 sergot I thought it's not
11:18 tadzik hmm
11:18 tadzik oh
11:18 masak hm, maybe use something completely different than request.params, then?
11:18 tadzik it might not be
11:18 masak like, another attribute or accessor?
11:18 sergot .env<psgi.input> sounds good
11:18 tadzik masak: I'd be looking in that direction I think
11:18 tadzik sergot: yeah, then you still need to .decode that, and probably take Content-Encoding into consideration
11:19 masak I agree doing out-of-band things in the keys namespace feels not-ideal.
11:19 tadzik so maybe it needs more clever of an accessor
11:19 masak +1
11:19 tadzik btw, is there a hackathon before y::e?
11:23 masak none planned, AFAIK.
11:23 masak but come to our hotel and we'll arrange something ;)
11:23 tadzik will do :)
11:25 klaas-janstol joined #perl6
11:25 cognome joined #perl6
11:26 mattp___ joined #perl6
11:27 sergot oh, it's this Friday.
11:27 tadzik yes
11:27 tadzik wait, friday?
11:28 tadzik oh, ok, friday
11:30 zakharyas joined #perl6
11:37 Ven I'm always amazed by the ability to get a hash from a %%2 array.
11:37 masak what kind of syntax is %%2 ?
11:38 moritz divisible by two
11:39 moritz even length
11:39 masak oh!
11:39 masak yes, I see now.
11:39 Ven m: "a" for (a => 2); # no useless in sink context?
11:39 camelia rakudo-moar 688c28: ( no output )
11:42 Ven m: say "got {.key}" for %(a => 2, b => 3)
11:42 camelia rakudo-moar 688c28: OUTPUT«got ␤got ␤»
11:42 Ven duh.
11:44 moritz m:  "a" for (a => 2); 32
11:44 camelia rakudo-moar 688c28: ( no output )
11:45 masak m: say "got $(.key)" for %(a => 2, b => 3)
11:45 camelia rakudo-moar 688c28: OUTPUT«got a␤got b␤»
11:45 moritz probably because it maps to a map
11:45 Ven that is ... surprising
11:48 Ven I didn't even know about $()
11:54 Ven https://github.com/Dobiasd/programmi​ng-language-subreddits-and-their-cho​ice-of-words/blob/master/README.md
11:55 Ven these lisp and clojure guys sure are happy
11:56 carlin can someone with OS X please show me the output of `kill -l`
11:56 klaas-janstol joined #perl6
11:58 Ven carlin:
11:58 Ven https://gist.github.com/Nam​i-Doc/109d7d6914b182ec8c29
11:58 carlin Ven++, thanks :)
12:01 Ven erm, is there a way to `cd` the shell into another directory from perl6?
12:01 Ven or do I have to resort to bash/batch for that?
12:01 carlin chdir
12:01 colomon I'm getting intermittent seg faults with Rakudo Moar on OS X.  :(
12:01 prevost joined #perl6
12:01 Ven carlin: chdir only changes it for the current program
12:01 timotimo hm, i seem to recall lizmat doing something with 'kill -l' on OS X at some point
12:02 Ven I'm literally trying to `cd` the terminal into a ... "better place"
12:02 timotimo you cannot chdir "for" your parent process, if that's what you mean
12:02 timotimo but you can execute the stdout of your program
12:02 carlin timotimo: kill -l is used in Kernel.pm to get the available signals
12:02 timotimo and it can "say 'chdir ...'"
12:02 timotimo carlin: OK
12:03 Ven timotimo: so I do have to resort to bash and batch? dang I'm sad
12:03 carlin which makes $*KERNEL.signals on Windows interesting
12:03 timotimo Ven: it's a fundamental limitation of posix
12:04 timotimo unless the process gives subprocesses some kind of IPC to do a chdir, you can't do it
12:04 lizmat carlin: well volunteered  :-)
12:04 timotimo i believe you can also not cd inside a .sh and have it stick
12:04 timotimo you'll have to declare a function and source that into your shell
12:04 timotimo (but i could be wrong)
12:05 Ven timotimo: well, I can use an alias, I guess.
12:05 Ven at least it works with batch ... eh.
12:06 Ven .o( cmd.exe is so much more powerful! )
12:07 timotimo imagine every chdir you do in your shell would propagate up to init %)
12:07 Ven I don't want that.
12:07 Ven I just want to be able to shell "cd ..."
12:10 masak Ven: find the process number, find its memory area, twiddle bits appropriately. presto!
12:10 Ven right, in perl 6.
12:10 masak Ven: but really, your request raises so many questions.
12:10 timotimo nativecall into libc :)
12:11 masak what if the parent process doesn't have a concept of CWD? what if it's a GUI? what if your process was started in the background?
12:11 timotimo we have nativecallcast, so if you can attach to another processes memory, you can just cast an address to a CStruct and presto
12:11 Ven masak: then it explodes. i don't care at all.
12:12 Ven in all these cases, it'll just be a subprocess and get stopped there
12:14 jnap joined #perl6
12:14 Ven uh-oh. Seems like MAIN dispatch is borked on something ... not sure what I've done wrong.
12:15 Ven oh. I was using MAIN("--foo") instead of :$foo! >_>
12:17 kurahaupo joined #perl6
12:20 [Sno] joined #perl6
12:22 klaas-janstol joined #perl6
12:24 masak that might almost merit a warning or something.
12:27 Ven it also reads kinda poorly because I can't have named args before pos ones
12:28 telex joined #perl6
12:30 sergot http://i.imgur.com/oja1B6l.jpg
12:30 timotimo i sure hope that's generated code.
12:31 timotimo at least after the fifth line ...
12:31 jnthn The fact the first bit is so disorganized makes me fear not :P
12:32 * masak .oO( 3000 strikes and then you refactor )
12:35 pmurias Ven: re cd the shell I think there is no general way to do that under Linux, you could wrap your Perl6 script in a bash function that does the directory changing
12:36 masak ooh
12:37 timotimo masak: i sure hope the compiler gets to optimize that huge tree of || into something more efficient than a long-ass series of branches and strcmp ...
12:38 masak timotimo: it's not so easy with strings. my bet would be on "no".
12:38 tadziksoftware sergot: uh what
12:38 tadziksoftware sergot: is that $work? :D
12:39 masak timotimo: but to me, that's not even the main thing. that bit of code is not optimized for reading at all.
12:39 timotimo yeah, i was way past the "readable code" thing at this point
12:49 sergot tadziksoftware: no, just a random pic from the web :P
12:50 sergot but I'm quite sure I can find something like this here :P
12:50 sergot hehe
12:52 tadziksoftware hehe
12:53 tadziksoftware I think I streched everyone's irc windows enough...
12:54 BinGOs are you now meatware?
12:55 timotimo i set my weechat to having the nicknames all lined up to the right side with a line separating nicks from text, but it's limited to a certain length, so your nick only ended up 1 character longer than mine :)
12:55 tadzik BinGOs: I got 3d-printed
12:55 tadzik timotimo: oh, that's useful
12:55 BinGOs I am holding out for 4D printing
12:55 tadzik well, 3d printing already takes so much time that it's almost 4d
12:55 gtodd sergot: it was probably very hard to type all that ... I hope whoever did it knew how to use cut and paste :)
12:56 masak BinGOs: they're made of meat. http://www.terrybisson.com/page6/page6.html
12:56 tadzik I imagine a hardcore vim user just generating that code with macros
12:56 gtodd programmer eifficiency :)
12:57 sergot gtodd: I hope so too. :)
12:58 gtodd plus you could use the folding feature in your editor and make that look like a one liner ... well almost
12:59 sergot I've found it here: http://www.reddit.com/r/ProgrammerHumor/ :)
12:59 gtodd then if a manager is looking over your shoulder you unfold that section ... "my you *have* been busy today"
13:00 sergot hehe :)
13:00 masak so much code! all those kLOCs!
13:01 timotimo m)
13:02 masak 'If we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent".' -- Edsger Dijkstra
13:02 sergot I cannot imagine how "m)" face can look like.
13:03 timotimo it's a facepalm emoticon
13:04 sergot oh, right, it makes sense
13:04 sergot nice :)
13:11 guru joined #perl6
13:13 ggoebel11111114 joined #perl6
13:14 sergot http://i.imgur.com/SJLQJmS.jpg
13:14 timotimo hehe.
13:35 iarna joined #perl6
13:38 sergot tadzik: https://github.com/sergot/htt​p-useragent/commit/f650c76079 - it's something
13:38 tadzik sergot: hmm, any details on ssl being unreliable?
13:38 tadzik or is it "use it and you'll see" :P
13:39 sergot iirc it didn't work on your box
13:40 sergot :)
13:41 sergot and I remember it failed on my box *once*
13:42 tadzik hhaha, you're right, it doesn't
13:42 tadzik I still didn't debug it
13:42 tadzik but I'm recently in a programming mood, and yapc will probably amplify that too :)
13:42 timotimo what exactly is "nativecall's int bug" again?
13:42 timotimo the 32bit thingie?
13:42 sergot yes
13:42 timotimo i seem to recall someone figured something out about that recently
13:42 timotimo or maybe i was dreaming that
13:43 timotimo last night i had this frustrating experience again where in my dream i was convinced i was in a dream and should be able to fly, but couldn't ... >_<
13:43 sergot tadzik: I need some help because I can't reproduce your error
13:44 sergot timotimo: sounds frustrating
13:44 timotimo http://tratt.net/laurie/blog/entri​es/an_editor_for_composed_programs - more things about language composition and stuff
13:45 klaas-janstol left #perl6
13:45 klaas-janstol joined #perl6
13:45 sergot tadzik: what do you actually get?
13:45 sergot while installing http ua
13:46 jdcola joined #perl6
13:46 masak do people still name their Perl 6 modules .pm ?
13:46 timotimo i sometimes do, if i forget to name them .pm6
13:46 masak or is everyone, like, "ooh, .pm6" these days?
13:46 timotimo (.pm6 will give me the correct syntax highlighting right from the start, helpfully)
13:47 sergot I use .pm6
13:47 tadzik I am still a pm guy
13:47 timotimo .o( although i have a command in vim which is ",p6" that'll set the syntax as well )
13:47 masak I've always been a bit uneasy with putting a 6 in the file endings.
13:47 masak but that's because I'm older than the decision that Perl 6 is a different language.
13:47 sergot whoa, nice new github's feature
13:47 timotimo the php people had php3 for a long time :)
13:47 timotimo i mean .php3
13:48 sergot https://github.com/blog/1877-folder-jumping
13:48 timotimo oh yes!
13:48 timotimo very helpful for java stuff
13:48 pmurias .pm6 seems a bit ugly
13:48 tadzik sergot: last time it was test failures, I'll check later
13:48 masak ok, .pm it is then.
13:48 timotimo pmurias: how about .6pm? :)
13:49 tadzik p6m
13:49 tadzik that's actually not bad :)
13:49 jdcola joined #perl6
13:49 timotimo mp6?
13:49 sergot .pms maybe? :D
13:49 timotimo (pew pew pew)
13:51 pmurias .6 seems to be already taken by "IBM Voice Type Language Script"
13:53 sergot .s
13:53 timotimo great.
13:55 pmurias isn't .s assembler?
13:55 sergot hmm, that's weird: https://github.com/sergot/openssl/stargazers could somebody click on "Jamie Peter Goodwin", what do you see?
13:56 sergot I'm getting 404 there
13:57 moritz sergot: me too; might be an eventual consistency thing
13:57 * PerlJam used some perl 6 programs for testing a Fortran->Java conversion and included them in the bundle of stuff sent to the client.
13:58 PerlJam maybe they'll try to run them at some point :)
13:58 moritz sergot: that is, user account has been deleted, but the list isn't updated yet
13:58 sergot jamiepg1 starred sergot/openssl
13:58 sergot 3 hours ago
13:58 colomon btyler_: I've forked JSON::Jansson to work on it.  I've just pushed the start of a t/ directory and a bug fix to it.  I'm going to hold off sending an official pull request until I've validated that this fixes all my issues that were delaying my $work.  ;)
13:59 sergot moritz: I've checked this just after he starred my repo
14:00 sergot yeah, anyway, looks odd
14:00 [Coke] I have a slight issue with fudging by something other than implementation: finding the fudges that need to be fixed.
14:00 [Coke] (before I could search for "#?rakudo"
14:01 btyler_ colomon: great! I started poking at encoding stuff the other night but was still a bit jetlagged
14:01 [Coke] (and I tried setting LOLLY when I ran those tests, and it crashed horribly, as expected; sorry it wasn't quite right)
14:01 sergot timotimo: do you remember who did figure  out something about the nativecalls int bug?
14:02 colomon btyler_++ # if we can get this working it will be a huge speed increase for vital $work functions.  I was afraid I was going to need to translate my script to p5...
14:02 sergot .seen ajs
14:02 yoleaux I haven't seen ajs around.
14:03 timotimo sergot: not sure :S
14:03 sergot ok :(
14:06 iarna joined #perl6
14:13 psch_ joined #perl6
14:15 psch i had had networking troubles with the machine this client is on
14:15 psch but they seem to have sorted themself out
14:15 psch thus, hi #perl6 after joining and quitting :)
14:19 iarna joined #perl6
14:23 pmurias colomon: you are using p6 at work?
14:23 masak tadzik++ # "Order NOW for 1.99zł!" :D
14:24 tadzik masak: where did I write that? :P
14:24 masak https://github.com/tadzik/Coroutines/
14:24 tadzik I don't even remember :D
14:24 masak haha
14:25 masak tadzik: I am writing (for my YAPC talk) a module like that, except it enables the computer to be turned off, and the program keeps going from where it left off.
14:25 tadzik wow, awesome :)
14:26 moritz serializable coroutines?
14:26 timotimo as far as i understand it ... not quite
14:27 masak moritz: serializable delimited continuations.
14:28 masak moritz: I need it both for mishu and Nomic, both of which run in fits and starts, saving their state in-between runs.
14:28 masak tadzik: if I want the inverse of JSON::Unmarshal (so, a JSON::Marshal, I guess), what's my best bet? write my own?
14:30 tadzik masak: don't we have Storable that uses JSON there somewhere?
14:30 tadzik https://github.com/teodozjan/perl-store/ this mebbe
14:30 tadzik nah, that's not it
14:30 masak seems to store things as .perl
14:31 masak I can serialize to JSON, it's no big deal.
14:31 tadzik yeah, I don't think any code from Unmarshal will be of any use
14:31 masak oh?
14:32 tadzik oh wait, maybe
14:32 tadzik https://github.com/tadzik/JSON-Unmarsha​l/blob/master/lib/JSON/Unmarshal.pm#L31 this part
14:32 tadzik no, actually it might be pretty useful :P
14:32 masak I just want to use your module. :)
14:33 masak (by the way, you don't need to .WHAT to get to the .^attributes)
14:33 tadzik yeah, probably not
14:33 masak maybe I should PR you... :)
14:34 tadzik JSON::FieldMarshal
14:35 masak PR'd
14:35 tadzik can't you also remove $type altogether now?
14:35 tadzik oh, you do
14:36 tadzik masak: http://www.tf2sounds.com/495
14:36 tadzik mer'd
14:36 tadzik merg'd
14:36 masak :D
14:39 hoelzro morning #perl6
14:40 masak hoelzro: \o
14:43 lee_ some funny graffiti to look out for in Sofia http://www.themoscowtimes.com/article/505354.html
14:43 hoelzro so it occurred to me last night that I could probably merge the S26 branch into nom for 2014.08
14:44 hoelzro but I think I should hold off and merge it in after tomorrow's release, so that other devs can fix my bug^W^W^Wplay with it for a while
14:44 timotimo ooooh, that's beautiful
14:44 jnthn hoelzro: Landing big branches the day before the release is probably not the wisest thing...
14:45 hoelzro jnthn: that's why I think I should hold off =)
14:45 jnthn hoelzro: Just merge it directly after the release and hen we've maximum feedback time ahead of the next one. :)
14:45 hoelzro that's the idea!
14:45 hoelzro jnthn: should I file a PR for it for others to review pre-merge?
14:46 hoelzro either way, I'm very excited
14:46 hoelzro I actually got to do something for once =)
14:47 jnthn hoelzro++ :)
14:48 jnthn hoelzro: Depends how much review you think it needs, and tbh you'd probably do as well asking for it here as you would PR'ing...
14:48 iarna joined #perl6
14:49 hoelzro true
14:49 hoelzro I think since it's a major contribution, and since I'm still pretty new contributing to rakudo, it could use a look from you, and probably a few others, jnthn
14:52 jnthn *nod*
14:52 jnthn decommute &
14:53 timotimo can i have some more people build latest moarvm/split_iter_boolification with --enable-jit and latest nqp and latest rakudo and run spectests with that?
14:53 timotimo on my desktop it's clean except for flapping async/multithreading tests and segfaulting uniq.t
14:54 guru joined #perl6
14:56 moritz perl Configure.pl --gen-moar=split_iter_boolification --moar-option=--enable-jit --gen-nqp=master # like this?
14:56 timotimo i think so, yes
14:57 treehug88 joined #perl6
15:03 * moritz spectests
15:06 masak does anyone else get the feeling sometimes, in the middle of TDD when the flow sets in, that it's a bit... eerie that things come together and work as well as they do, without any apparent effort?
15:07 masak it's like "huh, where did all the excruciating thinking go?"
15:07 hoelzro masak: I know what you mean
15:07 hoelzro it's creepy
15:07 timotimo seems like i'll have to do TDD more in my personal projects so that i can experience this feeling %)
15:08 masak it makes me wonder how much effort I waste in some other corners of my life, where I should apply more TDD.
15:08 psch i was thinking similar, if more "i should try and grok TDD"
15:08 psch similar to timotimo that is
15:08 masak ok, seems there is room for a masak TDD class.
15:08 masak maybe another masakism meetup, even.
15:09 moritz timotimo: http://perlpunks.de/paste/show/53f4ba0e.5b59.14 # my test output
15:10 timotimo moritz: that's the same i get
15:10 timotimo the sprintf and rat tests can be silenced by reverting the recent change to bigint is_big thingie
15:10 timotimo and the rest have been known before my changes
15:11 timotimo i probably ought to run some measurements to show whether my changes improve things
15:12 treehug88 joined #perl6
15:16 colomon pmurias: yes.
15:17 colomon pmurias: I've been using it for $work for four years now, but in ever-increasing quantities.
15:17 guru joined #perl6
15:22 SamuraiJack joined #perl6
15:22 Ven joined #perl6
15:31 Ven is 1 =:= 1 specced to be True?
15:32 timotimo shouldn't
15:32 Ven well, it can (currently does)
15:33 timotimo hm
15:33 timotimo ... maybe?
15:33 Ven I get True with moar, False with JVM.
15:33 Ven it's just not reusing that int under the jvm, I guess.
15:33 timotimo doesn't that kind of require us to hold a gigantic pool of cached Int objects?
15:33 timotimo we re-use small ints on moarvm
15:33 timotimo try 1024 instead
15:33 timotimo m: say 1024 =:= 1024; say 1 =:= 1
15:33 camelia rakudo-moar 688c28: OUTPUT«True␤True␤»
15:33 Ven yes.
15:33 timotimo ... oh
15:34 iarna joined #perl6
15:34 Ven p6: say 999999 =:= 999999; say 1 =:= 1;
15:34 camelia rakudo-jvm 688c28: OUTPUT«(timeout)»
15:34 camelia ..rakudo-{parrot,moar} 688c28, niecza v24-109-g48a8de3: OUTPUT«True␤True␤»
15:34 timotimo huh.
15:34 timotimo i'm not quite sure what's going on there
15:34 Ven locally, I get false for the jvm o/
15:34 timotimo p6: say "i'm alive"
15:35 camelia rakudo-{parrot,jvm,moar} 688c28, niecza v24-109-g48a8de3: OUTPUT«i'm alive␤»
15:35 Ven even =:= timeouts under jvm? lol
15:35 timotimo no
15:35 kaleem joined #perl6
15:35 timotimo m: my $a := 1; (for ^1000 { $a =:= 1 }).squish.say
15:35 camelia rakudo-moar 688c28: OUTPUT«True␤»
15:35 timotimo m: my $a := 1; (for ^100000 { $a =:= 1 }).squish.say
15:35 camelia rakudo-moar 688c28: OUTPUT«True␤»
15:35 timotimo o_O
15:36 TimToady =:= is basically === without the container deref, so for two non-containers it's the same
15:36 timotimo oh, is that so?
15:36 [Coke] TimToady: if I do #!rakudo.moar, does that also fudge it on niecza?
15:36 Ven TimToady: not sure why I get false locally with r-j then
15:36 TimToady yes
15:36 [Coke] that seems bad.
15:37 TimToady #! would be for if you only want to test something on a given vm
15:37 TimToady so we could do vm specific tests with it
15:37 [Coke] we shouldn't be doing vm specific tests in roast.
15:37 Ven why not?
15:37 TimToady generally not, I agree
15:38 [Coke] because it's the spec, not an implementation.
15:38 TimToady but not all vm supporters will be so...supportive :)
15:38 [Coke] you want vm specific tests, you can run them in your own "make test". (yes, in general)
15:38 [Coke] this discussion is kind of academic, since we're basically down to just rakudo at this point.
15:38 TimToady but if something is specced to be VM specific... :)
15:39 TimToady well, except we can count the different backends as different implementations
15:39 [Coke] "now you're just being silly." -the tick
15:39 TimToady and maybe we'll want versioned tests someday as well
15:40 TimToady that's kind what #!LOLLY is standing in for right now, we're basically shipping two different versions rolled into one, differentiated by an env var
15:40 [Coke] versioned test = tags on the repo, i'd expect.
15:40 TimToady well, yes, again, in general, but there's always exceptions
15:40 hoelzro timotimo: are you still looking for spectest results?
15:40 timotimo hm, maybe
15:41 timotimo though brrt's comment sounded more like he had something locally that made things explode in a major way
15:41 TimToady if we decide to grant variances on different architectures, that's also something a given version of the test suite might have to handle
15:42 masak m: say sprintf "%d", Inf
15:42 camelia rakudo-moar 688c28: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
15:42 masak discuss.
15:42 [Coke] Inf ain't int.
15:42 masak agreed.
15:42 [Coke] m: say Inf.Int
15:42 camelia rakudo-moar 688c28: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in method gist at src/gen/m-CORE.setting:13076␤  in sub say at src/gen/m-CORE.setting:14014␤  in block  at /tmp/dJn4iBj28F:1␤␤»
15:42 masak m: say sprintf "%f", Inf
15:42 camelia rakudo-moar 688c28: OUTPUT«0.000000␤»
15:42 [Coke] that's a LTA error, though.
15:42 * masak submits rakudobug
15:42 * masak submits rakudobug
15:42 [Coke] and that's wrong.
15:43 [Coke] I would expect that the former should error the same as a the latter, all things being equal.
15:43 masak why should the %f case be an error?
15:43 TimToady why shouldn't both of them just print Inf?
15:43 masak Inf *is* a float/double.
15:43 btyler_ timotimo: https://gist.github.com/kanat​ohodets/6e993e7159569ab82777 spectest output from split_iter_boolification, sounds like similar results to others
15:43 masak what TimToady said.
15:43 [Coke] no, my latter.
15:44 psch there's RT #61602 (already|too)
15:44 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=61602
15:44 timotimo btyler_: thanks
15:44 psch plus specs issue #27
15:44 psch https://github.com/perl6/specs/issues/27
15:44 timotimo it does sound like i could just merge, then
15:45 iarna left #perl6
15:45 masak do we even have the beginning of a solution to https://github.com/perl6/specs/issues/27 ?
15:45 [Coke] %d should work if Inf.Int should work, yes.
15:45 alc joined #perl6
15:46 masak it seems that the thing we're wishing for is incompatible with our notion of a type system.
15:47 masak I'm standing down both rakudobug submissions. I'd rather we work toward a solution to the "is Inf an Int?" question.
15:47 treehug88 joined #perl6
15:47 TimToady m: say Nil ~~ Int
15:47 camelia rakudo-moar 688c28: OUTPUT«False␤»
15:48 TimToady not quite a bottom type
15:48 TimToady but NaN is bottom for Numeric, and Inf is close to a bottom type for Real
15:49 TimToady m: say NaN ~~ Numeric
15:49 camelia rakudo-moar 688c28: OUTPUT«True␤»
15:49 masak NaN is not bottom for Numeric. something either is or isn't a NaN.
15:49 masak ditto Inf.
15:50 TimToady I'm talking types, not values; it's the values that are exclusive
15:50 masak yes, that's why I'm confused.
15:50 masak I don't see how NaN and Inf are anything but values.
15:50 timotimo i value every type
15:50 timotimo that's how i box.
15:51 TimToady still, these all act as generic collectors of non-usefulness, much like a bottom type, whether or not they are officially that way in type theory
15:52 TimToady don't be confused by the implementation of NaN and Inf for floating point into thinking they can't be more general concepts, at least extensible to any Real type as long as we don't try to stuff one into a native
15:53 TimToady %d is not even trying to stuff an Int into an int, but even if it were, it oughta catch the problem and report the concept, not just say FY to the user
15:54 masak TimToady: what's Inf.WHAT? what mechanism would make Inf sit nicely in either an Int, Num or Str container, without actually *being* a pure Int, Num or Str?
15:56 TimToady m: say Nil.WHAT
15:56 camelia rakudo-moar 688c28: OUTPUT«Nil␤»
15:57 raiph joined #perl6
15:57 TimToady n: say Nil ~~ Int
15:57 camelia niecza v24-109-g48a8de3: OUTPUT«False␤»
15:57 TimToady and I coulda sworn that was true at one point
15:58 * masak is kinda relieved it isn't
15:58 TimToady well, I won't insist on it
15:58 masak that means every time I smartmatched something against an Int, I would also have to check it's not a Nil.
15:58 masak which would be... annoying.
15:59 TimToady well, you'll notice I haven't insisted on having an actual bottom type in p6
15:59 masak *nod*
15:59 masak an actual bottom type is uninstantiable, so Nil wouldn't be a value, then.
16:00 timotimo m: class Bottom is repr('Uninstantiable') { }; say Bottom.new
16:00 camelia rakudo-moar 688c28: OUTPUT«You cannot create an instance of this type␤  in method bless at src/gen/m-CORE.setting:852␤  in method new at src/gen/m-CORE.setting:836␤  in block  at /tmp/G5Xwl7fSQM:1␤␤»
16:00 TimToady but we've got a number of conceptual types floating around already, junctions and whatevers, and these feel like conceptuals to me
16:01 masak that's fine, but what we're missing right now is an actual way to have these values work the way the spec wants.
16:02 masak not "it's impossible" but "no-one has figured out how to do it"
16:02 TimToady Nil is the absence of a value; NaN is the absence of a valid Numeric value, Inf is the absence of a finite value (modulo +/- of course)
16:02 TimToady well, let me sip my first sip of coffee, so I'm not talking in my sleep
16:03 masak the challenge is how to make Int, Num, Str all *contain* Inf. since these are "disjunct" types in the type hierarchy.
16:07 TimToady well, conceptually, Int is not difficult, you're just adding two more values to the set of representable values, and it's pretty easy to add values to an object type, as opposed to a native type, which is limited in many ways, not just in representing infinity
16:08 TimToady similarly, a Str is an object, and can represent lots of values, so Inf is just one more
16:08 TimToady so the representation isn't a problem for the individual types
16:09 TimToady how to make the type stuff work out is, to my mind, a secondary issue, and perhaps worthy of a hack
16:11 TimToady anyway, that's the current mindset of the spec, but I haven't tried to push it to implementation since it's kind of a tempest in a teapot
16:11 TimToady and if it proves detrimental to performance to support the concepts, we can certainly talk about whether the cost is worth it to keep the user unconfuseder
16:13 TimToady BeforeEverything and AfterEverything are convenient concepts for talking about ordering and ranges, and we do ourselves a disservice to let the IEEE confuse us
16:14 TimToady BE and AE concepts just happen to map to +Inf and -Inf in floating point representations, is all
16:15 TimToady we sort of admit that by allowing people to say 0..* and picking the AE meaning
16:15 Jarrett joined #perl6
16:15 Jarrett hello
16:16 TimToady the spec thinks that floating point's +Inf is just a pun for the AE value
16:16 hoelzro Jarrett: greetings
16:17 masak TimToady: agree to everything you said.
16:17 TimToady and it calls that AE value "Inf" by a kind of metaphor
16:17 masak TimToady: to me, the primary question is "how would such a hack look?", though.
16:17 masak &
16:21 timotimo we should have a jit test suite and call it "the jittest suite ever created"
16:22 TimToady are you asking with your MoarVM hat or your Rakudo hat on?
16:22 TimToady oh wait, it wasn't a question :)
16:22 * TimToady should learn Enlish someday
16:22 TimToady English, even, and to type
16:28 Ven joined #perl6
16:55 lizmat regarding .pm vs .pm6, I would be in favour of just using .pm
16:57 lizmat use v6; at the start of the file should be enough to let any perl 5 choke on the file
16:57 lizmat whereas vv "use 5.X" should in the end try to use the Perl 5 emulation in perl 6
16:57 [j4jackj] .
16:58 lizmat we also didn't go from using .pl to .pl5 when we went from perl 4 to perl 5
16:58 TimToady so we should go to .pn then?
16:59 lizmat no, just use .pm
16:59 timotimo but we're killing perl5!
16:59 psch but that's because we stole the version number, not because of the extension
16:59 lizmat yes, and that, I've come to realize, is a good thing
17:00 PerlJam TimToady++  :)
17:00 woolfy joined #perl6
17:00 lizmat most people who were programming in Perl (5) in the past 15 years, have moved to other programming languages for various reasons
17:00 PerlJam TimToady: but what would the n be mnemonic for?
17:01 lizmat to pay the bills, mostly, I would say
17:01 lizmat but they were capable of understanding and working in another programming language
17:01 denis_boyun_ joined #perl6
17:01 lizmat if you argue that Perl 6 is a different language, why should (former) Perl 5 programmers then have a problem moving to Perl 6 ?
17:02 lizmat If you argue that Perl 6 is just the next version of the Perl language, then Perl 5 programmers shouldn't have a problem with it either
17:02 PerlJam Because it says "perl" right there in the name.
17:02 lizmat so if you *do* have a problem with Perl 6, then you are not a Perl programmer
17:02 lizmat almost by definition, in my book
17:03 PerlJam lizmat: that's a tough argument to make to all those people for which "perl" only and ever means "perl 5"
17:03 lizmat if they don't get my argument, then they should continue to program away in Perl 5
17:04 lizmat but shut up about Perl 6 in any way, shape or form
17:04 PerlJam That'll never happen. (though, I too wish it to be so)
17:05 * lizmat has had enough backstabbing from some of the "perl 5" community hot shots
17:06 lizmat yes, Perl 6 development could have been smoother, and faster, and better, and so many things
17:06 PerlJam But, it's not really their fault they have something to say about Perl 6.  It's all those people who don't necessarily differentiate between P5 and P6 who ask those "perl means P5" people about P6.  Then they have to say something.
17:07 lizmat but now we're getting at the stage that rakudo Perl 6 is becoming a viable alternative for many production uses
17:08 lizmat PerlJam: if those people say, that "Perl 6" stole their version number, I will try to tell them that that is not the case
17:08 lizmat quite contrary: Perl 6 will mean a new life for Perl (note absence of number here)
17:09 lizmat and if they don't buy that, tough luck:
17:09 lizmat the wolves are howling, but the caravan moves on
17:12 dalek specs: 85b2d6c | (Stéphane Payrard)++ | S99-glossary.pod:
17:12 dalek specs: S99.  More on operator, panda, control flow...
17:12 dalek specs: review: https://github.com/perl6/specs/commit/85b2d6cf5e
17:14 timotimo .o( perl5 used to be the duct tape of the internets, perl6 is the PLA )
17:14 lizmat programmable logic array, I assume ?
17:14 PerlJam lizmat: I'm working on a project for the National Ocean Service converting some 30+ year old fortran into java.  For part of my testing I used several Perl 6 programs which I have provided to them.  In discussions with them this morning, now it seems that how to download, compile, and install Rakudo will be part of my final report  :)
17:14 timotimo thinking of the stuff you put into 3d printers
17:15 lizmat PerlJam++
17:15 timotimo polylactic acid, apparently?
17:15 cognome the glossary feels like a Danaides barrel. The more entry you fill, the more unfilled entries there are.
17:15 lizmat the more you know, the more you know that you don't know more
17:16 cognome I suppose it is true in some sense of any knowledge related activity.
17:16 lizmat I wouldn't know :-)
17:16 cognome :)
17:16 zakharyas joined #perl6
17:16 guru joined #perl6
17:17 TimToady PerlJam: I hope you didn't use any lollipops in your code :)
17:18 TimToady or froze them to a particular version...
17:18 cognome I let TimToady fill the lollipop entry.
17:18 TimToady well, it's probably a short-term usage
17:19 cognome I suppose that's the Perl 6 part intended for six years old.
17:19 TimToady the idea being that a lol construct is popping off the values of the N-1 statements to emulate the C comma
17:19 PerlJam No, this was simple open files, read files, parse lines, compare stuff.
17:19 TimToady and lolligag is the error message that gags on that :)
17:20 TimToady but once we get past the LOLLY era, we probably don't need those terms anymore
17:23 PerlJam "era"?  Hopefully it will be more like "yesterday" than "the jurassic era"  :)
17:23 lizmat TimToady: so is S03:2640 still valid ?
17:23 synopsebot Link: http://perlcabal.org/syn/S03.html#line_2640
17:23 lizmat Feed operators: <==, ==>, <<==, ==>>
17:24 TimToady likely
17:25 TimToady but we need to play with them s'more
17:25 [Coke] "Slang is a principled way to"... what is the intention here? I'm not familiar with this idiom.
17:25 [Coke] (S99)
17:25 PerlJam huh ... I don't remember seeing ==>> until now.
17:26 TimToady [Coke]: see http://irclog.perlgeek.de/​perl6/2014-08-16#i_9194425
17:26 PerlJam Does that mean that "do_stuff() ==>> @foo" is like "@foo.push: do_stuff()"  ?
17:27 TimToady that's the intent, where the targe makes the distinction
17:27 TimToady *t
17:27 [Coke] TimToady: roger, leaving it alone.
17:29 Akagi201 joined #perl6
17:30 Rotwang joined #perl6
17:33 mattp___ joined #perl6
17:38 jnthn TimToady: The problem with saying "X is an object so it can represent things a native can't" is that every time you cross between the two, you have to deal with all the special cases.
17:39 flussence someone's asked about doing gtk/qt/* nativecall on the advent blog, does anyone who knows those things better want to take it? http://perl6advent.wordpress.com/2010/12/15/day-1​5-calling-native-libraries-from-perl-6/#comments
17:40 TimToady jnthn: sure, for the native boundary, but for concepts in the language, you made multi dispatch fast so we could do those things, right?  :P
17:41 jnthn TimToady: Yes, *if* you make things with different behaviors be different types :)
17:41 TimToady comparing a Str with NeverGetThere should just be multi dispatch
17:41 TimToady which is why I'm trying to unconfuse things by not overloading Inf in my discussion right now
17:42 jnthn TimToady: Which means if you want to special case NaN, it wants to be a different type. That does bother me slightly in that promoting num -> ??? doesn't any longer have a definite type, which is going to hurt us optimization wise too...
17:42 TimToady so I guess I'm okay with different words for different types of infinity
17:42 jnthn (boxing a num woudln't have a definite type I mean)
17:42 jnthn At the moment I'm somewhat battling with us crossing the native/boxed boundary too much in NQP.
17:43 * TimToady is quite aware that there are performance ramifications when the computer confuses things: see Perl 5 :)
17:44 jnthn The fixes are in a small part code-gen improvements (though we had a lot of those already), in part less than awesome code (but everyone is going to write that), and then there's a hope we can do tricks like elminating pointless box/unbox sequences or escape analysis + stack allocation in spesh to catch some others...
17:44 TimToady I'm wondering if there's some way to distribute the concepts over the types than just by overloading
17:45 jnthn I guess all I'm saying is that I'm not sure we can treat crossing the native boundary as a rare thing that can be costly...
17:45 TimToady the concept of OffTheDeepEnd as applied to Str, sort of has a generic feel to it
17:46 TimToady alternately, we need to get our story straighter about comparing things of different types
17:47 TimToady then it doesn't matter so much to have overloaded a term like Inf
17:47 TimToady we can just use different types for different infinities
17:48 TimToady and leave Inf as a floating-point concept...except, of course, that integers are also numbers that can go to infinity too
17:49 jnthn Technically, a big Int can't go off to infinity...you'll fill your RAM before then ;)
17:49 masak it's also interesting to conside how we'd allow user-defined types to share the built-in Inf.
17:49 jnthn But that's true for floating point too of course :)
17:49 jnthn It's just that there's a defined limit there
17:49 jnthn Whereas Rakudo won't stop you creating a 1 gigabyte bigint...afaik :)
17:50 TimToady interesting that the mathematicians don't talk about ±א₀
17:50 TimToady א₀ is really more like a distance on the number line
17:51 TimToady (the integer number line, that is)
17:51 jnthn All I see is a box and a squiggle I don't know ;-)
17:51 tgt joined #perl6
17:51 TimToady aleph-0
17:51 nwc10 I think that there's an Aleph there
17:51 jnthn (my font)--
17:51 * masak thought aleph-0 was a set
17:52 TimToady quick, drop everything else and...oh wait...
17:52 raiph joined #perl6
17:52 TimToady yes, which is why you can't negate it
17:52 TimToady but -Inf is that set's size in the negative direction, is what I'm saying
17:53 TimToady well, counting by 1's, or anything else countable :)
17:53 dalek specs: ac58607 | coke++ | S99-glossary.pod:
17:53 dalek specs: * whitespace
17:53 dalek specs: * spelling
17:53 dalek specs: * reordering some entries for clarity
17:53 dalek specs: * grammar
17:53 dalek specs: * fix POD-os
17:53 dalek specs: * americanize
17:53 dalek specs: * capitalization consistency
17:53 dalek specs: review: https://github.com/perl6/specs/commit/ac586073ae
17:54 TimToady but we can't claim that -Inf is a negative distance of א₁'s size either, since there are that many Reals in any interval you pick
17:55 TimToady so Inf is really a weird beast from a mathematical point of view, it's really just a Surrender Immediately Or I Will Shoot message
17:55 TimToady so we give up when we see an Inf
17:56 TimToady it's just the concept of Too Hard, Hurts When I Try
17:56 masak computers are very constructionist in their approach. they deal OK with aleph-0, but not really with aleph-1.
17:56 TimToady and strings have that concept too
17:56 TimToady and as with bigints that are too big to fit, strings fail exactly the same way
17:58 TimToady m: say infix:<min>()
17:58 camelia rakudo-moar 688c28: OUTPUT«Inf␤»
17:59 TimToady but we define min on more than just numbers
17:59 TimToady that's sort of the argument for overloading Inf
17:59 masak m: say 5 min "foo"
17:59 camelia rakudo-moar 688c28: OUTPUT«5␤»
17:59 TimToady yes, well, we don't really have our story straight there yet
17:59 masak Python simply blows up on such comparisons.
18:00 masak which has a certain elegance to it :)
18:00 TimToady we would like to return something when someone says to sort a list, because a list in the wrong order is often more useful than no list at all
18:01 TimToady Dave: ls  Computer: I'm sorry, Dave, I'm afraid I can't do that.
18:02 TimToady sometimes computer language designers sympathize more with Hal than with Dave
18:02 masak *nod*
18:02 TimToady Our job is to sympathize with Dave as much as we can.
18:03 TimToady that is Perl's real ecological niche
18:03 prevost joined #perl6
18:03 TimToady but of course, one of Dave's goals is to run his programs Very Fast too :)
18:03 lizmat .oO( HAL is only slightly older than Perl 6 )
18:03 gfldex joined #perl6
18:04 TimToady so sometimes we have to decide whether to sympathize with Dave₀ or Dave₁
18:04 TimToady but of course, 2001 is a year younger than Perl 6 :P
18:05 lizmat HAL became operational on 12 January 1997
18:06 lizmat well, according to Wikipedia  :-)
18:06 lizmat so it must be true
18:06 [Coke] we already missed the deadline for igniting jupiter.
18:06 TimToady I'll bet those engineers didn't have a good Christmas
18:08 jnthn m: say so Pod::.keys.grep(/bay doors/) # aww
18:08 camelia rakudo-moar 688c28: OUTPUT«False␤»
18:08 * lizmat is surprised how extensive the Perl 6 WP entry is: http://en.wikipedia.org/wiki/Perl_6
18:09 lizmat too bad the article doesn't mention Perl 6's RC entries
18:09 TimToady it's also somewhat dated
18:09 [j4jackj] h TimToady
18:09 * TimToady waves northward
18:10 TimToady You can tell I've lived in the Seattle area, because when you say "Vancouver", I say, "Which one?"
18:11 lizmat I guess they're equally far from Seattle, right ?
18:11 TimToady actually, the BC one is closer, I think
18:12 lizmat and the WA one is much smaller...
18:12 TimToady indeed
18:12 TimToady sort of a wart on the side of Portland, another badly overloaded term
18:12 * lizmat has only seen the WA Vancouver from across the river
18:13 * jnthn ain't seen any of 'em yet...
18:13 TimToady maybe we should name every town Springfield and have done with it
18:14 lizmat Shops in the WA Vancouver have an even tougher time, because WA *does* have sales tax, and Portland (OR) doesn't
18:14 lizmat TimToady: or Bruce, if they're in Australia
18:14 jnthn I joined the Perl community too late to have a YAPC as an excuse to visit Canada. Maybe there'll be YAPC::NA there again some day, though :)
18:15 [j4jackj] ._>_>__>_>_>_.
18:15 lizmat next stop:  Salt Lake City
18:15 lizmat that isn't too far from Canada... on an American scale  :-)
18:15 lizmat closer than Orland o  :-)
18:16 TimToady well, at least there's only one Salt Lake City
18:16 lizmat *phew*  :-)
18:16 TimToady I wasn't gonna say it :)
18:17 PerlJam random question:  Where do macros fall in the P6 schedule? Are they a 6.0.0 thing or 6.1 thing or what?
18:17 TimToady they're 6.0.0, and they're closer to done than you think :)
18:17 TimToady we just need to hook up a few things
18:18 PerlJam okay, just checking
18:18 dalek specs: 32d02fb | (Stéphane Payrard)++ | S99-glossary.pod:
18:18 dalek specs: S99 : name, symbol, EVAL, import, export.
18:18 dalek specs: review: https://github.com/perl6/specs/commit/32d02fbb27
18:18 TimToady and design an AST
18:18 TimToady piece of cake
18:18 PerlJam and "closer to done than I think" is *such* a tease  :)
18:18 TimToady actually, maybe we just adopt QAST
18:18 TimToady or something very like it
18:18 jnthn I'm OK with macros being a 6.0.0 thing, but I do think we need to start being a little more concrete on what ain't. :)
18:19 jnthn Cat, for example. :)
18:19 TimToady but we have to call all our QAST variables $past for some reason...
18:19 PerlJam jnthn++ indeed
18:19 TimToady Cat is just a rope
18:19 TimToady well, a lazy rope
18:19 jnthn It's really not at an implementation level.
18:19 jnthn Your "just a" is my "well, there went a few more months" :P
18:20 jnthn To me the really key things are those that would mean semantic changes to existing things.
18:20 colomon … what's the method to de-lazy a list?
18:20 jnthn colomon: eager
18:21 colomon jnthn: .eager or as a prefix?
18:21 jnthn That is, trying to say "we leave NFG to later" is a no go.
18:21 TimToady both
18:21 PerlJam or an already eager context.
18:21 jnthn colomon: I think as a prefix works too
18:21 lizmat jnthn: is the problem with Cat really about being able to substr into it ?
18:21 TimToady the problem is you have to invent lazy strands that know where to pull the next strand from
18:21 jnthn lizmat: For me, the much larger problem is how it intersects with the grammar engine.
18:21 lizmat or are there deeper issues that you would need to have a regex / grammer run on a Cat
18:22 colomon jnthn++ TimToady++
18:22 TimToady wait, we're arguing, so aren't those mutually exclusive? :P
18:22 PerlJam jnthn: Just make some of that Pm's problem  ;)
18:22 lizmat agree NFG is 6.0
18:23 [j4jackj] Will modules be unloadable?
18:23 lizmat not sure Cat is, as its implementation would not need any semantic changes to the language, right?
18:23 masak [j4jackj]: as in "now it's no longer loaded"?
18:23 [j4jackj] masak, the sort of thing
18:24 masak good question. no idea.
18:24 PerlJam [j4jackj]: to what end?  To free RAM?  OR just to make the symbols no longer easily available?
18:24 [j4jackj] "now the program knows nothing of its existence"
18:24 masak in Perl 5, that is usually up to the module, is it not?
18:24 TimToady well, you can remove entries from the global symbol table, but if other things have refs into it, the GC will keep those bits around
18:24 kaare_ joined #perl6
18:24 jnthn Also, importing is lexical by default.
18:24 lizmat even perl 5 can't really unload modules, afaik
18:25 TimToady much as Unix keeps a file around until the last ref goes away, even after you've unlinked it
18:25 lizmat as opcodes in Perl 5 aren't reference counted (last time I looked)
18:25 jnthn My suspicion is that while we have package scope, we may end up at a point where we culturally converge on lexically scoping thing more strongly.
18:26 [j4jackj] I'm not a Perl kinda guy. I'm just here because it was mentioned in I-forget-where.
18:26 TimToady packages are really just a fancy naming scheme for global notions, and we don't have global notions except for the names of modules anymore, for the most part
18:27 dalek specs: 40babaa | coke++ | S99-glossary.pod:
18:27 dalek specs: * spelling
18:27 dalek specs: * grammar
18:27 dalek specs: * whitespace
18:27 dalek specs: review: https://github.com/perl6/specs/commit/40babaa324
18:27 guru joined #perl6
18:27 jnthn lizmat: On Cat - yes, I think the fact we already pulled out the Stringy role means that, API wise, we're good to put Cat in later.
18:28 TimToady the basic concept for integreting lazy strings into the regex engine is that when you think you might've hit $, you might not've.
18:29 jnthn Hm, if LoL were to be generic then we could have LoL[Cat] as a type... :P
18:29 kaare_ joined #perl6
18:29 TimToady That is so close to almost being a good idea...
18:30 TimToady it's about >.< that close
18:30 Akagi201 joined #perl6
18:35 lizmat afk for a bit&
18:44 timotimo m: Hal: open "pod bay doors"
18:44 camelia rakudo-moar 688c28: OUTPUT«open is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub open at src/RESTRICTED.setting:5␤  in block  at /tmp/igb476EipG:1␤␤»
18:47 jaffa4 joined #perl6
18:47 jaffa4 hi all
18:47 jaffa4 goto does not work with moarvm
18:47 TimToady that's less than awesome, should say "...is disallowed in restricted setting, Dave."
18:47 masak hello jaffa4
18:47 masak jaffa4: I don't believe goto is implemented yet, no?
18:47 timotimo well, we have labeled loops with redo/last/...
18:47 PerlJam $jaffa4 ~~ s/with moarvm//
18:48 jaffa4 not yet?
18:48 masak jaffa4: not yet.
18:48 TimToady ===SORRY, DAVE!===
18:48 * masak .oO( hte muffin man? the muffin man! )
18:49 jaffa4 anyone would implemented for 50$?
18:49 timotimo so we'll need a is_space_odyssey_reference function
18:49 TimToady n: hell: goto hell;
18:49 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
18:49 masak niecza++
18:49 TimToady works in niecza++
18:49 PerlJam jaffa4: Um ... I don't think that particular carrot is likely to work.
18:50 jaffa4 why not?
18:50 masak n: for ^10 { foo: .say }; goto foo
18:50 TimToady .oO(But...a carrot is kind of a stick, isn't it?)
18:50 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'foo' 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_u…»
18:50 TimToady labels are lexically scoped
18:51 masak ...huh.
18:51 TimToady and in any case, you couldn't go into an initialized loop like that
18:51 masak right, that's what I wanted to test.
18:51 PerlJam .oO( But I *want* to jump to that label in the middle of that other loop! )
18:51 TimToady not even Perl 5 lets you do that
18:51 masak hehe. "not even"
18:51 hoelzro I've been thinking about writing a blog post about Rakudo
18:51 TimToady Perl 5 does let you jump into a while loop though
18:52 hoelzro sort of a "tour" of the compiler
18:52 dalek rakudo-star-daily: 72e1677 | coke++ | log/ (14 files):
18:52 dalek rakudo-star-daily: today (automated commit)
18:52 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/72e1677795
18:52 masak hoelzro: go for it!
18:52 PerlJam hoelzro: including the "here be dragons" parts?
18:52 hoelzro PerlJam: those I know of, yes =)
18:52 masak of course a compiler has dragons in it!
18:52 hoelzro heh
18:52 TimToady n: for ^10 { foo: .say }; goto "foo";  # can fix the syntax anyway
18:52 camelia niecza v24-109-g48a8de3: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤Unhandled exception: Illegal control operator: goto(foo, dynamic)␤  at /home/p6eval/niecza/lib/CORE.setting line 1562 (_lexotic @ 8) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1564 (goto @ 4) ␤  at /t…»
18:52 masak why d'you think it's called the Dragon Book?
18:53 hoelzro I fairly recently encountered a scenario where I was able to do something in NQP land that didn't work in the Perl 6 side of the compiler, but I can't for the life of me remember exactly what I was trying to do =/
18:53 masak TimToady: it should be able to detect statically that that goto won't work, yes?
18:53 TimToady n: for ^10 { goto "foo" }; foo: say "Hi, Dave!";
18:53 camelia niecza v24-109-g48a8de3: OUTPUT«Hi, Dave!␤»
18:53 hoelzro I remember it involved *W.apply_trait and src/core/traits.pm
18:54 TimToady masak: notice the "dynamic" bit
18:54 jaffa4 Is niecza still developed?
18:54 hoelzro so if anyone else has had a similar experience and can jog my memory, I'd appreciate it =)
18:54 nwc10 TimToady: TimToady: Use of "goto" to jump into a construct is deprecated at -e line 1.
18:54 masak n: sub f1 { goto "foo" }; sub f2 { foo: say "OH HAI" }; f1()
18:54 camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  &f2 is declared but not used at /tmp/HC6thCJzQL line 1:â�¤------> [32msub f1 { goto "foo" }; sub f2 [33mâ��[31m{ foo: say "OH HAI" }; f1()[0mâ�¤â�¤Unhandled exception: Illegal control operator: goto(foo, dynamic)â�¤  at…»
18:54 hoelzro jaffa4: iirc, sorear recently "retired" from development on niecza
18:54 masak not so recently.
18:54 jaffa4 What does he do instead?
18:54 TimToady nwc10: after all that hard work I put in to make it work!
18:55 TimToady he has a Real Job
18:55 nwc10 TimToady: there was a good reason where it was still a subtle problem, but I forget what it was
18:55 jaffa4 Real Job?
18:55 TimToady yes, that's like, a job that's real
18:56 PerlJam jaffa4: one that pays more than $50  :)
18:56 masak haha
18:56 masak PerlJam++
18:56 kurahaupo joined #perl6
18:56 timotimo my perl6 job only pays like $10i
18:56 jaffa4 come on for those who it is 15 minutes work
18:56 jaffa4 for whose who know
18:57 masak jaffa4: I was wondering if you were back to make strange and insistent demands.
18:57 masak jaffa4: or just, you know, to chat.
18:57 * psch clearly doesn't know
18:57 PerlJam jaffa4: you've just gone ludicrous as far as I'm concerned
18:57 psch goto in 15 minutes seems a bit out there
18:57 ivanshmakov joined #perl6
18:58 * masak .oO( what do we want? time travel? when do we want it? doesn't matter! )
18:59 masak s:2rd/\?/!/
18:59 jnthn masak: If it was invented in your lifetime we'd not have seen that typo :P
18:59 jaffa4 I found a page where time travel was mentioned as a real life fact
19:00 masak well, the 1 s/s kind of travel is very common...
19:01 timotimo DWIM could also stand for "Deal With It, Man"
19:01 PerlJam jnthn: I'm sure masak has *much* better things to do with his time machine than fix past typoes.
19:01 masak not really :)
19:01 PerlJam masak: how would you know *now*?  It's future-you that's got better things to do!
19:02 jaffa4 it is always possible to travel into future
19:02 TimToady masak: well, most of us only approximate 1s/s, unless we keep the atomic clock in our brane
19:02 telex joined #perl6
19:03 PerlJam IF you take frequent flights, you can get better than 1 s/s relative to the rest of us.
19:03 TimToady only if you fly the right direction wrt the proper motion of the earth
19:04 jaffa4 15 minutes could be a challenge
19:04 PerlJam nah, even flying the other direction, you're moving faster and further away from the gravity well.  You'd be gaining time ever so slowly.
19:05 TimToady jaffa4: just takes a bit more energy
19:05 [j4jackj] jaffa4, do you like jaffa cakes?
19:05 TimToady a solar sail on a supernova would probably do the trick
19:05 jaffa4 sure
19:06 jaffa4 and I know there is no orange growing in Jaffa
19:06 TimToady the only challenge there is the shielding...well, and the heat dissipation
19:07 PerlJam Just bring a large mass with you that you can eventually throw away
19:07 TimToady you'd probably get pretty decent ablation off the toasty side of it
19:08 PerlJam yep
19:08 TimToady kinda hard to stop the spin on most of those masses though
19:08 TimToady so you'd end up on the toasty side yourself unless you kept moving
19:10 PerlJam and *that's* why black holes are the energy source of the future!  Invest in my company now so that you can get ahead of the curve!
19:10 PerlJam ;)
19:10 TimToady not sure digging a hole at the pole is a long term strategy, though if the pole is facing away, I guess you'd last a half-"year" in orbit, assuming your escape velocity is less than the velocity necessary to achieve such relativistic effects...
19:11 TimToady PerlJam: and the time travel is just a bonus, which is where we came in before
19:11 PerlJam ding!  :)
19:11 * TimToady gets a sudden sense of deja vu
19:12 PerlJam btw, has anyone else ever wanted to replace the little bell they use in spelling bees with a loud, obnoxious buzzer?
19:15 carlin a train horn
19:15 TimToady sorry, have to do lunch because you said "ding", and I started salivating.  &
19:16 grettis joined #perl6
19:17 cognome joined #perl6
19:17 * [Coke] wonders if jaffa4 is related to Teal'C
19:18 jaffa4 How so?
19:19 zakharyas joined #perl6
19:21 treehug88 genetically? :)
19:25 jaffa4 ok, not particularry
19:27 jaffa4 it is related to Jaffa syrup
19:28 FROGGS sounds tasty :o)
19:31 Akagi201 joined #perl6
19:32 jaffa4 let me guess  most people would do goto for 5000$?
19:34 FROGGS I might do it for, say, 0€
19:34 FROGGS but not today
19:34 jaffa4 FROGGS:  how are you doing perl5 running on moarvm?
19:34 FROGGS there are at least three other things on my list with a higher priority than goto
19:35 FROGGS jaffa4: it is not running on moarvm, but on rakudo
19:35 FROGGS so it runs on parrot and jvm too
19:35 jaffa4 rakudo
19:35 jaffa4 WHat is its state?
19:35 FROGGS and it works okay-ish... I had to port it from nqp to Perl 6 so it can be installed via panda
19:36 timotimo reluctantly ported it?
19:36 FROGGS and it passes like 2500 single tests, where the nqp version passed 8000
19:36 jaffa4 terrible setback
19:36 FROGGS so, it is a bit of work to get to the 8000 tests still, and then implement for language features
19:37 FROGGS like more regex modifiers and escape sequences
19:37 FROGGS no, not terrible
19:38 FROGGS when it passes t/pack.t it will jump up to 5000 tests
19:38 jaffa4 because practice makes perfect?
19:38 FROGGS hmm?
19:38 jaffa4 when you redo, you do it better
19:39 FROGGS at least I know what is meant to work, and I can run both versions and compare
19:39 FROGGS that helps a lot
19:39 FROGGS the issues that exist right now are like extra containers in the QAST structure that blow up in the optimizer for example...
19:40 FROGGS (except of two nasty bugs that I hit in the meantime)
19:40 FROGGS both of them were in nqp IIRC
19:40 FROGGS and it is good that they are solved
19:41 FROGGS funnily, I can only remember one of them...
19:41 FROGGS ahh, now I remember :o)
19:42 FROGGS the other one was in rakudo
19:42 FROGGS when I think about it... even :dba() in grammars is more important than goto
19:43 molaf joined #perl6
19:44 FROGGS but the next thing I want to fix in v5 is trailing commas... something is borken so that v5 chokes on them
19:45 FROGGS (sorry for the spam, I did like >20 hours of $dayjob since yesterday morning and this is the first break)
19:45 jaffa4 what do you do as dayjob?
19:47 FROGGS right now I weld two tickets systems together (.NET webservice with WSSE to another windows proggy that speaks a weird SOAP)
19:48 FROGGS and my box in between is linux which does not help much there
19:48 masak heh, "weld two systems together" sounds like very real-world software development.
19:48 jaffa4 is it irony?
19:48 masak no, it does sound real-world.
19:49 FROGGS masak: it is :o)
19:49 jaffa4 real world be many things
19:49 FROGGS including all the pain that the real world offers
19:50 jaffa4 you can do so many things, writing games, web sites, user interfaces, algorithms, design databases ecc/
19:50 FROGGS or you'll be a masak and just talk about all these things :o)
19:51 jaffa4 I almost got a job when I would have to write an interpreter for a math like language
19:53 FROGGS wow
19:53 * colomon has a thorny problem at the moment involving laziness and an object's attributes getting rewritten at a very bad moment....
19:53 FROGGS that sounds quite fun :o)
19:54 * lizmat had to write an SPSS simulator once, *loooong* ago
19:55 jaffa4 I wrote c preprocessor
19:58 anaeem1_ joined #perl6
20:00 lizmat .oO( writing a templating engine is a rite of passage )
20:01 [Coke] A write of parsage?
20:01 dalek specs: dfb481c | (Stéphane Payrard)++ | S99-glossary.pod:
20:01 dalek specs: S99:  HLL
20:01 dalek specs: review: https://github.com/perl6/specs/commit/dfb481c325
20:01 * jnthn remembers the first templating engine he wrote...oh my... :)
20:02 [Coke] That seems like too much detail.
20:02 jnthn It was for HTML.
20:02 jnthn I proudly came up with sigiled tags
20:02 zakharyas1 joined #perl6
20:03 jnthn No foreach construct. Just <@things> <li><.name></li> </@things> :)
20:03 jnthn We should probably all be glad I work on Perl 6 implementation, not lang design :P
20:04 jaffa4 initiation?
20:05 * flussence wonders if anyone uses that Emmet code-expansion thing as a template engine in production
20:05 masak jaffa4: something most people go through as a part of growing.
20:05 jaffa4 jnthn:  how fast could you implement go to . what do you think?
20:06 cognome [Coke] I try to give some details on things that are Perl 6 specific and give clues to the underlying implementation(s) and link terms together. But that may eventually be moved elsewhere.
20:09 cognome [Coke] things are dispersed in so many places that going overboard in one place to link everything together is not so bad.
20:09 lizmat jaffa4: how fast could you implement goto?  What do you think?
20:10 jaffa4 16 hours pure time, if I really wanted to do it
20:10 lizmat well volunteered, then!
20:11 lizmat I expect it to be done before YAPC::EU then
20:11 lizmat open source development is all about scratching your itches
20:11 masak jaffa4: it's been a while since you came around here suggesting how people spend their time for you.
20:11 kaare_ joined #perl6
20:11 jaffa4 no suggestion,,
20:12 lizmat jaffa4: if goto is such an itch for you, then scratch it!
20:12 jaffa4 there are more than one way to do that
20:13 moritz well, talking about doesn't scratch your itch
20:13 moritz done repeatedly, it just scratches other people's nerves
20:13 kaare_ joined #perl6
20:15 Ven joined #perl6
20:15 jnthn jaffa4: What you miss is that the problem isn't that I can't spend the day or so it's take to get a working goto, it's that by doing so it'd mean not doing something that's a good bit more important.
20:17 jnthn And anyone who thinks "no goto" is a language adoption blocker hasn't looked at enough widely adopted languages.
20:17 jaffa4 jnthn: I just wondered how much itime you think it would take knowing you know the stuff best.. It is not necessarliy about you doing it, rather getting a comparison
20:17 * masak .oO( because time estimates are easy )
20:17 masak jaffa4: ^ irony
20:18 jaffa4 I had a job when I always had to tell how much time it would take me to do it
20:19 masak how nice.
20:19 jaffa4 the idea is the better you know something, the better you can estimate
20:20 jaffa4 especially if you practice.
20:20 masak well, what you're saying is true.
20:21 jnthn jaffa4: Yes, except that I (a) know the toolchain, (b) know the things that make goto into some level of nested scopes hard, (c) know that to do it well I need an abstraction that I can implement efficiently on MoarVM and the JVM, (d) know enough about the JVM and MoarVM to do (c). I architected MoarVM, did muc of the JVM port, and designed large chunks of the toolchain. I'm not sure an estimate of long it'd take me to do it has wide applicability. :)
20:22 * masak is a little sorry jnthn has to spend time explaining stuff to jaffa4 instead of doing something useful
20:22 jnthn Because software is as much about learning as it is about building, and the blocker is not the building, it's learning the stuff to work out how to build it, and people learn at wildly different speeds and have hugely varying backgrounds.
20:22 [particle]1 joined #perl6
20:22 jnthn masak: No, it's just so if he asks again, I can link him this, then kickban him.
20:22 masak oh, kickbanning is at least something that you can delegate.
20:23 jnthn Yeah, I should, I'm crap at irssi :P
20:24 * jnthn gets back to packing for his trip :)
20:24 jaffa4 jnthn:  not sure why you are getting rude...I am having a light conversation with you  what do you think I am doing?
20:24 masak oh wow.
20:24 * masak reminds himself, carefully, that jaffa4 is not very good at the people stuff
20:26 masak jaffa4: guy just explained to you, very kindly.
20:26 masak jaffa4: the last bit about kickbanning was not rudeness so much as an idle threat.
20:26 masak there's a difference.
20:26 jaffa4 why threatening? did I threathen you?
20:27 jaffa4 ever
20:27 masak not as far as I can recall, no.
20:27 jaffa4 that is the point
20:27 masak no, not really.
20:27 klaas-janstol joined #perl6
20:27 moritz jaffa4: you just seem to have a habit of asking the same question many times, in very slight variations
20:28 masak jaffa4: anyway, keep nagging at me, not at moritz or jnthn.
20:28 moritz jaffa4: so I can kinda understand why jnthn makes preparations for that possibility
20:28 masak jaffa4: their nerves do grate, and I don't want that.
20:28 jaffa4 I have not talked to him at least half a year, I cannot call that nagging
20:28 lizmat jaffa4: how fast could you implement goto?  What do you think?
20:28 masak jaffa4: are you done with goto yet?
20:29 jaffa4 years have passed
20:29 masak jaffa4: you said it would take you 16 hours. are there 15.5 hours left now?
20:29 lizmat jaffa4: am I annoying you yet ?
20:29 jaffa4 no
20:29 jaffa4 keep asking
20:29 masak *sigh* :)
20:29 jaffa4 because i have not promised to do it
20:29 lizmat *plonk*
20:30 masak we should all plonk a bit more.
20:30 moritz then now is the right time to make that promise!
20:30 masak jaffa4: I know you are not a troll, and I know you do not realize that you are annoying people. sometimes, though, you need to take people's word for it that you are.
20:31 japhb jaffa4: This is often regarded as one of the nicest, most welcoming places on the Internet.  There are several core members here who seem frustrated.  Whether you understand or not, it is worth considering their request to stop asking about time estimates.
20:31 [Coke] hey, subject change. anyone know how to debug low level authentication issues trying to mount SMB from the Finder on the mac vs. the command line?
20:31 masak [Coke]: that sounds lovely. stackoverflow/google no help?
20:31 flussence [Coke]: tried CIFS instead? ;)
20:32 [Coke] nothing yet. lots of "yah, it's weird on 10.9, try this", but that's to make anything work, and it works from the UI.
20:32 moritz strace or the macos equivalent? tcpdump?
20:32 [Coke] moritz: yah, I'm afraid I'm going to have to tcpdump and see what's different between teh finder and the command line.
20:33 jaffa4 I am not trying him or anyone to do it, you are not paid for that.  this is a free voluntary enterprice, making a working compiler for Perl 6.
20:33 masak jaffa4: "enterprise".
20:34 moritz jaffa4: and because we're not paid for what we do, we have to put up with every nagging? is it that what you're trying to say?
20:34 jaffa4 I am always curious how fast can thing be done
20:34 * masak hugs moritz
20:34 moritz jaffa4: then look at how fast things have been implemented in the past
20:34 moritz jaffa4: it gives you a much, much better idea than asking for wild estimates
20:34 jaffa4 iFirst of all, it is not nagging... you may perceive it that way... but it is not nagging
20:35 * moritz tries very hard not to lose his temper
20:35 colomon joined #perl6
20:35 * [Coke] wonders why folks are letting this get to them. Deep breath, let it pass.
20:35 japhb jaffa4: The spec is stochastically evaluated.  It can literally take arbitrarily long to get to any particular portion of said spec.  To the point that unwillingness to implement has on occasion been grounds for altering the spec.
20:35 masak jaffa4: please change the topic or shut up.
20:35 * [Coke] must be missing some history here.
20:36 japhb jaffa4: If you do not intend it to be nagging, but everyone around you perceives it as nagging, what is the most likely reason for this?
20:36 masak [Coke]: well, that too.
20:36 moritz [Coke]: if so, it's not something you should be sorry to have missed
20:36 hoelzro jaffa4: keep in mind that it took me, a newcomer, a month and a half to implement S26.  jnthn could probably have done it *way* faster, but he works on things that are way more important, so that people like me actually *can* do stuff like implement S26
20:37 jaffa4 the reason is that other asked you similar questions.. and you must be fed up... and you assume I do that same thing
20:37 hoelzro </mini-rant>
20:37 masak jaffa4: no, *you* asked similar questions.
20:37 moritz the other jaffa4?
20:37 jaffa4 no other people
20:38 timotimo st
20:39 japhb hoelzro: Well, I'd make a small modification to that: It's not that jnthn's work is more important, merely that it is more core and requires more domain knowledge.  I fear people tend to think their contributions are less valuable if they are not as deep as jnthn's, but trust me, we people working every part of the stack.  I tend to sit somewhere between mantle and crust.
20:39 hoelzro japhb: good point
20:39 japhb *we need people
20:39 moritz a typcial example of very valuable non-core work is IO or docs
20:39 timotimo you meant to write "we need people working every part of the stack"?
20:39 timotimo mhm
20:39 japhb Yeah, exactly
20:40 hoelzro I'm happy that jnthn (and others!) are around to tackle GC/JIT bugs (or work on the GC in the first place) so that I can concentrate on my itch
20:40 masak some would say "product" is *more* important than code at this point.
20:40 jaffa4 masak:  how often? can you recall?
20:40 masak ok, I would remind people about the plonking.
20:40 masak let's plonk for a while, and only if necessary kickban.
20:41 japhb jaffa4: Let it go.  Don't ask others to provide facts or opinions, make them yourself -- *by contributing to the project*.
20:42 * masak .oO( I'm one with the ice and snooooow )
20:42 lizmat http://en.wikipedia.org/wiki/Plonk_(Usenet)
20:42 masak *nod*
20:42 japhb lizmat: Yeah, had to remind myself of that.  It's been so long since I'd seen the term in the wild, I'd completely forgotten it.  :-)
20:43 masak wasn't exactly using the term right, I guess...
20:43 hoelzro TIL about plonk
20:43 hoelzro lizmat++
20:43 masak so there are some silver linings :)
20:43 * japhb is very happy to have forgotten that term *from disuse*
20:43 colomon have there been any issues involving the same gather/take powered method being called more than once lazily and then run to completion later?  I'm getting weird results with JSON::Jansson and as far as I can see the code there is correct...
20:44 lizmat perhaps it batches differently the second time ?
20:46 jnthn colomon: Almost like a kind of closure confusion? I ain't see anything like that going on with gather/take any time recently, no...
20:47 masak oh, that reminds me. I should /ignore jaffa4's quit message.
20:48 moritz masak: on #perl6 and #git I generally ignore joins/leaves/quit, it's just too much noise
20:48 masak hm, I'll consider it.
20:49 pmurias jaffa4 offered to pay 50$ for goto? ;)
20:49 colomon jnthn: specifically, when I start the method calls the .WHICHes of the .json attributes are JSON|4363111896 and JSON|4363126968, but when the gather is actually executed it's JSON|4363126968 in both sequences.
20:49 masak colomon: GC copying?
20:49 * flussence needs to remember to `git remote prune origin && git gc` a bit more often...
20:50 colomon masak: I'm not sure what you mean?
20:50 masak colomon: on Moar, .WHICH can change at runtime.
20:50 masak (it's a bug. it shouldn't, but it does.)
20:50 moritz flussence: git config --global fetch.prune true
20:51 flussence moritz++
20:51 moritz flussence: then you don't have to remember the git remote prune thingy at all
20:52 flussence it's been a few years since I actually read the git-config docs, seems like every problem I have usually has an answer there :)
20:52 jnthn colomon: Oh...what masak++ already said. :( .WHICH isn't as stable as it should be.
20:52 moritz flussence: I just follow #git, which is full of good advice :-)
20:52 jnthn That one *is* a high priority for me to deal with, by now...
20:53 btyler_ colomon: what kind of weird results?
20:53 colomon masak: well, it's definitely returning the values of JSON|4363126968 both times, so there was no change in there.  I guess it's possible that I only think I have two different objects, but it seems rather unlikely.
20:53 * lizmat wouldn't be surprised if this would solve a lot of flapping tests
20:53 moritz flussence: (a truley amzing IRC channel with about 1k nicks, and you can still have meaningful conversation in there)
20:53 moritz jnthn: any idea on how to fix it?
20:54 colomon btyler_: specifically, I'm calling .enumerate on several arrays in sequence, then when I look at the values returned I always get the data from the last array.
20:54 lizmat moritz: jnthn has some ideas
20:54 * [Coke] tries tcpdump, figures out how to look at the bytes... "hey, they're different!" ;)
20:54 lizmat but it requires some deep thought
20:54 * masak .oO( the most dangerous WHICHes are the unstable ones )
20:54 lizmat simplest would be to add 8 byte field to each and every object
20:54 lizmat and just start coiunting
20:54 jnthn moritz: Yeah, I at least hand-waved about a proposed solution that doesn't increase RAM usage if .WHICH ain't used, and is bounded by the size of the nursery.
20:55 jnthn Then there's the easy, but wasteful one lizmat just mentioned. :)
20:55 lizmat what jnthn says  :-)
20:55 jnthn Or we could do the same trick the JDK does with object headers.
20:55 FROGGS m: grammar G { method TOP { say so self.falsish }; token falsish { <!> } }; try G.parse('whatever') # I call that a bug
20:55 camelia rakudo-moar 688c28: OUTPUT«True␤»
20:56 jnthn (If they need to contain more info than you have space for, you grab a piece of memory and CAS a pointer to it over the object header)
20:56 moritz or we could move the object to a location where it isn't moved again on first memory address read
20:56 jnthn (And then make sure you always set the LSB in non-exploded headers.)
20:56 FROGGS nqp-m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse('whatever') # nqp++
20:56 camelia nqp-moarvm: OUTPUT«0␤»
20:56 timotimo colomon: this is on moar, yes?
20:56 colomon timotimo: yes
20:56 FROGGS jnthn: and again I hit a nqp<=>rakudo weirdness :o)
20:57 jnthn moritz: Sadly not; you need to find all the pointers to the object to update them, whihc is O(GC)
20:57 colomon timotimo: I've had major issues getting a parrot or jvm build on my Mac this week
20:57 colomon timotimo: and I've been too lazy to try moving what I'm working on to Linux.
20:57 moritz jnthn: unless you start messing with proxy objects in the old location...
20:57 moritz but it's just that, messing
20:58 timotimo OK, i'll have lookie lookies at the jansson enumerate thingie
20:58 jnthn moritz: Yeah; I *think* you could do it if you introduced read barriers as well as write barriers, since tricks like that are what various concurrent GC algos do.
20:58 timotimo can i get some eample code?
20:59 jnthn But given how much fun it is to get write barriers placed reliably...I'm not quite so sure I want to do read barriers too. ;-)
20:59 moritz ORLY? :-)
21:00 * masak .oO( O read-ly? )
21:00 colomon timotimo: very bottom of this: https://github.com/kanatohodets/p6-json-​jansson/blob/master/lib/JSON/Jansson.pm
21:00 pmurias is WHICH commonly used?
21:00 masak pmurias: yes, since it figures in === comparisons.
21:02 pmurias but for === can't we just compare pointers?
21:03 lizmat pmurias: no, because pointers change
21:03 lizmat and that's *exactly* the problem with .WHICH: it is now basically the address of an object
21:03 lizmat it changes as soon as the GC decides it needs to be moved
21:03 pmurias but doesn't it change everywhere?
21:04 pmurias or is WHICH supposed to be an integer?
21:05 colomon pmurias: it's a unique identifying string, and it's very bad news if it suddenly changes
21:05 masak actually, it's an ObjAt object or something.
21:06 colomon main point is, change is bad
21:06 colomon ;)
21:09 pmurias according to the spec it exists so that different that different representation of the same value can be treated as the same thing
21:09 pmurias so that 123 === 123
21:09 colomon pmurias: it's quite a bit more than that.
21:09 moritz we also use it for hashing objects
21:09 jnthn pmurias: Abstractly, WHICH is essentially a "snapshot" of some sequence of bytes that captures an object's identity.
21:09 moritz and for that, it needs to remain constant
21:10 TimToady lessee, if *PLONK* is forgotten from disuse, and *PLONK* is a cultural response to use of KILL files, and I invented KILL files, some part of me has been forgotten from disuse...Look on my works, ye mighty, and despair! :)
21:10 jnthn pmurias: And if you snapshot the same reference type twice it should be identical. That's the problem today: it doesn't always come out that way 'cus the current memory address is used to form those bytes.
21:10 colomon timotimo, jnthn: okay, I've just verified the values are correct before the gather / take loop; that is to say, we definitely appear to have different objects.
21:12 mr-foobar joined #perl6
21:13 colomon and I can redo the .enumerate calls and get the same results.
21:13 timotimo does the $.json change values between the outside and the inside of the gather/take?
21:13 colomon timotimo: yes
21:14 dalek perl6-roast-data: 9825c08 | coke++ | / (6 files):
21:14 dalek perl6-roast-data: today (automated commit)
21:14 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/9825c08a66
21:15 pmurias TimToady: if .WHICH is called on a object it must be given a persitent number that doesn't change when the gc moves it around?
21:15 TimToady you sure some code isn't just reusing the same array of refs and clobbering the old refs?
21:16 lizmat fortunately, the current default .WHICH implementation, also uses the type
21:16 [Coke] rakudo-jvm, 133 failures, parrot 18. :(
21:17 * [Coke] ponders the futility of ever getting a clean spec test run across teh board.
21:17 lizmat but any type can implement it's own .WHICH
21:18 lizmat m: say 42.WHICH  # note this uses the *value* in the .WHICH
21:18 camelia rakudo-moar 688c28: OUTPUT«Int|42␤»
21:18 moritz in fact, any value type that inherits from a non-value type should implement its own .WHICH, and vice versa
21:18 lizmat m: <a b c>.Set.WHICH.say
21:18 camelia rakudo-moar 688c28: OUTPUT«Set|Str|a Str|b Str|c␤»
21:19 moritz m: say ('a', 'b Str|c').Set.WHICH; say <a b c>.Set.WHICH
21:19 camelia rakudo-moar 688c28: OUTPUT«Set|Str|a Str|b Str|c␤Set|Str|a Str|b Str|c␤»
21:19 moritz m: say ('a', 'b Str|c').Set.WHICH eq <a b c>.Set.WHICH
21:19 camelia rakudo-moar 688c28: OUTPUT«True␤»
21:19 moritz bug
21:20 lizmat moritz: suggested fix?
21:21 moritz lizmat: I'm not sure; maybe escaping the delimiter (here: space)
21:21 FROGGS should be enough to escape all pipes in the values
21:21 FROGGS or that
21:21 moritz and escaping the escape character too, of course
21:21 moritz sleep&
21:21 FROGGS gnight moritz
21:21 lizmat gnight moritz
21:22 masak gnight moritz
21:22 lizmat but still. that wouldn't prevent anybody to craft a string that would still make it possible to do eq on 2 different Sets and get a true on a eq ?
21:22 FROGGS are you sure?
21:23 lizmat any delimiter I would use to concat the values, could be a value that lives inside a string
21:23 FROGGS you prepend "Type|$thing" and double up all pipes in $thing... that should do IMO
21:23 lizmat because it needs to be able to be a part of string in the end
21:23 hoelzro jnthn: the other day you were lamenting on how $obj.^meta-method went through dispatch:<.^>; do you have any advice on how getting around that could be achieved?
21:24 lizmat and if one of the strings as a double || in it ?
21:24 FROGGS lizmat: double both
21:25 FROGGS hoelzro: do you want to do $obj.HOW.method($obj, ...) directly?
21:25 lizmat so 'Str|a Str|b' would become 'Str|a||Str|b" ?
21:25 jnthn hoelzro: It may be easiest does as a nqp::p6howcall or so
21:25 jnthn *done
21:25 hoelzro FROGGS: well, I discovered that .^ puns the invocant if it's a role
21:26 hoelzro jnthn: alright, thanks
21:26 hoelzro I might end up doing that
21:26 jnthn hoelzro: The thing that makes it difficult is that at the point you know it's .^, you don't actually ahve the invocant yet
21:26 jnthn hoelzro: It gets unshifted into the node higher up
21:26 hoelzro ooooh
21:26 jnthn hoelzro: Which is why I did it the way I did, thinking it was a cute solution.
21:26 lizmat anway, .WHICH construction needs to be as cheap as possible...
21:27 FROGGS lizmat: I had thought 'Str|a Str|b' becomes 'Str|Str||a\ Str||b' or so... or maybe even 'Str|Str\|a\ Str\|b'
21:27 hoelzro jnthn: can you think of another way to avoid the punning?
21:27 jnthn hoelzro: The more /expedient/ approach though, is that there's a role punning exclusion list.
21:27 jnthn hoelzro: Which is why ~~ SomeRoleType works out; ACCEPTS is in the exclusion list.
21:27 hoelzro that exception delegation thing with configure_punning?
21:27 jnthn configure_punning sounds right at least... :)
21:27 masak FROGGS, lizmat: it doesn't really feel like a string problem to me. it feels like a hashing problem.
21:28 masak all you want is for two different things to have different hashes.
21:28 lizmat well, in Sets, all elements are constant
21:28 jnthn To all discussing hashing: the reason that ObjAt is a string underneath today is because that's what has been easily available as hash keys on our backends.
21:28 jnthn It probably wants to be an integer
21:28 lizmat so what we really need is some runtime constant cache
21:28 mr-foobar joined #perl6
21:28 hoelzro jnthn: awesome, thanks for the insight
21:29 lizmat jnthn: that would only apply to non-value based .WHICHes, no?
21:29 * FROGGS .oO( ... or Wizards )
21:30 lizmat anyways, this should probably need to be conducted in meatspace
21:30 jnthn And you get the WHICH for, say, a Set by combination of the ObjAt values for the pieces (through some wise algorithm we get from the appropriate lump of dead tree)
21:30 jnthn lizmat: Yes, it would be.
21:30 jnthn lizmat: Fancy going to a conf this weekend? ;-)
21:30 lizmat good plan, let me book a plane and a hotel...
21:30 lizmat wait, I did that already
21:30 jnthn :)
21:31 lizmat departure from home in ~ 7 hours
21:31 jnthn By the way, for those wanting to follow YAPC::Europe talks but can't make it, it seems there will be a live stream: http://blogs.perl.org/users/yap​ceu/2014/08/live-streaming.html
21:31 jnthn lizmat: same
21:32 btyler_ the stream availability at the last few YAPCs has been great for those of us who can't make it to them
21:33 btyler_ hopefully I'll make ::EU 2015, just found a spot at a certain perl-using company in amsterdam
21:33 FROGGS I'll enjoy watching the stream, for sure :o)
21:33 FROGGS btyler_: :o)
21:34 jnthn btyler_: *that* Perl using company? :)
21:34 btyler_ probably fair to describe it as *that* one, yeah
21:34 jnthn Hope you'll enjoy it, and Amsterdam :)
21:34 lizmat .oO( the "perl" company that shall not be named )
21:34 btyler_ I'm pretty excited. visiting amsterdam for the interview was lovely
21:35 btyler_ unfortunately missed the AMSX.pm meetup by a few days
21:35 hoelzro btyler_: enjoy Amsterdam, I miss living there
21:35 hoelzro be careful finding a place to live, though
21:35 * lizmat missed the last AMSX.pm by jet lag
21:36 btyler_ hoelzro: thanks. any advice in that regard much appreciated
21:36 donaldh joined #perl6
21:37 hoelzro btyler_: just ask around, and do a lot of homework before you sign anything =)
21:37 timotimo bleh. i got "code object coerced to string" in a line where i don't think that would happen ...
21:37 masak 'night, #perl6
21:37 btyler_ good advice anywhere :) thanks
21:37 timotimo and i can't seem to figure out how that happens
21:37 hoelzro o/ masak
21:37 colomon joined #perl6
21:37 tadzik o/
21:37 hoelzro btyler_: if you can swing it, there was a neighborhood just south of the rijksmuseum that I loved walking through
21:37 colomon \o
21:37 tadzik I borderline  missed masak
21:38 TimToady make sure the recording folks know enough to turn up the mic in use, not hte wireless receiver that is busy picking up the cosmic background
21:38 tadzik perhaps a part of the streaming crew should be a QA receiving the stream :)
21:38 lizmat .oO( if you listen carefully, you can hear the big bang! )
21:38 tadzik ( from very far away
21:38 tadzik )
21:39 FROGGS m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse("a")
21:39 camelia rakudo-moar 688c28: OUTPUT«True␤»
21:40 FROGGS nqp-m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse("a")
21:40 camelia nqp-moarvm: OUTPUT«0␤»
21:40 FROGGS I don't get it...
21:41 donaldh joined #perl6
21:52 FROGGS m: grammar G { method TOP() { say nqp::getattr_i(self.falsish, Cursor, '$!from') }; token falsish { <!> } }; try G.parse("a")
21:52 camelia rakudo-moar 688c28: OUTPUT«0␤»
21:52 FROGGS m: grammar G { method TOP() { say nqp::getattr_i(self.falsish, Cursor, '$!pos') }; token falsish { <!> } }; try G.parse("a")
21:52 camelia rakudo-moar 688c28: OUTPUT«-3␤»
21:52 FROGGS how can this be True?
21:55 jnap1 joined #perl6
21:56 FROGGS I'm going to add Cursor.Bool... we'll see
21:58 japhb TimToady: If the one thing you created that gets forgotten because it's not needed enough is killfiles ... I call that a win.
22:00 Vlavv joined #perl6
22:02 donaldh Who wants to be boggled?
22:03 donaldh The CORE.setting class file has the entire CORE.setting source text in its constants table.
22:03 tadzik :D
22:03 lizmat .HOW ?
22:03 donaldh Twice. The first is normal. The second is backwards.
22:04 flussence WAT
22:04 lizmat now *that* I find weird
22:04 jnthn Urgh
22:04 Ven joined #perl6
22:04 jnthn That means a Match or Cursor from the parser is somehow getting its way into there
22:04 donaldh :)
22:05 tadzik hahah
22:05 donaldh #35983 = String             #35982      //  \n: elbaifidomon 6lrep=tf tes :miv #\n\n\n}EREH_ERA_UOY{\n\n}\n;)WOHrammarG::ledomate​M::6lreP(esopmoc.WOH.WOHrammarG::ledomateM::6lreP
22:05 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=35983
22:05 jnthn The once backwards isn't surprising, fwiw
22:05 tadzik the backwards bit is the best
22:05 jnthn The grammar uses <?after ...>
22:05 jnthn after works by evaluating a flipped AST of the regex over a reversed string.
22:05 jnthn Turns out then backtracking works out right
22:05 donaldh I'm sure this slows down startup a wee bit.
22:05 jnthn It helps me to just implement it and not think about it though, tbh :P
22:06 donaldh :)
22:06 jnthn Anyway, it caches a reversing of the input. :)
22:06 jnthn So that's why the backwards one is in there. But yeah, netiher should be.
22:07 jnthn That would be a good saving. Of time and memory.
22:07 jnthn donaldh++
22:07 donaldh Where / how should I start looking for a Match or Cursor that is getting serialized?
22:08 jnthn I'd first start by seeing if we end up in add_categorical
22:09 jnthn We'll end up in there, but:
22:09 jnthn if nqp::can(self, $canname) {
22:09 jnthn return 1;
22:09 jnthn }
22:09 jnthn That should always return while compiling the setting.
22:09 FROGGS fwiw, Labels get source code attached to gistify nicely... but that should be just a short string...
22:09 jnthn If it doesn't, then the setting is declaring an operator not in the setting, which is kind of a no-no.
22:11 woolfy left #perl6
22:12 donaldh I'll take a look
22:13 dalek rakudo/nom: b369683 | (Tobias Leich)++ | src/core/Cursor.pm:
22:13 dalek rakudo/nom: failed cursors should Boolify to False
22:13 dalek rakudo/nom:
22:13 dalek rakudo/nom: This fixes an issue where the following snippet said "True":
22:13 dalek rakudo/nom: grammar G { method TOP() { say so self.f }; token f { <!> } }; try G.parse("a")
22:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b369683f81
22:14 donaldh add_categorical trait_mod:sym<trusts>
22:15 donaldh METAOP_TEST_ASSIGN:sym<//>
22:15 donaldh METAOP_TEST_ASSIGN:sym<||>
22:15 donaldh METAOP_TEST_ASSIGN:sym<&&>
22:16 FROGGS donaldh: that is the $canname?
22:16 donaldh yes
22:16 donaldh and it's getting past nqp::can test
22:16 jnthn ah
22:16 timotimo lucky we found this just before the rakudo release %)
22:16 jnthn I suspect it's been in the last N releases... :)
22:16 FROGGS it is always before a release :o)
22:16 donaldh infix:<op>
22:23 lizmat All tests successful.
22:23 lizmat Files=915, Tests=32169, 185 wallclock secs ( 8.79 usr  3.23 sys + 1142.96 cusr 149.05 csys = 1304.03 CPU)
22:23 micahjam97_ joined #perl6
22:24 micahjam97_ what do you guys think of a program that translates the keywords from something in your native language into the keywords of the programming language you're using, so that you can program in your native language?
22:24 lizmat teaching a programming language that has been translated to a local natural language
22:25 FROGGS micahjam97_: that might make sense when english is not that popular at your place...
22:25 lizmat has the big disadvantage that you cannot communicate with developers who are not proficient in that natural language
22:25 lizmat and you would need to translate all the documentation as well
22:25 tadzik micahjam97_: methinks if people can't learn 10 english words, they won't be able to learn a programming language anyway
22:25 lizmat and that is a moving target
22:25 flussence program in APL, problem solved :)
22:26 * tadzik giggles at http://www.bbc.com/news/uk-england-24281192
22:26 tadzik what is this I don't even
22:26 lizmat death is a solution to many problems, but in this case not a desired one  :-)
22:26 micahjam97_ lizmat: that's not the case, the source code will be the translated into english
22:26 jnthn lizmat: Aww, back above 180 :)
22:26 dalek joined #perl6
22:28 lizmat with spesh disabled: Files=915, Tests=32169, 173 wallclock secs ( 8.31 usr  3.22 sys + 1060.11 cusr 118.62 csys = 1190.26 CPU)
22:28 lizmat gnight #perl6, see you in / from Sofia!
22:28 micahjam97_ for example, in spanish, you would write: mi $nombre = "Micah"; imprime "Hola todos!\n";, but the program will turn this into: my $nombre = "Micah"; print "Hola todos!\n";
22:29 FROGGS gnight lizmat
22:29 jnthn lizmat: Travel safely! See you there!
22:30 timotimo oh, spesh makes the spectests take quite a bit longer, eh?
22:31 Psyche^_ joined #perl6
22:31 donaldh tadzik: :-) it reminds me of the vegetable for mathematicians: http://nl.wikipedia.org/wi​ki/Romanesco_%28groente%29
22:32 tadzik hahah
22:32 jnthn timotimo: Somebody who doesn't mind patiently re-spectesting with tweaked spesh thresholds might be able to do better without harming longer-running things like perl6-bench
22:32 tadzik awesome
22:32 japhb .tell micahjam97_ Look up Lingua::Romana::Perligata.  Then quake in fear.
22:32 yoleaux japhb: I'll pass your message to micahjam97_.
22:33 Akagi201 joined #perl6
22:34 tadzik good point :)
22:35 timotimo jnthn: ah, using the spectests as a good workload for setting the spesh tunables to a better position?
22:36 jnthn timotimo: Yes, but the verifying we didn't go too far and spoil our perl6-bench results :)
22:36 timotimo right
22:36 timotimo sounds ... great
22:37 timotimo :P
22:40 jnthn Glory awaits!
22:45 donaldh jnthn: what needs to be done to fix the add_categorical problem?
22:47 donaldh Only two make it past the other checks in add_categorical:
22:47 donaldh add_categorical infix op infix:<op> &infix:<op>
22:47 donaldh add_categorical infix op infix:<op> &infix:<op>
22:47 colomon NativeCall doesn't work on JVM?
22:48 jnthn donaldh: I'm really not sure where those are coming from...
22:48 jnthn m: 1 op 2
22:48 camelia rakudo-moar 688c28: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dJVPhIVk3Câ�¤Two terms in a rowâ�¤at /tmp/dJVPhIVk3C:1â�¤------> [32m1 [33mâ��[31mop 2[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤      â€¦Â»
22:49 jnthn ohhh
22:49 jnthn See zip and zip-latest
22:49 timotimo colomon: it should work
22:49 FROGGS rakudo/src/core/Supply.pm:591:        my &infix:<op> = &with // &[,]; # hack for [[&with]] parse failure
22:49 donaldh Yep, I see them.
22:50 timotimo oh, could that work by now?
22:50 FROGGS [[&with]] does work nowadays
22:50 timotimo i seem to recall someone changed that recently
22:50 colomon timotimo: I just did a fresh JVM build, then tried to install NativeCall, and it failed boatloads of tests
22:50 FROGGS was just a two lines patch :o)
22:50 timotimo colomon: oh snap.
22:54 jnthn Should sleep; flight &
22:56 FROGGS good night, good flight o/
22:56 donaldh What should [op] change to? [[&with]] ?
22:57 jercos would Quantum Perl 6 define a prefix:<‽> operator?
22:57 xragnar_ joined #perl6
22:57 FROGGS m: my &with = &[+]; say 42 [[&with]] 3
22:57 camelia rakudo-moar 688c28: OUTPUT«45␤»
22:57 FROGGS donaldh: like that
22:58 FROGGS so we do not need to declare &infix:<op> at all
22:58 dwarring joined #perl6
22:58 donaldh Got it.
22:59 donaldh Will just check if this solved the problem
23:01 klaas-janstol joined #perl6
23:04 donaldh Hmm, CORE.setting source still getting serialized.
23:04 dwarring r: say (for 1..10 {$_ * $_ if $_ % 2}) # basic list comprehension
23:04 camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
23:05 dwarring r: say "{do $_ * $_ if $_ % 2 for 0..10}"; # list comprehension + interpolation
23:05 camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
23:05 dwarring r: say "{$_ * $_ if $_ % 2 for 0..10}"; # list comprehension + interpolation
23:05 camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«␤»
23:06 dwarring it seems that list comprehension plays with interpolation...
23:06 FROGGS gnight
23:07 donaldh PR: https://github.com/rakudo/rakudo/pull/304
23:07 dwarring but only if I use the 'do for ...' syntax
23:07 * dwarring 'night FROGGS
23:07 dwarring here's a couple more
23:07 donaldh 'night all
23:08 dwarring r; say (for 1..10 {$_ * $_ if $_ % 2})
23:08 dwarring oops
23:08 dwarring r: say (for 1..10 {$_ * $_ if $_ % 2})
23:08 camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
23:08 timotimo dwarring: could be a precedence issue
23:09 timotimo m: for ^10 say $_ * |_ if $_ !%% 2
23:09 camelia rakudo-moar 688c28: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/QMZb8hHP7iâ�¤Missing blockâ�¤at /tmp/QMZb8hHP7i:1â�¤------> [32mfor ^10 [33mâ��[31msay $_ * |_ if $_ !%% 2[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or…»
23:09 timotimo m: for ^10 say { $_ * |_ if $_ !%% 2 }
23:09 camelia rakudo-moar 688c28: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/woIa_nV3jSâ�¤Missing blockâ�¤at /tmp/woIa_nV3jS:1â�¤------> [32mfor ^10 [33mâ��[31msay { $_ * |_ if $_ !%% 2 }[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infi…»
23:09 timotimo m: for ^10 { say $_ * |_ if $_ !%% 2 }
23:09 camelia rakudo-moar 688c28: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/y30PeTc8Jrâ�¤Undeclared name:â�¤    _ used at line 1â�¤â�¤Â»
23:09 timotimo m: for ^10 { say $_ * $_ if $_ !%% 2 }
23:09 camelia rakudo-moar 688c28: OUTPUT«1␤9␤25␤49␤81␤»
23:09 timotimo m: say $_ * $_ if $_ !%% 2 for ^10
23:09 camelia rakudo-moar 688c28: OUTPUT«1␤9␤25␤49␤81␤»
23:10 timotimo m: ($_ * $_ if $_ !%% 2 for ^10).say
23:10 camelia rakudo-moar 688c28: OUTPUT«1 9 25 49 81␤»
23:10 timotimo m: (do $_ * $_ if $_ !%% 2 for ^10).say
23:10 camelia rakudo-moar 688c28: OUTPUT«1 9 25 49 81␤»
23:10 timotimo huh.
23:10 dwarring r: say "{(for 1..10 {$_ * $_ if $_ % 2})}"
23:10 camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81␤»
23:11 dwarring r: say "{for 1..10 {$_ * $_ if $_ % 2}}"
23:11 camelia rakudo-{parrot,jvm,moar} 688c28: OUTPUT«␤»
23:11 dwarring parens also make a difference somehow
23:14 dwarring m: "{($_ * $_ if $_ !%% 2 for ^10)}".say
23:14 camelia rakudo-moar 688c28: OUTPUT«1 9 25 49 81␤»
23:15 dwarring m: "{$_ * $_ if $_ !%% 2 for ^10}".say
23:15 camelia rakudo-moar 688c28: OUTPUT«␤»
23:17 TimToady see S04:658
23:17 synopsebot Link: http://perlcabal.org/syn/S04.html#line_658
23:17 TimToady basically, {} are always going to suppress return value from loops inside
23:18 TimToady after much haggling over the years, that's what we settled on as Least Surprise
23:18 TimToady ss/loops inside/loops directly inside/
23:20 firnsy_ joined #perl6
23:20 * TimToady suspects the optimizer should turn !%% into % in boolean context, if it doesn't already
23:21 dwarring ok that makes sense
23:22 dwarring so I do need to put the loops in parens
23:22 TimToady you can interpolate using $() too
23:23 dwarring r: say "$($_ * $_ if $_ % 2 for 0..10)"
23:24 camelia rakudo-{parrot,moar} 688c28: OUTPUT«1 9 25 49 81␤»
23:24 camelia ..rakudo-jvm 688c28: OUTPUT«␤»
23:24 dwarring ahhh!
23:25 dwarring err except for jvm\
23:25 TimToady huh
23:25 TimToady trés peculiar
23:26 dwarring i'll ticket it
23:27 raiph joined #perl6
23:29 TimToady good idea
23:29 TimToady j: say "foo$('stuff')bar"
23:29 camelia rakudo-jvm 688c28: OUTPUT«foostuffbar␤»
23:30 TimToady just seems like the comprehension is what goes astray, so maybe in sink context for some reason
23:31 TimToady j: say "foo$( say 'hi' for 1..10 )bar"
23:31 camelia rakudo-jvm b36968: ( no output )
23:31 TimToady o.O
23:34 Akagi201 joined #perl6
23:38 dwarring j: say "foo$( say 'hi' for 1..10 )bar"
23:39 camelia rakudo-jvm b36968: OUTPUT«(timeout)»
23:39 dwarring j: say "alive"
23:39 camelia rakudo-jvm b36968: OUTPUT«alive␤»
23:40 dwarring j: say "foo$( say 'hi' for 1..10 )bar"
23:40 camelia rakudo-jvm b36968: OUTPUT«hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤foobar␤»
23:44 TimToady j: say "foo$( say 'hi' for 1..10 )bar"
23:44 camelia rakudo-jvm b36968: OUTPUT«hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤foobar␤»
23:45 nhayashi joined #perl6
23:45 TimToady beats me
23:51 yukko joined #perl6

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

Perl 6 | Reference Documentation | Rakudo