»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
lvfjf p6:print "Hello world!\n"; 00:03
perigrin p6: say "Hello world!"; 00:04
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Hello world!␤»
perigrin lvfjf: I think you need an initial space after the : 00:05
lvfjf p6: print "Hello world!\n";
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Hello world!␤»
lvfjf eval: say "Hello world!" 00:08
raydiak p6: my $s = "abcdEFghij"; print $0,$2 while $s ~~ s/(.)(.*)(.)/$1/;
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«ajbichdgEF»
raydiak BenGoldberg: something is happening to $_ 00:09
BenGoldberg p6: $_ = "abc"; if s/(.)(.*)(.)/$1/ { say "Success: $0,$1,$2,$_" } else { say "fail: $_" }
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Success: a,b,c,b␤»
BenGoldberg p6: $_ = "abcd"; if s/(.)(.*)(.)/$1/ { say "Success: $0,$1,$2,$_" } else { say "fail: $_" }
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Success: a,bc,d,bc␤»
lvfjf p6: print "Who is the bot?" 00:10
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«Who is the bot?»
BenGoldberg p6: $_ = "<>"; if s/(.)(.*)(.)/$1/ { say "Success: $0,$1,$2;$_" } else { say "fail: $0,$1,$2;$_" }
camelia niecza v24-109-g48a8de3: OUTPUT«Success: <,,>;␤»
..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«fail: <,,>;␤»
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>
BenGoldberg Even though the s/// returns false, it is still putting the correct things into $0, $1, $2
lvfjf camelia:owner
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;␤»
..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«fail: A,B;␤»
BenGoldberg p6: $_ = "AB"; if so s/(.)(.)// { say "Success: $0,$1;$_" } else { say "fail: $0,$1;$_" }
camelia niecza v24-109-g48a8de3: OUTPUT«Success: A,B;␤»
..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«fail: A,B;␤»
BenGoldberg p6: $_ = "AB"; say s/(.)(.)//;
00:12 hoverboard joined
camelia niecza v24-109-g48a8de3: OUTPUT«True␤» 00:12
..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«␤»
BenGoldberg p6: my $a = "AB"; say $a ~~ s/(.)(.)//; 00:13
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«True␤»
BenGoldberg Well, it's a workaround, anyway
raydiak p6: $_ = "AB"; say $_ ~~ s/(.)(.)//; 00:15
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«True␤»
BenGoldberg !
raydiak heh
something about the ~~
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:19 mtj left
lvfjf p6: Larry Wall 00:20
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤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 mtj joined
camelia ..rakudo-{parrot,jvm,moar} c9f223: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared names:␤ Larry used at line 1␤ Wall used at line 1␤␤» 00:20
raydiak p6: print (s/.*//).perl 00:29
00:29 thou joined
camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""» 00:29
..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) ␤ …»
raydiak p6: $_ = ''; print (s/.*//).perl
camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""»
..niecza v24-109-g48a8de3: OUTPUT«Bool::False»
raydiak p6: $_ = ''; print (s/fail//).perl 00:30
camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""»
..niecza v24-109-g48a8de3: OUTPUT«Bool::False»
00:34 thou left
raydiak I'm having a hard time finding where S05 says what a substitution should return 00:34
00:35 lvfjf left
raydiak r: $_ = 'x'; say (s/x//).perl; say (s/x//).perl; 00:42
camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«""␤""␤»
00:53 geekosaur left 00:54 rurban joined 00:56 geekosaur joined 00:59 rurban left, rurban joined 01:01 Pleiades` left 01:06 Pleiades` joined 01:08 FROGGS_ joined 01:12 FROGGS left 01:15 treehug88 left 01:16 BenGoldberg left 01:17 BenGoldberg joined 01:21 qzx joined 01:29 rurban left, wayne left 01:37 btyler joined 01:48 bjz joined 01:51 klapperl_ joined 01:54 Su-Shee_ joined 01:55 klapperl left, woosley joined 01:56 lvfjf joined 01:57 Su-Shee left 02:02 hoverboard left 02:17 thou joined 02:20 donaldh left, lvfjf left 02:21 plobsing joined, thou left 02:23 lvfjf joined 02:25 donaldh joined 02:29 rurban joined 02:31 bjz left 02:32 geekosaur left 02:33 xragnar_ joined, xragnar is now known as Guest86373, xragnar_ is now known as xragnar 02:34 rurban left 02:36 bjz joined 02:37 Guest86373 left, geekosaur joined, bjz left, bjz joined 02:46 lvfjf left 02:47 hoverboard joined 02:48 lvfjf joined 02:50 xinming_ joined 02:52 raiph left 02:53 geekosaur left, fhelmberger joined 02:56 araujo left 02:58 fhelmberger left, lvfjf left 02:59 geekosaur joined 03:03 rurban joined 03:05 lvfjf joined 03:38 lvfjf left 03:50 jonpads joined, jonpads is now known as trammel, trammel is now known as trammel_
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:54
Also, it's very slow to execute and show the error... is that normal? 03:55
03:57 Timbus left, Timbus joined 04:06 thou joined 04:08 anaeem1_ joined 04:09 BenGoldberg left 04:10 rindolf joined 04:11 thou left 04:13 raiph joined
raydiak trammel_: installing libicu should fix the error...as for the slow startup time, yes that is normal 04:13
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:18
04:28 SamuraiJack joined 04:30 Psyche^_ joined 04:34 Psyche^ left 04:36 vaskozl left 04:42 vaskozl joined 04:44 cooper left 04:53 cooper joined 05:05 adu joined
trammel_ thanks, recompiling with --with-icu4c fixed the problem 05:05
05:08 btyler left 05:19 rindolf left 05:21 [Sno] left 05:26 seymur824 joined 05:27 vaskozl left 05:30 hoverboard is now known as moistcherry, rurban left 05:33 seymur824 left 05:34 anaeem1_ left, dayangkun joined, moistcherry left, anaeem1_ joined 05:40 FROGGS_ left 05:44 kaare_ joined 05:46 adu left 05:53 grep0r left 05:54 thou joined 05:59 thou left 06:01 krunen joined, rurban joined 06:03 rurban1 joined 06:05 rurban left 06:07 rurban1 left 06:22 [Sno] joined 06:25 kaleem joined, grep0r joined 06:30 ClarusCogitatio left 06:31 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined 06:32 ClarusCogitatio left, ClarusCogitatio joined 06:42 darutoko joined 06:47 FROGGS joined
jnthn morning, #perl6 06:48
sergot o/
FROGGS morning
06:48 ClarusCogitatio left 06:50 ClarusCogitatio joined
nwc10 good far-too-early, jnthn imposter :-) 06:50
06:51 ClarusCogitatio left
raydiak morning * 06:52
06:52 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined
jnthn teaching... :P 06:52
jnthn puts "coffee" into the live sentiment analysis demo, to entertain folks arriving :) 06:53
TimToady read that as "live sediment", which seems appropriate for coffee 06:54
jnthn tasty, tasty, sediment
FROGGS gets coffee
07:01 igorsutton joined 07:04 rurban joined 07:08 rurban left 07:19 pdcawley joined 07:25 hummeleB1 joined 07:28 zakharyas joined 07:31 Ven_ joined 07:35 donaldh_ joined, pecastro left
Ven_ good *,**. 07:36
jnthn *, *. * * * *! 07:42
07:42 thou joined
moritz 07:42
timotimo o/ 07:45
07:47 thou left
moritz \o 07:47
07:48 [Sno]_ joined 07:50 [Sno] left, xinming_ left, [Sno]_ is now known as [Sno] 07:52 xinming_ joined 07:56 [Sno]_ joined 07:58 [Sno] left, [Sno]_ is now known as [Sno] 08:04 rurban joined 08:09 rurban left 08:15 [Sno]_ joined 08:18 [Sno] left, [Sno]_ is now known as [Sno] 08:22 lao joined 08:27 [Sno]_ joined 08:30 [Sno] left, [Sno]_ is now known as [Sno], lao is now known as jsn
dalek kudo/vm-null: 7a8d595 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c:
this gets us through CORE.setting. but it's probably wrong.

at the very least p6captureouters is not correct this way.
08:30
08:30 jsn is now known as sirius 08:33 virtualsue joined
timotimo p6: say 55 ~~ NaN 08:35
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«False␤»
moritz p6: say NaN ~~ NaN 08:36
camelia rakudo-{parrot,jvm,moar} c9f223, niecza v24-109-g48a8de3: OUTPUT«True␤»
raydiak good night, morning people :) o/ 08:37
timotimo :) 08:39
08:47 Su-Shee_ is now known as Su-Shee 08:50 denis_boyun joined 08:56 [Sno]_ joined, [Sno] left, [Sno]_ is now known as [Sno] 08:58 dayangkun left 09:00 dmol joined 09:02 dayangkun joined 09:04 spider-mario joined
Su-Shee good morning everyone ;) 09:05
09:05 rurban joined
FROGGS hi Su-Shee 09:06
jnthn o/ Su-Shee 09:07
09:09 rurban left 09:12 raiph left, fhelmberger joined 09:13 ClarusCogitatio left 09:14 ClarusCogitatio joined 09:15 ClarusCogitatio left
donaldh_ jnthn: when is the right time to lookup hll types for async callbacks? 09:16
jnthn: is it okay to look them up when the async call is made?
09:16 ClarusCogitatio joined
donaldh_ jnthn: This is nqp, jvm backend. 09:16
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
donaldh_: We'd have to capture the hll at the time the task is started, though.
And keep it around for the callback.
donaldh_ yep
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
but codeRef is sometimes null 09:20
jnthn Right, it will be
'cus the thread that gets the callback may just be any old Java thread, not one we're running code on.
donaldh_ yep. So switched to looking up types when async call is made. 09:21
But you suggest just using BOOT types?
jnthn yes 09:23
Well, at least, I know it works to. :)
lunch & 09:25
09:25 pecastro joined 09:28 woosley left 09:30 thou joined 09:35 thou left 09:40 hummeleB1 left 09:42 dayangkun left 09:46 woosley joined 09:47 woosley left 09:48 ClarusCogitatio left 09:52 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined, dayangkun joined 09:57 ClarusCogitatio left 09:59 ClarusCogitatio joined 10:00 ClarusCogitatio left 10:02 sirius left 10:03 ClarusCogitatio joined 10:06 rurban joined 10:10 rurban left 10:11 ClarusCogitatio left 10:14 ClarusCogitatio joined, rindolf joined 10:24 dayangkun left 10:51 kurahaupo joined, kaleem left 10:54 kaleem joined 10:55 kurahaupo left 10:56 kurahaupo joined 10:57 kurahaupo left, kurahaupo joined 11:07 rurban joined 11:09 kurahaupo left 11:10 kurahaupo joined 11:11 rurban left 11:18 bowtie left 11:19 thou joined 11:22 qzx left 11:23 qzx joined 11:24 thou left 11:25 bowtie joined 11:31 bowtie left 11:37 bowtie joined 11:43 dmol left 11:54 igorsutton left 11:55 igorsutton joined 12:00 bowtie left 12:05 bowtie joined 12:07 rurban joined 12:12 rurban left 12:24 xenoterracide joined 12:30 jsn joined
timotimo how intelligent is our ThreadPoolScheduler, btw? 12:34
moritz more than me.
timotimo :D
there could probably be some "work stealing" stuff to do with semaphores/locks, right?
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
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
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:36
and i still didn't get an answer how to cancel a computation that's not "cooperating" 12:47
like if you accidentally write an infinite loop in the golf-helper
12:52 colomon left, jsn left, colomon joined 12:55 anaeem1_ left 12:57 kurahaupo left 13:03 xenoterracide left 13:07 thou joined
dalek rlito: c7c242d | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - regex TODO - some qr() details
13:08
13:08 btyler joined 13:10 guru joined, guru is now known as ajr_ 13:11 SamuraiJack left, SamuraiJack joined 13:12 thou left 13:17 SamuraiJack left, rurban joined
dalek rlito: 78ae779 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - regex TODO - more qr() details
13:22
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 btyler left
timotimo fglock said he'd be supporting only a subset of perl6 in perlito6; is that subset defined sharply some way? 13:25
how well are perl6 rules supported, for example? 13:26
13:26 btyler joined
dalek kudo-star-daily: cb2fd35 | coke++ | log/ (5 files):
today (automated commit)
13:27
kudo-star-daily: 0230169 | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: e3c1ab9 | coke++ | / (6 files):
today (automated commit)
[Coke] rakudo.jvm & rakudo.moar both have failing tests. 13:28
(all of them in S17)
(jvm looks like simple failures, moar is aborting) 13:29
13:29 FROGGS left
[Coke] colomon: niecza is now failing 575 tests. 13:29
(lots of aborts there, though, should be an easy cleanup) 13:30
lizmat [Coke]: S17 tests should not abort 13:31
they should just fail 13:32
because they point at a real problem wrt to Supply.delay and Supply.stable
I haven't "skipped" them
I hope jnthn and/or me can find the source of the problem 13:33
which seems to be that the feeding supply is passing on a "done"/"close" without delay, thereby causing values to disappear
eyes / suggestions welcome
13:34 btyler left
timotimo hmm 13:35
one could probably instrument the debugger backend so that it'd echo every executed line with a timestamp and thread id 13:36
and then reconstruct a timeline annotated with the source lines?
13:36 btyler joined
moritz and influences the execution, because at some point, the thread's accesses to STDOUT have to be serialized 13:37
13:37 kaare_ left
lizmat yeah, heisenbugs :-( although I don't think this one is, though 13:38
it's pretty reproducible
13:39 lvfjf joined 13:43 btyler left
[Coke] lizmat++ btw for trying to fudge older implementations on newer tests. 13:44
lizmat: github.com/coke/perl6-roast-data/b....out#L1488 13:45
here's a message hidden in moar's output: S29-os/system.rakudo.moar..........................execvp(): No such file or directory
integration/advent2013-day14.rakudo.moar...........Aborted (core dumped)
timotimo moritz: they could output to one file per thread 13:48
that should solve the problem, no? 13:49
jnthn timotimo: picking appropriate threads with regard to locks and semaphores is the job of the OS scheduler. 13:50
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:51
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:52
lizmat: I got those failures on my laptop too, so will be able to look at them a bit. 13:53
lizmat: Either tonight or tomorrow.
13:53 FROGGS[mobile] joined 13:56 FROGGS[mobile] left 13:57 FROGGS[mobile] joined
timotimo jnthn: so the golf-helper should likely use a subprocess, perhaps with a ulimit or with a kill after a timeout? 13:58
i suppose a kill would be easiest 14:00
jnthn timotimo: "should" 14:01
timotimo: All systems have to be seen in a context. This isn't exactly mission critical. :) 14:02
But for something that needed to support cancellation of arbitrary code robustly - yes, you'd want a process-based solution. 14:03
I wonder how nicely we can provide taht already
14:04 thou joined
lizmat a Supply reading from STDIN in some way ? 14:04
jnthn phew....teaching done
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
hence my concern
the migrate combinator closes its "superfluous" taps, right?
14:05 btyler joined
jnthn Right, so you'd want the closign of the tap to terminate the process here. 14:05
timotimo that seems like a useful primitive actually 14:06
14:06 anaeem1 joined
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
jnthn I suspect it's a demand-supply
timotimo what should i look at (for copying purposes) if i want to build a tap that noms from any given file? 14:07
14:09 xenoterracide joined, molaf joined 14:10 anaeem1 left, xenoterracide left
jnthn timotimo: are you looking to implement async file I/O? 14:12
If so, see asyncsocket.c in Moar, and IO::Socket::Async. 14:13
timotimo oke :)
well, i'd like to have tap-based stdin :) 14:14
jnthn That sounds...curious.
That'll also be tricky at the moment, I suspect...
timotimo if i have a console-based game, i need some way to have a non-blocking read on stdin anyway 14:15
not sure if there's something for that yet?
jnthn How is that usually handled? getkey?
timotimo i suppose so? 14:16
jnthn I dunno, I dont' write console games :P
timotimo i'll likely have something like an event loop that will coordinate with ansi escape codes
is there something in rakudo already that'll let me try to get one byte from stdin and if there's nothing immediately returns?
jnthn Don't think .getc will do that, no 14:17
timotimo some way to ioctl the file descriptor into a nonblocking state? 14:18
(except NativeCall)
jnthn Not so far as I know.
Nobody implemented it yet. I guess tadzik++'s games use SDL which handles such things, so those didn't block on it 14:19
I need to head to the station...
bbl
tadzik timotimo: don't you just want to wrap ncurses?
timotimo no, i want to do everything myself :)
ncurses is terrible
tadzik it is
14:20 donaldh left
tadzik but no, I don't think we have any such thing yet 14:20
14:21 xenoterracide_ joined
tadzik I guess you could poll() stdin on parrot :o 14:21
14:25 donaldh joined
timotimo yeah, on. 14:25
er
yeah, no.
PerlJam select? :) 14:26
14:29 kaleem left 14:30 telex left 14:32 telex joined 14:34 bluescreen10 joined 14:37 treehug88 joined 14:46 kaleem joined 14:47 dayangkun joined, rurban left 14:51 kaleem left
timotimo in any case, i'd like there to be a solution. best would be to have a specced one. 14:56
14:56 rurban joined 14:59 FROGGS joined, FROGGS[mobile] left 15:02 kaleem joined 15:03 myfree joined, myfree left
colomon tadzik: can panda install a module which isn't in the ecosystem? 15:03
timotimo yes, just give it the path 15:07
tadzik yep 15:08
colomon \o/
colomon reckons it would be rude to litter the ecosystem with very specialized $work scripts, but awesome to have panda manage them. 15:09
15:10 lvfjf left, lvfjf joined 15:11 [Sno] left, denis_boyun left 15:13 lvfjf left, ajr_ left 15:15 guru joined, guru is now known as Guest22518 15:16 Guest22518 is now known as ajr_, vaskozl joined
FROGGS colomon: panda install . 15:19
I like that since I know it exists :o)
which is like, a week 15:20
tadzik heheh
15:20 hoverboard joined
colomon is there a way to do it with a URL? 15:20
FROGGS hmmm, I dont think so
tadzik hm
FROGGS it handles git and local paths AFAIK 15:21
tadzik github.com/tadzik/panda/issues/6
so, sort of :)
15:22 igorsutton left, igorsutton joined 15:27 igorsutton left
colomon so, one more reason I need to get my own git server up and running. :) 15:33
colomon has been eyeing gitblit
timotimo fortunately it's very easy; if you connect via ssh, you can start with no installation at all
TimToady I use: shell "stty raw -echo min 1 time 1 </dev/tty"; 15:34
timotimo that's your git server? :) 15:35
TimToady then to read chars: push @INPUT, $TTY.read(1)[].chrs unless @INPUT;
that guarantees at least one more char in @INPUT 15:36
os it is possible to do single-char input, at least on unixoids
*so 15:37
15:38 zakharyas left
TimToady oh, and $TTY is an opened /dev/tty 15:38
timotimo what. :) 15:40
that seems like a terrible solution :D
15:40 bjz left
TimToady well, that, or something like it, has the benefit of having worked for the last several years :P 15:41
I actually used the moar version of my quiz editor last weekend, and it ran fast enough to be usable 15:47
timotimo \o/
TimToady though admittedly, putting it onto a faster laptop helped a lot :)
timotimo the improvements stack, i would assume :)
15:47 haroldwu left
TimToady still doesn't run quite as fast as the niecza++ version though 15:47
15:48 haroldwu joined, haroldwu left, haroldwu joined
masak niecza++ 15:48
timotimo yeah, niecza++ seems kinda unbeatable, at least for the time being
TimToady but then, niecza kinda cheats, which is one reason it was abandoned
masak cheating is technique.
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 :)
Ven_ if it's the right design, it's not longer cheat 15:50
In what way does niecza cheat, anyway ?
15:55 kaare_ joined
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:00 kaleem left, fhelmberger left 16:01 kaleem joined 16:05 bluescreen10 left 16:12 pecastro left 16:15 kaleem left 16:18 dwarring left 16:33 [Sno] joined
FROGGS de.webfail.com/5b6f111eb39 # star wars vs harry potter 3min video 16:49
16:57 donaldh_ left 17:06 molaf left 17:08 Eulipion joined, Eulipion left 17:11 ajr_ left 17:19 pschwenn joined 17:23 pschwenn left 17:24 rakudo joined, rakudo left 17:27 pschwenn joined
tadzik hahahaah 17:28
that's very well done
17:28 pschwenn left 17:35 vaskozl left 17:36 guru joined, guru is now known as Guest97059 17:37 Guest97059 is now known as ajr_ 17:44 virtualsue left 17:47 LLamaRider joined
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
until we get proper nonblocking i/o for stdin
or even async i/o
17:51 raiph joined 17:55 xenoterracide_ left 18:00 xinming_ left 18:01 denis_boyun joined
dalek kudo/vm-null: f0524f5 | jonathan++ | src/vm/moar/ops/perl6_ops.c:
Revert incorrect MVM_is_null additions.

It should only be used on MVMObject.
18:03
18:04 treehug88 left 18:07 kurahaupo joined, xenoterracide joined, xinming_ joined 18:08 treehug88 joined 18:13 Alina-malina left 18:14 grondilu joined 18:16 Alina-malina joined 18:19 Alina-malina left 18:20 Alina-malina joined 18:23 Sqirrel joined
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
and this well also produce the result 2?
jnthn why the list? 18:31
timotimo FROGGS: it seems like it can be an op if with two Wants or IVals in it
jnthn Wants to just be a QAST::Op with AST for 1 and 2 in it.
FROGGS I thought I'd need the list to have both in the condition
ahh, wait, I understand now 18:32
1&&2 in fact is: if 1 { 2 }
well, kinda 18:33
it is more like if 1 { 2 } else { 1 }
18:33 denis_boyun left
FROGGS err, I dunno 18:33
jnthn Well, it's not in so far as a 2-arg if evaluates to the condition.
FROGGS can't think
18:35 Ven_ left
FROGGS can somebody check if the qast matches the comment? gist.github.com/FROGGS/d944fc037c8521ffbdd5 18:36
18:42 Alina-malina left 18:43 Alina-malina joined
FROGGS Stage mast : Error while compiling op if: Operation 'if' needs either 2 or 3 operands 18:44
:/
it has three in the first and two in the second case...
18:44 darutoko left
FROGGS ohh, I only pasted the first case though 18:44
timotimo depends on what the ... is 18:45
18:45 ClarusCogitatio left
FROGGS $handler 18:45
timotimo that'd be 3 args, aye
FROGGS I updated the gist 18:46
timotimo are you sure the problem isn't somewhere else? :) 18:47
jnthn FROGGS: Don't immediately see anything wrong in there... 18:48
FROGGS: Suspect what timotimo said
FROGGS yeah, that is possible...
18:49 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined
dalek kudo/vm-null: 3c822bc | jonathan++ | src/vm/moar/ops/perl6_ops.c:
Some more MVM_is_null in perl6_ops.c.

This should be all of them; the current bug in setting compilation is most likely to be something missing in Moar.
18:49
FROGGS raises his fist against error reporting 18:50
raydiak \o 18:51
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␤»
..rakudo-{parrot,jvm} c9f223: OUTPUT«0␤0␤1␤1␤2␤2␤»
18:52 SamuraiJack joined
jnthn ah, not all of them after all... 18:52
raiph: Well, Rakudo code-gen bug rather than it being MoarVM's fault really. 18:53
But yeah, I saw that here before
So I imaigne it's filed
FROGGS hi raydiak, raiph 18:54
raiph jnthn: thx
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«===SORRY!===␤␤Action method statement_prefix:NEXT not yet implemented at /tmp/ByGm29brzU line 1:␤------> 2, 3 { state ($a, $b) = (0,0); NEXT $a++⏏; say $a; NEXT { $b++ }; say $b }␤␤Action method stateme…» 18:57
FROGGS ahh, yes
dalek kudo/vm-null: ff04467 | jonathan++ | src/vm/moar/ops/perl6_ops.c:
Add missing MVM_is_null in p6capturelex.

With this, we make it thorugh the setting build again.
18:58
timotimo \o/ 19:03
jnthn Got a clean make test again now
timotimo spectest is next?
jnthn Of course, I still need to break more stuff :)
I'm doing one to see how it is at this point, yes. 19:04
At present we still encounter real nulls in a bunch of places.
I'm gradually picking away at them.
nwc10 yes, clean setting with ASAN
not yet tried your latest MoarVM commit
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... )
nwc10 Moar puns 19:06
FROGGS raiph: this gist.github.com/FROGGS/d944fc037c8521ffbdd5
jnthn timotimo: Well into S06 and only seen one spectest bustage so far.
nwc10 we're not past the punning yet?
19:06 daniel-s left
FROGGS raiph: but my error seems not related :/ 19:06
nwc10 oh, hangon, that might not be a pun
19:06 daniel-s_ joined
nwc10 we're not PAST... 19:06
need a better one. me 19:07
,eh
FROGGS *g*
jnthn need a better keyboard too :P
nwc10 can I blame it, and not my fingers?
Problem Exists Between Keyboard and Pillow
(note, I am fully clothed. Fret not)
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?
I discovered fridge logistics fail earlier this week.
it's quite :-( when it happens
jnthn yeah, been away for > a week 19:09
19:09 hoverboard is now known as moistcherry
timotimo jnthn: makes me happy to hear that :) 19:12
19:12 LLamaRider left
jnthn Yeah, I'm busying myself breaking the next round of things now, though :) 19:12
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…»
jnthn in r maybe 19:14
Don't think nqp's nqp::op mangles handle properly
FROGGS m: nqp::handle(nqp::stmts(0, 1, 2), "REDO", 1) # I can't do that for testing?
camelia ( no output )
FROGGS hmmmm, okay, thanks :o) 19:15
jnthn feel free to teach nqp that trick
nwc10 jnthn: make test passes on "my" machine
FROGGS O.o 19:16
nwc10 not sure if setting is faster or slower than master. I was watching, so it seemed slow
but I don't usually watch
raiph FROGGS: I added a comment to your gist 19:17
19:17 ClarusCogitatio left
raiph FROGGS: is there something like a QAST.pretty? 19:18
FROGGS there is a dump method
19:19 ClarusCogitatio joined
raiph I mean something that does something like or better than my comment? 19:20
19:20 ClarusCogitatio left 19:21 ClarusCogitatio joined
FROGGS jnthn: that helped! I can reproduce it with shorter snippets, I put it in gist.github.com/FROGGS/d944fc037c8521ffbdd5 19:21
raiph: it is the same as if you do: perl6 --target=ast -e 'say 1'
19:22 dwarring joined
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
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
19:23 virtualsue joined
FROGGS but it really seems that the posted gist is really not the problem :/ 19:24
19:25 ClarusCogitatio left 19:26 ClarusCogitatio joined 19:27 ClarusCogitatio left 19:28 pecastro joined
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 19:32 SamuraiJack left 19:34 ClarusCogitatio left 19:35 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined
nwc10 jnthn: spectest has no new ASAN explosons 19:35
er, explosions
FROGGS ahh, I think I fixed my issue 19:36
nwc10 on origin/vm-null
19:36 rindolf left
moritz an exploson is a quasi particle that corresponds to ultrasonic density waves 19:37
jnthn nwc10: nie 19:38
nwc10: *nice
Thanks for checking
19:40 ClarusCogitatio left 19:42 ClarusCogitatio joined
nwc10 nope, similar times for setting on master/master/nom 19:46
new thing might be faster
19:46 ClarusCogitatio left
nwc10 straw poll (1 run and 1 run) - vm_null is faster 19:47
stage times about 1% lower with it 19:48
jnthn I wasn't expecting a difference... :) 19:51
nwc10 I have no idea if it's noise
timotimo it's probably noise 19:56
but jnthn is doing this to enable some kind of opt
so i'm happy anyway :P
what would that opt be, btw?
jnthn lazy allocation of containers - including $!, $/ and $_ 19:58
timotimo ooooh 19:59
i like that idea
especially $/ and $! are not used very often
vendethiel same here :) 20:00
20:06 rurban_ joined 20:09 MikeLeman joined 20:11 grondilu left 20:18 treehug88 left 20:19 adu joined 20:27 sftp left 20:29 sftp joined 20:38 molaf joined 20:40 treehug88 joined 20:42 sftp left 20:44 sftp joined 20:50 kaare_ left
dalek rl6-roast-data: e5619f7 | coke++ | / (6 files):
today (automated commit)
20:54
[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:56
'plan *;' could become 'plan 20;' in S03-smartmatch/signature-signature.rakudo.moar 20:57
20:59 sftp left 21:00 sftp joined 21:02 dayangkun left 21:04 BenGoldberg joined 21:05 rurban_ left 21:06 sftp left 21:07 Rotwang joined, sftp joined, adu left 21:08 adu joined 21:10 cognominal__ joined 21:12 cognominal left 21:17 dayangkun joined 21:23 donaldh_ joined 21:24 donaldh left, donaldh_ is now known as donaldh 21:31 MikeLeman left 21:35 Rotwang left, lvfjf joined 21:38 adu left 21:40 ajr_ left 21:41 virtualsue left 22:00 lvfjf left, lvfjf joined 22:07 moistcherry left
dalek ast: f4ed7ec | jnthn++ | integration/advent2009-day21.t:
Make a test not be upset by Windows line-endings.
22:21
ast: 986eda8 | jnthn++ | integration/advent2012-day10.t:
Another Win32 line-ending robustness fix.
22:24
tadzik live panda: nationalzoo.si.edu/animals/webcams/...am=panda03 22:25
jnthn om nom nom nom nom bamboo
22:26 treehug88 left
donaldh jnthn: What's the expected behaviour for asyncreadchars when a client drops the connection (IOException: Connection reset by peer on JVM) 22:30
jnthn: should that be put on the queue as an error and a seq -1 ? 22:31
jnthn Is that an orderly connection close, or an actual error? 22:32
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.
jnthn ah, then yes, error 22:34
Connection reset by peer doesn't sound orderly to me... :)
timotimo yeah, RST :) 22:35
donaldh Telnet doesn't cause it, but netcat does.
jnthn Cats are always trouble-causers... 22:36
raiph jnthn: I'm getting to know the debugger ui module CommandLine.pm 22:39
dalek kudo-debugger: 5ace022 | raiph++ | lib/Debugger/UI/CommandLine.pm:
Bugfix: make "safe" char offset actually safe

The debugger crashed when stopping at a statement that included a blank line. Golfed test case:
  {1
  }
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
kudo-debugger: 4230f5b | jonathan++ | lib/Debugger/UI/CommandLine.pm:
Merge pull request #20 from raiph/patch-1

Bugfix: make "safe" char offset actually safe
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.
dalek kudo-debugger: 6d6fb6b | raiph++ | lib/Debugger/UI/CommandLine.pm:
Speedup display of regex match

Only subst in the couple hundred chars around the current match position.
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.
kudo-debugger: e9cc44e | jonathan++ | lib/Debugger/UI/CommandLine.pm:
Merge pull request #22 from raiph/patch-5

Speedup display of regex match
jnthn raiph: Accepted 2 or 3, left comment on the other one 22:42
raiph jnthn: thx :)
jnthn Thanks for working on it :) 22:44
Happy to know the code is hackable. :)
donaldh No such method 'die' for invocant of type 'Str' 22:45
in block at gen/jvm/CORE.setting:18393
in method quit at gen/jvm/CORE.setting:18435
jnthn I'm...not sure that's your bug. 22:46
r: 'foo'.die
camelia rakudo-{parrot,jvm,moar} c9f223: OUTPUT«No such method 'die' for invocant of type 'Str'␤ in block at /tmp/tmpfile:1␤␤»
donaldh yep.
jnthn The default should be die $_, not .die
donaldh thx, I'll try that 22:47
donaldh compiles the setting 22:49
timotimo raiph: good catch for the debugger there! 22:50
jnthn I suspect they're the first performance patches every to the debugger :) 22:54
timotimo hrhr 22:56
donaldh jnthn: I reckon it makes sense to swallow AsynchronousCloseException. It can get thrown if readChars is pending and something closes the connection. 22:59
23:01 rurban left
dalek p/async_ops: 77672d0 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncS (2 files):
Implement failed callbacks in async IO on JVM.
23:05
p/async_ops: 5647945 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncSocketHandle.java:
Swallow AsynchronousCloseException and treat it as EOF.
donaldh jnthn: do we have any tests for the async io yet? 23:06
jnthn donaldh: nope :( 23:07
23:07 FROGGS left
jnthn Well, unless lizmat++ snaked them int. 23:07
sneaked, in :)
donaldh :D 23:08
okay, I'll look at that after I implement readBytes and writeBytes 23:09
23:09 rurban joined 23:10 lvfjf left, araujo joined, araujo left, araujo joined 23:11 lvfjf joined 23:28 xenoterracide left 23:31 thou left 23:33 donaldh left 23:38 spider-mario left 23:56 Entonian joined 23:58 kurahaupo left 23:59 cognominal__ left