Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-04-30

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:03 lvfjf p6:print "Hello world!\n";
00:04 perigrin p6: say "Hello world!";
00:04 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Hello world!␤»
00:04 perigrin lvfjf: I think you need an initial space after the :
00:05 lvfjf p6: print "Hello world!\n";
00:05 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Hello world!␤»
00:08 lvfjf eval: say "Hello world!"
00:08 raydiak p6: my $s = "abcdEFghij"; print $0,$2 while $s ~~ s/(.)(.*)(.)/$1/;
00:08 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«ajbichdgEF»
00:09 raydiak BenGoldberg: something is happening to $_
00:09 BenGoldberg p6: $_ = "abc"; if s/(.)(.*)(.)/$1/ { say "Success: $0,$1,$2,$_" } else { say "fail: $_" }
00:09 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Success: a,b,c,b␤»
00:09 BenGoldberg p6: $_ = "abcd"; if s/(.)(.*)(.)/$1/ { say "Success: $0,$1,$2,$_" } else { say "fail: $_" }
00:09 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Success: a,bc,d,bc␤»
00:10 lvfjf p6: print "Who is the bot?"
00:10 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Who is the bot?»
00:10 BenGoldberg p6: $_ = "<>"; if s/(.)(.*)(.)/$1/ { say "Success: $0,$1,$2;$_" } else { say "fail: $0,$1,$2;$_" }
00:10 camelia niecza v24-109-g48a8de3: OUTPUT«Success: <,,>;␤»
00:10 camelia ..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«fail: <,,>;␤»
00:11 lvfjf camelia:help
00:11 camelia lvfjf: Usage: <(rakudo-jvm|nqp-jvm|star|rakudo-moar|pugs|std|niecza|p5-to-p6|nqp-parrot|b|rakudo-parrot|nqp-moarvm|nom|rnP|r|nPr|rPn|Prn|j|nqp-m|Pnr|nqp-mvm|nqp-j|nr|p6|rm|n|p56|rj|perl6|nqp|r-j|P|rn|rakudo|m|r-jvm|nqp-p|nrP|p|r-m|r-p|rp)(?^::\s) $perl6_program>
00:11 BenGoldberg Even though the s/// returns false, it is still putting the correct things into $0, $1, $2
00:11 lvfjf camelia:owner
00:12 BenGoldberg p6: $_ = "AB"; if s/(.)(.)// { say "Success: $0,$1;$_" } else { say "fail: $0,$1;$_" }
00:12 camelia niecza v24-109-g48a8de3: OUTPUT«Success: A,B;␤»
00:12 camelia ..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«fail: A,B;␤»
00:12 BenGoldberg p6: $_ = "AB"; if so s/(.)(.)// { say "Success: $0,$1;$_" } else { say "fail: $0,$1;$_" }
00:12 camelia niecza v24-109-g48a8de3: OUTPUT«Success: A,B;␤»
00:12 camelia ..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«fail: A,B;␤»
00:12 BenGoldberg p6: $_ = "AB"; say s/(.)(.)//;
00:12 hoverboard joined #perl6
00:12 camelia niecza v24-109-g48a8de3: OUTPUT«True␤»
00:12 camelia ..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«␤»
00:13 BenGoldberg p6: my $a = "AB"; say $a ~~ s/(.)(.)//;
00:13 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«True␤»
00:13 BenGoldberg Well, it's a workaround, anyway
00:15 raydiak p6: $_ = "AB"; say $_ ~~ s/(.)(.)//;
00:15 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«True␤»
00:15 BenGoldberg !
00:15 raydiak heh
00:15 raydiak something about the ~~
00:16 BenGoldberg p6: $_ = "Just another Perl6/BIDI Hacker,\n"; print chr(8238),$2,chr(8237),$0 while $_ ~~ s/(.)(.*)(.)/$1/;
00:16 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«‮␤‭J‮,‭u‮r‭s‮e‭t‮k‭ ‮c‭a‮a‭n‮H‭o‮ ‭t‮I‭h‮D‭e‮I‭r‮B‭ ‮/‭P‮6‭e‮l‭r»
00:20 lvfjf p6: Larry Wall
00:20 mtj joined #perl6
00:20 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared names:â�¤      'Larry' used at line 1â�¤ 'Wall' 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…»
00:20 camelia ..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared names:â�¤    Larry used at line 1â�¤    Wall used at line 1â�¤â�¤Â»
00:29 raydiak p6: print (s/.*//).perl
00:29 thou joined #perl6
00:29 camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""»
00:29 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method subst in type Any␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ …»
00:29 raydiak p6: $_ = ''; print (s/.*//).perl
00:29 camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""»
00:29 camelia ..niecza v24-109-g48a8de3: OUTPUT«Bool::False»
00:30 raydiak p6: $_ = ''; print (s/fail//).perl
00:30 camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""»
00:30 camelia ..niecza v24-109-g48a8de3: OUTPUT«Bool::False»
00:34 raydiak I'm having a hard time finding where S05 says what a substitution should return
00:42 raydiak r: $_ = 'x'; say (s/x//).perl; say (s/x//).perl;
00:42 camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""␤""␤»
00:54 rurban joined #perl6
00:56 geekosaur joined #perl6
00:59 rurban joined #perl6
01:06 Pleiades` joined #perl6
01:08 FROGGS_ joined #perl6
01:17 BenGoldberg joined #perl6
01:21 qzx joined #perl6
01:37 btyler joined #perl6
01:48 bjz joined #perl6
01:51 klapperl_ joined #perl6
01:54 Su-Shee_ joined #perl6
01:55 woosley joined #perl6
01:56 lvfjf joined #perl6
02:17 thou joined #perl6
02:21 plobsing joined #perl6
02:23 lvfjf joined #perl6
02:25 donaldh joined #perl6
02:29 rurban joined #perl6
02:33 xragnar_ joined #perl6
02:36 bjz joined #perl6
02:37 geekosaur joined #perl6
02:37 bjz joined #perl6
02:47 hoverboard joined #perl6
02:48 lvfjf joined #perl6
02:50 xinming_ joined #perl6
02:53 fhelmberger joined #perl6
02:59 geekosaur joined #perl6
03:03 rurban joined #perl6
03:05 lvfjf joined #perl6
03:50 jonpads joined #perl6
03:54 trammel_ I'm getting an error trying to use 'panda' to search for packages... it's using a brew installation of rakudo-star (2014-03). I do a 'panda search dbi', and get a stacktrace with the error, "no ICU lib loaded" .. any ideas why this happens?
03:55 trammel_ Also, it's very slow to execute and show the error... is that normal?
03:57 Timbus joined #perl6
04:06 thou joined #perl6
04:08 anaeem1_ joined #perl6
04:10 rindolf joined #perl6
04:13 raiph joined #perl6
04:13 raydiak trammel_: installing libicu should fix the error...as for the slow startup time, yes that is normal
04:18 raydiak dunno whether recompiling w/ICU is needed, or if you can just install it and try running again...maybe someone more knowledgable can chime in here, if they're not all in bed :)
04:28 SamuraiJack joined #perl6
04:30 Psyche^_ joined #perl6
04:42 vaskozl joined #perl6
04:53 cooper joined #perl6
05:05 adu joined #perl6
05:05 trammel_ thanks, recompiling with --with-icu4c fixed the problem
05:26 seymur824 joined #perl6
05:34 dayangkun joined #perl6
05:34 anaeem1_ joined #perl6
05:44 kaare_ joined #perl6
05:54 thou joined #perl6
06:01 krunen joined #perl6
06:01 rurban joined #perl6
06:03 rurban1 joined #perl6
06:22 [Sno] joined #perl6
06:25 kaleem joined #perl6
06:25 grep0r joined #perl6
06:31 ClarusCogitatio joined #perl6
06:31 ClarusCogitatio joined #perl6
06:32 ClarusCogitatio joined #perl6
06:42 darutoko joined #perl6
06:47 FROGGS joined #perl6
06:48 jnthn morning, #perl6
06:48 sergot o/
06:48 FROGGS morning
06:50 ClarusCogitatio joined #perl6
06:50 nwc10 good far-too-early, jnthn imposter :-)
06:52 raydiak morning *
06:52 ClarusCogitatio joined #perl6
06:52 ClarusCogitatio joined #perl6
06:52 jnthn teaching... :P
06:53 * jnthn puts "coffee" into the live sentiment analysis demo, to entertain folks arriving :)
06:54 * TimToady read that as "live sediment", which seems appropriate for coffee
06:54 jnthn tasty, tasty, sediment
06:54 * FROGGS gets coffee
07:01 igorsutton joined #perl6
07:04 rurban joined #perl6
07:19 pdcawley joined #perl6
07:25 hummeleB1 joined #perl6
07:28 zakharyas joined #perl6
07:31 Ven_ joined #perl6
07:35 donaldh_ joined #perl6
07:36 Ven_ good *,**.
07:42 jnthn *, *. * * * *!
07:42 thou joined #perl6
07:42 moritz
07:45 timotimo o/
07:47 moritz \o
07:48 [Sno]_ joined #perl6
07:52 xinming_ joined #perl6
07:56 [Sno]_ joined #perl6
08:04 rurban joined #perl6
08:15 [Sno]_ joined #perl6
08:22 lao joined #perl6
08:27 [Sno]_ joined #perl6
08:30 dalek rakudo/vm-null: 7a8d595 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c:
08:30 dalek rakudo/vm-null: this gets us through CORE.setting. but it's probably wrong.
08:30 dalek rakudo/vm-null:
08:30 dalek rakudo/vm-null: at the very least p6captureouters is not correct this way.
08:30 dalek rakudo/vm-null: review: https://github.com/rakudo/rakudo/commit/7a8d595c57
08:33 virtualsue joined #perl6
08:35 timotimo p6: say 55 ~~ NaN
08:35 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«False␤»
08:36 moritz p6: say NaN ~~ NaN
08:36 camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«True␤»
08:37 raydiak good night, morning people :) o/
08:39 timotimo :)
08:50 denis_boyun joined #perl6
08:56 [Sno]_ joined #perl6
09:00 dmol joined #perl6
09:02 dayangkun joined #perl6
09:04 spider-mario joined #perl6
09:05 Su-Shee good morning everyone ;)
09:05 rurban joined #perl6
09:06 FROGGS hi Su-Shee
09:07 jnthn o/ Su-Shee
09:12 fhelmberger joined #perl6
09:13 ClarusCogitatio joined #perl6
09:16 donaldh_ jnthn: when is the right time to lookup hll types for async callbacks?
09:16 donaldh_ jnthn: is it okay to look them up when the async call is made?
09:16 ClarusCogitatio joined #perl6
09:16 donaldh_ jnthn: This is nqp, jvm backend.
09:18 jnthn donaldh_: I'm not sure that MoarVM bothers; it just uses BOOTInt etc and relies on the hllize mapping taking place in the language.
09:18 jnthn donaldh_: We'd have to capture the hll at the time the task is started, though.
09:18 jnthn And keep it around for the callback.
09:18 donaldh_ yep
09:19 jnthn Which is why I wondered if we can get away with it. Turns out yes ;)
09:19 donaldh_ currently using curTC.curFrame.codeRef.staticInfo.compUnit.hllConfig
09:20 donaldh_ but codeRef is sometimes null
09:20 jnthn Right, it will be
09:20 jnthn 'cus the thread that gets the callback may just be any old Java thread, not one we're running code on.
09:21 donaldh_ yep. So switched to looking up types when async call is made.
09:21 donaldh_ But you suggest just using BOOT types?
09:23 jnthn yes
09:23 jnthn Well, at least, I know it works to. :)
09:25 jnthn lunch &
09:25 pecastro joined #perl6
09:30 thou joined #perl6
09:46 woosley joined #perl6
09:52 ClarusCogitatio joined #perl6
09:52 ClarusCogitatio joined #perl6
09:52 dayangkun joined #perl6
09:59 ClarusCogitatio joined #perl6
10:03 ClarusCogitatio joined #perl6
10:06 rurban joined #perl6
10:14 ClarusCogitatio joined #perl6
10:14 rindolf joined #perl6
10:51 kurahaupo joined #perl6
10:54 kaleem joined #perl6
10:56 kurahaupo joined #perl6
10:57 kurahaupo joined #perl6
11:07 rurban joined #perl6
11:10 kurahaupo joined #perl6
11:19 thou joined #perl6
11:23 qzx joined #perl6
11:24 bowtie joined #perl6
11:37 bowtie joined #perl6
11:55 igorsutton joined #perl6
12:05 bowtie joined #perl6
12:07 rurban joined #perl6
12:24 xenoterracide joined #perl6
12:30 jsn joined #perl6
12:34 timotimo how intelligent is our ThreadPoolScheduler, btw?
12:34 moritz more than me.
12:34 timotimo :D
12:34 timotimo there could probably be some "work stealing" stuff to do with semaphores/locks, right?
12:35 timotimo as in: we've just started blocking on this lock, here's a thread that's holding the lock, but is currently not being executed
12:35 timotimo in that case we should be able to just jump to that thread and execute it, perhaps just until it releases that lock, perhaps until it gets interrupted for whatever reason
12:36 timotimo is there something clever we can do when one thread has gone to sleep? do we have to keep that thread on the given task to ensure the sleep ends without a terrible delay?
12:47 timotimo and i still didn't get an answer how to cancel a computation that's not "cooperating"
12:47 timotimo like if you accidentally write an infinite loop in the golf-helper
12:52 colomon joined #perl6
13:07 thou joined #perl6
13:08 dalek Perlito: c7c242d | (Flavio S. Glock)++ | TODO-perlito5:
13:08 dalek Perlito: Perlito5 - regex TODO - some qr() details
13:08 dalek Perlito: review: https://github.com/fglock/Perlito/commit/c7c242d021
13:08 btyler joined #perl6
13:10 guru joined #perl6
13:11 SamuraiJack joined #perl6
13:17 rurban joined #perl6
13:22 dalek Perlito: 78ae779 | (Flavio S. Glock)++ | TODO-perlito5:
13:22 dalek Perlito: Perlito5 - regex TODO - more qr() details
13:22 dalek Perlito: review: https://github.com/fglock/Perlito/commit/78ae7792f5
13:23 timotimo i wonder if more perlito6 changes are going to happen any time soon?
13:23 moritz fglock isn't here, that's not a good sign
13:25 timotimo fglock said he'd be supporting only a subset of perl6 in perlito6; is that subset defined sharply some way?
13:26 timotimo how well are perl6 rules supported, for example?
13:26 btyler joined #perl6
13:27 dalek rakudo-star-daily: cb2fd35 | coke++ | log/ (5 files):
13:27 dalek rakudo-star-daily: today (automated commit)
13:27 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/cb2fd3548e
13:27 dalek rakudo-star-daily: 0230169 | coke++ | log/ (5 files):
13:27 dalek rakudo-star-daily: today (automated commit)
13:27 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/023016942e
13:27 dalek perl6-roast-data: e3c1ab9 | coke++ | / (6 files):
13:27 dalek perl6-roast-data: today (automated commit)
13:27 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e3c1ab92e7
13:27 [Coke] rakudo.jvm & rakudo.moar both have failing tests.
13:28 [Coke] (all of them in S17)
13:29 [Coke] (jvm looks like simple failures, moar is aborting)
13:29 [Coke] colomon: niecza is now failing 575 tests.
13:30 [Coke] (lots of aborts there, though, should be an easy cleanup)
13:31 lizmat [Coke]: S17 tests should not abort
13:31 lizmat they should just fail
13:32 lizmat because they point at a real problem wrt to Supply.delay and Supply.stable
13:32 lizmat I haven't "skipped" them
13:32 lizmat I hope jnthn and/or me can find the source of the problem
13:33 lizmat which seems to be that the feeding supply is passing on a "done"/"close" without delay, thereby causing values to disappear
13:33 lizmat eyes / suggestions welcome
13:35 timotimo hmm
13:36 timotimo one could probably instrument the debugger backend so that it'd echo every executed line with a timestamp and thread id
13:36 timotimo and then reconstruct a timeline annotated with the source lines?
13:36 btyler joined #perl6
13:37 moritz and influences the execution, because at some point, the thread's accesses to STDOUT have to be serialized
13:38 lizmat yeah, heisenbugs   :-(   although I don't think this one is, though
13:38 lizmat it's pretty reproducible
13:39 lvfjf joined #perl6
13:44 [Coke] lizmat++ btw for trying to fudge older implementations on newer tests.
13:45 [Coke] lizmat: https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.moar_summary.out#L1488
13:45 [Coke] here's a message hidden in moar's output: S29-os/system.rakudo.moar..........................execvp(): No such file or directory
13:45 [Coke] integration/advent2013-day14.rakudo.moar...........Aborted (core dumped)
13:48 timotimo moritz: they could output to one file per thread
13:49 timotimo that should solve the problem, no?
13:50 jnthn timotimo: picking appropriate threads with regard to locks and semaphores is the job of the OS scheduler.
13:51 jnthn timotimo: If you call sleep, you block a thread. End of story. A sleeping thread is quite cheap GC wise though, in that you knwo you don't have to wait for it, and it is producing no garbage.
13:52 jnthn timotimo: the sane way to deal with uncooperative threads is to use processes instead, or at least another VM instance that you can have full control over.
13:53 jnthn lizmat: I got those failures on my laptop too, so will be able to look at them a bit.
13:53 jnthn lizmat: Either tonight or tomorrow.
13:53 FROGGS[mobile] joined #perl6
13:57 FROGGS[mobile] joined #perl6
13:58 timotimo jnthn: so the golf-helper should likely use a subprocess, perhaps with a ulimit or with a kill after a timeout?
14:00 timotimo i suppose a kill would be easiest
14:01 jnthn timotimo: "should"
14:02 jnthn timotimo: All systems have to be seen in a context. This isn't exactly mission critical. :)
14:03 jnthn But for something that needed to support cancellation of arbitrary code robustly - yes, you'd want a process-based solution.
14:03 jnthn I wonder how nicely we can provide taht already
14:04 thou joined #perl6
14:04 lizmat a Supply reading from STDIN in some way ?
14:04 jnthn phew....teaching done
14:05 jnthn lizmat: Not sure; maybe
14:05 timotimo jnthn: it's unfortunately far too easy to execute infinite loops when you're golfing, as you'll very often be using lazy (infinite) lists in that context
14:05 timotimo hence my concern
14:05 timotimo the migrate combinator closes its "superfluous" taps, right?
14:05 btyler joined #perl6
14:05 jnthn Right, so you'd want the closign of the tap to terminate the process here.
14:06 timotimo that seems like a useful primitive actually
14:06 anaeem1 joined #perl6
14:06 jnthn lizmat: Certainly it wants to be a supply that is done on success.
14:06 timotimo a tap from any subprocess that automatically kills the subprocess when all taps of it are closed
14:06 jnthn I suspect it's a demand-supply
14:07 timotimo what should i look at (for copying purposes) if i want to build a tap that noms from any given file?
14:09 xenoterracide joined #perl6
14:09 molaf joined #perl6
14:12 jnthn timotimo: are you looking to implement async file I/O?
14:13 jnthn If so, see asyncsocket.c in Moar, and IO::Socket::Async.
14:13 timotimo oke :)
14:14 timotimo well, i'd like to have tap-based stdin :)
14:14 jnthn That sounds...curious.
14:14 jnthn That'll also be tricky at the moment, I suspect...
14:15 timotimo if i have a console-based game, i need some way to have a non-blocking read on stdin anyway
14:15 timotimo not sure if there's something for that yet?
14:15 jnthn How is that usually handled? getkey?
14:16 timotimo i suppose so?
14:16 jnthn I dunno, I dont' write console games :P
14:16 timotimo i'll likely have something like an event loop that will coordinate with ansi escape codes
14:16 timotimo is there something in rakudo already that'll let me try to get one byte from stdin and if there's nothing immediately returns?
14:17 jnthn Don't think .getc will do that, no
14:18 timotimo some way to ioctl the file descriptor into a nonblocking state?
14:18 timotimo (except NativeCall)
14:18 jnthn Not so far as I know.
14:19 jnthn Nobody implemented it yet. I guess tadzik++'s games use SDL which handles such things, so those didn't block on it
14:19 jnthn I need to head to the station...
14:19 jnthn bbl
14:19 tadzik timotimo: don't you just want to wrap ncurses?
14:19 timotimo no, i want to do everything myself :)
14:19 timotimo ncurses is terrible
14:19 tadzik it is
14:20 tadzik but no, I don't think we have any such thing yet
14:21 xenoterracide_ joined #perl6
14:21 tadzik I guess you could poll() stdin on parrot :o
14:25 donaldh joined #perl6
14:25 timotimo yeah, on.
14:25 timotimo er
14:25 timotimo yeah, no.
14:26 PerlJam select?  :)
14:32 telex joined #perl6
14:34 bluescreen10 joined #perl6
14:37 treehug88 joined #perl6
14:46 kaleem joined #perl6
14:47 dayangkun joined #perl6
14:56 timotimo in any case, i'd like there to be a solution. best would be to have a specced one.
14:56 rurban joined #perl6
14:59 FROGGS joined #perl6
15:02 kaleem joined #perl6
15:03 myfree joined #perl6
15:03 colomon tadzik: can panda install a module which isn't in the ecosystem?
15:07 timotimo yes, just give it the path
15:08 tadzik yep
15:08 colomon \o/
15:09 * colomon reckons it would be rude to litter the ecosystem with very specialized $work scripts, but awesome to have panda manage them.
15:10 lvfjf joined #perl6
15:15 guru joined #perl6
15:16 vaskozl joined #perl6
15:19 FROGGS colomon: panda install .
15:19 FROGGS I like that since I know it exists :o)
15:20 FROGGS which is like, a week
15:20 tadzik heheh
15:20 hoverboard joined #perl6
15:20 colomon is there a way to do it with a URL?
15:20 FROGGS hmmm, I dont think so
15:20 tadzik hm
15:21 FROGGS it handles git and local paths AFAIK
15:21 tadzik https://github.com/tadzik/panda/issues/6
15:21 tadzik so, sort of :)
15:22 igorsutton joined #perl6
15:33 colomon so, one more reason I need to get my own git server up and running.  :)
15:33 * colomon has been eyeing gitblit
15:33 timotimo fortunately it's very easy; if you connect via ssh, you can start with no installation at all
15:34 TimToady I use: shell "stty raw -echo min 1 time 1 </dev/tty";
15:35 timotimo that's your git server? :)
15:35 TimToady then to read chars: push @INPUT, $TTY.read(1)[].chrs unless @INPUT;
15:35 TimToady that guarantees at least one more char in @INPUT
15:36 TimToady os it is possible to do single-char input, at least on unixoids
15:37 TimToady *so
15:38 TimToady oh, and $TTY is an opened /dev/tty
15:40 timotimo what. :)
15:40 timotimo that seems like a terrible solution :D
15:41 TimToady well, that, or something like it, has the benefit of having worked for the last several years :P
15:47 TimToady I actually used the moar version of my quiz editor last weekend, and it ran fast enough to be usable
15:47 timotimo \o/
15:47 TimToady though admittedly, putting it onto a faster laptop helped a lot :)
15:47 timotimo the improvements stack, i would assume :)
15:47 TimToady still doesn't run quite as fast as the niecza++ version though
15:48 haroldwu joined #perl6
15:48 haroldwu joined #perl6
15:48 masak niecza++
15:48 timotimo yeah, niecza++ seems kinda unbeatable, at least for the time being
15:48 TimToady but then, niecza kinda cheats, which is one reason it was abandoned
15:48 masak cheating is technique.
15:49 Ven_ cheating is waiting for  the right design to come to mind :)
15:49 masak the right design gets to cheat too, as long as it doesn't get caught :)
15:50 Ven_ if it's the right design, it's not longer cheat
15:50 Ven_ In what way does niecza cheat, anyway ?
15:55 kaare_ joined #perl6
15:58 * TimToady is too senile to remember the specifics
15:58 tadzik methinks it simplifies the internals a bit for the sake of performance (mop, for instance)
16:01 kaleem joined #perl6
16:33 [Sno] joined #perl6
16:49 FROGGS http://de.webfail.com/5b6f111eb39 # star wars vs harry potter 3min video
17:08 Eulipion joined #perl6
17:08 Eulipion left #perl6
17:19 pschwenn joined #perl6
17:24 rakudo joined #perl6
17:27 pschwenn joined #perl6
17:28 tadzik hahahaah
17:28 tadzik that's very well done
17:36 guru joined #perl6
17:47 LLamaRider joined #perl6
17:48 timotimo i suppose for the time being i can just have a worker thread start'd that reads byte by byte from stdin and feeds a channel with it
17:48 timotimo until we get proper nonblocking i/o for stdin
17:48 timotimo or even async i/o
17:51 raiph joined #perl6
18:01 denis_boyun joined #perl6
18:03 dalek rakudo/vm-null: f0524f5 | jonathan++ | src/vm/moar/ops/perl6_ops.c:
18:03 dalek rakudo/vm-null: Revert incorrect MVM_is_null additions.
18:03 dalek rakudo/vm-null:
18:03 dalek rakudo/vm-null: It should only be used on MVMObject.
18:03 dalek rakudo/vm-null: review: https://github.com/rakudo/rakudo/commit/f0524f5f09
18:07 kurahaupo joined #perl6
18:07 xenoterracide joined #perl6
18:07 xinming_ joined #perl6
18:08 treehug88 joined #perl6
18:14 grondilu joined #perl6
18:16 Alina-malina joined #perl6
18:20 Alina-malina joined #perl6
18:23 Sqirrel joined #perl6
18:30 FROGGS jnthn: when I want to have 1&&2 in QAST, do I really write it as QAST::Op.new(:op<if>, QAST::Op.new(:op<list>, QAST::IVal..., QAST::IVal...)) ?
18:30 FROGGS and this well also produce the result 2?
18:31 jnthn why the list?
18:31 timotimo FROGGS: it seems like it can be an op if with two Wants or IVals in it
18:31 jnthn Wants to just be a QAST::Op with AST for 1 and 2 in it.
18:31 FROGGS I thought I'd need the list to have both in the condition
18:32 FROGGS ahh, wait, I understand now
18:32 FROGGS 1&&2 in fact is: if 1 { 2 }
18:33 FROGGS well, kinda
18:33 FROGGS it is more like if 1 { 2 } else { 1 }
18:33 FROGGS err, I dunno
18:33 jnthn Well, it's not in so far as a 2-arg if evaluates to the condition.
18:33 FROGGS can't think
18:36 FROGGS can somebody check if the qast matches the comment? https://gist.github.com/FROGGS/d944fc037c8521ffbdd5
18:43 Alina-malina joined #perl6
18:44 FROGGS Stage mast       : Error while compiling op if: Operation 'if' needs either 2 or 3 operands
18:44 FROGGS :/
18:44 FROGGS it has three in the first and two in the second case...
18:44 FROGGS ohh, I only pasted the first case though
18:45 timotimo depends on what the ... is
18:45 FROGGS $handler
18:45 timotimo that'd be 3 args, aye
18:46 FROGGS I updated the gist
18:47 timotimo are you sure the problem isn't somewhere else? :)
18:47 jnthn FROGGS: Don't immediately see anything wrong in there...
18:48 jnthn FROGGS: Suspect what timotimo said
18:48 FROGGS yeah, that is possible...
18:49 ClarusCogitatio joined #perl6
18:49 ClarusCogitatio joined #perl6
18:49 dalek rakudo/vm-null: 3c822bc | jonathan++ | src/vm/moar/ops/perl6_ops.c:
18:49 dalek rakudo/vm-null: Some more MVM_is_null in perl6_ops.c.
18:49 dalek rakudo/vm-null:
18:49 dalek rakudo/vm-null: This should be all of them; the current bug in setting compilation is
18:49 dalek rakudo/vm-null: most likely to be something missing in Moar.
18:49 dalek rakudo/vm-null: review: https://github.com/rakudo/rakudo/commit/3c822bc924
18:50 * FROGGS raises his fist against error reporting
18:51 raydiak \o
18:52 raiph r: for 1, 2, 3 { state ($a, $b) = (0,0); NEXT $a++; say $a; NEXT { $b++ }; say $b } # known moarvm bug?
18:52 camelia rakudo-moar c9f223: OUTPUT«0␤0␤0␤1␤0␤2␤»
18:52 camelia ..rakudo-{parrot,jvm} c9f223: OUTPUT«0␤0␤1␤1␤2␤2␤»
18:52 SamuraiJack joined #perl6
18:52 jnthn ah, not all of them after all...
18:53 jnthn raiph: Well, Rakudo code-gen bug rather than it being MoarVM's fault really.
18:53 jnthn But yeah, I saw that here before
18:53 jnthn So I imaigne it's filed
18:54 FROGGS hi raydiak, raiph
18:54 raiph jnthn: thx
18:56 FROGGS n: for 1, 2, 3 { state ($a, $b) = (0,0); NEXT $a++; say $a; NEXT { $b++ }; say $b }
18:56 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Action method statement_prefix:NEXT not yet implemented at /tmp/ByGm29brzU line 1:�------> [32m2, 3 { state ($a, $b) = (0,0); NEXT $a++[33m�[31m; say $a; NEXT { $b++ }; say $b }[0m��Action method stateme…»
18:57 FROGGS ahh, yes
18:57 dalek rakudo/vm-null: ff04467 | jonathan++ | src/vm/moar/ops/perl6_ops.c:
18:57 dalek rakudo/vm-null: Add missing MVM_is_null in p6capturelex.
18:57 dalek rakudo/vm-null:
18:57 dalek rakudo/vm-null: With this, we make it thorugh the setting build again.
18:57 dalek rakudo/vm-null: review: https://github.com/rakudo/rakudo/commit/ff04467628
19:03 timotimo \o/
19:03 jnthn Got a clean make test again now
19:03 timotimo spectest is next?
19:03 jnthn Of course, I still need to break more stuff :)
19:04 jnthn I'm doing one to see how it is at this point, yes.
19:04 jnthn At present we still encounter real nulls in a bunch of places.
19:04 jnthn I'm gradually picking away at them.
19:04 nwc10 yes, clean setting with ASAN
19:04 nwc10 not yet tried your latest MoarVM commit
19:05 raiph FROGGS: hi and thx for the greet :) would you like a fresh and naive pair of eyes to look at that qast?
19:05 jnthn .oO( qast an eye over... )
19:06 nwc10 Moar puns
19:06 FROGGS raiph: this https://gist.github.com/FROGGS/d944fc037c8521ffbdd5
19:06 jnthn timotimo: Well into S06 and only seen one spectest bustage so far.
19:06 nwc10 we're not past the punning yet?
19:06 FROGGS raiph: but my error seems not related :/
19:06 nwc10 oh, hangon, that might not be a pun
19:06 daniel-s_ joined #perl6
19:06 nwc10 we're not PAST...
19:07 nwc10 need a better one. me
19:07 nwc10 ,eh
19:07 FROGGS *g*
19:07 jnthn need a better keyboard too :P
19:07 nwc10 can I blame it, and not my fingers?
19:07 nwc10 Problem Exists Between Keyboard and Pillow
19:07 nwc10 (note, I am fully clothed. Fret not)
19:08 jnthn damn, I hope before-long-trip me was considerate enough to leave returning-home-ahead-of-mayday-me some beers in the fridge...
19:08 nwc10 trip was long enough that you forgot?
19:08 nwc10 I discovered fridge logistics fail earlier this week.
19:08 nwc10 it's quite :-( when it happens
19:09 jnthn yeah, been away for > a week
19:12 timotimo jnthn: makes me happy to hear that :)
19:12 jnthn Yeah, I'm busying myself breaking the next round of things now, though :)
19:13 FROGGS nqp-m: nqp::handle(nqp::stmts(0, 1, 2), "REDO", 1) # I can't do that for testing?
19:13 camelia nqp-moarvm: OUTPUT«Error while compiling op handle (source text: "nqp::handle(nqp::stmts(0, 1, 2), \"REDO\", 1)"): cannot stringify this␤   at gen/moar/stage2/QAST.nqp:4569  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/QAST.moarvm:as_mast:100)␤ from gen/moar/stage2/QAST.nqp:391…»
19:14 jnthn in r maybe
19:14 jnthn Don't think nqp's nqp::op mangles handle properly
19:14 FROGGS m: nqp::handle(nqp::stmts(0, 1, 2), "REDO", 1) # I can't do that for testing?
19:14 camelia rakudo-moar c9f223: ( no output )
19:15 FROGGS hmmmm, okay, thanks :o)
19:15 jnthn feel free to teach nqp that trick
19:15 nwc10 jnthn: make test passes on "my" machine
19:15 FROGGS O.o
19:16 nwc10 not sure if setting is faster or slower than master. I was watching, so it seemed slow
19:16 nwc10 but I don't usually watch
19:17 raiph FROGGS: I added a comment to your gist
19:18 raiph FROGGS: is there something like a QAST.pretty?
19:18 FROGGS there is a dump method
19:19 ClarusCogitatio joined #perl6
19:20 raiph I mean something that does something like or better than my comment?
19:21 ClarusCogitatio joined #perl6
19:21 FROGGS jnthn: that helped! I can reproduce it with shorter snippets, I put it in https://gist.github.com/FROGGS/d944fc037c8521ffbdd5
19:21 FROGGS raiph: it is the same as if you do: perl6 --target=ast -e 'say 1'
19:22 dwarring joined #perl6
19:22 raiph k, so that's like the gist you created rather than like my comment to your gist, right?
19:22 FROGGS no, the gist is proper nqp code
19:23 FROGGS but since I am putting QAST in that variable, I can use the dump method to print it (exactly what --target=ast does, it compiles to qast, and then dumps it)
19:23 virtualsue joined #perl6
19:24 FROGGS but it really seems that the posted gist is really not the problem :/
19:26 ClarusCogitatio joined #perl6
19:28 pecastro joined #perl6
19:28 FROGGS nqp-m: for [1,2,3,4,5,6] -> $x, $y { if $x == 3 { next }; say("$x $y") }
19:28 camelia nqp-moarvm: OUTPUT«1 2␤5 6␤»
19:28 ClarusCogitatio joined #perl6
19:35 ClarusCogitatio joined #perl6
19:35 ClarusCogitatio joined #perl6
19:35 nwc10 jnthn: spectest has no new ASAN explosons
19:35 nwc10 er, explosions
19:36 FROGGS ahh, I think I fixed my issue
19:36 nwc10 on origin/vm-null
19:37 moritz an exploson is a quasi particle that corresponds to ultrasonic density waves
19:38 jnthn nwc10: nie
19:38 jnthn nwc10: *nice
19:38 jnthn Thanks for checking
19:42 ClarusCogitatio joined #perl6
19:46 nwc10 nope, similar times for setting on master/master/nom
19:46 nwc10 new thing might be faster
19:47 nwc10 straw poll (1 run and 1 run) - vm_null is faster
19:48 nwc10 stage times about 1% lower with it
19:51 jnthn I wasn't expecting a difference... :)
19:51 nwc10 I have no idea if it's noise
19:56 timotimo it's probably noise
19:56 timotimo but jnthn is doing this to enable some kind of opt
19:56 timotimo so i'm happy anyway :P
19:56 timotimo what would that opt be, btw?
19:58 jnthn lazy allocation of containers - including $!, $/ and $_
19:59 timotimo ooooh
19:59 timotimo i like that idea
19:59 timotimo especially $/ and $! are not used very often
20:00 vendethiel same here :)
20:06 rurban_ joined #perl6
20:09 MikeLeman joined #perl6
20:19 adu joined #perl6
20:29 sftp joined #perl6
20:38 molaf joined #perl6
20:40 treehug88 joined #perl6
20:44 sftp joined #perl6
20:54 dalek perl6-roast-data: e5619f7 | coke++ | / (6 files):
20:54 dalek perl6-roast-data: today (automated commit)
20:54 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e5619f7cfa
20:56 [Coke] moarvm fialing in S17 still (with core dumps). jvm failing in S17, with one .perl roundtrip error. parrot failing a test in S02-types/bool.t
20:57 [Coke] 'plan *;' could become 'plan 20;' in S03-smartmatch/signature-signature.rakudo.moar
21:00 sftp joined #perl6
21:03 BenGoldberg joined #perl6
21:07 Rotwang joined #perl6
21:07 sftp joined #perl6
21:08 adu joined #perl6
21:10 cognominal__ joined #perl6
21:17 dayangkun joined #perl6
21:23 donaldh_ joined #perl6
21:35 lvfjf joined #perl6
22:00 lvfjf joined #perl6
22:21 dalek roast: f4ed7ec | jnthn++ | integration/advent2009-day21.t:
22:21 dalek roast: Make a test not be upset by Windows line-endings.
22:21 dalek roast: review: https://github.com/perl6/roast/commit/f4ed7ec78a
22:24 dalek roast: 986eda8 | jnthn++ | integration/advent2012-day10.t:
22:24 dalek roast: Another Win32 line-ending robustness fix.
22:24 dalek roast: review: https://github.com/perl6/roast/commit/986eda87b7
22:25 tadzik live panda: http://nationalzoo.si.edu/animals/webcams/giant-panda.cfm?cam=panda03
22:25 jnthn om nom nom nom nom bamboo
22:30 donaldh jnthn: What's the expected behaviour for asyncreadchars when a client drops the connection (IOException: Connection reset by peer on JVM)
22:30 donaldh jnthn: should that be put on the queue as an error and a seq -1 ?
22:32 jnthn Is that an orderly connection close, or an actual error?
22:33 jnthn If it's the former, then it probably wants to send -1 but not an error string, which can indicate "done" in the supply, I guess.
22:33 donaldh I don't think it is an orderly close.
22:34 jnthn ah, then yes, error
22:34 jnthn Connection reset by peer doesn't sound orderly to me... :)
22:35 timotimo yeah, RST :)
22:35 donaldh Telnet doesn't cause it, but netcat does.
22:36 jnthn Cats are always trouble-causers...
22:39 raiph jnthn: I'm getting to know the debugger ui module CommandLine.pm
22:39 dalek rakudo-debugger: 5ace022 | raiph++ | lib/Debugger/UI/CommandLine.pm:
22:39 dalek rakudo-debugger: Bugfix: make "safe" char offset actually safe
22:39 dalek rakudo-debugger:
22:39 dalek rakudo-debugger: The debugger crashed when stopping at a statement that included a blank line. Golfed test case:
22:39 dalek rakudo-debugger:
22:39 dalek rakudo-debugger: {1
22:39 dalek rakudo-debugger:
22:40 dalek rakudo-debugger: }
22:40 dalek rakudo-debugger:
22:40 dalek rakudo-debugger: I did not see any new problems when testing this bugfix with the test case, some variants of it, and with a 200 line script that I'm working on and which happened to trigger this bug.
22:40 dalek rakudo-debugger: review: https://github.com/jnthn/rakudo-debugger/commit/5ace022535
22:40 dalek rakudo-debugger: 4230f5b | jonathan++ | lib/Debugger/UI/CommandLine.pm:
22:40 dalek rakudo-debugger: Merge pull request #20 from raiph/patch-1
22:40 dalek rakudo-debugger:
22:40 dalek rakudo-debugger: Bugfix: make "safe" char offset actually safe
22:40 dalek rakudo-debugger: review: https://github.com/jnthn/rakudo-debugger/commit/4230f5b02e
22:41 raiph jnthn: thx; these first three are deliberately small changes for big impact
22:41 donaldh Hmm, rakudo blows up on the asyncreadchars failure path.
22:41 dalek rakudo-debugger: 6d6fb6b | raiph++ | lib/Debugger/UI/CommandLine.pm:
22:41 dalek rakudo-debugger: Speedup display of regex match
22:41 dalek rakudo-debugger:
22:41 dalek rakudo-debugger: Only subst in the couple hundred chars around the current match position.
22:41 dalek rakudo-debugger:
22:41 dalek rakudo-debugger: If the target is hundreds or thousands of lines long then this is always going to be a lot faster. Right now the impact is colossal for target strings of more than a dozen typical text file lines.
22:41 dalek rakudo-debugger: review: https://github.com/jnthn/rakudo-debugger/commit/6d6fb6b10c
22:41 dalek rakudo-debugger: e9cc44e | jonathan++ | lib/Debugger/UI/CommandLine.pm:
22:41 dalek rakudo-debugger: Merge pull request #22 from raiph/patch-5
22:41 dalek rakudo-debugger:
22:41 dalek rakudo-debugger: Speedup display of regex match
22:41 dalek rakudo-debugger: review: https://github.com/jnthn/rakudo-debugger/commit/e9cc44ea76
22:42 jnthn raiph: Accepted 2 or 3, left comment on the other one
22:42 raiph jnthn: thx :)
22:44 jnthn Thanks for working on it :)
22:44 jnthn Happy to know the code is hackable. :)
22:45 donaldh No such method 'die' for invocant of type 'Str'
22:45 donaldh in block  at gen/jvm/CORE.setting:18393
22:45 donaldh in method quit at gen/jvm/CORE.setting:18435
22:46 jnthn I'm...not sure that's your bug.
22:46 jnthn r: 'foo'.die
22:46 camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«No such method 'die' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
22:46 donaldh yep.
22:46 jnthn The default should be die $_, not .die
22:47 donaldh thx, I'll try that
22:49 * donaldh compiles the setting
22:50 timotimo raiph: good catch for the debugger there!
22:54 jnthn I suspect they're the first performance patches every to the debugger :)
22:56 timotimo hrhr
22:59 donaldh jnthn: I reckon it makes sense to swallow AsynchronousCloseException. It can get thrown if readChars is pending and something closes the connection.
23:05 dalek nqp/async_ops: 77672d0 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncS (2 files):
23:05 dalek nqp/async_ops: Implement failed callbacks in async IO on JVM.
23:05 dalek nqp/async_ops: review: https://github.com/perl6/nqp/commit/77672d0375
23:05 dalek nqp/async_ops: 5647945 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncSocketHandle.java:
23:05 dalek nqp/async_ops: Swallow AsynchronousCloseException and treat it as EOF.
23:05 dalek nqp/async_ops: review: https://github.com/perl6/nqp/commit/5647945714
23:06 donaldh jnthn: do we have any tests for the async io yet?
23:07 jnthn donaldh: nope :(
23:07 jnthn Well, unless lizmat++ snaked them int.
23:07 jnthn sneaked, in :)
23:08 donaldh :D
23:09 donaldh okay, I'll look at that after I implement readBytes and writeBytes
23:09 rurban joined #perl6
23:10 araujo joined #perl6
23:10 araujo joined #perl6
23:11 lvfjf joined #perl6
23:56 Entonian joined #perl6

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

Perl 6 | Reference Documentation | Rakudo