Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-01-07

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 SamuraiJack_ joined #perl6
00:01 samebcha1e joined #perl6
00:02 Psyche^ joined #perl6
00:02 [Coke] ok.
00:03 * [Coke] does a rebuild and wishes he'd setup that intermediate git repo thing.
00:03 Colby` joined #perl6
00:03 timotimo jnthn: \o/
00:03 dayangkun joined #perl6
00:04 finanalyst joined #perl6
00:04 ribasushi joined #perl6
00:04 ivan`` joined #perl6
00:17 berekuk joined #perl6
00:33 timotimo i found the zerowidth anchor subtype cause
00:34 timotimo it confuses me why it is that way, but it's harmless to do nothing when we encounter an anchor of subtype zerowidth
00:35 jnap joined #perl6
00:39 jnthn Well, all anchors are zerowidth really...
00:40 timotimo right. this one in question is <???>
00:40 timotimo which is especially zerowidth
00:40 Piers joined #perl6
00:42 dalek nqp: a5cb2dc | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
00:42 dalek nqp: let moarvm compile "zerowidth" nothing-anchors
00:42 dalek nqp: review: https://github.com/perl6/nqp/commit/a5cb2dcb88
00:44 lue does <???> mean three-times the truthiness of <?> ?
00:44 timotimo no, three times the zerowidthness of <?>
00:45 TimToady I would not call <???> an anchor; it's just an assertion that, if you pass this, it'll warn
00:45 TimToady it's supposed to be like ... or ??? in normal code
00:46 TimToady nr: 'a' ~~ /<...>/
00:46 timotimo yeah, that's NYI in rakudo apparently :)
00:46 camelia rakudo-jvm 5669b2: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/TNeQ84bxGN:1�------> [32m'a' ~~ /<...[33m�[31m>/[0m�Unrecognized regex metacharacter . (must be quoted to match literally)�at /tmp/…»
00:46 camelia ..rakudo-parrot 5669b2: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/4cRGn5CMdp:1�------> [32m'a' ~~ /<...[33m�[31m>/[0m�Unrecognized regex metacharacter . (must be quoted to match literally)�at /t…»
00:46 camelia ..niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
00:46 jnthn tssk, that's a crappy error too
00:47 TimToady std: 'a' ~~ /<...>/
00:47 camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
01:02 jnthn Time for some rest...'night o/
01:02 timotimo good rest of the night, jnthn!
01:02 diakopter o/
01:02 berekuk joined #perl6
01:02 japhb_ o/ jnthn!
01:03 dayangkun joined #perl6
01:04 [Coke] ~~
01:12 nebuchadnezzar joined #perl6
01:13 nebuchadnezzar joined #perl6
01:41 berekuk joined #perl6
02:01 hoverboard joined #perl6
02:02 jnap joined #perl6
02:06 berekuk joined #perl6
02:14 berekuk joined #perl6
02:17 berekuk joined #perl6
02:24 berekuk joined #perl6
02:28 [Coke] intraday run of moar puts us over 91%
02:28 japhb_ That's really damned impressive.
02:29 diakopter it's like a real VM or something
02:30 diakopter [that had many many human-years of learnings to build on from other open-source VMs] ;)
02:30 colomon \o/
02:41 berekuk joined #perl6
02:47 japhb Seems like it's time for camelia to include r-m support.  :-)
02:48 japhb Who manages that?  moritz?
02:48 diakopter <-
02:48 diakopter (and mostly moritz) :)
02:48 japhb Oh.  Well, he's asleep, so you're nominated.  Besides, you have Moar seniority anyway.  ;-)
02:51 kbaker joined #perl6
02:52 berekuk joined #perl6
02:54 berekuk_ joined #perl6
03:02 BAMbanda joined #perl6
03:02 BAMbanda perl6: say 4;
03:02 camelia rakudo-parrot 5669b2, rakudo-jvm 5669b2: OUTPUT«4␤»
03:02 camelia ..niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
03:13 thou joined #perl6
03:39 atroxaper joined #perl6
03:43 berekuk joined #perl6
03:43 cognominal joined #perl6
03:45 lue masak: just read your latest post, and somehow I'm getting a mental image of the situation involving roles as strongholds with guardtowers looking for program execution to enter the surrounding landscape. Don't know what to do with that :P
04:00 berekuk joined #perl6
04:08 berekuk joined #perl6
04:15 cognominal joined #perl6
04:17 berekuk joined #perl6
04:19 japhb raydiak, colomon, Util, and other vector math folks: https://gist.github.com/japhb/8294561
04:20 japhb Basically, after browsing what's out there, and comparing it to what I think we need to support -Ofun and -Ospeed at the same time, I think we need new performance-oriented 3D math libs for Perl 6.
04:24 jnap joined #perl6
04:25 kaleem joined #perl6
04:27 berekuk joined #perl6
04:28 Mouq joined #perl6
04:28 grondilu japhb: shouldn't these stuff be unified in PDL?
04:32 langdon_ joined #perl6
04:36 preflex_ joined #perl6
04:37 langdon_ left #perl6
04:41 berekuk joined #perl6
04:44 fidscuh joined #perl6
04:45 berekuk joined #perl6
04:49 fidscuh joined #perl6
04:52 japhb grondilu: PDL is a related but not identical concept -- munging very large data sets and matrices, not very small ones.
04:54 japhb Mind you, it should be possible to work on vector-sized chunks of a very large array; interfacing with e.g. modern OpenGL or GPU work would necessitate this.
04:55 japhb It's worth considering if that can be merged into the implementation without ruining the simplicity and efficiency of e.g. ray tracing math, which doesn't deal with large arrays of homogenous data.
04:56 xinming joined #perl6
04:56 berekuk joined #perl6
04:58 * grondilu is surprised that ray tracing "doesn't deal with large  arrays of homogenous data.
04:58 grondilu "
04:58 grondilu I mean it does linear algebra with lots of vectors, doesn't it?
05:00 grondilu but anyway I don't know much about specifics of 3D graphics algorithms, so if you say it's not just linear algebra, I won't argue.
05:02 berekuk joined #perl6
05:08 fidscuh left #perl6
05:16 japhb grondilu: One of the performance problems with ray tracing is that it is painfully non-coherent: memory accesses are all over the place, and aside from a few special cases like height/normal/color maps and BRDFs, generally deal with small data at a time.
05:17 japhb Assuming there haven't been any new breakthroughs since my salad days.
05:17 lue joined #perl6
05:24 jnap joined #perl6
05:28 Shozan joined #perl6
05:29 preflex_ joined #perl6
05:30 Piers joined #perl6
05:30 ggoebel1111 joined #perl6
05:30 logie__ joined #perl6
05:32 LordV joined #perl6
05:33 BooK_ joined #perl6
05:33 dagurval_ joined #perl6
05:33 clsn_ joined #perl6
05:33 prammer_ joined #perl6
05:34 orevdiabl joined #perl6
05:34 ponbiki_ joined #perl6
05:34 woolfy1 joined #perl6
05:35 berekuk joined #perl6
05:35 nwc10_ joined #perl6
05:36 arnsholt joined #perl6
05:36 sjn_ joined #perl6
05:36 huf_ joined #perl6
05:36 logie__ joined #perl6
05:36 bluescreen100 joined #perl6
05:36 FROGGS joined #perl6
05:36 cognominal joined #perl6
05:36 telex joined #perl6
05:37 benabik joined #perl6
05:37 camelia joined #perl6
05:38 hoverboard joined #perl6
05:39 hugme joined #perl6
05:40 Rix joined #perl6
05:42 Timbus joined #perl6
05:45 odoacre joined #perl6
05:48 nwc10 joined #perl6
05:48 huf joined #perl6
05:49 berekuk joined #perl6
05:49 jnthn joined #perl6
05:49 LV joined #perl6
05:49 benabik_ joined #perl6
05:50 revdiablo joined #perl6
05:54 laidback_01 joined #perl6
06:03 berekuk joined #perl6
06:18 moritz good morning
06:19 moritz japhb: fwiw I chose to wait with r-m on camelia until moar-support is merged into nom
06:20 moritz japhb: then it's an order of magnitude less work
06:25 diakopter oh yeah
06:25 grondilu how long until moar-support goes into nom, btw?  Is that a lot of work?
06:25 FROGGS[mobile] joined #perl6
06:25 jnap joined #perl6
06:25 moritz since r-m now passes moar than 90% of the spectests that r-j passes, I guess it'll be soonish
06:26 grondilu what about rakudo-* this month?  Will it have moar support?
06:30 lue grondilu: likely not, R* doesn't even have r-j yet.
06:30 abnorman joined #perl6
06:31 berekuk joined #perl6
06:33 moritz well, the R* installer can build r-j
06:34 moritz but the modules don't work on it
06:43 ilbot_pg joined #perl6
06:43 raydiak japhb++: is that a "ZOMG WTF" reaction to reading the Pray internals? :) sounds good to me, where do we start?
06:47 japhb raydiak: No, more like a "Wait, everyone is doing pieces of the puzzle, and I can't combine the pieces into a whole, and it would be slow if I tried.  That is LTA."
06:47 japhb As for where to start, give me a sec, multitasking at the moment.
06:47 japhb (I need a shorter way to say that.)
06:50 berekuk joined #perl6
06:51 japhb raydiak: There is a 3D math package for JS from a couple years ago (right around the time 3D canvas became known as WebGL) that had the core of the design I'm talking about -- explicit control of temporaries, core math routines designed to work well with the optimizer, that sort of thing.  Just need to find it again.
06:57 japhb Found it: https://code.google.com/p/webgl-mjs/
06:58 raydiak reading
06:58 berekuk joined #perl6
06:59 japhb Written by Vladimir Vukićević, the guy who created Canvas 3D (the first version of what became WebGL)
06:59 raydiak ouch, do not try to read the HTML docs in source form
07:00 diakopter raydiak: I don't even see the green flowing symbol streams
07:00 japhb Oh, just look at the top level mjs.js
07:01 diakopter heh, I wrote an mjs.js in 2009
07:01 diakopter (a file named that)
07:01 japhb I'm not saying we should clone it per se, just absorb the design concept and then Perl 6-ize it.
07:02 raydiak diakopter: it doesn't look like a blonde brunette, or redhead, either, though...
07:02 diakopter (or even female)
07:02 diakopter (or even human)
07:03 diakopter (or even alive)
07:03 diakopter (or even real)
07:03 raydiak japhb: absorbing
07:05 raydiak I like it...I even remembering wondering early on if I should be writing the vector and matrix stuff as a function library instead of classes
07:05 japhb :-)
07:07 raydiak what are the "explicit temporaries" you mentioned?
07:09 * diakopter decides which color to paint the yak-shaver-shed-windmill-tilter
07:09 japhb In his library, you see them as providing each basic function, e.g. adding two matrices, with an optional pre-built return object, where the result values are assigned.  If you don't provide a pre-built return object, one will be created for you.
07:10 raydiak ah, I see
07:10 japhb So you have the choice of just using it as add(M1, M2), or as add(M1, M2, MR) if you want to control the churn of result objects, like in a tight loop.
07:12 japhb If you have a loop that e.g. does 10 vector/matrix operations inside but only produces one output result, rather than create and destroy 10 temps during each iteration, you can create 10 pre-sized results outside the loop, and just supply them to each math op appropriately -- zero churn.
07:13 raydiak makes sense
07:13 kaleem joined #perl6
07:17 berekuk joined #perl6
07:20 raydiak r: say int(1).perl
07:20 camelia rakudo-jvm 5669b2: OUTPUT«Can not invoke this object␤␤»
07:20 camelia ..rakudo-parrot 5669b2: OUTPUT«invoke() not implemented in class 'int'␤  in block  at /tmp/e7KVrMkgvi:1␤␤»
07:21 japhb r: my int $a = 1; say DUMP($a)
07:21 camelia rakudo-parrot 5669b2, rakudo-jvm 5669b2: OUTPUT«1␤»
07:21 japhb WYSIWYG.  ;-)
07:21 raydiak r: my int $a = 1; say $a.WHAT;
07:22 zakalwe joined #perl6
07:22 camelia rakudo-parrot 5669b2, rakudo-jvm 5669b2: OUTPUT«(Int)␤»
07:22 raydiak or is it?
07:22 japhb It has to be boxed to call a method on it.
07:22 raydiak ah, that's what I haven't been understanding
07:23 raydiak I better re-read wherever it talks about native types
07:25 raydiak r: my int @a = 1, 2, 3;
07:25 camelia rakudo-jvm 5669b2: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤␤»
07:25 camelia ..rakudo-parrot 5669b2: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/mxP69b2jg4:1␤␤»
07:25 raydiak ^ what about that one?
07:26 jnap joined #perl6
07:27 japhb I'm thinking LTA error, but perhaps I am mistaken.
07:28 japhb r: my Int @a = 1, 2, 3;
07:28 camelia rakudo-parrot 5669b2, rakudo-jvm 5669b2: ( no output )
07:28 darutoko joined #perl6
07:32 raydiak whether that specific piece of the puzzle is in place yet or not, what is the best way to proceed? specify the API? someone just dive in and do something? what should we call it?
07:36 berekuk joined #perl6
07:36 jercos joined #perl6
07:39 * japhb is too tired to come up with a good name, but does recommend that someone just dive in -- but keep the repo public, so we can iterate before the whole thing is written.
07:39 * japhb trundles off to slumber
07:39 japhb &
07:43 berekuk joined #perl6
08:13 zakharyas joined #perl6
08:22 REPLeffect joined #perl6
08:23 salv0 joined #perl6
08:27 jnap joined #perl6
08:31 atroxaper joined #perl6
08:32 berekuk joined #perl6
08:42 FROGGS joined #perl6
08:47 berekuk joined #perl6
08:52 berekuk joined #perl6
09:05 fhelmberger joined #perl6
09:05 FROGGS jnthn: I'm sorry ó.ò https://github.com/rakudo/rakudo/commit/cf92e8161f
09:05 finanalyst joined #perl6
09:07 fhelmberger joined #perl6
09:15 masak lue: my first thought is that maybe you've been playing too much Tower Defense games :)
09:15 masak antenoon, #perl6
09:15 moritz \o
09:16 berekuk joined #perl6
09:19 zakharyas joined #perl6
09:22 berekuk joined #perl6
09:23 berekuk joined #perl6
09:27 jnap joined #perl6
09:30 espadrine joined #perl6
09:34 berekuk joined #perl6
09:39 * masak is learning about IPC today at $work
09:39 masak signals, named pipes, fancy open()s, and sockets.
09:39 masak I know Perl 6 has sockets, but I've only seen it in Rakudo, not in the spec, I think.
09:39 FROGGS ahh, so you are the one who implements openpipe in MoarVM? :o)
09:39 masak ehehe
09:40 masak I think I saw signals once in the spec, and ISTR it was connected to the mythical unified event loop.
09:40 masak I'm pretty sure we don't do named pipes and fancy open()s.
09:42 moritz masak: there are Sockets in the S32::IO spec, in the "Here Be Dragons" section
09:45 mberends joined #perl6
09:46 berekuk joined #perl6
09:47 pecastro joined #perl6
09:49 xinming joined #perl6
09:51 dakkar joined #perl6
09:55 ilbot_pg joined #perl6
09:57 berekuk joined #perl6
10:08 berekuk joined #perl6
10:11 rindolf joined #perl6
10:12 eternaleye joined #perl6
10:19 masak hehe, named pipes are fun :)
10:20 masak they're the FETCH-modified Proxy attributes of inodes ;)
10:22 jercos I know some of those words!
10:22 masak see yesterday's backlog :)
10:23 masak (I managed to construct an attribute that could feel when it was being read from or written to)
10:24 moritz how did it feel? :-)
10:26 ruoso joined #perl6
10:26 FROGGS[mobile] joined #perl6
10:27 berekuk joined #perl6
10:27 kshannon joined #perl6
10:28 masak moritz: it tickled. :)
10:28 masak oh, and for those of you who haven't seen this one yet: http://nbviewer.ipython.org/url/norvig.com/ipython/xkcd1313.ipynb
10:28 jnthn ugh, sleeping fail...
10:28 jnthn whatever-time-it-is, #perl6...
10:28 masak (and like problems like this)
10:28 masak jnthn: hope you had a nice sleep :)
10:28 jnap joined #perl6
10:28 jnthn masak: Well, after 4 hours of insomnia, it was ok... :/
10:28 mavcunha joined #perl6
10:36 berekuk joined #perl6
10:41 masak :/
10:45 masak also, may I heartily recommend basically everything on http://worrydream.com/Links2013/
10:45 masak (Bret Victor)++
10:52 darutoko- joined #perl6
10:53 a joined #perl6
10:53 berekuk joined #perl6
11:02 masak SYNOPSIS
11:02 masak use IO::Socket;
11:02 masak (and that's all)
11:03 masak that's the most useless SYNOPSIS section I have *ever* seen :)
11:03 jnthn Especially given you don't need to given they're in the setting... :)
11:03 masak most of the time CPAN's SYNOPSIS sections are admirably well-written. and it really helps.
11:03 masak jnthn: yeah, um, this is #perl6. right. :P
11:04 jnthn oh...
11:04 jnthn heh :)
11:04 jnthn Well, it wouldn't entirely surprise me if that was the state of the Perl 6 sockets spec :P
11:12 berekuk joined #perl6
11:19 espadrine joined #perl6
11:27 Khisanth joined #perl6
11:28 masak &
11:29 jnap joined #perl6
11:34 moritz jnthn: that's in the 'Here be Dragons' section. 'nuff said.
11:39 berekuk joined #perl6
11:39 salv0 joined #perl6
11:41 xinming_ joined #perl6
11:45 Ulti ls
11:45 Ulti erk sorr
11:45 Ulti stupid OSX not having follow mouse focus ;P
11:45 Ulti atleast it was ls and not my password I guess
11:45 denis_boyun joined #perl6
11:47 tadzik yeah, password happens to me sometimes, when I try to unlock the screen but I forgot to lock it
11:47 berekuk joined #perl6
11:48 moritz just configure your screen saver to always run when the screen is blanked
11:49 tadzik yeah, that'd work
12:00 berekuk joined #perl6
12:01 dalek rakudo/moar-support: f1d4a61 | jnthn++ | src/vm/moar/ops/perl6_ops.c:
12:01 dalek rakudo/moar-support: Implement p6stateinit.
12:01 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/f1d4a614c5
12:12 dalek rakudo/moar-support: a1773ba | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
12:12 dalek rakudo/moar-support: Unbust S03-junctions/autothreading.t.
12:12 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/a1773ba57b
12:26 sqirrel joined #perl6
12:27 berekuk joined #perl6
12:30 jnap joined #perl6
12:43 dalek rakudo/moar-support: 2e8a281 | jnthn++ | src/ (2 files):
12:43 dalek rakudo/moar-support: Implement p6bindcaptosig.
12:43 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/2e8a281d45
12:46 berekuk joined #perl6
12:48 dalek rakudo/moar-support: 13ce3cc | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
12:48 dalek rakudo/moar-support: Fix "capturehasnameds needs a MVMCallCapture" bug.
12:48 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/13ce3cc683
12:55 xinming joined #perl6
12:59 SamuraiJack_ joined #perl6
13:04 dalek rakudo/moar-support: 82eb640 | jnthn++ | src/core/Capture.pm:
13:04 dalek rakudo/moar-support: Fix '...not support associative operations' bug.
13:04 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/82eb640cf5
13:08 moritz method is_bindable($sig, $capture) {
13:08 moritz +        unless nqp::reprname($capture) eq 'MVMCallCapture' {
13:08 moritz +            $capture := make_vm_capture($capture);
13:08 moritz +        }
13:08 kaleem joined #perl6
13:08 moritz is that code path taken by any non-moar backend?
13:08 jnthn No
13:09 jnthn (It's in a #?if moar)
13:09 moritz good :-)
13:09 jnthn (if you look far enough up :))
13:09 moritz ah right, the whole class
13:10 * moritz idly wonders how many signature binder implementations jnthn++ has done so far
13:11 tadzik .oO(all of them)
13:28 dalek nqp: 6db6d0d | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
13:28 dalek nqp: Fix while cond() -> $x { ... } compilation on Moar
13:28 dalek nqp: review: https://github.com/perl6/nqp/commit/6db6d0d478
13:28 jnthn .oO(enough of them...)
13:29 jnthn That one is another 60 tests or so...
13:30 jnap joined #perl6
13:36 berekuk joined #perl6
13:36 dalek rakudo/moar-support: 4390e91 | jnthn++ | src/Perl6/Actions.nqp:
13:36 dalek rakudo/moar-support: Fix attribute defaults SEGV/bugs.
13:36 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/4390e9197e
13:37 jnthn And there's another 100+...
13:44 diakopter heh, one line
13:58 kbaker_ joined #perl6
14:03 moritz "one line is all it takes"
14:05 arnsholt Sometimes those are the hardest bugs =)
14:05 moritz aye :-)
14:10 ajr joined #perl6
14:12 jnap joined #perl6
14:15 mavcunha joined #perl6
14:19 [Coke] that one's in time for the daily run, too! (10 more minutes or so.)
14:24 pmurias joined #perl6
14:24 FROGGS joined #perl6
14:29 fhelmberger joined #perl6
14:41 pmurias are Makefiles as a part of build systems for regular modules?
14:41 * pmurias hopes not
14:42 tadzik no, they are not allowed there
14:43 pmurias great ;)
14:44 * pmurias experience a surge of Makefile hate while trying to hook up nqp-js into the regular nqp build system ;)
14:50 [Coke] makefiles are horrible, except for when you have to duplicate their functionality in a new tool. :)
14:57 rindolf joined #perl6
15:03 bluescreen10 joined #perl6
15:09 spider-mario joined #perl6
15:09 thou joined #perl6
15:09 xenoterracide joined #perl6
15:10 SamuraiJack_ joined #perl6
15:13 sqirrel joined #perl6
15:13 btyler joined #perl6
15:19 jnap joined #perl6
15:19 FROGGS jnthn: btw, we can rip out the "binary" encoding from all backends, will push later
15:20 jnthn \o/
15:20 FROGGS without failing test that is
15:22 kivutar joined #perl6
15:25 sftp joined #perl6
15:28 btyler exciting backlog today, moar-support passing over 90%? woohoo!
15:29 FROGGS that is because MoarVM is designed for -Osuccess :o)
15:29 FROGGS (which implies -Ofun)
15:34 denis_boyun joined #perl6
15:36 diakopter FROGGS: heh, sometimes
15:37 FROGGS true :o)
15:40 treehug88 joined #perl6
15:41 treehug88 joined #perl6
15:44 ggoebel1111 joined #perl6
15:45 jnap joined #perl6
15:50 timotimo oh, an exciting amount of commits is waiting to be discovered
15:58 colomon arnsholt, moritz: I've had one-line bugs it took me months to track down.
15:58 Psyche^_ joined #perl6
16:05 arnsholt Yeah, the intermittent segfault bug I fixed at YAPC::NA (and broke the build fixing >.<) was pretty much a one-liner IIRC
16:29 johnmilton joined #perl6
16:32 gfldex joined #perl6
16:44 dalek rakudo/moar-support: 6a3cd5d | jnthn++ | src/vm/moar/ops/perl6_ops.c:
16:44 dalek rakudo/moar-support: Stub p6inpre.
16:44 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/6a3cd5de6e
16:44 dalek rakudo/moar-support: dbb5320 | jnthn++ | src/Perl6/World.nqp:
16:44 dalek rakudo/moar-support: Only emit hack needed on Parrot when on Parrot.
16:45 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/dbb5320f69
16:45 dalek nqp: 75862a5 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
16:45 dalek nqp: Pass along exit handler flag.
16:45 dalek nqp: review: https://github.com/perl6/nqp/commit/75862a54e2
16:51 sqirrel joined #perl6
16:56 dayangkun joined #perl6
16:57 treehug88 joined #perl6
16:58 dayangkun joined #perl6
16:59 masak so. I just learned that Perl 5 can do `local $hash{key} = "val";`
16:59 masak what's the Perl 6 equivalent of that?
16:59 PerlJam isn't it just `temp %hash<key> =
17:00 PerlJam val
17:00 PerlJam blah
17:00 masak r: my %hash = foo => 5; { temp %hash<foo> = 42; say %hash<foo> }; say %hash<foo>
17:00 camelia rakudo-parrot 5669b2, rakudo-jvm 5669b2: OUTPUT«42␤5␤»
17:00 masak apparently it is! \o/
17:01 masak PerlJam++
17:01 Ulti does Perl 6 have the equivalent to my @png_files = <*.png> which is a new bit of Perl 5 I only learnt this week
17:01 masak what about localized deletion? `delete local $hash{key}` ?
17:01 PerlJam Ulti: do you mean the fancy syntax or just the ability to do globs?
17:02 Ulti fancy syntax
17:02 Ulti I assume there is glob() or something in Perl 6?
17:02 masak nope, Perl 6 uses <> for list quoting.
17:02 masak Ulti: there's &dir to list files
17:02 Ulti k k
17:02 colomon r: say dir
17:02 camelia rakudo-parrot 5669b2: OUTPUT«IO::Path<.lesshst> IO::Path<.viminfo> IO::Path<.ghc> IO::Path<rakudo> IO::Path<rakudo-inst-2> IO::Path<rakudo-inst-1> IO::Path<std> IO::Path<.bash_history> IO::Path<log> IO::Path<.selected_editor> IO::Path<.ssh> IO::Path<nom-inst> IO::Path<.profile> IO::…»
17:02 camelia ..rakudo-jvm 5669b2: OUTPUT«IO::Path<.viminfo> IO::Path<p6eval-token> IO::Path<nohup.out> IO::Path<.bash_history> IO::Path<.selected_editor> IO::Path<hello> IO::Path<.config> IO::Path<hs_err_pid18610.log>␤»
17:02 colomon r: say dir("*.bash")
17:02 camelia rakudo-jvm 5669b2: OUTPUT«Failed to get the directory contents of '*.bash': nqp::opendir: unable to get a DirectoryStream␤  in block  at gen/jvm/CORE.setting:13406␤  in method contents at gen/jvm/CORE.setting:13415␤  in sub dir at gen/jvm/CORE.setting:13441␤␤»
17:02 camelia ..rakudo-parrot 5669b2: OUTPUT«Failed to get the directory contents of '*.bash': readdir failed: No such file or directory␤  in block  at gen/parrot/CORE.setting:13465␤  in method contents at gen/parrot/CORE.setting:13461␤  in sub dir at gen/parrot/CORE.setting:13490␤  in bloc…»
17:03 Ulti r: say dir '/home'
17:03 camelia rakudo-parrot 5669b2, rakudo-jvm 5669b2: OUTPUT«IO::Path</home/p6eval_eval> IO::Path</home/sromanov> IO::Path</home/jnthn> IO::Path</home/rob> IO::Path</home/ingy> IO::Path</home/ivanoff> IO::Path</home/p6eval> IO::Path</home/timotimo> IO::Path</home/moritz> IO::Path</home/leont> IO…»
17:03 btyler hm. maybe some sandboxing would be a good idea :)
17:03 Ulti >:3
17:03 Ulti maybe safe mode should avoid all file operations
17:04 btyler well, I mean in the case of the evalbot. a docker container or something so folks can't read potentially sensitive stuff
17:04 Ulti I thought there was a fancy safe mode thing built into Rakudo that sandboxed it a bit?
17:05 masak there is.
17:05 masak apparently &dir falls outside of that.
17:07 rurban Q: does `use oo :closed :final` still work and do what it is supposed to do?
17:08 Ulti well sorry for the abuse :'( but I guess that list of users isn't too revealing given the context
17:08 PerlJam "still work"?  Did it ever?
17:09 rurban I'm only reading http://perlcabal.org/syn/S12.html#Open_vs_Closed_Classes
17:09 pmurias joined #perl6
17:10 jnthn I don't think we implemented that pragma, but it's an application level optimization hint.
17:11 jnthn I don't think we'll ever take much advantage of it in the static optimizer, but it's the kinda thing we can pass on down to, say, the JVM (of note, using invokedynamic) or MoarVM to say "go ahead and assume classes are closed and final"
17:12 jnthn I guess the idea being that you can avoid the whole deoptimization side of things and its associated tracking.
17:13 pmurias what's stopping it's used in a static optimizer?
17:13 rurban it's basically for compile-time method dispatch avoidance
17:14 jnthn pmurias: Probably not a great deal, thinking about it. It may be applicable there too...
17:15 jnthn rurban: Well, runtime method dispatch avoidance...
17:15 jnthn If you can sort it out at compile time that's the good case
17:16 jnthn Anyway, it's a "I promise not to augment my classes and I promise not to do runtime subclassing" indicator.
17:16 pmurias jnthn: it seem really usefull for a -O11 sort of optimizer, propably less usefull for a "do a bit of cheap stuff" sort of one
17:16 pmurias * seems
17:17 PerlJam I just want to know where the "call me on it if I lie to you" pragma is to go along with the other
17:17 jnthn pmurias: Well, one of the nice things about doing it at JIT-time is you get to figure out if you're running long enough to make it worthwhile... :)
17:19 * TimToady wonders how much we can promise not to do run-time subclassing in the presence of 'but' with an unknown type on the left
17:19 berekuk joined #perl6
17:19 [Coke] moar will hit 92% on today's run, likely.
17:20 Ulti need moar
17:20 benabik moar moar!
17:34 PerlJam S17 has an example where it does $*SCHEDULER.cue: :every(1), :times(42), { say "Oh wow, a kangaroo!" };  but rakudo says "Cannot specify :every and :times at the same time"
17:34 PerlJam What gives?
17:34 mtj_- joined #perl6
17:34 jnthn An NYI I suspect
17:34 TimToady hmm, I read that with the other semantics: "Every second, cue the kangaroo 42 times."
17:34 TimToady maybe it should be :limit instead
17:34 PerlJam TimToady: aye, that would read better
17:34 PerlJam I find myself wanting some way to easily distinguish the countables from the time-based parameters sometimes.   Dunno if that's just my personal crazy or if it would actually be generally useful.
17:34 masak +1 # :limit
17:34 FROGGS :l  <-- weird smiley
17:35 Alina-malina joined #perl6
17:35 Alina-malina joined #perl6
17:36 * TimToady doesn't think :limit warrants a shortcut
17:37 PerlJam (I imagine it's not just my personal crazy but rather residual crazy from days of yore when someone first created time_t and friends in C)
17:38 PerlJam TimToady: agreed.
17:40 araujo joined #perl6
17:41 jnthn curry, beer &
17:43 dalek nqp: bee7470 | (Tobias Leich)++ | src/ (2 files):
17:43 dalek nqp: "binary" is not an encoding
17:43 dalek nqp: review: https://github.com/perl6/nqp/commit/bee747045e
17:43 dalek specs: 312a0ea | larry++ | S17-concurrency.pod:
17:43 dalek specs: change :times to :limit
17:43 dalek specs: review: https://github.com/perl6/specs/commit/312a0ea46a
17:45 dalek rakudo/nom: 4d6db59 | (Tobias Leich)++ | src/ (2 files):
17:45 dalek rakudo/nom: do not set an enoding for binary operations
17:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d6db5904e
17:45 tokuhirom_ joined #perl6
17:45 japhb__ joined #perl6
17:45 pnu_ joined #perl6
17:45 dalek rakudo/nom: 7c66d28 | (Tobias Leich)++ | src/core/Cursor.pm:
17:45 dalek rakudo/nom: s/eval/EVAL/
17:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c66d28330
17:46 hoelzro_ joined #perl6
17:46 torbjorn_ joined #perl6
17:47 ashleyde1 joined #perl6
17:49 masak curry, beer &
17:49 [Coke] S03-metaops/hyper.rakudo.moar is probably the biggest single failure. (99 tests, one file)
17:50 dalek rakudo/moar-support: 33f252e | (Tobias Leich)++ | src/ (2 files):
17:50 dalek rakudo/moar-support: do not set an enoding for binary operations
17:50 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/33f252e266
17:50 [Coke] ww.
17:51 yogan joined #perl6
17:51 atrodo joined #perl6
17:51 Celelibi joined #perl6
17:51 dylanwh joined #perl6
17:51 Alina-malina joined #perl6
17:51 Alina-malina joined #perl6
17:52 pmurias joined #perl6
17:52 rurban joined #perl6
17:53 baest_ joined #perl6
17:54 LordVorp joined #perl6
17:56 eternaleye_ joined #perl6
17:57 stevan_ joined #perl6
17:59 espadrine joined #perl6
18:04 treehug8_ joined #perl6
18:06 ssutch joined #perl6
18:09 dylanwh joined #perl6
18:09 PerlJam r: $*SCHEDULER.loads;
18:09 camelia rakudo-jvm 5669b2: OUTPUT«No such method 'get' for invocant of type 'Mu'␤␤»
18:09 camelia ..rakudo-parrot 5669b2: OUTPUT«Dynamic variable $*SCHEDULER not found␤  in method <anon> at gen/parrot/CORE.setting:12124␤  in any  at gen/parrot/Metamodel.nqp:2691␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2679␤  in any find_method at gen/parrot/Metamodel.nqp:…»
18:09 yogan joined #perl6
18:10 atrodo joined #perl6
18:10 Celelibi joined #perl6
18:11 mohij joined #perl6
18:11 ajr joined #perl6
18:28 hoverboard joined #perl6
18:29 Mouq joined #perl6
18:30 telex joined #perl6
18:33 TimToady p: sub foo(\m) { say m }   # we need to find a way to fix this
18:33 camelia rakudo-parrot 7c66d2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/YYSXsonzgf�Use of a closing delimiter for an opener is reserved�at /tmp/YYSXsonzgf:1�------> [32msub foo(\m) { say m [33m�[31m}   # we need to find a way to fix this[0m�    expecting…»
18:34 arnsholt Took me a second to realize WTF was going on
18:35 arnsholt It's kind of like the bug we had with classes not being able to start with the letter q, isn't it?
18:35 moritz .oO( use upper-case M/.../ for regex matching :-)
18:35 TimToady it's not just m, but s, tr, ms, q, Q, etc
18:35 TimToady and all the combine with first switch forms
18:36 TimToady they need to be demoted from keywords to macro-identifier space
18:37 grondilu yeah will you still be able to use the keyword then?  (in case you really want to use  m/ /)
18:37 grondilu s/yeah/& but/
18:37 TimToady so we need some way of parsing an identifier as if it were a sub call, then redirecting that into the special parsing that the various quoting forms need, but only if not redefined in an inner scope
18:38 TimToady well, the original idea was that q is short for Q:q
18:38 TimToady std: say Q:qq/foo/
18:38 camelia std 09dda5b: OUTPUT«ok 00:01 122m␤»
18:38 TimToady p: say Q:qq/foo/
18:38 camelia rakudo-parrot 7c66d2: OUTPUT«foo␤»
18:38 TimToady well, seems like that works
18:39 TimToady p: my $foo = 42; say Qqq/$foo/
18:39 camelia rakudo-parrot 7c66d2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/7stDWtIICb�Two terms in a row�at /tmp/7stDWtIICb:1�------> [32mmy $foo = 42; say Qqq/$foo/[33m�[31m<EOL>[0m�    expecting any of:�        postfix�        infix stopper�        ÃƒÂ¢Ã¢â€šÂ¬Ã‚¦Ã‚»
18:39 TimToady p: my $foo = 42; say Q:qq/$foo/
18:39 camelia rakudo-parrot 7c66d2: OUTPUT«42␤»
18:39 TimToady so Q: can always get us there
18:40 TimToady p: my $foo = 'bar'; say $foo ~~ Q:m/bar/
18:40 camelia rakudo-parrot 7c66d2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/H4HgzwC65O�Unrecognized adverb: :m�at /tmp/H4HgzwC65O:1�------> [32mmy $foo = 'bar'; say $foo ~~ Q:m[33m�[31m/bar/[0m�    expecting any of:�        colon pair (restricted)�»
18:40 TimToady std: my $foo = 'bar'; say $foo ~~ Q:m/bar/
18:40 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized quote modifier: m at /tmp/5phdBw28VG line 1:�------> [32mmy $foo = 'bar'; say $foo ~~ Q[33m�[31m:m/bar/[0m�Check failed�FAILED 00:01 125m�»
18:40 TimToady std: my $foo = 'bar'; say $foo ~~ Q:regex/bar/
18:40 camelia std 09dda5b: OUTPUT«Can't use string ("STD::Regex") as a HASH ref while "strict refs" in use at CursorBase.pm line 551.␤FAILED 00:01 125m␤»
18:41 TimToady heh
18:41 TimToady p: my $foo = 'bar'; say $foo ~~ Q:regex/bar/
18:41 camelia rakudo-parrot 7c66d2: OUTPUT«===SORRY!===␤Null PMC access in get_iter()␤»
18:41 * TimToady smirks
18:41 * TimToady smerks
18:41 * TimToady smurks
18:43 dalek roast: 9a340b1 | duff++ | S17-concurrency/scheduler.t:
18:43 dalek roast: Test $*SCHEDULER.loads before cuing any work
18:43 dalek roast: review: https://github.com/perl6/roast/commit/9a340b1400
18:43 TimToady one could presumably say OUTER::m/foo/ as well if m lived in the symbol table
18:43 dalek rakudo/nom: 8a486a8 | duff++ | src/vm/jvm/core/ThreadPoolScheduler.pm:
18:43 dalek rakudo/nom: Make $*SCHEDULER.loads return 0 prior to cuing
18:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8a486a8937
18:43 TimToady (as a macro, of course, since it has to do 'is parsed' tricks)
18:44 [Coke] colomon: niecza has 34 failures. (pugs has 4369)
18:44 [Coke] rakudo.jvm had 21 failures yesterday.
18:47 ajr_ joined #perl6
18:47 pmurias joined #perl6
18:47 Mouq joined #perl6
18:48 Alina-malina joined #perl6
19:00 treehug88 joined #perl6
19:01 Celelibi_ joined #perl6
19:04 berekuk joined #perl6
19:06 dylanwh joined #perl6
19:06 atrodo joined #perl6
19:19 berekuk joined #perl6
19:24 grondilu TimToady: have you considered putting quaternions in the core?  I think he'd be cool to have them, especially with suffix:<j> and suffix:<k>.
19:24 * grondilu meant 'postfix', not 'suffix'
19:25 * moritz has considred quaternions in the core, and rejected the idea
19:25 berekuk joined #perl6
19:25 grondilu why?  Too rarely used?
19:26 PerlJam we've got to leave something for future Perl devs to do  ;)
19:26 moritz grondilu: too rarely used
19:26 * FROGGS .oO( The Perl of Christmas's future? )
19:26 moritz grondilu: wonderful use case for modules
19:26 moritz grondilu: see also: https://github.com/Util/Perl6-Math-Quaternion/
19:27 * TimToady just heavily revised http://rosettacode.org/wiki/Quaternion_type#Perl_6
19:27 TimToady to put all the multis into the module
19:27 [Coke] TimToady: why do you define the class and immediately import it?
19:27 TimToady otherwise the multis are not imported
19:28 V_S_C joined #perl6
19:28 [Coke] Danke.
19:28 * TimToady wishes there were a way to factor out all the 'is export's though
19:29 grondilu about this module, don't you think it'd be better named just "Quaternions"?  I mean,  "use Quaternions;" is easier to remember than "use Math::Quaternion;" imho
19:29 * moritz finds the use of Math:: quite intuitive
19:29 tadzik +1
19:29 tadzik moritz++, that is :)
19:29 [Coke] avoid pollution of top level namespaces.
19:29 * TimToady tends to be of the opinion that math should just exist, but can see the pollution argument
19:30 [Coke] not everyone is coding for math.
19:30 [Coke] (very few are, IME.)
19:31 * grondilu thinks there are little chances "Quaternions" pollutes any space.  Most of math terms are specific to maths, aren't they?
19:31 labster joined #perl6
19:31 TimToady grondilu: re Hickerson, it's a lot faster if you do the .round before checking the first decimal, but then it's arguably less correct
19:31 moritz well, that argument could be used to symbolic math etc.
19:32 [Coke] I fail to see the utility of Quaternions
19:32 TimToady it's...relative...
19:32 [Coke] why bundle them with core?
19:32 V_S_C Bootstrapping panda is giving me an error
19:32 V_S_C Start of substr out of range. Is: 43, should be in 0..41
19:33 TimToady [Coke]: what do you mean when you say "core"?
19:33 raiph joined #perl6
19:33 arnsholt Quaternions are extremely useful when doing 3D geometry as they provide a sane way to represent rotations
19:33 V_S_C in method Str at gen\parrot\CORE.setting:12118
19:33 tadzik uh-oh
19:34 tadzik could you give me a full stracktrace?
19:34 [Coke] TimToady: are you asking or serious question or being pedantic or pedagogical?
19:34 tadzik what rakudo version is that, what platform?
19:34 [Coke] s/or/a/
19:34 TimToady grondilu: anyway, it's probably faster to do math (sic) to extract the first decimal digit, but I just thought the pattern read better
19:34 V_S_C I built Rakudo from source
19:34 tadzik freshest available, I assume?
19:34 V_S_C yes
19:35 [Coke] I mean with the basic rakudo (e.g.) compiler.
19:35 tadzik parrot, jvm, both?
19:35 V_S_C not jvm
19:35 V_S_C parrot
19:35 tadzik ok, I'll try to reproduce it now
19:35 V_S_C shall I just paste the trace here
19:35 tadzik have no fear, I is here :P
19:35 tadzik to gist.github.com, yes please
19:35 grondilu [Coke]: I think all math concepts that are unambiguously mathematically defined, and that also has an ovious notation and usage, could be added to the core, regardless of how useful they are (there will always be someone who will find them useful).
19:35 [Coke] V_S_C: use gist.github.com
19:35 V_S_C okay
19:36 tadzik also, I need to run get some food while the stores are open
19:36 tadzik bbs
19:36 [Coke] grondilu: that's crazy. why add stuff that might not be useful?
19:36 [Coke] every line of code is one more thing for the core developers to maintain, for the community to spec...
19:36 [Coke] though I suspect that your suggestion is what a mathemetician would say.
19:36 pecastro joined #perl6
19:37 TimToady if it's math, it should be very low maintenance, since the specs don't change :)
19:37 grondilu because it's hard to say whether something is useful or not.  But if mathematicians spent some time defining it, it's probably useful.
19:37 benabik .u
19:37 [Coke] if you're doing maths, sure.
19:37 TimToady [Coke]: by the same argument, we should throw Complex out :)
19:38 tadzik and is-prime :P
19:38 stevan_ joined #perl6
19:38 moritz grondilu: integers and rats/floats are very useful in common day life, and thus in many programs. Complex less so, but it's still useful in lots of areas (like electric engineering, or for simulating 2D points)
19:38 moritz but even though I'm quite math-savy for a non-mathematician, I've never had a use case for quaternions
19:39 grondilu well, the recent pray module uses quaternions, doesn't it?
19:39 [Coke] TimToady: excellent, yes!
19:39 V_S_C @tadzik https://gist.github.com/VSChawathe/8305474
19:39 [Coke] though I suspect you were not offering. :)
19:40 TimToady nope, I believe math just exists, but can hear the pollution argument
19:40 TimToady I do think any decent distribution should include Quaternions
19:40 [Coke] Do we have a list of stuff that the compiler ships with but you have to 'use' ?
19:41 [Coke] is that list null atm?
19:41 FROGGS lib and Test
19:41 [Coke] (I know with p5 it is non-null)
19:41 FROGGS and Pod::To::Text
19:41 [Coke] that all seems reasonable stuff to include but not load.
19:42 FROGGS I would include the debugger too fwiw
19:42 [Coke] That's completely external ATM, yes/
19:42 [Coke] ?
19:42 V_S_C While building Rakudo from source the process broke trying to link to libparrot.lib from the directory specified with --prefix
19:42 mberends joined #perl6
19:42 [Coke] (wonder if the debugger needs spec'ing.)
19:43 [Coke] even if to say "yes, have one."
19:43 cooper joined #perl6
19:43 V_S_C After manually copying it there it ran perfectly :)
19:43 * TimToady wonders if we should have a meta-distribution of Batteries that is expected to be included in any other distribution
19:44 grondilu the thing about quaternions is that their notation (1j + 1k) is so close to the Complex notation (1 + 2i) that it'd kind of be a shame not to extend it.  I mean, when 1 + 2i exists, it's not a big stretch to allow 1 + 2i + 3j + 4k.
19:44 PerlJam [Coke]: you can always build rakudo with your own custom setting that does not have Complex or whatever  :-)
19:45 TimToady grondilu: we already allow it through the magic of importing operators, as demoed by http://rosettacode.org/wiki/Quaternion_type#Perl_6
19:46 TimToady the only thing missing is a <1j+1k> form
19:47 FROGGS [Coke]: it is installable via panda, yes
19:47 TimToady so you'd need some way to tell val() how to parse Qu values
19:47 grondilu Well, I know I could define my own operators.  But it'd be more pleasant if it was out of the box.
19:47 TimToady grondilu: the module defines the operators for you; all you do is use it
19:47 TimToady that's why I moved the operators into the class on RC, to demo that
19:48 grondilu yeah well, I'm the one who added the postfix operators in this rosettacode task.  I was actually hoping that this would inspire you to add them to the core :-)
19:49 TimToady we can certainly make sure that R* supports the module, so you can just use it, but it's more fun on RC to demo how you'd define the class :)
19:50 TimToady it's also a very good demo of why classes are also modules
19:51 * TimToady wishes he didn't have to repeat 'is export' quite so much, is all
19:51 TimToady it tends to push everything toward the right margin by 10 chars
19:51 FROGGS TimToady: use Exporter? :o)
19:51 PerlJam could do it with a macro
19:52 PerlJam TimToady: can't you make a proto for each much and just export the proto?
19:52 PerlJam each multi
19:52 TimToady the protos are elsewhere
19:52 TimToady for infix:<*> and such
19:52 grondilu an other thing this task made me think about.  We add to define &postfix:<+>(Real $, Qu $) and &postfix:<+>(Qu $, Real $), although they are pretty much the same function (the order of the arguments should not matter).  This makes me wonder if we should not have a 'commutative' trait.
19:52 PerlJam oh, I guess that's true
19:52 grondilu s/We add/We had/
19:53 TimToady s/post/in/
19:53 moritz grondilu: we used to have a syntax for specifying multiple signatures for one subroutine. It got ditched.
19:53 TimToady we talked about that once, having 'is commutative', or allowing multisigs, but people seemed to rebel
19:54 grondilu ok
19:54 moritz well, with multisigs you have to be careful about which variables are declared, and what happens if they aren't identical in boths sigs
19:54 moritz s/both/all/
19:54 PerlJam you could make a macro to "build" the commutative mutlis for you :)
19:54 tadzik gah, V_S_C is gone
19:55 TimToady "I know, I'll use macros!"  Now you have a larger problem.
19:56 PerlJam I have a hammer and I'm going to use it!
19:56 PerlJam :)
19:56 grondilu an other thing I've been wondering lately: is [+] @long-list-of-numbers   supposed to be parallelised?   It can because + is associative, but with a custom operator, [] could not know unless there is a "associative" trait.
19:57 grondilu I mean that a + b + c + d can be (a+b) + (c+d) for parallelisation
19:58 TimToady well, one could force + it to be list associative, I suppose, despite it's precedence level defaulting to left
19:58 TimToady but then you couldn't mix + and -
19:58 TimToady now without rewrite a - b to a + -b
19:59 TimToady *rewriting
19:59 TimToady *not
19:59 * TimToady needs a new keyboard that matches the dysfunction of his figners
20:00 TimToady not to mention the corresponding parts of his brain
20:00 abnorman joined #perl6
20:00 FROGGS TimToady: I could borrow you a german one but it defaults to uppercase with three bangs at the end :o)
20:00 TimToady DANKE!!!
20:01 grondilu anyway I think it'd be important to parallelize [+], because that may improve performance on quite a few algorithms.  I remember that when I was doing some rosalind stuff, I always add performance issues when I had to add numbers.
20:01 FROGGS *g*
20:02 TimToady grondilu: I suspect the optimizer will just notice things like [+] or [*], but you also have to decide whether it has to be done lazily
20:02 TimToady maybe not in those cases, but for [\+] or [\*]
20:03 TimToady certainly [+] implies eagerness, and our policy of not overloading built-ins with inconsistent operations means that the optimizer can generally assume standard semantics for standard operators
20:03 grondilu indeed.  parallelisation with the triangular form would not make sense, since we need the sequential sums
20:04 TimToady unlike in, say, C++
20:04 grondilu s/sequential/successive/
20:04 TimToady such as associativity
20:05 TimToady especially if you can deduce the types in question at compile time
20:05 grondilu it's fine to assume asociativity with + and *, but [] could not guess with a custom operator.
20:06 TimToady Steele's observation was that FP languages penchant for representing lists recursively works against this entire class of parallizations
20:06 Rotwang joined #perl6
20:06 TimToady *llel
20:07 grondilu yeah, but we don't define lists recursively in Perl 6, do we?
20:07 [Coke] list actual and list "what's left"
20:07 TimToady no, and that's one of the reasons :)
20:07 moritz but laziness does impose a kind of similar structure
20:08 TimToady otoh we lose the tail-sharing properties of Lispy lists, unless we work a bit harder and build => lists
20:09 TimToady it's all tradeoffs, at least until the waterbed explodes
20:11 [Coke] ok, once moar-support merges back to nom, I'm going to re-enable the eval server for the daily jvm run. This may cause a precipitous drop in java passes.
20:11 [Coke] (but soooo slow now can't take it anymore)
20:30 itz src/vm/moar/ops/perl6_ops.c:427:39: error: ‘MVMFrame’ has no member named ‘flags’
20:30 itz am I doing something wrong or does moar-support not compile?
20:43 moritz itz: you probably need a newer copy of MoarVM
20:46 spider-mario joined #perl6
20:46 rindolf joined #perl6
20:48 pecastro joined #perl6
20:57 btyler itz: confirming what moritz said: I had the same, blowing away rakudo's local nqp and install directories then running Configure.pl --gen-moar=master --backends=moar gave me a successful compile
20:59 itz ok I'll try adding =master
20:59 itz ty
21:01 arnsholt Sounds like Rakudo might need a bump of NQP_REVISION
21:10 raydiak joined #perl6
21:12 berekuk joined #perl6
21:14 rindolf joined #perl6
21:24 benabik ...  moar-support breaks my parrot build.
21:24 arnsholt Durr? That's a bit odd
21:25 benabik in addition to not compiling r-m, obv
21:25 lue benabik: Lemme guess, ffi.h ?
21:25 benabik lue: that's it.
21:25 lue benabik: Moar's CFLAGS clobber Parrot's somehow.
21:26 berekuk joined #perl6
21:26 benabik lue: And also appear to be incorrect because it can't find any of the _MVM_* funcs
21:27 lue I've fixed the ffi.h issue for me by disambiguating to M_CFLAGS and P_CLFAGS. I really need to get around to doing that for all unqualified Makefile variables before making a PR for the issue.
21:27 benabik I'll go back to a less world for now.
21:28 kivutar joined #perl6
21:29 lue For me at least, the various Makefile*.in file are concat'd in pjm order, but the 'all' target is set to jmp order. I think that's what causes the messup.
21:30 FROGGS lue: how do you specify --backends?
21:30 lue right now, --backends=parrot,moar,jvm
21:31 lue The order has never influenced anything, to my knowledge.
21:31 * benabik uses the same --backends flag.
21:31 FROGGS this first one will be installed as perl6
21:33 lue Ah :) That's why I put parrot in front, I passed options in the flag in descending order of (desired) prominence in my usage. (It'll switch around to moar,parrot,jvm or moar,jvm once r-m works.)
21:34 daxim joined #perl6
21:36 hoverboard joined #perl6
21:41 berekuk joined #perl6
21:53 pecastro joined #perl6
22:01 raiph joined #perl6
22:16 denis_boyun joined #perl6
22:21 berekuk joined #perl6
22:21 FROGGS[mobile] joined #perl6
22:28 colomon joined #perl6
22:30 BenGoldberg joined #perl6
22:34 Guest65081 joined #perl6
22:37 Mouq rp: my@ω=map {.chr if .chr~~/<:Print>/},0..2**7;... ~ q:w[[[vvkthjlmgfmt vgtlktjgtifgtvj titmmtg mtvj titgtmgkthf k skusmus mnuq lup;/1<voppou``Lq``lttgup;6,+p4/50]]].join.trans(@ω Z=> @ω.reverse).eval
22:37 camelia rakudo-parrot 8a486a: OUTPUT«just kidding!␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc 379 (…»
22:38 denisboyun joined #perl6
22:39 Mouq So, this game is like Where's Waldo?. There's no prize, but there's a Rakudo bug hidden in the above
22:40 Mouq Any guesses?
22:44 Mouq Meh, I'll spoil it, it's not real hard to find
22:44 Mouq r: ... + 1
22:44 camelia rakudo-jvm 8a486a: OUTPUT«Unhandled exception: 1␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
22:44 camelia ..rakudo-parrot 8a486a: OUTPUT«1␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc 379 (src/gen/perl…»
22:44 Mouq r: ... ~ "I'm an exception?"
22:44 camelia rakudo-jvm 8a486a: OUTPUT«Unhandled exception: I'm an exception?␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
22:44 camelia ..rakudo-parrot 8a486a: OUTPUT«I'm an exception?␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc 3…»
22:45 BenGoldberg r: 1; ...; 2;
22:45 camelia rakudo-jvm 8a486a: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤Unhandled exception: Stub code executed␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (…»
22:45 camelia ..rakudo-parrot 8a486a: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤Stub code executed␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting…»
22:46 BenGoldberg Surely evaluating ... should always throw 'Stub code executed'
22:47 Mouq r: "I'm not an exception" ~ ... # It should
22:47 camelia rakudo-jvm 8a486a: OUTPUT«Unhandled exception: Stub code executed␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
22:48 camelia ..rakudo-parrot 8a486a: OUTPUT«Stub code executed␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc …»
22:48 moritz p: say (do { ... }).perl
22:48 camelia rakudo-parrot 8a486a: OUTPUT«Stub code executed␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc …»
22:48 moritz p: say (do { ... }).WHAT
22:48 camelia rakudo-parrot 8a486a: OUTPUT«Stub code executed␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc …»
22:48 moritz I kinda thought ... was specced to fail(), not die
22:50 Mouq r: say (do { fail 'failed' }).WHAT
22:50 camelia rakudo-parrot 8a486a: OUTPUT«failed␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc 379 (src/gen…»
22:50 camelia ..rakudo-jvm 8a486a: OUTPUT«Unhandled exception: failed␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
23:13 pmurias grondilu: do you use quaternions often?
23:18 berekuk joined #perl6
23:20 * jnthn back
23:20 jnthn r: ... "some message"
23:20 camelia rakudo-parrot 8a486a: OUTPUT«some message␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc 379 (s…»
23:20 camelia ..rakudo-jvm 8a486a: OUTPUT«Unhandled exception: some message␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
23:21 jnthn Note taht ..., ??? and !!! take args
23:29 finanalyst joined #perl6
23:47 dalek nqp: d4da7fb | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
23:47 dalek nqp: Map continuation ops for MoarVM.
23:47 dalek nqp: review: https://github.com/perl6/nqp/commit/d4da7fb7f7
23:51 BenGoldberg Why does ... take arguments?
23:52 lue BenGoldberg: probably to give a user-friendly reason for the stubbing.
23:52 jnthn So you can leave a note about why it's stubbed that's better than the "Stub code executed" error.
23:52 BenGoldberg Hmm
23:52 jnthn r: ... "Couldn't be bovvad"
23:52 camelia rakudo-parrot 8a486a: OUTPUT«Couldn't be bovvad␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc …»
23:52 camelia ..rakudo-jvm 8a486a: OUTPUT«Unhandled exception: Couldn't be bovvad␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
23:53 lue r: ... "Nobody's planning on using this anytime soon anyway. ...oh."
23:53 camelia rakudo-parrot 8a486a: OUTPUT«Nobody's planning on using this anytime soon anyway. ...oh.␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.se…»
23:53 camelia ..rakudo-jvm 8a486a: OUTPUT«Unhandled exception: Nobody's planning on using this anytime soon anyway. ...oh.␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
23:54 BenGoldberg r: fail 'or swim'
23:54 camelia rakudo-parrot 8a486a: OUTPUT«or swim␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc 379 (src/ge…»
23:54 camelia ..rakudo-jvm 8a486a: OUTPUT«Unhandled exception: or swim␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
23:54 BenGoldberg p:
23:54 BenGoldberg p: fail ...
23:55 camelia rakudo-parrot 8a486a: OUTPUT«Stub code executed␤current instr.: 'throw' pc 410302 (src/gen/p-CORE.setting.pir:171896) (gen/parrot/CORE.setting:10737)␤called from Sub 'sink' pc 446395 (src/gen/p-CORE.setting.pir:185119) (gen/parrot/CORE.setting:12127)␤called from Sub 'MAIN' pc …»
23:56 dalek rakudo-star-daily: ee32d33 | coke++ | log/ (5 files):
23:56 dalek rakudo-star-daily: today (automated commit)
23:56 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/ee32d3314a
23:56 dalek perl6-roast-data: 565f433 | coke++ | / (5 files):
23:56 dalek perl6-roast-data: today (automated commit)
23:56 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/565f4335f4
23:56 jnthn oooh!
23:56 preflex jnthn: you have 1 new message. '/msg preflex messages' to read it.
23:56 * jnthn checks the number
23:58 jnthn 92.14% \o/
23:58 [Coke] jnthn: that's the same r-m run from earlier. java finished while I was driving an hour.
23:58 jnthn [Coke]: Yeah, but now it's /official/ ;)
23:58 [Coke] :)
23:58 japhb__ Go Moar Team, Go Moar Team!
23:59 japhb__ Can't wait to read the backlog tonight.  :-)

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

Perl 6 | Reference Documentation | Rakudo