Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-02-16

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 grondilu the difficulty is not with the sum (addition), but with infinity.
00:01 colomon here’s the author’s TL;DR on the second link I posted:
00:01 colomon “First: the “series” 1+2+3+4+\ldots does not have any finite sum in the normal sense of the word “sum.”  Second: there are ways, however, to assign a finite “sum” to such divergent series in a mathematically consistent way, though we stress again that this is not a “sum” in the usual sense of the word.  Third: The generalized sum of a divergent series has use in physics problems, as a way to incorporate unknown da
00:01 colomon factors into a problem that seemingly has a divergent solution.  Fourth: the original video does not note any of these points.”
00:01 grondilu this guy raises interisting epistemologic points about it:  https://youtube.com/watch?v=0Oazb7IWzbA
00:02 grondilu he compares this issue with the invention of complex numbers and irrational numbers, for instance.
00:02 raydiak m: say 1-(1+1) == (1-1)+1 # I know this is mostly beside the point, but /me still doesn't understand why parens can be inserted at arbitrary points in such a construction
00:02 camelia rakudo-moar 127c99: OUTPUT«False␤»
00:03 grondilu raydiak: I don't know if they can.  I think they do but probably not.
00:03 grondilu I suppose associativity does not survive infinite sums.
00:04 grondilu oh hang on
00:05 grondilu you can not write 1 - 1 + 1 - 1 + ... as 1-(1+1)-(1+1)-(1+1)...  That's just incorrect.
00:06 grondilu 1-(1+1)-(1+1)-(1+1)... is 1 - 1 - 1 - 1 - 1 ....
00:07 grondilu associativity works with +, not -
00:07 raydiak yep
00:07 raydiak so (1-1)+(1-1)+... is invalid also
00:08 grondilu no, this one is correct (assuming it can be extended to infinite sums)
00:08 grondilu 1 - 1 + 1 - 1 + ... == (1 - 1) + (1 - 1) + ...
00:08 raydiak m: say 1-2+3-4 == (1-2)+(3-4)
00:08 camelia rakudo-moar 127c99: OUTPUT«True␤»
00:09 raydiak m: say 1-2+3-4+5-6 == (1-2)+(3-4)+(5-6)
00:09 camelia rakudo-moar 127c99: OUTPUT«True␤»
00:09 raydiak it feels wrong but I guess it's not :)
00:09 grondilu just remember that a - b == a + (-b)
00:10 BenGoldberg joined #perl6
00:10 grondilu and think in terms of associativity of '+'
00:12 grondilu I could also write 1 + (-1 + 1) + (-1 + 1) + ... == 1 + 0 + 0 + ... == 1
00:13 grondilu so basically I could make it equal to any integer, as colomon said.
00:14 grondilu but Ramanujan and Euler thought it still makes some sense if we do it properly.  They probably knew what they were doing.
00:22 colomon there is a meaningful number you can assign to the series, yes.  it’s just not a sum, and calling it the sum is wildly misleading
00:24 colomon http://en.wikipedia.org/wiki/Ces%C3%A0ro_summation
00:24 adu joined #perl6
00:24 raydiak couldn't help but mis-read C3 mro in that url :)
00:25 colomon or http://en.wikipedia.org/wiki/D​ivergent_series#Abel_summation
00:25 raydiak and thanks grondilu, that makes sense
00:26 adu hi raydiak
00:27 grondilu colomon: I'm not sure why the limit of the partial sum of the series would deserve more the appellation "sum" than the Ceraro sum.
00:28 raydiak hey adu
00:28 grondilu (or the Ramanujan sum, or *)
00:30 grondilu I mean, if I was tought both sums on an equal footing and was asked which one makes more sense, I'm not sure I would know what to say.
00:32 virtualsue joined #perl6
00:36 * lizmat is back
00:36 lizmat and finds a multitude of .trans functionality that isn't in the synopsis
00:36 lizmat but which break the 20x speed up simplification
00:37 lizmat so I will sleep on it and look at it tomorrow
00:37 lizmat good night, #perl6!
00:37 colomon o/
00:40 colomon grondilu: I don’t think I have enough brainpower to explain it properly.  But I’m pretty sure the “normal” sum of an infinite series is well-defined wrt doing normal math on it, and the Cesàro sum very much isn’t.  Like that stuff you were doing where you could rearrange 1-1+1-1+1… to equal any integer.  You should be able to do that sort of stuff with a normal sum of an inifinite series and have the answer always be t
00:40 colomon same.
00:40 * colomon meant to say “brainpower currently”, but what he wrote may be more accurate.
00:41 grondilu I don't know about the Cesaro sum, but as far as Ramanujan/Euler sum is concerned, it seems to make sense considering it shows up in physics.
00:41 BenGoldberg joined #perl6
00:42 grondilu plus apparently it was made rigorous by Rieman if I understand correctly.
00:42 * grondilu does not know the details at all, though.  This is way above his competence level.
00:43 grondilu still, from what I can grasp it seems that calling it "non-sense" is unfair.
00:44 colomon I stand by it.
00:44 colomon It has a meaning, but the meaning is not what people mean when they say sum.
00:45 grondilu by definition that means it's not "nonsense" but "some other sense".
00:47 grondilu it's like saying "calling sqrt(-1) an number is misleading because it's not what people have in mind when they think about numbers".
00:47 TimToady .oO(for sum definition of number)
00:51 colomon The entire point of saying 1 + 2 + 3 + 4 + .. = -1/12 is that it’s pretending it is the normal understanding of summation.  if you defined Cesàro sum as C() and said C(1 + 2 + 3 + 4 + …) = -1/12, you’d be 100% accurate (if clumsily notated), but no one would be in the least surprised.
00:52 colomon or impressed.
00:54 grondilu what is the "normal understanding of summation"?  To me there is a normal understanding, one that no one can disagree about, only *with a finite number of operands*.  Again, the issue is not with the definition of summation, but with the extension of the concept to an infinity of numbers.
00:56 colomon Let me give you an example.  In the sum 1 + 2 + 3 + 4 + … it is patently OBVIOUS to anyone with a basic understanding of mathematics that the sum cannot be negative.  That’s a normal undertanding, yes, with a finite number of of operands.
00:58 grondilu no it's not obvious because you can not apply an axiom an infinite number of times.  1 + 2 + ... + n is always positive for any finite n, but that does not tell you anything about an infinite n, if that concept is even defined.
00:59 TimToady yeah, it might get tired partway there...
00:59 TimToady and that would be a negative
01:01 colomon grondilu: if you take that approach, you cannot say anything meaningful about it at all.
01:01 Mouq m: my \term:<…> = -121/12; say 1 + 2 + 3 + 4 + …
01:01 camelia rakudo-moar 127c99: OUTPUT«-0.083333␤»
01:01 Mouq m: my \term:<…> = -121/12; say (1 + 2 + 3 + 4 + …).perl
01:01 camelia rakudo-moar 127c99: OUTPUT«<-1/12>␤»
01:03 grondilu colomon: well, mathematicians usually don't talk about "infinity" as an object.  Saying a sum is infinite is usually nothing but abbreviation of "this series tends towards infinity".  In rigor, inifinity is not an element of any set.
01:04 colomon grondilu: the sum in question diverges.  It is not equal to infinity; it is not equal to anything.
01:04 grondilu according to a particular conception of an infinite sum.
01:04 grondilu the one that is based as the limit of the partial sum.
01:04 * colomon throws up his hands and leaves
01:04 colomon left #perl6
01:06 japhb When I was rather young, my father tried to explain to me that there was a very real sense that, just like you can say a tree "flowers", you could likewise say it "leaves", "caterpillars", and "moths".
01:08 grondilu you say 1 + 2 + 3 + ... is obviously positive, so it can't be equal to -1/12, but by the same reasoning I coul notice that 1 > [+] 2 X** (-1, -2 ... $n) for any $n, and yet 1 == [+] 2 X** (-1, -2 ... *)
01:08 japhb grondilu: Those are not the same reasoning.
01:10 grondilu there is no reasoning anyway, because you can't apply an axiom an infinite amount of times.
01:11 Mouq I'm getting something like, 1 + 2 + 3 + 4 + … doesn't mean (A + B) + C, because "…" isn't a mathematical object. It's really a "sugar" for Sum(1, Inf) (I don't have the unicode for sigma and inf on my keyboard yet). A reasonable definition of Sum(i, Inf) is one that is similar to Sum(i, j), but as Inf is not a number in the way i and j are, but is a mathematical concept, Sum(i, Inf) can't necessarily be defined unambiguously just beca
01:11 japhb grondilu: I don't know what axiom you are saying is being applied an infinite number of times.
01:12 japhb Mouq: cut off at "unabiguously just becau"
01:13 Mouq …se Sum(i, j) is
01:13 grondilu japhb: basically:  if I add a positive number to an other positive number, I get a positive number.
01:13 Mouq Sum(i, Inf) isn't even the correct way to write it, because Inf isn't considered an object. It'd be more like InfiniteSumFrom(i)
01:14 BenGoldberg m: say inf;
01:14 camelia rakudo-moar 127c99: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/fy4Fq1iFgCâ�¤Undeclared routine:â�¤    inf used at line 1â�¤â�¤Â»
01:14 BenGoldberg m: say Inf;
01:14 camelia rakudo-moar 127c99: OUTPUT«Inf␤»
01:14 BenGoldberg m: say Inf - Inf;
01:14 camelia rakudo-moar 127c99: OUTPUT«NaN␤»
01:14 Mouq (If we're being "mathematically rigorous")
01:15 * BenGoldberg wonders whether this discussion ought be moved to ##math.
01:15 japhb grondilu: If you're suggesting that moving continually to the right on a (Euclidean) number line can't be assumed to not end me up to the left of my starting point, I have to call BS.
01:16 * Mouq thinks the discussion has been beaten to a pulp, but has homework to put off
01:18 Mouq japhb: My (devil's advocate) argument is that moving continually right can be assumed to end up to the right, but moving right "to infinity" isn't something with an intristicly meaningful physical analogy
01:19 japhb Mouq: Sure.  Doesn't mean nothing can be said.  :-)
01:20 Mouq japhb: But certain basically arbitrary postulates have to be defined first. And I think that's grondilu's point
01:24 japhb That sounds rather like axe-grinding, but OK, fair enough.
01:25 japhb .oO( Mathematicians.  Odd bunch. )
01:25 Mouq heh
01:26 * japhb goes back to attempting to break his writer's block
01:27 timotimo japhb: can you break your writer's block by trying on a new project just for funsies without pressure? maybe an opengl binding generator? :)
01:30 japhb timotimo: :-D
01:31 japhb timotimo: Port the one I wrote for Parrot?  It's written in Perl 5 IIRC ...
01:33 japhb It takes advantage of the very limited subset of C found in the system OpenGL headers.
01:33 japhb (Simple regex and such)
01:37 echowuhao joined #perl6
02:02 kaare_ joined #perl6
02:10 kurahaupo1 joined #perl6
02:12 chenryn joined #perl6
02:14 chenryn joined #perl6
02:24 dolmen joined #perl6
02:25 * ruoso posted his sudoku solver in the rosetta code page... http://rosettacode.org/wiki/Sudoku#Perl_6 -- as a second solution...
02:29 yeahnoob joined #perl6
02:35 Mouq ruoso++: s/ellaborate/elaborate ?
02:39 Mouq m: my @a := lol 1, 2; my @b = [1,2,3],[4,5,6],[7,8,9]; say @b[@a]
02:39 camelia rakudo-moar 127c99: OUTPUT«6␤»
02:39 Mouq ruoso: ^^ potentially useful for all those $sudoku[$_[0]][$_[1]]
02:40 Mouq (but then maybe not)
02:54 BenGoldberg For a couple of generalized exact-cover-problem solvers written in perl5, see http://members.inode.at/w.la​un/backtrack/backtrack.html
02:55 BenGoldberg It might be interesting to port the bitset based version, using perl6's Set type.
03:06 noganex joined #perl6
03:18 Psyche^ joined #perl6
03:24 dalek perl6-roast-data: d388542 | coke++ | / (5 files):
03:24 dalek perl6-roast-data: today (automated commit)
03:24 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/d388542f4f
03:24 dalek rakudo-star-daily: 1a420fb | coke++ | log/ (14 files):
03:24 dalek rakudo-star-daily: today (automated commit)
03:24 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/1a420fb011
03:29 cxreg I've found very little description of what NSA actually entails, is there a summary anywhere?
03:29 TimToady the final goal is my int @matrix[3][3] taking exactly 9 integers spots in memory
03:31 TimToady not counting external bookkeeping, of course
03:31 cxreg oh I see.  does that share anything with REPR?  and does it have ordinary GC?
03:31 TimToady er, my int @matrix[3;3]
03:31 TimToady it would have GC as a whole
03:32 cxreg thinking of what node.js does with Buffer
03:32 TimToady and the native part is what jnthn++ has been hacking in, but he's probably going to tackle NFG before going after the "shaped" part
03:33 TimToady of course, not just int, but also num and complex, in any dimensionality
03:33 cxreg seems a little like an optimization, honestly.  not sure that I'd personally block a dot-oh on it, as long as the syntax works in some reasonable fashion
03:34 TimToady we want to make sure our semantics are up to it before .0
03:34 cxreg fairy nuff
03:34 TimToady likewise for NFG
03:34 TimToady the GLR is mostly optimization, but may also have semantic changes in addition to the ones we've noticed
03:35 TimToady we just want to avoid a Big Oops before we get to most of what's designed in the synopses
03:36 dolmen joined #perl6
03:38 cxreg yeah the semantics in that work seemed significant enough to do now
03:39 Mouq TimToady: What's the type for "my int @matrix[3][3]" ?
03:42 TimToady I dunno, NativeArray[int,:shape(Int where ^3; Int where ^3)] or some such, only with more smarts about the actual size of each dimension than 'where' provides
03:45 Mouq m: say (^3,^3).perl
03:45 camelia rakudo-moar 127c99: OUTPUT«(0..^3, 0..^3)␤»
03:47 TimToady probably :shape(3,3) is adequate, since we don't support non-0 origin
03:48 TimToady except via .{} indexing, which is not a target for 6.0 unless someone gets inspired
03:49 TimToady I'd be happy with just multidimensional numeric arrays for 6.0, and not worry too much about mixing in hash indices
03:49 Mouq m: role Foo[::T1, :$shape] { method bar (T1 $) { say $shape } }; class Baz does Foo[Str, :shape(3)] { }; Baz.bar("test");
03:49 camelia rakudo-moar 127c99: OUTPUT«3␤»
03:50 Mouq m: role Foo[::T1, :$shape] { method bar (T1 $) { say $shape } }; class Baz does Foo[Str] { }; Baz.bar("test");
03:50 camelia rakudo-moar 127c99: OUTPUT«(Mu)␤»
03:50 Mouq That's really cool
03:50 TimToady if you wanna whack on that while jnthn shifts focus to NFG, that'd be cool
03:52 TimToady certainly lots of prior art in other languages...
03:55 TimToady on the subject of http://en.wikipedia.org/wiki/Row-major_order I think we'd be row major, not column major, by preference
04:00 dj_goku joined #perl6
04:15 Mouq TimToady: I'll consider it… :P
04:31 rmgk_ joined #perl6
04:32 yepyep joined #perl6
04:34 yepyep left #perl6
04:34 adu joined #perl6
05:33 moritz avuserow: where can I find your pgp pubkey?
05:34 diana_olhovik_ joined #perl6
05:34 telex joined #perl6
05:53 chenryn joined #perl6
05:59 avuserow I don't think it's online any longer. I used to have it on my university webhost account
05:59 avuserow I could upload it to a keyserver, but I really should generate a new one first since this one should expire this year I think
06:02 avuserow are there any better solutions than keyservers these days?
06:03 avuserow is hack.p6c.org's ssh pubkey available anywhere?
06:07 moritz ssh-dss AAAAB3NzaC1kc3MAAACBAMN5DrzzwalGzxwm2gZYP+LAjx​WKsMGBrtCY+i6nomYKFMFn4R5POK5tb2c8rd1NKFJXyAnt​YN5hAi8w+87SR8YuEUr5f2Sef9xgyCI4wbBJjLIvEmS3bq​RCpwf538qrlQfQur0b16rUtJL0JJYIjLMaXoyNc74CsKzy​s+NrUa0jAAAAFQC7af1E7rEHyy2uyOo0tkq8Bky+ZwAAAI​Avl0ox80VQQr/c5rGJHS5iaDOV/p8H67Du1+X2naCBC5rE​FgJ66xXoT7cR0BvzBW0FwB3IjGCdTEiOQRpl/Wwf6f1YPM​qd3Gxa2Ah6bvDKFS3ZT2DEya7q57R6BxnajBpFZVCPg2Rd​ptEi2LlYfZX0/i2lK/Won8bY4ZnJdED16QAAAIA5PUb0k7​RLuiRWnYDv4J0rhzb+zM5hcSqbELzy5LyQGL/7gi1f
06:07 moritz ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRuG1UeAoT1vLsUW1​l99qEjyGIJfVR+j2vjqGqL0O7vuV5uL5ueTqDgg+F7jfJwN​7fEAKR3xGvc6ZJV5NTTLcLKrIwMIzIhLgxS6bt0gs0JAt+U​ggy8qmoT8POQ4J7pAlFK7k1C1lvqjtbG/e5f9evZm6/2XIV​rkBzq+O2QWxEosnIeCjOnfsfEMlAJbXZcUKbaRwxa72jdku​VUKGlvoBmWAUYr8PgIkwK5TgihTHA15v3lbSZoy3CBco3IW​/BElzSPSGmlCxURlXYCuy4rvW++d9ofXT9lYgoTAqUHiK56​PFUoog6D5b2xREZvNHnP5GFx0Jx1rqcS26zuEpkjYbL
06:08 avuserow thanks
06:14 Mouq joined #perl6
06:18 bjz joined #perl6
06:32 dalek infrastructure-doc: 6b36c60 | Adrian++ | hosts/hack.p6c.org.pod:
06:32 dalek infrastructure-doc: Add SSH host key fingerprints
06:32 dalek infrastructure-doc: review: https://github.com/perl6/infras​tructure-doc/commit/6b36c60a48
06:40 fhelmberger joined #perl6
06:52 ugexe i have a grammar that seems to be stuck in an infinite loop unless i run it with Grammar::Debugger or Grammar::Tracer. what do those change that would have such an effect?
06:57 Mouq ugexe: Hmm. Mind gisting your grammar?
06:58 moritz ugexe: an infinite loop usually comes from quantifying a rule or subgroup that might match zero characters
07:01 vendethiel joined #perl6
07:08 diana_olhovik_ joined #perl6
07:12 Rounin joined #perl6
07:26 bjz joined #perl6
07:37 gaussblurinc_ joined #perl6
07:44 rurban joined #perl6
07:45 Humbedooh joined #perl6
07:45 FROGGS joined #perl6
07:46 dalek nqp: ead7622 | raydiak++ | src/vm/jvm/runtime/org/perl6/nqp/s​ixmodel/reprs/CArrayInstance.java:
07:46 dalek nqp: Zero-fill memory allocated for CArrays
07:46 dalek nqp: review: https://github.com/perl6/nqp/commit/ead762292f
07:46 dalek nqp: 95a965d | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/s​ixmodel/reprs/CArrayInstance.java:
07:46 dalek nqp: Merge pull request #222 from raydiak/master
07:46 dalek nqp:
07:46 dalek nqp: Zero-fill memory allocated for CArrays
07:46 dalek nqp: review: https://github.com/perl6/nqp/commit/95a965d4bf
07:57 zakharyas joined #perl6
07:58 darutoko joined #perl6
08:01 moritz raydiak: I've given you a commit bit for nqp
08:03 raydiak thank you moritz
08:04 prime- joined #perl6
08:08 rurban left #perl6
08:32 pdcawley joined #perl6
08:40 alini joined #perl6
08:41 fhelmberger joined #perl6
08:42 ecocode joined #perl6
08:43 kjs_ joined #perl6
08:57 fhelmberger joined #perl6
08:58 abraxxa joined #perl6
09:01 zacts joined #perl6
09:01 wicope joined #perl6
09:03 raydiak good night o/
09:04 yeahnoob joined #perl6
09:10 broquaint joined #perl6
09:12 avuserow I managed to wire up pygments, Inline::Python, and the htmlify script from the docs repo. On my machine, it takes about 22 minutes to run it without using inline, and 6 minutes with inline.
09:12 moritz \o/
09:12 avuserow Inline::Python wasn't the easiest to build, so that's a downside
09:13 avuserow (but that seems solvable)
09:13 moritz eeks, I can't even build nativecall
09:13 FROGGS moritz: what? O.o
09:13 moritz ===SORRY!=== Error while compiling lib/NativeCall.pm6
09:13 moritz 'long' cannot inherit from 'ctype' because it is unknown.
09:14 FROGGS moritz: upgrade your rakudo
09:14 FROGGS m: sub foo is ctype("long") { }
09:14 camelia rakudo-moar 127c99: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/yK3eSziA4xâ�¤Can't use unknown trait 'is ctype' in a sub declaration.â�¤at /tmp/yK3eSziA4x:1â�¤------> â�¤    expecting any of:â�¤        rw parcel hidden_from_backtrace hidden_from_USAGEâ�¤        â€¦Â»
09:14 FROGGS eww
09:14 moritz doesn't seem to help :(
09:15 moritz rakudo on camelia is up-to-date
09:15 FROGGS but I commited it: https://github.com/rakudo/rakudo/commit/​493d73e5db28a0ecbfb652c8305f6a6def282217
09:16 pdcawley joined #perl6
09:16 FROGGS m: sub foo is nativesize(42) { }
09:16 camelia rakudo-moar 127c99: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wv3RQ5_nwqâ�¤Can't use unknown trait 'is nativesize' in a sub declaration.â�¤at /tmp/wv3RQ5_nwq:1â�¤------> â�¤    expecting any of:â�¤        rw parcel hidden_from_backtrace hidden_from_USAGEâ�¤   …»
09:16 FROGGS traits are busted?
09:18 FROGGS m: say &trait_mod:<is>.candidates».signature
09:18 camelia rakudo-moar 127c99: OUTPUT«:(Mu:U $child, Mu:U $parent) :(Mu:U $child, Any :DEPRECATED($DEPRECATED)!) :(Mu:U $type, Any :rw($rw)!) :(Mu:U $type, Any :nativesize($nativesize)!) :(Mu:U $type, Any :ctype($ctype)!) :(Mu:U $type, Any :unsigned($unsigned)!) :(Mu:U $type, Any :hidden($hidd…»
09:18 FROGGS there it is!
09:18 sven_123 joined #perl6
09:18 moritz $type, Any :ctype($ctype)!
09:19 moritz hm, that's not wrong, is it?
09:19 FROGGS looks good to me
09:19 FROGGS p: sub foo is ctype("long") { }
09:19 camelia rakudo-parrot 127c99: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/txQ9fbBHEaâ�¤Can't use unknown trait 'is ctype' in a sub declaration.â�¤at /tmp/txQ9fbBHEa:1â�¤------> â�¤    expecting any of:â�¤        rw parcel hidden_from_backtrace hidden_from_USAGEâ�¤      â€¦Â»
09:20 moritz Mu:U vs. Sub:D
09:20 moritz FROGGS: there seems to be a default trait for Mu:U that catches inheritance from non-existing types
09:21 FROGGS ohh, wait
09:21 moritz FROGGS: it seems to take precedence over the 'ctypes' one
09:21 FROGGS m: my native long is repr("P6int") is Int is ctype("long") { };
09:21 camelia rakudo-moar 127c99: ( no output )
09:21 FROGGS there you go
09:21 FROGGS subs are perhaps not Mu:U
09:22 dalek doc/inline-pygments: b060886 | (Adrian Kreher)++ | htmlify.p6:
09:22 dalek doc/inline-pygments: Use Inline::Python to interact with pygments
09:22 dalek doc/inline-pygments:
09:22 dalek doc/inline-pygments: This is significantly faster when syntax highlighting but requires
09:22 dalek doc/inline-pygments: Inline::Python which is currently difficult to build. On my machine,
09:22 dalek doc/inline-pygments: htmlify with an external pygments takes around 22:20, while using it via
09:22 dalek doc/inline-pygments: Inline::Python took only 6:25.
09:22 dalek doc/inline-pygments: review: https://github.com/perl6/doc/commit/b0608864eb
09:22 FROGGS however, that works here, and so should NativeCall
09:22 FROGGS moritz: can you run that one liner please?
09:22 dolmen joined #perl6
09:23 avuserow I put the inline version as a branch. It still wants some better detection of Inline::Python
09:23 avuserow and I don't know how people feel about having it as a direct dependency
09:23 moritz FROGGS: doesn't work here
09:23 avuserow Plus Inline::Python needs some build work to be better. I couldn't get it to build on my machine or hack.p6c without some changes
09:24 moritz avuserow: thanks, putting it in a branch is a good choice
09:24 FROGGS moritz: then you need to pull I'd say
09:24 moritz FROGGS: maybe
09:28 larion joined #perl6
09:41 rurban joined #perl6
09:43 virtualsue joined #perl6
09:44 avuserow okay, so it looks like Inline::Python only has one problem building, not two as I thought before. I filed an issue, so hopefully we can consider Inline-based pygments use seriously in the near future :)
10:01 rindolf joined #perl6
10:03 dakkar joined #perl6
10:03 pdcawley joined #perl6
10:08 _mg_ joined #perl6
10:10 pecastro joined #perl6
10:14 khisanth__ joined #perl6
10:19 Ven joined #perl6
10:19 Kristien joined #perl6
10:28 Kristien can you have a Failure that's an aggregation of other Failures?
10:29 Kristien like a FailureSet
10:30 masak good antenoon, #perl6
10:31 Kristien m: say [] === []
10:31 camelia rakudo-moar 127c99: OUTPUT«False␤»
10:31 Kristien m: say [] eqv []
10:31 camelia rakudo-moar 127c99: OUTPUT«True␤»
10:32 virtualsue joined #perl6
10:33 Kristien m: say 1 == 1.0
10:33 camelia rakudo-moar 127c99: OUTPUT«True␤»
10:34 Kristien very nice
10:44 _mg_ joined #perl6
10:46 larion joined #perl6
10:55 espadrine_ joined #perl6
11:15 Ven joined #perl6
11:23 silug joined #perl6
11:24 lizmat good *, #perl6!
11:28 sjn \o
11:29 kjs_ joined #perl6
11:30 psch \o
11:32 psch lizmat: re: undesigned .trans features:  S05-transliteration/trans.t has much more content than S05 itself.  there's also a PR of mine passing all but one of the tests in there, but i suspect that might break your envisioned opt
11:33 dalek rakudo/nom: 506855b | lizmat++ | src/core/Str.pm:
11:33 dalek rakudo/nom: Make simple .trans about 20x faster
11:33 dalek rakudo/nom:
11:33 dalek rakudo/nom: There's some more room here, but at least this works and passes all the tests
11:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/506855b6a5
11:33 lizmat psch: you can judge for yourself  :-)
11:33 lizmat what is the PR ?
11:33 psch https://github.com/rakudo/rakudo/pull/317
11:35 psch oh, the opt is just the single-pair call
11:35 lizmat yes, the most common case
11:36 lizmat it should make http://rosettacode.org/wiki/Textonyms#Perl_6 about 15x faster, I would think
11:36 psch yeah, that should work out fine.  adverbs go the slow path as well if i see that right, so my PR shouldn't need more adjustment, if it still merges
11:37 rindolf joined #perl6
11:38 psch iirc tr/// gets that opt for free too.  lizmat++
11:38 dalek roast: 6f3ec3b | lizmat++ | S05-transliteration/trans.t:
11:38 dalek roast: Unfudge now passing test
11:38 dalek roast: review: https://github.com/perl6/roast/commit/6f3ec3b888
11:46 coffee` joined #perl6
11:53 alini joined #perl6
12:18 dalek rakudo/nom: c3da857 | lizmat++ | src/core/Str.pm:
12:18 dalek rakudo/nom: Improve simple .trans by another 15%
12:18 dalek rakudo/nom:
12:18 dalek rakudo/nom: Also fix handling on non-ranges (like B..A)
12:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3da857905
12:18 colomon joined #perl6
12:19 dalek rakudo/nom: e86659b | paultcochrane++ | lib/Test.pm:
12:19 dalek rakudo/nom: Add tentative implementations of like() and unlike()
12:19 dalek rakudo/nom:
12:19 dalek rakudo/nom: It is possible that the implementations could/should be generalised.  The
12:19 dalek rakudo/nom: string handling of Regexes could also be better.  Nevertheless, it's a
12:19 dalek rakudo/nom: start.
12:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e86659b626
12:19 dalek rakudo/nom: 69c1dc7 | lizmat++ | lib/Test.pm:
12:19 dalek rakudo/nom: Merge pull request #365 from paultcochrane/pr/add_like_unlike_to_test
12:19 dalek rakudo/nom:
12:19 dalek rakudo/nom: Add tentative implementations of like() and unlike()
12:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69c1dc75d6
12:20 [ptc] lizmat++
12:21 Ven [ptc]++
12:26 dalek roast: 36978a5 | lizmat++ | integration/advent2012-day10.t:
12:26 dalek roast: Replace locally grown like() by Test::like
12:26 dalek roast: review: https://github.com/perl6/roast/commit/36978a5c9c
12:29 psch i wonder if the tr/// adverbs warrant discussion.  not having them designed but still having tests did seem curious
12:29 psch ...but in the end, roast should be right, right?
12:32 lizmat yeah, that's the idea
12:33 ab5tract lizmat: did you see my messages about https://github.com/rakudo/rakudo/pull/362 ?
12:33 yoleaux 14 Feb 2015 19:30Z <lizmat> ab5tract: re https://github.com/rakudo/rakudo/pull/362 , I think colomon / TimToady should shine their light on that
12:33 yoleaux 14 Feb 2015 19:31Z <lizmat> ab5tract: I have merely implemented what colomon implemented in niecza
12:33 ab5tract oh, heehe
12:33 lizmat but getting burnt by them while doing this opt, was not so nice
12:34 ab5tract lizmat: the weirdest part is definitely the broken parsing when trying to use (^+) from a file (or when arguments are (...).Bag (^+) (...).Bag in the repl)
12:34 ab5tract i wondered if it might have something to do with our subtle precomp bugs
12:35 lizmat perhaps you should rakudobug it
12:35 lizmat timotimo: ping ?
12:36 ab5tract yeah, i considered that. unfortunately it's kind of tricky to introduce/reproduce, so i thought going through the branch which makes it visible was a good plan
12:37 dalek rakudo/newio: 7d49693 | FROGGS++ | src/Perl6/Metamodel/NativeHOW.nqp:
12:37 dalek rakudo/newio: handle C type names in "is nativesize" trait
12:37 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/7d49693e3b
12:37 dalek rakudo/newio: e4811fe | FROGGS++ | / (9 files):
12:37 dalek rakudo/newio: Merge branch 'nom' of github.com:rakudo/rakudo into longer
12:37 lizmat sorry dalek
12:37 dalek joined #perl6
12:41 dalek rakudo/nom: daa4a2e | lizmat++ | docs/ChangeLog:
12:41 dalek rakudo/nom: Add some ChangeLog entries
12:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/daa4a2e350
12:41 lizmat PSA: I'll be doing the Rakudo compiler release this Thursday (19 Fenruary)
12:41 lizmat Please add appropriate entries to ChangeLog that you feel are missing for some reason
12:42 lizmat .tell jnthn could you add rakudo ChangeLog entries for the work you've done in the past month?
12:42 yoleaux lizmat: I'll pass your message to jnthn.
12:43 lizmat can we actually already return unboxed items from a sub / method ???
12:44 moritz from a sub, yes
12:44 moritz and it has worked for quite some time
12:44 lizmat also from a method ?
12:44 moritz m: sub f() returns int { 42 }; my int $x = f; say $x
12:44 camelia rakudo-moar 506855: OUTPUT«42␤»
12:44 moritz lizmat: I don't know; it doesn't statically know that a native will be returned
12:45 lizmat while looking at https://github.com/rakudo/rakudo/pull/317/files
12:46 moritz nqp::unbox_s($result) as a return value looks suspicious
12:46 lizmat I was wondering whether returning an unboxed strf from get_next_substitution_result would make sense
12:47 psch iirc that came about because i moved code to that method, and the code had the unbox
12:47 lizmat and my $result = self.get_next_substitution_result; will only box it again
12:49 psch $!substituted_text in the pre of the diff has that unbox i was refering to
12:51 dalek rakudo/nom: cb01e8a | moritz++ | docs/ChangeLog:
12:51 dalek rakudo/nom: Add four more changelog entries
12:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb01e8ae27
12:51 psch tbh, i wasn't sure i understood how exactly LSM works anyway, so if the PR seems confused, that's probably why :s
12:52 lizmat looks like moritz was the original architect of that code
12:52 moritz nope
12:53 moritz I think masak++ did it
12:53 moritz I just touched most of it while trying to make it faster
12:53 lizmat aha  ok
12:57 kaleem joined #perl6
13:01 dalek rakudo/nom: 34fea9a | FROGGS++ | / (26 files):
13:01 dalek rakudo/nom: pull NativeCall into compiler codebase
13:01 dalek rakudo/nom:
13:01 dalek rakudo/nom: In the past we often had Rakudo<>NativeCall version mismatched that
13:01 dalek rakudo/nom: made clear how tight the compiler (vm) is coupled to NativeCall.
13:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34fea9abdf
13:01 lizmat FROGGS++
13:02 FROGGS :o)
13:02 moritz FROGGS++
13:02 moritz FROGGS: now make the zavolaj repo mostly empty
13:03 dalek rakudo/nom: f45dfa7 | FROGGS++ | docs/ChangeLog:
13:03 dalek rakudo/nom: add more changes
13:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f45dfa78a6
13:03 colomon woah!
13:03 FROGGS moritz: shall I? hmmm...
13:04 moritz FROGGS: well yes, all those projects in the ecosystem that depend on NativeCall shouldn't try to install a NativeCall.pm over the one shipped with rakudo
13:04 moritz FROGGS: and having the code base twice has only negative effects
13:04 grondilu joined #perl6
13:05 FROGGS I was thinking about making it work with 2015.01... but there is no way to do everything right it seems
13:05 grondilu what's going on here?  NativeCall is integrated in rakudo?  That's a big deal.
13:05 FROGGS grondilu: it is a mess otherwise
13:06 grondilu can I reasonably hope it is a step towards 'use nativelib <mylib>;'  ?
13:06 FROGGS it is very hard to sync a module and a compiler/vm... and NativeCall certainly wants a very specific version of rakudo/nqp/vm
13:06 FROGGS grondilu: it is unrelated
13:06 FROGGS grondilu: this would also imply that we ship C::Parser...
13:07 grondilu sure, but integrating NativeCall suggest you guys are thinking about doing something like that.
13:07 grondilu (which is awesome)
13:07 FROGGS well no, it is really just about what I said...
13:08 grondilu ok ok
13:08 FROGGS we allow passing Bufs in the backends, so you need a certain version of the vm *and* nativecall
13:08 FROGGS we fix the C long problem, and again you need very specific revisions of both sides
13:08 arnsholt use nativelib would (should?) probably require shared object parsing, rather than header parsing
13:09 FROGGS you you install NativeCall on an older rakudo (star), it won't work out
13:09 FROGGS arnsholt: how does that work on windows?
13:09 grondilu not sure.  doesn't gcc needs the headers in order to link and compile code to a library?
13:09 arnsholt No idea how to do it either on Linux or Windows
13:10 FROGGS grondilu: often you just install a lib via apt, without the headers
13:10 arnsholt True, we need the headers for the signatures
13:10 FROGGS gobject introspection is nice but is not there of every platform so to say
13:10 FROGGS on every*
13:10 arnsholt We can get the names of the symbols via the lib, but not the types. That's true
13:10 grondilu not when compiling.  I often have to install the -dev package, which contain headers.
13:10 FROGGS grondilu: but we dont compile anything ehre
13:10 FROGGS here*
13:11 grondilu well, I suppose we don't indeed.
13:12 masak yes, I wrote LSM.
13:12 FROGGS at least that would be the ideal world... often you want to load the lib provides by your package provider
13:12 masak I remember evolving it tests-first.
13:12 FROGGS provided*
13:12 FROGGS I cannot type today :o(
13:13 grondilu FROGGS: does that mean I should remove NativeCall from the panda install now?
13:13 FROGGS grondilu: what does that mean 'removing it from panda install'?
13:14 FROGGS it will already be there from now on
13:14 grondilu I thought there could be duplicates or something.
13:15 * grondilu has no idea where panda does install modules and if they can collide with those inside the rakudo tree
13:15 FROGGS right now you could install it via panda and it would work "by accident"
13:15 FROGGS but when NativeCall gets patched in rakudo you certainly would miss the patches in the zavolaj repository
13:16 grondilu isn't it a subrepo (in the git sense)?
13:16 lizmat FROGGS: I see failures in make test on parrot
13:17 FROGGS ewww
13:17 FROGGS grondilu: no
13:17 FROGGS lizmat: I'll look into that
13:17 lizmat https://gist.github.com/li​zmat/243be8a85efba7bbd614
13:18 FROGGS I'll care about that
13:19 lizmat also on jvm  :-(
13:19 FROGGS O.o
13:19 FROGGS I did know about the callbacks problem on parrot, but jvm was clean on all of my boxes
13:20 lizmat https://gist.github.com/li​zmat/a4f4646711a72d4c4211
13:20 FROGGS ohh
13:21 lizmat $ perl6-j t/04-nativecall/01-argless.t
13:21 lizmat 1..3
13:21 lizmat java.lang.UnsatisfiedLinkError: Unable to load library './01-argless.so': Native library (darwin/lib./01-argless.so.dylib) not found in resource path ([file:/Users/liz/Github/rakudo.jvm/, file:/Users/liz/Github/rakudo.jvm/​install/languages/perl6/runtime/, file:/Users/liz/Github/rakudo.jv​m/install/languages/perl6/lib/, file:/Users/liz/Github/rakudo.j​vm/install/languages/nqp/lib/])
13:21 lizmat in method postcircumfix:<( )> at lib/NativeCall.pm:142
13:21 lizmat in any  at gen/jvm/BOOTSTRAP.nqp:1697
13:21 lizmat in block <unit> at t/04-nativecall/01-argless.t:15
13:21 FROGGS lizmat: that's an osx 10.8.something problem... this is introduced by an update to osx
13:21 FROGGS ohh damn
13:21 FROGGS there is an ./01-argless.dylib?
13:22 FROGGS ohh I guess it was not built at all
13:22 FROGGS that make sense and should be fairly easy to fix
13:22 lizmat ok, just being the messenger here...
13:22 lizmat let me know if I need to test something
13:22 FROGGS lizmat++
13:23 dalek rakudo/newio: daa4a2e | lizmat++ | docs/ChangeLog:
13:23 dalek rakudo/newio: Add some ChangeLog entries
13:23 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/daa4a2e350
13:23 dalek rakudo/newio: cb01e8a | moritz++ | docs/ChangeLog:
13:23 dalek rakudo/newio: Add four more changelog entries
13:23 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/cb01e8ae27
13:23 dalek rakudo/newio: 34fea9a | FROGGS++ | / (26 files):
13:23 dalek rakudo/newio: pull NativeCall into compiler codebase
13:23 dalek rakudo/newio:
13:23 dalek rakudo/newio: In the past we often had Rakudo<>NativeCall version mismatched that
13:23 dalek rakudo/newio: made clear how tight the compiler (vm) is coupled to NativeCall.
13:23 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/34fea9abdf
13:23 dalek rakudo/newio: f45dfa7 | FROGGS++ | docs/ChangeLog:
13:23 dalek rakudo/newio: add more changes
13:23 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/f45dfa78a6
13:23 dalek rakudo/newio: cff15ff | lizmat++ | / (27 files):
13:23 dalek rakudo/newio: Merge branch 'nom' into newio
13:23 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/cff15ff254
13:23 alini_ joined #perl6
13:25 dalek rakudo/nom: 0095545 | FROGGS++ | t/04-nativecall/ (7 files):
13:25 dalek rakudo/nom: include string.h to please latest osx
13:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/009554520a
13:26 FROGGS lizmat: that should make it work on the jvm
13:31 lizmat testing
13:32 lizmat same, reconfiguring and building from scratch
13:32 FROGGS hmmmm
13:32 DarkLoord joined #perl6
13:33 FROGGS lizmat: what's the output of perl6-j t/04-nativecall/01-argless.t ?
13:34 lizmat rebuilding atm, will tell you in a (bit longer) mo
13:34 FROGGS yeah, no hurry
13:36 DarkLoord left #perl6
13:37 * lizmat wonders whether we'll see more people online from the US today, or less (as it's President's Day today :-)
13:38 lizmat FROGGS: $ perl6-j t/04-nativecall/01-argless.t
13:38 lizmat 1..3
13:38 lizmat java.lang.UnsatisfiedLinkError: Unable to load library './01-argless.so': Native library (darwin/lib./01-argless.so.dylib) not found in resource path ([file:/Users/liz/Github/rakudo.jvm/, file:/Users/liz/Github/rakudo.jvm/​install/languages/perl6/runtime/, file:/Users/liz/Github/rakudo.jv​m/install/languages/perl6/lib/, file:/Users/liz/Github/rakudo.j​vm/install/languages/nqp/lib/])
13:38 lizmat in method postcircumfix:<( )> at lib/NativeCall.pm:142
13:38 * FROGGS wonders if we hit the 250 ppl mark in Feb and when we'll hit the 300 ppl mark...
13:38 FROGGS lizmat: but is there a 01-argless.* in your build directory?
13:39 FROGGS I wonder how nativecall could have worked on osx
13:39 lizmat $ ls -ls 01-argless.*
13:39 lizmat 24 -rwxr-xr-x  1 liz  macports  8460 Feb 16 14:37 01-argless.dylib
13:39 lizmat 8 -rw-r--r--  1 liz  macports  1260 Feb 16 14:37 01-argless.o
13:40 lizmat FROGGS: fwiw, it works fine with moar
13:40 FROGGS okay, so nativecall does not get the fileextension right for osx
13:41 alini joined #perl6
13:42 FROGGS m: say $*VM.config<load_ext>
13:42 camelia rakudo-moar f45dfa: OUTPUT«(Any)␤»
13:42 FROGGS m: say $*VM.config<dll>
13:42 camelia rakudo-moar f45dfa: OUTPUT«lib%s.so␤»
13:43 lizmat FROGGS: I get (any) on both here for perl6-j
13:43 lizmat *Any
13:43 FROGGS me too on linux
13:45 muraiki me too on freebsd
13:45 FROGGS $ perl6-j -e 'say $*VM.config<nativecall.so>' # "so"
13:46 FROGGS that's what we need to use I think
13:46 lizmat $ perl6-j -e 'say $*VM.config<nativecall.so>'
13:46 lizmat dylib
13:46 FROGGS k
13:47 FROGGS p: say $*VM.config<load_ext>
13:47 camelia rakudo-parrot f45dfa: OUTPUT«.so␤»
13:47 xfix joined #perl6
13:48 dalek rakudo/nom: bbe942f | FROGGS++ | lib/NativeCall.pm:
13:48 dalek rakudo/nom: consider lib file extension info on jvm backend
13:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bbe942f933
13:48 FROGGS I hope that helps
13:48 FROGGS though, I still wonder why it concats the file this way in the paste: darwin/lib./01-argless.so.dylib
13:49 _mg_ joined #perl6
13:49 lizmat darwin/lib ~ ./01-argless.so.dylib ?
13:49 DarkLoord joined #perl6
13:51 dalek rakudo/newio: 0553859 | lizmat++ | src/core/io_operators.pm:
13:51 dalek rakudo/newio: chdir() returns new $*CWD also
13:51 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/055385920f
13:51 dalek rakudo/newio: fb94d3f | lizmat++ | t/01-sanity/51-filetest.t:
13:51 dalek rakudo/newio: Hopefully last IO.i/.v -> .inode/.device refactor
13:51 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/fb94d3f62b
13:52 FROGGS lizmat: aye, but where does that come from? ./ clearly indicates a path one does not just prepend stuff to
13:52 mrf joined #perl6
13:53 lizmat are those .o .dylib files only needed for the tests ?
13:54 FROGGS yes
13:54 lizmat alas, still the same error
13:54 FROGGS but the text should at least change slightly...
13:55 lizmat $ perl6-j t/04-nativecall/01-argless.t
13:55 lizmat 1..3
13:55 lizmat java.lang.UnsatisfiedLinkError: Unable to load library './01-argless.dylib': Native library (darwin/lib./01-argless.dylib.dylib) not found in resource path ([file:/Users/liz/Github/rakudo.jvm/, file:/Users/liz/Github/rakudo.jvm/​install/languages/perl6/runtime/, file:/Users/liz/Github/rakudo.jv​m/install/languages/perl6/lib/, file:/Users/liz/Github/rakudo.j​vm/install/languages/nqp/lib/])
13:55 lizmat in method postcircumfix:<( )> at lib/NativeCall.pm:143
13:55 FROGGS ahh
13:55 sqirrel_ joined #perl6
13:55 FROGGS interesting
13:55 Mouq joined #perl6
13:56 FROGGS now I'd need an osx box :o(
13:57 xfix joined #perl6
13:58 alini_ joined #perl6
13:59 kaleem joined #perl6
14:01 yeahnoob joined #perl6
14:06 grondilu the word "octet" is used a few times in the specs.  Can I replace it with "bytes"?
14:06 grondilu ("octet" is French for "byte")
14:07 huf octet is also a more specific word for "byte of 8 bits"
14:07 moritz what huf said
14:07 huf from the days of N-bit bytes (7? 6? 9?)
14:07 moritz there are some contexts (mostly ancient machines, but also ancient programmers) where bytes aren't automatically 8 bit
14:07 grondilu isn't a byte necessarily 8 bits?
14:07 grondilu oh, ok
14:07 huf _now_ it is. but i think c would be happy with some other size
14:08 dalek rakudo/nom: d42e171 | lizmat++ | src/RESTRICTED.setting:
14:08 dalek rakudo/nom: Disallow use of NativeCall in restricted setting
14:08 dalek rakudo/nom:
14:08 dalek rakudo/nom: timotimo++ for reminding me
14:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d42e171ac4
14:15 lizmat FROGGS: would that be enough to stop NativeCall ?  ^^^
14:15 grondilu $ perl6 -e 'say uint.Range.max.log / log(2);'
14:15 lizmat or would I need to de-activate "is native" trait ?
14:15 grondilu ^ 64
14:16 * grondilu would have expected 32 on his machine
14:17 moritz m: say uint.Range.max.log(2)
14:17 camelia rakudo-moar f45dfa: OUTPUT«64␤»
14:17 FROGGS lizmat: NativeCall is not a class, so your patch is a noop
14:17 lizmat m: use NativeCall
14:17 camelia rakudo-moar f45dfa: ( no output )
14:18 FROGGS also, the restricted setting overwrites stuff from the setting... but nativecall is not part of the setting
14:18 lizmat duh  :-)
14:18 lizmat hmmm...
14:19 FROGGS as I mentioned a few times already I think the only way to really have a restricted setting is to redefine the problematic nqp:: ops
14:19 FROGGS m: use NativeCall; sub malloc(int32) is native { }; malloc(1024)
14:19 camelia rakudo-moar f45dfa: ( no output )
14:20 FROGGS m: nqp::bindhllsym('nqp', 'nativecallbuild', Mu); use NativeCall; sub malloc(int32) is native { }; malloc(1024)
14:20 camelia rakudo-moar f45dfa: ( no output )
14:20 FROGGS hmmm
14:21 jnthn I also think if we want real security we'd better be solving it at a deeper level
14:21 yoleaux 14 Feb 2015 11:47Z <lizmat> jnthn: the PIO role is consumed by IO::Handle / IO::Socket / IO::Dup (the class handling $*IN and friends)
14:21 yoleaux 14 Feb 2015 11:47Z <lizmat> jnthn: fwiw, as I stated before, I'm fine with PIO, as it is the Perl Io Object
14:21 FROGGS I thought I somehow managed to redefine an op...
14:21 yoleaux 12:42Z <lizmat> jnthn: could you add rakudo ChangeLog entries for the work you've done in the past month?
14:21 crux joined #perl6
14:23 FROGGS ahh, I start to remember
14:23 molaf joined #perl6
14:24 noganex_ joined #perl6
14:25 FROGGS m: nqp::getcomp('QAST').operations.add_hll_op('nqp', 'buildnativecall', Mu); use NativeCall; sub malloc(int32) is native { }; malloc(1024)
14:25 camelia rakudo-moar f45dfa: ( no output )
14:25 FROGGS :o8
14:25 FROGGS :o(
14:25 FROGGS m: BEGIN nqp::getcomp('QAST').operations.add_hll_op('nqp', 'buildnativecall', Mu); use NativeCall; sub malloc(int32) is native { }; malloc(1024)
14:25 camelia rakudo-moar f45dfa: ( no output )
14:25 FROGGS damn
14:26 moritz anybody with enough knowledge to abuse nqp:: ops could probably obtain a commit bit, and sneak some nastiness into some build script or another
14:26 FROGGS true, but here are quite some code reviewers :o)
14:27 dalek rakudo/nom: e7a00b0 | lizmat++ | lib/NativeCall.pm:
14:27 dalek rakudo/nom: Fix deprecated use of $*OS
14:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7a00b0fca
14:28 timotimo o/
14:29 FROGGS hi timotimo
14:32 dalek rakudo/nom: 5812978 | lizmat++ | src/RESTRICTED.setting:
14:32 dalek rakudo/nom: Hopefully better temp fix disallowing "is native"
14:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5812978ac4
14:32 telex joined #perl6
14:33 FROGGS hmmm
14:33 lizmat m: use NativeCall
14:33 camelia rakudo-moar f45dfa: ( no output )
14:33 FROGGS lizmat: did you test it?
14:33 lizmat not sure how
14:33 FROGGS use NativeCall; sub malloc(int32) is native { }; malloc(1024)
14:33 FROGGS that should fail ideally
14:33 FROGGS but I think it does not
14:34 lizmat not sure how I can run restricted setting locally
14:34 moritz perl6-m --setting=RESTRICTED or something
14:34 moritz you can always look into how camelia does it
14:34 moritz https://github.com/perl6/evalb​ot/blob/master/evalbot.pl#L130
14:34 FROGGS moritz: perl6-m --help does not list it
14:35 lizmat indeed, that doesn't stop it :-(
14:36 moritz stop this nonesense already
14:36 timotimo at least you need to "use nqp" in order to use nqp ops directly
14:36 moritz star-m has had nativecall available for years now
14:36 FROGGS lizmat: the problem is that 'use NativeCall' export the trait into your namespace and scribbles over the candidates of the restricted setting
14:36 FROGGS timotimo: is that so?
14:36 timotimo i think so?
14:37 timotimo m: nqp::say("hi")
14:37 camelia rakudo-moar bbe942: OUTPUT«hi␤»
14:37 timotimo er ... apparently not :)
14:37 FROGGS :o)
14:37 moritz no, but 'use nqp;' has been made available
14:37 dalek rakudo/nom: 6a647ed | lizmat++ | src/RESTRICTED.setting:
14:37 dalek rakudo/nom: Revert "Hopefully better temp fix disallowing "is native""
14:37 dalek rakudo/nom:
14:37 dalek rakudo/nom: Stopping the nonsense, moritz++
14:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6a647ed5d4
14:37 moritz m: use nqp; say 'alive'
14:37 camelia rakudo-moar bbe942: OUTPUT«alive␤»
14:37 moritz sorry if tha was rude
14:37 FROGGS yes, now we just need to properly fiddle with nqp ops...
14:37 FROGGS well, "now"
14:37 moritz FROGGS: I have a branch for that
14:38 lizmat moritz: no offense taken  :-)
14:38 moritz FROGGS: branch use-nqp
14:38 FROGGS then we can also disable the socket ops, and can export the socket classes again...
14:38 moritz FROGGS: the forbidding part works, the allowing-in-core doesn't work :-)
14:38 FROGGS ahh :o)
14:39 yeahnoob joined #perl6
14:39 FROGGS hmmm
14:40 FROGGS that would mean that we just not enable "allow-nqp" for camelia somehow
14:40 FROGGS so that a 'use nqp' would not work here
14:40 FROGGS moritz++ # https://github.com/rakudo/rakudo/compare/use-nqp
14:41 kjs_ joined #perl6
14:42 moritz well, then somebody could still add 'use nqp;' on the command line
14:42 FROGGS right
14:42 FROGGS but not here perhaps
14:42 moritz otoh, nqp ops here are really handy
14:43 FROGGS perl6-m -e 'nqp::say("42")' # NOK
14:43 FROGGS perl6-m -e 'use nqp; nqp::say("42")' # OK
14:43 FROGGS perl6-m --allow-nqp -e 'nqp::say("42")' # OK
14:43 FROGGS perl6-m --disallow-nqp -e 'nqp::say("42")' # NOK
14:43 FROGGS perl6-m --disallow-nqp -e 'use nqp; nqp::say("42")' # NOK
14:43 FROGGS or so
14:44 FROGGS but I am just musing...
14:44 dalek rakudo/nom: 5899abe | lizmat++ | t/04-nativecall/CompileTestLib.pm:
14:44 dalek rakudo/nom: Look up $*VM only once
14:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5899abe6c4
14:55 kaleem joined #perl6
14:55 molaf_ joined #perl6
14:58 TgMts joined #perl6
15:00 dalek rakudo/nom: f4379c6 | lizmat++ | t/04-nativecall/CompileTestLib.pm:
15:00 dalek rakudo/nom: Cleanup files created for testing
15:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f4379c654b
15:02 FROGGS m: unlink "barbazboo"; say "alive"
15:02 camelia rakudo-moar bbe942: OUTPUT«unlink is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub unlink at src/RESTRICTED.setting:19␤  in block <unit> at /tmp/bV71St9pbg:1␤␤»
15:02 FROGGS ahh, does not die (anymore?)
15:02 lizmat m: "barbazboo".IO.unlink; say "alive"
15:02 camelia rakudo-moar bbe942: OUTPUT«alive␤»
15:03 lizmat :-(
15:03 FROGGS no, that's good IMO
15:03 FROGGS at least, it is good for your patch
15:03 lizmat ??
15:04 FROGGS if we were unable to create a file, and we would explode only complaining about the fact that we cannot delete a non-existing file that would be annoying
15:04 FROGGS I just wanted to check that we don't need a 'try unlink $file' there
15:04 lizmat ah, ok
15:05 lizmat m: say "barbazboo".IO.unlink
15:05 camelia rakudo-moar bbe942: OUTPUT«True␤»
15:05 lizmat so much for that idea :-(
15:05 mrf joined #perl6
15:05 lizmat p: say "barbazboo".IO.unlink
15:05 camelia rakudo-parrot bbe942: OUTPUT«True␤»
15:06 moritz it unlinked successfully?
15:06 lizmat no, it just returns true
15:08 ruoso Do we have a BNF/EBNF grammar implementation already? I just came across the Grammar Zoo, and it would be nice if we could just use those.. http://slps.github.io/zoo/
15:10 colomon I was messing around with one at one point, let me see what I can find
15:11 lizmat FROGGS: hmmm..  double .dylib?  Unable to load library './01-argless.dylib': Native library (darwin/lib./01-argless.dylib.dylib)
15:13 FROGGS lizmat: something pre-/appends path information
15:13 FROGGS I'd need a osx box to play around...
15:13 FROGGS it is hard to guess a fix
15:13 lizmat but the c_line and l_line are correct in CompileTestLib.pm
15:13 FROGGS yes, we compile correctly
15:13 Ven joined #perl6
15:14 FROGGS the "is native('./argless')" is the problematic bit
15:14 lizmat if I copy the file to .dylib.dylib, it still fails
15:15 lizmat so maybe the error message is (also) wrong
15:15 FROGGS we pass "./01-argless.dylib" to the library loader, and that does not seems to understand it
15:15 colomon ruoso: not quite a module, and not quite BNF: https://github.com/colomon/perl6-WSN
15:16 colomon and also not functional at the moment, it seems
15:17 pmichaud good morning, #perl6
15:17 FROGGS hi pmichaud
15:17 lizmat pmichaud o/
15:17 ruoso [D[C
15:17 colomon \o
15:20 ruoso I guess I'll start writing the grammar to parse EBNF, then I'll figure out how to make it into a meta-grammar
15:21 FROGGS ruoso: like you can create classes using the MOP you can perhaps create a Grammar that way...
15:21 timotimo should be possible
15:22 atta joined #perl6
15:23 atta hi. what's the most up-to-date emacs mode for perl 6?
15:24 * FROGGS is not an emacs user
15:24 raiph joined #perl6
15:25 timotimo i admire emacs from afar
15:33 atta i checked the 'whatever' section in perl6.org, but wanted to know if someone used some other version or something
15:35 moritz atta: there are few emacs users around here, so you might need to hang out longer to get an answer
15:35 lizmat .tell jnthn on MoarVM, delete_f does not return any value, this makes nqp::unlink flaky afaics.  Is there a reason for that ?
15:35 yoleaux lizmat: I'll pass your message to jnthn.
15:36 adu joined #perl6
15:36 colomon ruoso: I’ve just pushed a version of wsn2p6 that works again, at least somewhat.
15:37 atta moritz: thanks. i will be around
15:38 Mouq joined #perl6
15:39 colomon Is p6 supposed to complain if you have a non-optional named argument to MAIN and that argument is not actually given on the command-line?
15:39 moritz colomon: yes
15:39 colomon it’s not
15:39 moritz m: sub MAIN(:$named!) { say 42 }
15:39 camelia rakudo-moar f4379c: OUTPUT«Usage:␤  /tmp/aY1MntNsBk --named=<Any> ␤»
15:39 moritz it is, here
15:40 moritz colomon: you realize that named args are optional by default?
15:40 colomon moritz: apparently I didn't
15:41 * colomon fixes his code
15:46 Mouq atta: I don't know how good it is, but there's https://github.com/lue/p6mode
15:50 pmichaud now posted:  http://pmthium.com/2015/02​/suspending-rakudo-parrot/
15:50 btyler reminder ping about GSoC: mdk said they had a week to flesh out the ideas page, that was three days ago: http://blogs.perl.org/users/shadowcat_m​dk/2015/02/gsoc-i-need-your-ideas.html
15:51 btyler idea/mentor pairs can be submitted to this google doc: https://docs.google.com/document/d/120zZBQ​27glXUn0vbkQPMK3mNTMo2GtMFv8lqiMca6ls/edit
15:51 pmichaud I have other errands to run this morning -- bbl.
15:52 lizmat pmichaud++
15:54 rurban1 joined #perl6
15:54 dalek rakudo/nom: 95ef1af | Mouq++ | docs/ChangeLog:
15:54 dalek rakudo/nom: Add a ChangeLog entry
15:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95ef1af498
15:57 PerlJam could some of the Rakudo-on-Parrot changes work for the Google Summer of Code?
15:57 lizmat I guess technically, that could work
15:58 lizmat but GSoC is for talented newbies, right?
15:58 btyler yes
15:58 lizmat feels like a steep curve a newbie would need to climb up against
15:59 btyler peanut gallery here, but I think "fix up compatibility with the semi-deprecated backend" is not the most exciting sounding thing
15:59 dalek rakudo/newio: 0095545 | FROGGS++ | t/04-nativecall/ (7 files):
15:59 dalek rakudo/newio: include string.h to please latest osx
15:59 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/009554520a
15:59 dalek rakudo/newio: bbe942f | FROGGS++ | lib/NativeCall.pm:
15:59 dalek rakudo/newio: consider lib file extension info on jvm backend
15:59 lizmat sorry dalek
15:59 timotimo i'm with btyler on this one
15:59 Ven joined #perl6
15:59 timotimo if rurban has cool stuff to offer, that'd be all right
15:59 hoelzro o/ #perl6
15:59 dalek joined #perl6
16:00 PerlJam we (or someone) could add it to the list of potential projects and see if anyone bites
16:00 timotimo but if it's the rakudo people who'd offer a project based on parrot, that could end up not so nice
16:00 PerlJam (particularly if rurban is willing to mentor)
16:01 FROGGS btyler: I added our ideas
16:01 btyler woo, FROGGS++
16:01 skids joined #perl6
16:03 FROGGS moritz / brrt / jnthn / timotimo: I added you as potential mentors for: https://docs.google.com/document/d/120zZBQ​27glXUn0vbkQPMK3mNTMo2GtMFv8lqiMca6ls/edit
16:03 timotimo i just saw
16:04 FROGGS moritz / brrt / jnthn / timotimo: shout at me (or remove yourself) if that's not what you want :o)
16:05 atta Mouq: i was in lue's gihutb, but had not tried. checking it. github's /jrockway/cperl-mode/blob/mx​d-perl6-merge/cperl-mode.el seems to have some errors
16:06 FROGGS lizmat: you have to keep in mind that sergot and brrt were also gsoc students (and tadzik too IIRC)
16:06 FROGGS lizmat: it will works well with the right ppl
16:06 tadzik yep, I was
16:07 rurban1 left #perl6
16:09 * FROGGS .oO( When I was your age, Pluto was a planet! )
16:11 moritz it's still is, in a corner of my heart
16:11 FROGGS aye
16:13 PerlJam pluto is still a planet depending on your definition of "planet" too  :)
16:13 tadzik next thing they'll say that greenland is not a continent
16:14 huf common speech drifts away from jargon? shocking, truly.
16:19 sqirrel_ joined #perl6
16:24 ruoso what is a nice way to print out the structure of the match? something that returns a simpler output than .gist
16:25 masak ruoso: custom multi?
16:25 ruoso hmm... good point
16:25 timotimo yeah, it's a bit annoying that matches show the original string for every single submatch :)
16:27 eternaleye joined #perl6
16:28 ruoso hmm.. i translated the ebnf grammar from the grammar zoo, but it seems it's not the most optimal parse tree...
16:28 arnsholt You can show subrule matches with brackets, probably
16:28 arnsholt Like Qtree notation: [.S [.NP ... ] [.VP ... ] ]
16:29 hoelzro I just noticed that the syntax highlighting on doc.perl6.org is live.  nice job, everyone!
16:29 timotimo i'd like an HTML output that'd prettify and interactify match results
16:30 timotimo if integrated with the debugger hooks, it could even show stuff like "how often did the grammar/regex backtrack over any given character"
16:32 ruoso I guess I should install Grammar::Tracer
16:38 echowuhao joined #perl6
16:42 mr-foobar joined #perl6
16:46 timotimo i can be a real-life gsoc mentor this time 'round!
16:46 dalek rakudo/newio: 3c5cb37 | lizmat++ | src/core/ (3 files):
16:46 dalek rakudo/newio: Replace :check with :dontcheck flag
16:46 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/3c5cb37f5c
16:46 timotimo and order a GSoC tshirt with the right size this time %)
16:47 * Ven certainly would like to be taught by timo on how to run his game on mac *g*
16:47 timotimo Ven: god damn it, macs
16:48 timotimo btw, i'm in the process of porting it to SDL2. very, very slowly :)
16:48 timotimo it should be much easier to run that on a mac
16:48 Ven yes, I've done some sdl2 already on that mac
16:49 timotimo even with my binding?
16:49 Ven no, in C
16:49 timotimo 'k
16:49 timotimo did you try running my binding though? it has an examples/ folder
16:49 Ven did not - not yet
16:50 * FROGGS has a patch for NativeCall@perl6-p...
16:50 * Ven proceeds to clone timo's repo
16:51 timotimo it'd be cool if you told me about functions you deem important that are missing from the binding
16:51 FROGGS Ven: I hope you have your cloneshoes on today :o)
16:51 FROGGS bbiab
16:51 Ven uh
16:52 kjs_ joined #perl6
16:54 Ven 'long' cannot inherit from 'ctype' because it is unknown. at lib/NativeCall.pm6:68  whoops?
16:55 timotimo it's a new trait
16:55 timotimo i didn't react to the move of nativecall into rakudo tiself
16:55 timotimo itself*
17:02 Mouq joined #perl6
17:05 lizmat dinner&
17:06 timotimo the description and title of "Perl 6 on CPAN" seem kind of mismatched
17:07 timotimo google docs' comment feature <3
17:07 colomon joined #perl6
17:08 Ven well, I can't build nativecall
17:08 timotimo yeah
17:08 timotimo nativecall is "inside" rakudo now
17:09 timotimo you'll need a Configure.pl
17:09 timotimo need to run*
17:11 FROGGS joined #perl6
17:11 dalek nqp: 78e9940 | FROGGS++ | src/vm/parrot/ops/nqp_dyncall.ops:
17:11 dalek nqp: do not free C string we pass to/get from callbacks
17:11 dalek nqp:
17:11 dalek nqp: This is consistant with what we do in MoarVM.
17:11 dalek nqp: review: https://github.com/perl6/nqp/commit/78e9940fa2
17:12 dalek rakudo/nom: fac6654 | FROGGS++ | tools/build/NQP_REVISION:
17:12 dalek rakudo/nom: get nqp with NativeCall@parrot fixes
17:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fac66543ba
17:12 _mg_ joined #perl6
17:17 Akagi201 joined #perl6
17:17 ugexe moritz: Mouq: its certainly possible there is infinite recursion in the grammar. the odd thing though is whatever the reason for the infinite loop, it doesn't occur if i 'use Grammar::Debugger' or 'use Grammar::Tracer'. so 'my $parser = XX::Parser.parse($text); say $parser.perl' will never reasch 'say $parser.perl' unless grammar:debugger is used. fwiw the grammar is at https://github.com/ugexe/Perl6-IETF--RFC_Gramm​ar--HTTP/blob/master/lib/IETF/RFC_Grammar/RFC5
17:19 ugexe thought maybe a slight change in back tracking or something
17:27 diana_olhovik_ joined #perl6
17:29 Akagi201_ joined #perl6
17:30 Ven timotimo: IT WORKS!
17:31 mr-foobar joined #perl6
17:31 noganex_ joined #perl6
17:31 sven_123 joined #perl6
17:31 dj_goku joined #perl6
17:31 sivoais joined #perl6
17:31 pierrot joined #perl6
17:31 Woodi joined #perl6
17:31 pyrimidine joined #perl6
17:31 raydiak joined #perl6
17:31 jakesyl joined #perl6
17:31 hahainternet joined #perl6
17:31 jercos joined #perl6
17:31 felher joined #perl6
17:31 breinbaas joined #perl6
17:31 vike joined #perl6
17:31 masak joined #perl6
17:31 pochi joined #perl6
17:31 petercommand joined #perl6
17:31 betterwo1ld joined #perl6
17:31 Timbus joined #perl6
17:31 jnthn joined #perl6
17:31 pmichaud joined #perl6
17:31 go|dfish joined #perl6
17:31 dg joined #perl6
17:31 ashleydev joined #perl6
17:31 Guest83546 joined #perl6
17:31 psch joined #perl6
17:31 apejens joined #perl6
17:31 Ven timotimo: I love how you force GC :P
17:32 sivoais joined #perl6
17:33 timotimo ;)
17:40 perlfan joined #perl6
17:42 Kristien joined #perl6
17:43 Kristien hi
17:44 Ven o/
17:44 * TimToady wonders if negative sums of a positive infinite series is a sign of an event horizon caused by the information density of the big numbers on the right, and proof that our universe *must* be in a black hole...
17:44 TimToady \o too :)
17:46 Kristien I solved the halting problem!
17:47 flussence https://status.haskell.org/ ouch.
17:47 Kristien sub halts($program) { loop { } }
17:47 geekosaur halt and catch fire?
17:48 TimToady does that return a negative value?
17:48 Kristien I find it funny how clang optimises this to a no-op: void f() { f(); }
17:49 Kristien A stack overflow results in undefined behaviour so it's just removed from the code automatically. :D
17:49 TimToady over the weekend, I was thinking to myself that if we really followed the principle of "Everything should be as simple as possible, but no simpler," we'd all be required to program Turing machines :)
17:49 Alina-malina joined #perl6
17:50 adu joined #perl6
17:50 TimToady but that's the sort of reasoning people apply to programming languages all the time
17:54 arnsholt Heh
17:54 arnsholt That's one of the things I point out to our undergrads: Turing machines are tedious as hell to program
17:55 Ven TimToady: I love how that quote was made simpler than it actually was :D
17:55 Kristien TimToady: especially nondeterministic ones
17:55 Kristien they are much more useful
17:59 gfldex joined #perl6
18:00 * grondilu sees loop {} in the backlog and can't help reminding everyone his meditation about it:  http://perlmonks.org/?node_id=1057242
18:01 |Tux| It is a shame that malformed UTF-8 reads do not show the bad line
18:01 yoleaux 13 Feb 2015 20:03Z <lizmat> |Tux|: what's the problem with IO::Handle.chomp and a loop with .get ? I don't see any problem
18:01 |Tux| Error while reading from file: Malformed UTF-8
18:01 TimToady yes, that is LTA
18:01 Kristien You can optimise loop { } to destroy the thread!
18:02 Ven joined #perl6
18:02 TimToady but how will I use my computer for a space heater if you optimize it away!?!
18:02 nine_ lizmat: is there any way to avoid the negation in the dontcheck flag? Negated booleans make code really harder to read.
18:03 Kristien C++ standard says that an implementation can assume a thread either produces side-effects or terminates.
18:03 Kristien So for (;;); in C++ has undefined behavior.
18:04 Kristien I have yet to see an implementation optimise it away, though.
18:04 sqirrel_ joined #perl6
18:04 Ven Kristien: I'd love to see it
18:04 Kristien It'd probably break existing code.
18:04 TimToady heat is a side effect
18:04 FROGGS lol
18:04 * grondilu wishes he had mentioned the comparison with what happens when you try to cycle when the chain has jumped.  You just can't.  It's hard to turn it when there is no resistance whatsoever.
18:04 mvuets joined #perl6
18:05 lizmat nine_: well, the alternative would be :$check = True
18:05 Kristien if heat is a side-effects you can't optimise anything for speed :P
18:05 FROGGS TimToady: that's only true when somebody observes it :o)
18:05 Kristien because the optimisations would break the observable behavior
18:05 TimToady the death of the universe observes the heat :)
18:05 lizmat nine_: which I don't like for performance reasons
18:05 lizmat nine_: having said that, maybe I should check into the performance difference
18:06 arnsholt Kristien: Well, the only trivially optimisable variant of that is for(;;) {}
18:06 skids In crypto functions there is sometimes a need to prevent certain optimizations, to prevent side-channel attacks.  FWIW.
18:06 arnsholt If there's code inside it's harder to determine certainly that it's dead code
18:06 Ven Kristien: disagree. it'll just heat in another branch of code
18:06 TimToady but I want to know if the cat is radioactive now
18:06 Kristien it'll heat at compile-time!
18:07 * TimToady wonders if the universe is still compiling...
18:07 Kristien I wonder if sleep(1) is considered a side-effect.
18:07 jercos TimToady: just in time, perhaps?
18:07 Kristien to be truly safe you can do static unsigned volatile x = 0; for (;;++x) { } :)
18:08 nine_ lizmat: reminds me a bit of premature optimization. I sure hope that Rakudo's optimizer will become smart enough to make the performance difference go away but what stays is the API.
18:08 Ven Kristien: unsigned so that it can go higher? you can put `x = 0` in the loop :P
18:08 lizmat nine_: you're completely right, fixing  nine_++
18:08 Kristien Ven: because overflow is undefined behavior for signed integers
18:08 jack_rabbit joined #perl6
18:08 Kristien and not for unsigned ones
18:08 skids e.g. MMD caching probably will need to be turned off in tight crypto loops so that you can't leak information based on execution speed.  So there should be a pragma or something for that.
18:08 Ven fair enough I guess?
18:09 TimToady so obviously 1 + 2 + 3 + 4 + … is being calculated in signed integers
18:09 Kristien which is why in my VM I have to resort to assembly code for signed operations
18:09 Kristien because x86-64 defines it well
18:19 Mouq joined #perl6
18:37 _mg_ joined #perl6
18:43 kurahaupo1 joined #perl6
18:48 PerlJam good $localtime all
18:48 * hoelzro .oO( everytime I see "Great List Refactor", I think about "Great Vowel Shift" )
18:49 PerlJam hoelzro: would it help if we repurposed the G for "Grand" rather than "Great" ?   :)
18:50 masak PerlJam: Groit Lyst Refoctor
18:50 TimToady Glorious!
18:50 lizmat ,oO( I Am Groot )
18:50 tadzik :D
18:50 Kristien Great Prix
18:51 DrForr_ Best role Vin Diesel's ever had.
18:51 lizmat I Am Groot
18:52 Kristien I Am Kristien
18:52 Kristien I Am A Perl Programmer
18:52 timotimo i am programmer
18:52 timotimo hear me roar
18:52 Kristien I am pro-grammar.
18:53 Kristien I am bad at puns.
18:53 TimToady Ich bin ein Mountainviewer.
18:53 lizmat .oO( IRC lack inflection and emphasis to continue saying "I Am Groot" and make sense :-)
18:53 masak lizmat: I AM GROOT
18:54 lizmat .oO( so glad I'm not from Frankfurt )
18:54 Kristien I am making a GC.
18:54 PerlJam lizmat: I dunno ...  I *am* Groot.   I am Groot?   etc.
18:54 jdv79 what's in frankfurt?
18:54 PerlJam Kristien: your puns are fine until you self-reference them, then they collapse  :)
18:55 DrForr_ Jelly donuts.
18:55 jdv79 i did not enjoy that city for the yapc.  might have been partly because there was no A/C and it was too hot.
18:55 jdv79 instead of sleeping i felt like i was swimming
18:56 lizmat .oO( ich bin ein Frankfurter )
18:56 * masak .oO( waterbed theory )
18:57 timotimo the waterbest theory
18:57 TimToady my waterbed is full of frankfurters...
18:57 timotimo franken furter?
18:57 DrForr_ Better than eels.
18:57 lizmat my hovercraft is full of eels
18:57 jercos my hovercraft is full of eels
18:57 jercos oh
18:57 TimToady same sort of shape though
18:57 lizmat hehe
18:57 masak timotimo: please, don't take that pun any furter...
18:58 TimToady he said frankly
18:58 lizmat let's do the time warp!
18:58 jercos again?
18:58 DrForr_ Hey, I currently lve in Transylvania.
18:58 DrForr_ *live
18:58 masak DrForr_: does the 'Dr' stand for 'Drakula'?
18:58 * masak .oO( the odds aren't good, but the stakes are high... )
18:59 DrForr_ Well, I did play Brad at one time :)
19:01 hoelzro PerlJam: oh, I don't mind =)
19:03 Hor|zon joined #perl6
19:05 TimToady lizmat++ <- the .trans solution is now twice as fast as the slice solution
19:05 TimToady that's about 36 times faster
19:05 timotimo <3
19:05 larion joined #perl6
19:06 * raydiak isn't really here and might not be around before most of europe is in bed, but it'd be cool if anyone has time to comment or merge https://github.com/rakudo/rakudo/pull/364 ; will backlog if you'd rather comment here
19:08 dj_goku joined #perl6
19:08 dj_goku joined #perl6
19:09 lizmat TimToady: wow, 36x   :-)
19:09 TimToady 6 minutes to 10 seconds
19:10 drzsasz is Net::IRC::Bot supposed to be broken and give me two different cryptic errors when running the examples in 2014.12/2015.1 moarvm ?
19:11 drzsasz or did i do something wrong
19:11 TimToady it or the examples could well be bitrotted since then
19:12 timotimo raydiak: there are some more tips on how to improve the code in the backlog, i remember seeing some
19:12 TimToady but in general we're not in favor of cryptic errors, unless the only alternative is no errors
19:13 TimToady er, no error messages when there are errors, I should say
19:13 TimToady no errors would be a good thing :)
19:13 TimToady funny how the word "errors" has become overloaded that way...
19:14 jdv79 where is this 36x speedup?  sounds interesting.
19:14 TimToady http://rosettacode.org/wiki/Textonyms#Perl_6
19:14 TimToady from changes to .trans
19:15 timotimo aye, optimizations for the "only one pair object passed to .trans" case
19:16 drzsasz http://0bin.net/paste/1oo7-1qMEI852OdS#Rx​JeTREaeFKMW1AlOFcTYsMSn0th-m8GPfiGhPINzoH
19:16 drzsasz this looks pretty cryptic to me
19:19 drzsasz http://0bin.net/paste/saFJGWpYNpiMbAuq#ZE​UEe5s-tn1cOxXDPiz02ZSJzTKBs2y9PgL6f486Q6H those are the corresponding lines where AnnoyUsers is defined exactly like in the example, and the other thing is line 108 from the module
19:22 lizmat .tell jnthn wrt PIO role name, maybe it should be RIO  (as in Rakudo Io Object)
19:22 yoleaux lizmat: I'll pass your message to jnthn.
19:23 TimToady is it really specific to rakudo?
19:24 lizmat I think so
19:24 lizmat originally, it was specific to Parrot
19:24 lizmat hence the P in PIO
19:25 lizmat when the other Rakudo backends came, it just kept its name internally, afaik
19:26 masak kinda suggests that we shouldn't make name it after any implementation, if you ask me.
19:26 lizmat but it feels like an implementation detail, really
19:27 lizmat or does niecza also have a PIO object ??
19:30 raydiak timotimo: thanks...I do remember seeing a suggestion from moritz++, but it wouldn't have worked in my case, but both the suggestion and my response are not to be found in the backlog I guess
19:31 raydiak it boiled down to "I can't use .list b/c it flattens"
19:31 timotimo oh
19:32 timotimo you can grep for Whatever instead of { $_ ~~ Whatever }
19:32 timotimo for example
19:32 TimToady regarding NativeCall in both panda and core, if version numbers of official modules work like they're supposed to (exact match), this shouldn't really be a problem
19:32 mohij joined #perl6
19:32 TimToady panda should not be offering the version that the core wants
19:33 pmqs joined #perl6
19:34 FROGGS that would imply panda did a 'use Rakudo:ver<2015.01-42-kjhksjh>'
19:34 TimToady if our version numbering doesn't allow that, then our version numbering is broken
19:34 FROGGS s/panda/NativeCall/
19:34 TimToady all official modules are required to have a version
19:35 TimToady that's been in S11 for a long, long time
19:35 raydiak timotimo: but I need the indices not the values, so it'd look more like .pairs.grep: {.key if .value ~~ Whatever} which is no better imo
19:35 FROGGS it is not about the version of NativeCall, is it?
19:36 TimToady yes, it is
19:36 FROGGS hmmm, then I dont get it
19:36 FROGGS 1) when I ask panda to install NativeCall with whatever version, it should only offer the candidates that work for my compiler
19:37 FROGGS 2) I have no idea what 2) is
19:37 raydiak timotimo: except .pairs there wouldn't do what I want either, of course, then I'd get the named pairs I assume...and can't call .list or slice first, b/c it'll flatten
19:38 TimToady if the core has a depencency on a particular version of NativeCall, then it can...er...have a dependency on it
19:38 dalek Inline-Python: 327148b | (Stefan Seifert)++ | Build.pm:
19:38 dalek Inline-Python: Fix installation via panda
19:38 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/327148b3c1
19:38 FROGGS TimToady: it is the othe
19:38 FROGGS r way around
19:38 TimToady it is both ways
19:38 FROGGS well, yes
19:39 raydiak timotimo: https://gist.github.com/ra​ydiak/1ecf3131e1fa4157e625 is what I was using to experiment with, if you feel inclined to do the same :)
19:40 FROGGS but yeah, if NativeCall in core had a version, one could use that and it would not load that from the ecosystem, if that had another version
19:40 TimToady and perhaps such a mutual dependency is the clue that a module might belong in core
19:40 raydiak okay really afk
19:40 TimToady o/
19:40 FROGGS TimToady: it is only both ways if we start to unpack using CStructs IMO
19:41 FROGGS (if that makes use of nativecast, which is exposed by NativeCall currently)
19:41 * TimToady thinks natives will only get more incestuous over time with the implementation
19:41 TimToady esp with shaped arrays and such
19:42 Mouq joined #perl6
19:43 FROGGS I really love where this is going btw
19:43 FROGGS having grammars and ffi in the very same language feels like a very good thing :o)
19:44 masak I often hesitate about whether things should be in core. not so for NativeCall.
19:47 timotimo agreed, masak
19:47 rurban joined #perl6
19:54 telex joined #perl6
20:00 nine_ What's the retionale for this? substr('abc': 1); # same as 'abc'.substr(1)
20:00 TimToady same as the : in a signature, really
20:01 TimToady but linguistically, sometimes you want the verb out front
20:01 nine_ Do you have a good example?
20:01 TimToady push @abc: 1,2,3;  # bad example
20:02 TimToady print $handle: @stuff
20:02 pyrimidine lizmat++ # .trans optimizations
20:02 pyrimidine lizmat: us bioinformatics types thank you :)
20:03 TimToady move $me: Library;
20:03 lizmat pyrimidine: you're welcome, but note it's only for the Str:D => Str:D case
20:04 pyrimidine lizmat: that's ok.  it's what we would probably use the most anyway
20:04 TimToady nine_: basically a disambiguated version of P5's oft reviled indirect object syntax, but that's because it's ambiguous in P5
20:04 lizmat pyrimidine: I've ideas of optimizing the Str:D => '' case as well
20:04 * TimToady first typed "ambuguous" :)
20:05 pyrimidine lizmat: also, I think I added some of those .trans tests way way back (I think based off some things popping around in here at that point)
20:05 nine_ TimToady: I guess it's a way to avoid duplicating code when one wants to provide an OO interface and a sort of functional interface at the same time
20:06 FROGGS does somebody of the Java professionals know about output buffering problems like these?
20:06 FROGGS $ TEST_JOBS=4 make j-test
20:06 FROGGS ok 1 - Called argless function
20:06 FROGGS ===(       1;0  1/3  0/?  0/?   0/10 )==================================ok 3 - called long_and_complicated_name
20:06 FROGGS we are already calling fflush(stdout) in the .c files the test runs/calls into
20:07 pyrimidine lizmat: I remember masak mentioning that some of the more complex behavior could be moved to another method, but I don't recall off hand when that popped up
20:07 lizmat well, the implementation was clearly pre-MMD in core
20:07 lizmat now that we have perfiormant MMD in core, we can do things like this more easily
20:11 pyrimidine definitely :)
20:14 dalek rakudo/nom: 0a7fba6 | TimToady++ | LICENSE:
20:14 dalek rakudo/nom: Update rakudo copyright from 2006 to 2015 (!)
20:14 dalek rakudo/nom:
20:14 dalek rakudo/nom: Shows about how much we actually care about this... :)
20:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a7fba609b
20:14 lizmat :-)
20:20 hoelzro is anyone familiar with this tool? https://github.com/flatland/drip
20:20 hoelzro supposedly it decreases JVM startup time?
20:20 masak maybe have a Rakudo-specific test somewhere that makes sure LICENSE year equals current year?
20:21 FROGGS or we put it in the release guide
20:23 masak I'm still hoping large parts of the release guide could be automated.
20:24 espadrine_ joined #perl6
20:26 TimToady speaking of versions and immutable official modules and https://status.haskell.org/, how are we doing on mandatory cryptohashes for official modules?
20:27 TimToady we do not want the first big story of 2016 to be how someone got into our libraries and installed malware
20:28 lizmat TimToady: you mean, part of the core / compiler distribution ?
20:28 avuserow nine_++ # Inline::Python build fix
20:30 TimToady I mean, any official module (meaning the version has been declared immutable) should by virtue of its immutability have a fixed checksum that can be retrieved from elsewhere and compared
20:30 TimToady so it's trivial to tell whether a module has been compromised regardless of where it comes from on the net
20:31 TimToady that's one of the major subgoals of declaring all official modules to be immutable under a given version number
20:31 TimToady but it's also "I know exactly what language I'm running" more generally
20:31 dalek rakudo/newio: 0bea407 | lizmat++ | src/core/ (8 files):
20:31 dalek rakudo/newio: A lot of work related to directories
20:31 dalek rakudo/newio:
20:31 dalek rakudo/newio: In the end, it turned out not to be such a good idea to make IO::Dir have its
20:31 dalek rakudo/newio: abspath with a trailing /.  So, removed that: IO::Dir now only stringifies with
20:31 dalek rakudo/newio: a trailing /.  This had quite some repercussions, hope I caught them all.
20:31 dalek rakudo/newio:
20:31 dalek rakudo/newio: Also implement IO.resolve (on Moar), now that we nqp::readlink.
20:31 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/0bea4079de
20:31 TimToady it's just if your module has been compromised, you aren't running the language you think you are
20:32 FROGGS yes, we need to somehow sign distributions, but we are no where near that point
20:33 lizmat FROGGS: QA hackathon stuff ?
20:33 TimToady GSoC project?
20:34 lizmat possibly, yes :-)
20:34 FROGGS yeah
20:34 TimToady more generally, we probably need an overall security audit as part of the beta test period
20:34 FROGGS would only be QA stuff if somebody with knowledge about that topic would be present :o)
20:35 TimToady .oO(what is the quality of our security?)
20:35 TimToady the current quality is "largely ignored" I suspect
20:36 Juerd TimToady: It's a programming language. You can always blame it on the programmer and say it's not a security bug.
20:36 Juerd (Perl 5 ships with known security bugs.)
20:38 itz what's the current favoured crypto hash? SHA256?
20:39 Juerd itz: sha lacks identity
20:39 skids That should be relatively well distributed across platforms and pretty secure, yes.
20:39 Juerd itz: PGP appears to be the de facto standard format.
20:39 skids Minus signing, yes.
20:40 FROGGS this might be inspiring: http://blog.versioneye.com/2014/01/15/which-pro​gramming-language-has-the-best-package-manager/
20:41 spider-mario joined #perl6
20:41 dalek perl6-roast-data: 764bff1 | coke++ | / (5 files):
20:41 dalek perl6-roast-data: today (automated commit)
20:41 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/764bff165f
20:41 itz hahaha maven is "singed"
20:42 masak hitting all of those seven pros sounds like a good start :)
20:42 FROGGS aye
20:42 echowuhao joined #perl6
20:44 kaare_ joined #perl6
20:45 skids Bonus points for a revocation mechanism :-)
20:47 FROGGS well, if you'd need to authenticate against a CA...
20:47 skids Yeah, but actually ensuring clients check the CA for a CRL is another matter.
20:47 FROGGS true
20:48 vendethiel- joined #perl6
20:48 FROGGS but then again, this is a project that needs a bus number > 1
20:48 itz hmm if you squash all git commits you can sign one commit with GPG
20:49 skids Anyway, unless you had a key per version, revoking a particular version as "this is buggy don't use" canot rely on mrer PKI mechanisms.
20:50 skids *mere
20:52 itz http://mikegerwitz.com/papers/git-horror-story
20:52 Hor|zon joined #perl6
20:53 avuserow joined #perl6
20:54 Kristien joined #perl6
20:55 dalek rakudo/nom: c17cb55 | coke++ | src/core/Numeric.pm:
20:55 dalek rakudo/nom: remove parrot ifdef fossil
20:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c17cb55218
20:55 dalek rakudo/nom: e451515 | coke++ | docs/guide_to_setting.pod:
20:55 dalek rakudo/nom: Remove old advice about not writing in PIR.
20:55 dalek rakudo/nom:
20:55 dalek rakudo/nom: Also removed dead URL about same. Keep remaining advice for now.
20:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e451515930
21:03 Hor|zon joined #perl6
21:06 dalek doc: 3163338 | moritz++ | lib/Language/quoting.pod:
21:06 dalek doc: Heredocs
21:06 dalek doc: review: https://github.com/perl6/doc/commit/3163338e2a
21:06 dalek rakudo/nom: fd0271e | lizmat++ | src/core/Str.pm:
21:06 dalek rakudo/nom: Make .trans("foo" => "") 10x .. 200x faster
21:06 dalek rakudo/nom:
21:06 dalek rakudo/nom: Oddly enough, the greatest profit is seen in the case where *all* characters
21:06 dalek rakudo/nom: are removed (200x) as opposed to when no characters are removed (10x).
21:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd0271ede9
21:07 vendethiel- lizmat++ # :o)
21:07 FROGGS lizmat** # :o)
21:08 Kristien lizmat~~ # :o)
21:08 FROGGS smart, indeed
21:08 bjz joined #perl6
21:09 Kristien it's postfix ~~
21:09 vendethiel- *g*
21:09 Kristien it converts _from_ string
21:09 moritz it converts from lizmat++ to karma
21:10 lizmat hehe
21:11 moritz FROGGS: how do I run nativecall tests in rakudo?
21:11 lizmat make test
21:11 FROGGS mohij: make test
21:11 FROGGS sorry mohij
21:12 * mohij makes a test
21:12 FROGGS mohij++ # *g*
21:12 * moritz tests a make
21:12 lizmat FROGGS: getting a segfault in t/04-nativecall/05-arrays.t
21:12 lizmat ok 16 - byte in element 2
21:12 lizmat ok - byte in position 0, C-side
21:12 lizmat ok - byte in position 1, C-side
21:12 lizmat ok - byte in position 2, C-side
21:12 lizmat Segmentation fault: 11
21:13 moritz which backend?
21:13 lizmat moritz: parrot
21:13 FROGGS lizmat: did you pull nqp?
21:13 lizmat I did a reconfigure
21:13 FROGGS I even bump the revision..
21:13 FROGGS bumped*
21:13 lizmat lemme nuke the install dir and start from scratch
21:14 FROGGS I still have no fix for nativecall@jvm@osx though
21:14 lizmat FROGGS  :-(
21:14 FROGGS but it should be trivial to fix I guess
21:14 FROGGS I just cant try things
21:14 lizmat seems to build everything ok, just can't find it i the end
21:14 lizmat *in
21:14 FROGGS right
21:15 FROGGS the dlLoad or what it is called thinks the path needs to be mangled
21:15 FROGGS maybe we need to pass an absolute path, maybe we need to leave off the './'
21:16 FROGGS or we maybe should not append the .dylib on osx at all
21:16 * lizmat is checking if panda works with NativeCall on the JVM
21:17 lizmat FROGGS: absolute path seems very JVMy
21:18 FROGGS funny that this is an osx+jvm problem only though
21:18 lizmat FSVO funny  :-(
21:18 FROGGS aye
21:18 lizmat if we can't get this fixed by Thursday, I guess we will need to wait until next month for NativeCall inclusion in core
21:19 FROGGS but that's how osx is... (and jvm)
21:19 FROGGS lizmat: we will fix it, no doubt
21:19 lizmat hope so  :-)
21:22 [Coke] one nativecall failure on parrot (os x, at least) known, yes?
21:23 lizmat [Coke]: segfault in t/04-nativecall/05-arrays.t ?  then yes
21:24 FROGGS but it is fixed! ó.ò
21:24 * [Coke] is on e451515
21:24 FROGGS 2015.01-55-g78e9940
21:25 FROGGS that's what you need for nqp
21:26 lizmat what I got, still segfault  :-(
21:26 FROGGS if that is what your nqp-p shows, then I need a gdb output
21:26 FROGGS (or valgrind, or access to an osx box)
21:27 [Coke] This is nqp version 2015.01-55-g78e9940 built on parrot 7.0.1 revision RELEASE_7_0_1
21:27 [Coke] one sec, I'll get you some gdb.
21:27 [Coke] well, the local equivalent.
21:27 lizmat [Coke]++
21:29 [Coke] arglebargle. have to rebuild to get debug symbols.
21:29 FROGGS an function name would already help
21:30 [Coke] in the meantime, enjoy this: https://gist.github.com/coke/1dc9efe0d02bb460bb67
21:30 FROGGS hmmm, that's something
21:31 Kristien How do you dispose of your boomerangs? I throw them away but they keep coming back.
21:31 lizmat Kristien: you dispose of boomerangs by walking away
21:33 FROGGS okay, the problem seems to with passing a buf8 to C land... CArray[int8] works
21:35 FROGGS 1..20
21:35 FROGGS ==30445== Invalid read of size 1
21:35 FROGGS ==30445==    at 0x23483BEE: TakeAByteArray (in /home/froggs/dev/rakudo/05-arrays.so)
21:37 dalek rakudo/nom: 96eb9dc | lizmat++ | src/core/Str.pm:
21:37 dalek rakudo/nom: We're only dealing with strings
21:37 dalek rakudo/nom:
21:37 dalek rakudo/nom: Seems to marginally make things faster
21:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96eb9dc778
21:40 timotimo lizmat: it could theoretically get faster if you move the sub outside the method
21:40 * lizmat wonders how timotimo is getting along with the P6W
21:40 timotimo (so that it doesn't have to take a closure)
21:40 timotimo lizmat: currently procrastinating by eating some soup :)
21:41 * lizmat tries
21:42 MilkmanDan joined #perl6
21:45 lizmat timotimo: not seeing any difference other than noise
21:46 lizmat I guess because it doesn't take any closure already, as it doesn't reference anything outside ?
21:47 uvb joined #perl6
21:51 timotimo OK
21:51 timotimo not 100% sure if our code is smart enough for that
21:51 timotimo but good work nonetheless :)
22:00 [Coke] ugh. I just did a full parrot rebuild to get debug output, and failed.
22:01 [Coke] is the parrot build option for that just -g ? I had tried --debugging=-g3 as suggested in parrot's Config output.
22:01 MilkmanDan joined #perl6
22:02 FROGGS [Coke]: I think I already see what's wrong...
22:03 [Coke] ah, --debugging is probably it... ok. one more build then I'll get back to the other thing I was hacking on. :)
22:04 Hor|zon joined #perl6
22:05 FROGGS_ joined #perl6
22:05 Sqirrel_ joined #perl6
22:05 timotimo lizmat: in last week's post you said you're going to defer telling the reader about more stuff coming from the 6pe branch to this week
22:05 timotimo did you have something specific in mind?
22:10 alini joined #perl6
22:12 lizmat timotimo: I was hoping jnthn would have had the time to tell me about them  :-)
22:12 timotimo heh heh
22:12 lizmat all of the MOP stuff, basically, I think
22:12 Kristien I watched a MoarVM optimisation presentation by jnthn recently.
22:15 masak Kristien: oh, is that why you're active on the channel?
22:15 Kristien no
22:15 Kristien it was like, yesterday
22:16 masak yesterday?
22:16 Kristien yes I watched it yesterday
22:16 [Coke] FROGGS_: ok, I give up. ISTR it used to be easier to get debugging symbols, no clue what i'm doing wrong.
22:16 [Coke] hope the asm helped. :)
22:17 FROGGS_ yes, it at least assures me I am looking at the right area
22:20 timotimo does anybody know if we've got more 6pe-based work in rakudo now as compared to last monday?
22:21 masak timotimo: is that a question that can be answered with `git log`?
22:21 timotimo hmm, i'll have a look
22:21 timotimo actually, i've been looking at the github logs, but that doesn't include the diffs
22:22 masak command-line client ftw
22:24 dalek rakudo/newio: 8a4375d | lizmat++ | src/core/io_operators.pm:
22:24 dalek rakudo/newio: Make sure we coerce open($path) to Str()
22:24 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/8a4375d0e6
22:26 raiph joined #perl6
22:37 timotimo lizmat: any idea when newio will be in a mergable state?
22:37 lizmat hopefully shortly after 2015.02
22:38 lizmat there are still *many* loose ends to be tied up
22:38 dalek nqp: 180abaa | FROGGS++ | src/vm/parrot/ops/nqp_dyncall.ops:
22:38 dalek nqp: avoid reading garbage when unmarshalling vmarrays
22:38 dalek nqp: review: https://github.com/perl6/nqp/commit/180abaa25b
22:38 dalek rakudo/nom: 7dece7d | FROGGS++ | tools/build/NQP_REVISION:
22:38 dalek rakudo/nom: get nqp with NativeCall@parrot fixes
22:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7dece7dfdc
22:39 FROGGS_ lizmat / [Coke]: that should do
22:39 * lizmat is going to test
22:40 FROGGS_ dang, I left debug output it! >.<
22:41 dalek nqp: bad5f30 | FROGGS++ | src/vm/parrot/ops/nqp_dyncall.ops:
22:41 dalek nqp: remove debug output
22:41 dalek nqp: review: https://github.com/perl6/nqp/commit/bad5f30868
22:42 dalek rakudo/nom: 768b226 | FROGGS++ | tools/build/NQP_REVISION:
22:42 dalek rakudo/nom: get nqp with less debug output /o/
22:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/768b226571
22:42 * lizmat pulls and builds again  :-)
22:44 FROGGS_ well, it would have worked / not worked before too :o)
22:44 timotimo lizmat: i'm glad you're working on this, btw :)
22:45 dalek rakudo/newio: e2464ab | lizmat++ | src/core/io_operators.pm:
22:45 dalek rakudo/newio: Some Str coercions
22:45 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/e2464abdd9
22:45 lizmat timotimo: this being newio ?
22:45 timotimo yes
22:45 lizmat it is kinda boring  :-(
22:46 FROGGS_ lizmat: somebody has to suffer for the sake of the users :o)
22:46 lizmat I'm well aware of that meme  :-)
22:48 FROGGS_ I usually do a lot of boring stuff... all would be much more fun if there was just the MoarVM backend
22:48 MilkmanDan joined #perl6
22:48 kjs_ joined #perl6
22:50 timotimo i must admit i'm not very good at working through boring stuff
22:50 * masak enjoyed http://videlalvaro.github.io/2​015/02/programming-myths.html
22:53 masak m: class C { has $!foo; method bar { say $!fou } }
22:53 camelia rakudo-moar 96eb9d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DPYMr3m_jU�Attribute $!fou not declared in class C�at /tmp/DPYMr3m_jU:1�------> [32m { has $!foo; method bar { say $!fou } }[33m�[31m<EOL>[0m�»
22:54 * masak would really like a "did you mean" Levenshtein suggestion on that one
22:54 Kristien masak: even better: it replaces it by the code I want there
22:55 masak er, no. but thanks for playing.
22:55 masak generalizing that thought: is there a way we could collect and classify all the "<identifier> not found" error messages emitted by Rakudo, so we can see which ones have a Levenshtein on them already, and which ones don't?
22:56 FROGGS_ masak: several not well connected spots do emit these messages
22:56 Kristien duplicate code :'(
22:56 masak FROGGS_: right, but they all have the same purpose.
22:57 FROGGS_ aye
22:57 masak I'm not saying "abstract and unify everything" -- I've grown past that stage :)
22:57 masak but it does seem like a missed opportunity to be consistent.
22:57 masak we should at least sift through the codebase looking for such places.
22:57 FROGGS_ ++masak
22:57 masak heh.
22:58 FROGGS_ though, you cannot throw typed exception from every spot, because you cannot always access the symbols you need...
22:58 masak bah! I know an artificial limit when I see one.
22:59 FROGGS_ :P
23:00 timotimo any other recent performance breakthroughs in the last week?
23:00 dalek rakudo/newio: 18c0a05 | lizmat++ | src/core/io_operators.pm:
23:00 dalek rakudo/newio: Some more Str() coercion fixes
23:00 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/18c0a05587
23:01 lizmat FROGGS_: rakudo make test on parrot now clean on OS X
23:01 FROGGS_ \o/
23:01 lizmat FROGGS_++
23:01 FROGGS_ m: say $*KERNEL.name
23:01 camelia rakudo-moar 96eb9d: OUTPUT«linux␤»
23:02 FROGGS_ m: say $*DISTRO.name
23:02 camelia rakudo-moar 96eb9d: OUTPUT«opensuse␤»
23:02 FROGGS_ lizmat: $*KERNEL.name will be darwin for you? also on the jvm?
23:02 lizmat $ 6 'say $*KERNEL.name; say $*DISTRO.name'
23:02 lizmat darwin
23:02 lizmat macosx
23:02 timotimo FROGGS_: your "longer" branch also allows having other kinds of sizes for ints and stuff, right?
23:03 geekosaur arguably the kernel is not darwin, it is xnu
23:03 FROGGS_ timotimo: aye
23:03 geekosaur darwin is a (now defunt) distribution
23:05 Hor|zon joined #perl6
23:05 lizmat geekosaur: it basically takes whatever uname -s says (and lc's it for consistency)
23:06 * geekosaur wonders what other systems that'll mess up on, then
23:06 geekosaur (interpretation of uname's fields is ... idiosyncratic)
23:06 lizmat src/core/Kernel.pm   patches welcome  :-)
23:06 dalek rakudo/nom: d99fe0b | FROGGS++ | lib/NativeCall.pm:
23:06 dalek rakudo/nom: pass an absolute libname for on jvm/osx
23:06 dalek rakudo/nom:
23:06 dalek rakudo/nom: The library loader will not look in CWD for libs, but will instead pre-/append stuff and tries
23:06 dalek rakudo/nom: to look it up in system dirs.
23:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d99fe0b436
23:07 FROGGS_ lizmat: please try when you get a chance... I'm off to bed
23:07 Kristien s/core/corn/
23:07 Kristien delicious corn kernels
23:07 lizmat FROGGS_: goodnight,
23:07 lizmat trying it now
23:17 zacts joined #perl6
23:19 lizmat .tell FROGGS_ alas, still the same errors  :-(
23:19 yoleaux lizmat: I'll pass your message to FROGGS_.
23:20 afb joined #perl6
23:23 ruoso when writing a grammar, what would be the easiest way to write tests for specific rules instead of TOP?
23:23 TgMts joined #perl6
23:23 masak ruoso: .parse($str, :rule<otherrule>) ?
23:24 ruoso aha.. that's it... for some reason I missed that in the docs
23:25 afb left #perl6
23:26 ash__ joined #perl6
23:27 dalek rakudo/newio: 95ef1af | Mouq++ | docs/ChangeLog:
23:27 dalek rakudo/newio: Add a ChangeLog entry
23:27 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/95ef1af498
23:27 dalek rakudo/newio: fac6654 | FROGGS++ | tools/build/NQP_REVISION:
23:27 dalek rakudo/newio: get nqp with NativeCall@parrot fixes
23:28 lizmat sorry dalek
23:28 dalek joined #perl6
23:28 lizmat and on that note, I wish #perl6 a good *
23:29 BenGoldberg joined #perl6
23:30 dalek specs/newio: df847a9 | lizmat++ | S32-setting-library/IO.pod:
23:30 dalek specs/newio: Some doc tweaks, mostly related to coercion
23:30 dalek specs/newio: review: https://github.com/perl6/specs/commit/df847a912b
23:30 lizmat sleep&
23:50 kurahaupo1 joined #perl6
23:50 Kristien vendethiel-: https://github.com/rightfold/mil​l/blob/master/src/gc.cpp#L36-L56 :P

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

Perl 6 | Reference Documentation | Rakudo