Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:03 skids joined #perl6
00:03 travis-ci joined #perl6
00:03 travis-ci Rakudo build passed. Timo Paulssen 'BlockVarOptimizer's $!poisoned can be a native int
00:03 travis-ci http://travis-ci.org/rakudo/rakudo/builds/54652614 https://github.com/rakudo/rakudo/compare/051c6024837f...0f780b2f8a2f
00:03 travis-ci left #perl6
00:04 timotimo ...oh? not sure why we got that announcement right now
00:04 timotimo but i guess i'm honored?
00:08 geekosaur hm? travis rebuilds on every commit
00:09 timotimo yes, but it doesn't announce every commit
00:09 skids left #perl6
00:09 skids joined #perl6
00:15 skids joined #perl6
00:15 laouji joined #perl6
00:16 skids joined #perl6
00:27 skids left #perl6
00:27 skids joined #perl6
00:30 skids left #perl6
00:30 skids joined #perl6
00:37 raydiak timotimo: https://travis-ci.org/rakudo/rakudo/builds looks like the previous build timed out, so guess it regarded yours as the point where it went from failing to passing again, even though we hadn't gotten the irc notification of the prior failure yet
00:40 laouji joined #perl6
00:41 aborazmeh joined #perl6
00:41 aborazmeh joined #perl6
00:41 laouji joined #perl6
00:48 skids left #perl6
00:48 skids joined #perl6
00:52 skids left #perl6
00:52 skids joined #perl6
00:56 skids left #perl6
00:56 skids joined #perl6
00:59 * skids finally navigates the twisted maze of interlocking bitrotted desktop configration mechanisms and turns his new laptop's irc window black o/
00:59 skids Really the situation o linux desktop has gotten completely out of control.
01:01 dayangkun joined #perl6
01:02 tinyblak joined #perl6
01:06 dalek doc: 876c83d | retupmoca++ | bin/p6doc.bat:
01:06 dalek doc: Add p6doc runner for windows
01:06 dalek doc:
01:06 dalek doc: Pretty much a straight copy from panda.bat
01:06 dalek doc: review: https://github.com/perl6/doc/commit/876c83d123
01:07 * raydiak gave up on desktop linux and basically just runs it for the web browser and graphics work, virtually everything else gets done in the transparent terminal
01:08 Juerd How is that not desktop linux?
01:09 yeahnoob joined #perl6
01:10 raydiak all the essential parts of my regular workflow work just as well sans X11, mainly excepting just the browser
01:10 raydiak heck I've spent months at a time doing it all over ssh
01:11 Juerd You're describing exactly how I've been using Linux, on the desktop, ever since I began using X.
01:11 Juerd I don't really see how using an xterm makes it any less "desktop linux"
01:12 Juerd With higher resolutions I have switched from a single fullscreen xterm to smaller 80x24 ones.
01:13 Juerd (No, 80 chars isn't because my screen is small, it's because my screen is BIG, and I like having multiple terminals side by side.)
01:13 raydiak I wouldn't describe that as much of a "desktop" as most people think of it
01:13 raydiak honestly I think there's a more meaningful distinction to be made here than whether X is running
01:14 ugexe yeah, like nto having to deal with all the linux desktop machine crap like driver issues
01:16 Juerd raydiak: I move xterms around to suit whatever I'm doing. These floating window thingies are a real innovation :)
01:17 Juerd And I use pointing devices to focus these windows. (Sloppy focus, of course.)
01:18 Juerd Also, I do a lot of this: http://juerd.nl/i/65b1f14ff812c69fa4729b549aef7da9.png
01:18 Juerd Don't you? Could you really work just as well on tty1..tty6? :P
01:19 raydiak Juerd: I just have one giant full-screen-sized drop-down console; I switch windows with the keyboard; I'm not even sure I remember the last time I had 2 things open side by side in different X windows
01:19 raydiak the last time I tried to go completely X-free, the main problem I had was some really nasty unicode limitations of the linux console
01:19 Juerd I see. Are you on a 1024x768 display? :)
01:19 raydiak that was last year
01:20 ugexe FROGGS: didnt appear to help. same error
01:20 raydiak 1600x900, though admittedly I do use the mouse to adjust the split sizes of the terminal after I boot up
01:20 Juerd A-ha! :P
01:20 Juerd I don't even do that, to be honest
01:21 Juerd Something I do like about desktop linux: copy/pasting!
01:22 Juerd It's why I have listchars off in vim. I use X select and paste more than vim's yank and paste
01:22 raydiak true, though I wish there was only 1 clipboard
01:22 Juerd A single clipboard can be had.
01:22 raydiak I have vim's yank/paste tied to the x clipboard...or copy buffer...or whatever it is
01:22 Juerd Try autocutsel
01:23 Juerd Ooh, that's actually a nice idea. How does that work?
01:23 perigrin joined #perl6
01:23 raydiak :set clipboard=unnamed or unnamedplus
01:23 raydiak iirc
01:24 raydiak ah autocutsel looks nice, I'll keep it in mind when I switch desktops and distros in the hopefully near future
01:24 Juerd Doesn't seem to work for me.
01:25 raydiak "set clipboard=unnamedplus" straight out of my vimrc
01:33 ugexe FROGGS: although im not sure im updating the nqp build or not. this shows the differece between Moar and JVM with my current build: https://gist.github.com/ugexe/96c82ddf7a63d7912dde
01:33 ugexe say shell '//' prints '\\\' on my perl6-j and '//' on perl6-m
01:40 gfldex joined #perl6
01:52 raydiak Juerd: I guess my real point about "gave up on desktop linux" was that I've found relying too much on any particular linux desktop featureset to be a burden in several ways e.g. varying interoperability between different toolkits for things like drag and drop and DE integration, migrating settings for gconf-type-stuff is a pain, and getting things like colors and even keymaps to match everywhere can be a large
01:53 raydiak undertaking...irritations like that
01:54 raydiak so to the extent it feels practical and productive, I've moved whatever I can out of GUI land, even though I still am technically using X...just endeavour to minimize my reliance on such things
02:02 zakharyas joined #perl6
02:07 raiph joined #perl6
02:13 ash_gti joined #perl6
02:35 adu joined #perl6
02:52 skids m: https://gist.github.com/skids/9450e905562ca7fb6ee3
02:52 camelia rakudo-moar 0f780b: OUTPUT«True␤False␤True␤True␤True␤True␤True␤True␤»
02:58 moritz skids: what does <@array> do?
03:02 skids it evals all the elements as either Regex or Regex(Str) and puts them in a junctional alternative.
03:02 skids (supposedly)
03:05 moritz so same as @array when the elements already are regexes
03:06 * moritz tries to sleep again
03:06 skids moritz: actually @array is supposed to do a P5 \Q$\E on each element if I read it right.
03:07 skids So regexes should fail or warn with "code object coerced to string"
03:08 skids Heh.  The failure mode of RT#103106 is now bizarre:
03:08 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=103106
03:08 skids m: say "foo" & "a nice old foo" ~~ /foo/
03:08 camelia rakudo-moar 0f780b: OUTPUT«「all(Failure.new(exception => X::OutOfRange.new(what => $("Start", "argument", "to", "substr"), got => 5, range => "0..3", comment => "use *5 if you want to index relative to the end")), "e o")」␤»
03:17 noganex_ joined #perl6
03:20 telex joined #perl6
03:25 exaybachay joined #perl6
03:34 skids Hrm RT#118697 RT#123465 RT#100232 RT#113884 and the above... maybe rx variable interpolation should be up on the "big fixes that are needed" list.
03:34 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118697
03:50 adu joined #perl6
03:51 aborazmeh joined #perl6
03:51 aborazmeh joined #perl6
04:02 FROGGS_ joined #perl6
04:05 gfldex joined #perl6
04:13 ugexe FROGGS_: i finally got it patched in correctly and it works now. i have rakudobrew (with pr) and panda working with moar/jvm on windows. mscv but i dont see why it wouldnt work for anything else if PATH is set correctly
04:15 ugexe http://testers.p6c.org/reports/32652.html
04:44 laouji joined #perl6
04:45 laouji joined #perl6
04:49 ash_gti joined #perl6
05:09 ugexe C:\Users\Nick\Documents\Perl6\.rakudobrew\jvm-nom\install\bin>perl6-j.bat -e "say $*DISTRO.version"
05:09 ugexe v6.1
05:09 ugexe C:\Users\Nick\Documents\Perl6\.rakudobrew\moar-nom\install\bin>perl6-m.bat -e "say $*DISTRO.version"
05:09 ugexe v6.3
05:27 adu p: say $*DISTRO.version
05:27 adu p6: say $*DISTRO.version
05:27 camelia rakudo-moar 0f780b: OUTPUT«v13.2.Harlequin␤»
05:29 ugexe 6.1 is win7. 6.3 is win8. im certainly not running both OSs at the same time on the same machine :)
05:36 ugexe 6.1 is the correct value as well
05:53 camelia joined #perl6
05:53 anaeem1_ joined #perl6
06:00 laouji joined #perl6
06:05 chenryn joined #perl6
06:06 perlpilot joined #perl6
06:08 mr-foobar joined #perl6
06:11 ugexe java's os.version shows 6.1, so im not sure where 6.3 is getting set at
06:11 ugexe er oops its omar thats wrong
06:16 mr-foobar joined #perl6
06:17 camelia joined #perl6
06:19 aborazmeh joined #perl6
06:19 aborazmeh joined #perl6
06:20 camelia joined #perl6
06:25 bjz joined #perl6
06:36 alini joined #perl6
06:51 virtualsue joined #perl6
06:53 diana_olhovik_ joined #perl6
07:00 ugexe ah its a perl5 bug in Config.pm
07:03 wicope joined #perl6
07:06 prime joined #perl6
07:27 Rounin joined #perl6
07:28 darutoko joined #perl6
07:31 bjz joined #perl6
07:35 masak good morning, #perl6
07:41 bartolin o/ masak
07:42 nine_ *yawn* good morning, all!
07:43 masak good yawning, nine_
07:47 Timbus i agree, it was pretty good, but i'll give it an eight
07:50 * masak holds up a... nine
07:53 masak down scope. teaching. &
07:54 moritz good morning, and happy Saint Patrick's Day
08:02 bjz joined #perl6
08:04 lizmat good *, are we all green?
08:06 * FROGGS_ realizes that testıng a Wındows only patch on lınux ıs kında poıntless
08:07 moritz our $work continuous delivery tool says all green, yes :-)
08:07 moritz .u ı
08:07 yoleaux U+0131 LATIN SMALL LETTER DOTLESS I [Ll] (ı)
08:07 moritz FROGGS_: your i's seem to miss a dot :-)
08:08 FROGGS_ moritz: ıntentıon :o)
08:08 FROGGS_ poıntless, you see :o)
08:08 lizmat I got your point
08:09 moritz did you mean: poınt? :-)
08:09 FROGGS_ bbiab
08:09 lizmat no point, notice the dots over the i's  :-)
08:10 bartolin it looks like my commit cd51b3401c from yesterday broke a test in integration/advent2012-day04.t
08:10 bartolin (I wonder how I missed that, I'm sure I spectested it)
08:10 Ven joined #perl6
08:10 bartolin anyway, I created a second PR: https://github.com/rakudo/rakudo/pull/387
08:11 dalek rakudo/nom: 91a1b7a | usev6++ | src/core/operators.pm:
08:11 dalek rakudo/nom: Do not flatten when SEQUENCE returns an array
08:11 dalek rakudo/nom:
08:11 dalek rakudo/nom: otherwise test 3 - Pascal's triangle from integration/advent2012-day04.t does not work
08:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91a1b7a028
08:11 dalek rakudo/nom: 42e6cda | lizmat++ | src/core/operators.pm:
08:11 dalek rakudo/nom: Merge pull request #387 from usev6/nom
08:11 dalek rakudo/nom:
08:11 dalek rakudo/nom: Do not flatten when SEQUENCE returns an array
08:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42e6cda418
08:11 bartolin oh, thanks!
08:11 sergot morning #perl6 \o
08:11 lizmat yw  :-)
08:14 bartolin I hope those patches make sense. since the problems seem to be related to flattening of parcels, this will probably resurface with the GLR ...
08:15 lizmat I have no doubt about that...    :-)
08:15 rurban joined #perl6
08:17 bartolin maybe I can refine some tests for infix<...> in the meantime ...
08:24 espadrine joined #perl6
08:44 Ven joined #perl6
08:45 dalek rakudo/nom: 0992f1a | lizmat++ | src/core/native_array.pm:
08:45 dalek rakudo/nom: Make my num @a = 0e0..^10000e0 also 1000x as fast
08:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0992f1afe5
08:46 moritz lizmat: nqp::setelems(self, ($max - $val + 1).Int ); might want some guarding against Inf
08:46 moritz propbably the whole thing does
08:47 lizmat why?  I mean, we don't guard to my @a = ^Inf; say @a either ?
08:47 moritz we do guard the assignment
08:47 moritz by making it lazy when the RHS is known infinite
08:48 LonelyGM joined #perl6
08:50 eli-se joined #perl6
08:50 eli-se hola
08:50 alini joined #perl6
08:51 Ugator joined #perl6
08:51 Ugator left #perl6
08:52 donaldh joined #perl6
09:02 dalek rakudo/nom: 6bbc286 | lizmat++ | src/core/native_array.pm:
09:02 dalek rakudo/nom: Guard my num @a = Range against infinite lists
09:02 dalek rakudo/nom:
09:02 dalek rakudo/nom: moritz++ for mentioning
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6bbc286414
09:02 [Sno] joined #perl6
09:06 FROGGS_ jnthn: why to we turn forward slashes into backslashes at all on windows?
09:07 FROGGS_ jnthn: like here https://github.com/MoarVM/MoarVM/blob/master/src/io/procops.c#L182
09:08 eli-se joined #perl6
09:08 eli-se Better question: why does the code that does that appear in multiple places?
09:08 FROGGS_ jnthn: and here https://github.com/perl6/nqp/blob/master/src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java#L965
09:09 FROGGS_ eli-se: well, it appears for shell and spawn for moarvm
09:09 lizmat FROGGS_: in the newio branch, all is forward slashes, as Win doesn't need backward slashes, I'm told ?
09:09 FROGGS_ eli-se: and then for the jvm
09:09 FROGGS_ lizmat: yes, that's why I am asking if we need that at the vm level or not
09:10 FROGGS_ lizmat: either windows really understands forward slashes and we can remove the slash replacement code in the VMs
09:10 FROGGS_ lizmat: or it does not, and that VM code supports the forward slashes for rakudo
09:11 FROGGS_ so, I am running a spectest for moarvm on windows now, then remove the slash replacement and spectest again
09:11 lizmat agree
09:11 lizmat FROGGS_++
09:13 donaldh one argument for using backslashes is user expectation. shell and spawn commands become visible to the user
09:16 yeahnoob joined #perl6
09:17 dalek roast: 03bdfe2 | lizmat++ | S09-typed-arrays/native-num.t:
09:17 dalek roast: Add tests for initializing with an Inf range
09:17 dalek roast: review: https://github.com/perl6/roast/commit/03bdfe2661
09:19 Ven lizmat++ # amazing work :)
09:20 FROGGS_ did somebody get behind the throws_like weirdness on jvm, that makes so many TODOs pass?
09:21 FROGGS_ or is_run or what it was
09:21 lizmat FROGGS_: I was under the impression the problem lie deeper there?
09:21 eli-se joined #perl6
09:21 lizmat will have a look when I get back from fitness in a few hours
09:22 dakkar joined #perl6
09:22 FROGGS_ AFAIK we get an exit status 0 from a subprocess, when that subprocess is a perl6-j that does an exit 1
09:22 FROGGS_ or when that subprocess dies because of an exception or so
09:32 Ven moritz: your blog post blew up on reddit!
09:32 cschwenz joined #perl6
09:33 rindolf joined #perl6
09:33 moritz Ven: yes, I saw it
09:33 moritz Ven: it even made the page load slowly occasionally
09:33 Ven oh :o)
09:34 moritz I had 16k visitors over two days
09:34 moritz normal would be about 2.5k to 3k
09:35 abraxxa joined #perl6
09:35 moritz suddenly I wish that I hadn't written it bleary-eyed and shortly before going to sleep :-)
09:36 koo6 joined #perl6
09:43 Ven moritz: alright :)
09:45 eli-se joined #perl6
09:47 FROGGS_ moritz++ # just read it
09:48 FROGGS_ m-spectest on windows just got stuck in an S17 test file :o(
09:56 FROGGS_ so this worked before and after the slash-fiddling-removal:
09:56 FROGGS_ C:\rakudo>perl6-m -e "shell 34.chr ~ 'C:/Program Files/Debugging Tools for Windows (x64)/list.exe' ~ 34.chr"
09:56 FROGGS_ list [-s:string] [-g:line#] filename, ...
09:57 FROGGS_ I will remove that now from maorvm and jvm, bump all versions and then we'll see
10:00 smls joined #perl6
10:04 dalek nqp: d0a0b12 | FROGGS++ | / (2 files):
10:04 dalek nqp: remove slash->backslash conversion mess
10:04 dalek nqp:
10:04 dalek nqp: This turned "git clone git://..." into "git clone git:\\...".
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/d0a0b128af
10:05 dalek rakudo/nom: e5a8f7a | FROGGS++ | tools/build/NQP_REVISION:
10:05 dalek rakudo/nom: bump nqp/jvm+moar rev for slash handling on windows
10:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5a8f7a029
10:05 FROGGS_ ugexe: that should do...
10:05 espadrine joined #perl6
10:06 FROGGS_ @all windows users: please test latest rakudo if you can, as this will be released on thursday
10:12 |Tux| https://gist.github.com/Tux/0f46657fdfdbb2bf3267 <= So strongly typed, WTF do I get these compilation errors?
10:12 yoleaux 13 Mar 2015 21:17Z <jnthn> |Tux|: latest NQP has a fix for the profile dump bug
10:12 smls .tell TimToady What do you think of this: http://i.imgur.com/CeF13gV.png
10:12 yoleaux smls: I'll pass your message to TimToady.
10:12 smls .tell TimToady My ulterior motive is the attempt to find a good color scheme for a redesigned perl6.org (for after the 6.0 beta release), that *both* fits Camelia *and* has colors that are pleasant enough to be used as the background of larger areas. Which I can't seem to do with the current Camelia colors.
10:12 yoleaux smls: I'll pass your message to TimToady.
10:13 smls .tell TimToady But it might also help end the recurring resistance to Camelia as Perl 6's mascot; because even though Camelias detractors don't always communicate the source of their dislike clearly, I think it has much to do with the colors.
10:13 yoleaux smls: I'll pass your message to TimToady.
10:14 grondilu joined #perl6
10:14 |Tux| ignore, found it. self!foo -> self.foo
10:15 smls ^^ I'd be interested in feedback from people other than TimToady, too.
10:15 |Tux| in this case the error might be as helpful as with variable name typoes
10:15 eli-se joined #perl6
10:15 virtualsue joined #perl6
10:15 grondilu m: say 1 «/« (1..3);
10:15 camelia rakudo-moar e5a8f7: OUTPUT«Cannot find method 'Range'␤  in sub hyper at src/gen/m-CORE.setting:22085␤  in block  at src/gen/m-CORE.setting:22041␤  in block <unit> at /tmp/Sk7C2gDY6C:1␤␤»
10:16 grondilu ^looks like a bug
10:16 grondilu also, breaks:  http://rosettacode.org/wiki/Probabilistic_choice#Perl_6
10:16 |Tux| something like "No such private method 'colrange' for invocant of type 'Text::CSV', did you mean the public method?
10:17 eli-se what's the difference between >>*<< and Z*?
10:17 moritz eli-se: >>*<< is eager/hyper, Z* is lazy
10:17 eli-se ah, I see
10:17 moritz also, Z* stops when one of the input lists is exhausted
10:18 moritz m: say 1, 2, 3 >>*<< 4, 2
10:18 camelia rakudo-moar e5a8f7: OUTPUT«12122␤»
10:18 moritz m: .say for 1, 2, 3 >>*<< 4, 2
10:18 camelia rakudo-moar e5a8f7: OUTPUT«1␤2␤12␤2␤»
10:18 moritz m: .say for (1, 2, 3) >>*<< (4, 2)
10:18 camelia rakudo-moar e5a8f7: OUTPUT«Lists on either side of non-dwimmy hyperop of infix:<*> are not of the same length␤left: 3 elements, right: 2 elements␤  in sub hyper at src/gen/m-CORE.setting:22130␤  in block  at src/gen/m-CORE.setting:22041␤  in block <unit> at /tmp/QeAKxSywr2:1…»
10:18 moritz and did I mention precedence? :-)
10:18 eli-se nice
10:19 timotimo smls: looks good to me
10:21 eli-se m: say (1, 2, 3, 4, 5)>>i
10:21 camelia rakudo-moar e5a8f7: OUTPUT«0+1i 0+2i 0+3i 0+4i 0+5i␤»
10:21 eli-se hehe nice
10:21 timotimo [Tux]: problem is: we can't know stuff about methods at compile time
10:22 timotimo [Tux]: not only are they late bound, but the object can also have fallbacks declared or a custom find_method method declared on it
10:22 |Tux| ok, but it took me a while to understand that message
10:24 grondilu m: say 1 «/« 1 .. 3
10:24 camelia rakudo-moar e5a8f7: OUTPUT«1.0..3␤»
10:25 grondilu ^that looks very wrong
10:25 grondilu m: say join ", ", 1 «/« 1 .. 3
10:25 camelia rakudo-moar e5a8f7: OUTPUT«1, 2, 3␤»
10:25 timotimo precedence again
10:25 timotimo m: say 1 «/« (1 .. 3)
10:25 grondilu m: say 1 «/« (1 .. 3)
10:25 camelia rakudo-moar e5a8f7: OUTPUT«Cannot find method 'Range'␤  in sub hyper at src/gen/m-CORE.setting:22085␤  in block  at src/gen/m-CORE.setting:22041␤  in block <unit> at /tmp/je3Pa5z61H:1␤␤»
10:25 camelia rakudo-moar e5a8f7: OUTPUT«Cannot find method 'Range'␤  in sub hyper at src/gen/m-CORE.setting:22085␤  in block  at src/gen/m-CORE.setting:22041␤  in block <unit> at /tmp/HP0l6TRV5i:1␤␤»
10:25 pecastro joined #perl6
10:25 timotimo that looks a bit wronger
10:26 timotimo m: say 1 «/« (1..3)
10:26 camelia rakudo-moar e5a8f7: OUTPUT«Cannot find method 'Range'␤  in sub hyper at src/gen/m-CORE.setting:22085␤  in block  at src/gen/m-CORE.setting:22041␤  in block <unit> at /tmp/5n_tWNOrsH:1␤␤»
10:26 grondilu m: say 1 «/« (1, 2, 3)
10:26 camelia rakudo-moar e5a8f7: OUTPUT«1 0.5 0.333333␤»
10:26 grondilu that is what breaks http://rosettacode.org/wiki/Probabilistic_choice#Perl_6
10:27 grondilu m: say 1 X/ (1 .. 3)
10:27 camelia rakudo-moar e5a8f7: OUTPUT«1 0.5 0.333333␤»
10:34 grondilu aren't sigilless variable supposed to be state variables by default?
10:35 grondilu m: say map { $ = rand }, ^3
10:35 camelia rakudo-moar e5a8f7: OUTPUT«0.234748164007963 0.139641988182091 0.637825247991833␤»
10:36 grondilu m: say map { state $ = rand }, ^3
10:36 camelia rakudo-moar e5a8f7: OUTPUT«0.0952926749619227 0.0952926749619227 0.0952926749619227␤»
10:37 smls grondilu: $ = rand   compiled to   (state $) = rand   not   (state $ = rand)
10:37 smls *compiles
10:38 grondilu I don't get the difference between those two
10:38 grondilu m: say map { ($) = rand }, ^3
10:38 camelia rakudo-moar e5a8f7: OUTPUT«0.0347526105078272 0.598640238159065 0.536051382049224␤»
10:38 moritz m: say map { state $ = rand }
10:38 camelia rakudo-moar e5a8f7: OUTPUT«␤»
10:39 grondilu m: say map { (state $) = rand }, ^3
10:39 camelia rakudo-moar e5a8f7: OUTPUT«0.987317075041984 0.471019143728166 0.4660831965311␤»
10:39 moritz m: say map { state $ = rand }, ^3
10:39 camelia rakudo-moar e5a8f7: OUTPUT«0.337303902812853 0.337303902812853 0.337303902812853␤»
10:39 moritz the state initializer is only run the first time
10:39 grondilu hum ok
10:39 timotimo i'd like to propose taking https://github.com/soh-cah-toa/p6-digest-sha256 out of the ecosystem; it's an implementation of sha256 that relies on pir::loadbytecode('Digest/sha256.pir') which only exists on parrot
10:40 moritz +1
10:40 |Tux| is it possible to use » as a start in post-fic for?
10:40 |Tux| ».perl.say for $class.method;
10:40 |Tux| when method retorns a list of lists
10:40 timotimo you can start it with .»
10:41 |Tux| m: .».perl.say for ([^3],[^2])
10:41 camelia rakudo-moar e5a8f7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p_IQ8bHCai␤Bogus statement␤at /tmp/p_IQ8bHCai:1␤------> 3.7⏏5».perl.say for ([^3],[^2])␤    expecting any of:␤        dotty method or postfix␤»
10:41 timotimo oh
10:41 timotimo well, perhaps not :(
10:41 |Tux| I did try that :)
10:41 timotimo i'd sort of expect that to work
10:41 timotimo m: .>>.perl.say for ([^3],[^2])
10:41 camelia rakudo-moar e5a8f7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SQTaL74_IJ␤Bogus statement␤at /tmp/SQTaL74_IJ:1␤------> 3.7⏏5>>.perl.say for ([^3],[^2])␤    expecting any of:␤        dotty method or postfix␤»
10:41 |Tux| so did I, hence the question
10:41 timotimo std: .>>.perl.say for ([^3],[^2])
10:41 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Bogus statement at /tmp/LPcbTPibQ5 line 1:␤------> 3<BOL>7⏏5.>>.perl.say for ([^3],[^2])␤Parse failed␤FAILED 00:01 136m␤»
10:42 grondilu m: .>>perl.say for ([^3],[^2])
10:42 camelia rakudo-moar e5a8f7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xUGNDlXeUr␤Bogus statement␤at /tmp/xUGNDlXeUr:1␤------> 3.7⏏5>>perl.say for ([^3],[^2])␤    expecting any of:␤        dotty method or postfix␤»
10:42 timotimo OK, std disagrees, so we've got a bit of discussion to do
10:43 grondilu m: $_>>.perl.say for ([^3],[^2])
10:43 camelia rakudo-moar e5a8f7: OUTPUT«0 1 2␤0 1␤»
10:43 |Tux| as I have no idea how to describe this question as it should, I leave the ticketing up to you
10:43 dalek ecosystem: c1f9544 | timotimo++ | META.list:
10:43 dalek ecosystem: remove digest-sha256, a perl6 interface to parrot's sha256 impl
10:43 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/c1f9544d99
10:44 tadzik shots fired
10:44 |Tux| grondilu, yes, that is what I expected
10:45 timotimo http://testers.p6c.org/reports/31273.html - this is painful to look at
10:46 smls timotimo: Who needs 'Basic functionality' anyway ;)
10:47 |Tux| https://gist.github.com/Tux/73ec84b4c53c5002f6fb \o/
10:48 timotimo http://testers.p6c.org/reports/30790.html - this is equally painful to watch
10:48 timotimo in one case, the tests fail because of windows backslashes as file separators
10:48 timotimo in the other case it's ordering of results that's different
10:48 |Tux| what can I use instead of $*IN to support both "< hello.csv" and "hello.csv"
10:48 MadcapJake joined #perl6
10:48 timotimo that'd be $*ARGFILES
10:49 timotimo it'll also support more than one file name on the commandline
10:49 |Tux| $ p6 -MText::CSV -e'$_».text.perl.say for Text::CSV.new.fragment($*ARGFILES,"col=1;3")' test.csv
10:49 |Tux| Type check failed in binding $buffer; expected 'Str' but got 'Failure'
10:49 timotimo ARGFILES more or less only fakes being a file descriptor, as it is - in reality - more than one file object under the hood
10:50 timotimo so if you're using ARGFILES in a low-level context, that may give you NYI things
10:50 |Tux| so it cannot be used as a drop-in replacement
10:50 timotimo i'd like it to be usable as that, tbh
10:51 smls |Tux|: What's that "col=1;3" string for?
10:51 |Tux| RFC7111
10:51 timotimo labster: yo, are you here? :)
10:52 smls ah
10:52 |Tux| http://tools.ietf.org/html/rfc7111
10:52 |Tux| col= and row= now work. cells are next (and much harder!)
10:54 timotimo oh, that's neat
10:54 |Tux| maybe that explains my questions this weekend
10:55 grondilu m: (sub { say @_; say $_ })(^10);
10:55 camelia rakudo-moar e5a8f7: OUTPUT«0 1 2 3 4 5 6 7 8 9␤Nil␤»
10:55 * grondilu kind of would like $_ to mean @_[0]
10:56 grondilu m: (sub { say $_ })(^10);
10:56 camelia rakudo-moar e5a8f7: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub  at /tmp/UmncDhtLj1:1␤  in block <unit> at /tmp/UmncDhtLj1:1␤␤»
10:56 grondilu m: (sub { say $_ })(10);
10:56 camelia rakudo-moar e5a8f7: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub  at /tmp/vj2KUgZbc4:1␤  in block <unit> at /tmp/vj2KUgZbc4:1␤␤»
10:56 grondilu m: ({ say $_ })(10);
10:56 camelia rakudo-moar e5a8f7: OUTPUT«10␤»
11:05 coffee` joined #perl6
11:06 Ben_Goldberg joined #perl6
11:06 |Tux| is this on purpose?
11:07 |Tux| m: .say for ([^2],[^3]).map(*».Str)
11:07 camelia rakudo-moar e5a8f7: OUTPUT«0␤1␤0␤1␤2␤»
11:07 |Tux| m: .say for ([^2],[^3]).map([*».Str])
11:07 camelia rakudo-moar e5a8f7: OUTPUT«No such method 'count' for invocant of type 'Array'␤  in method reify at src/gen/m-CORE.setting:9542␤  in block  at src/gen/m-CORE.setting:9454␤  in method reify at src/gen/m-CORE.setting:9424␤  in block  at src/gen/m-CORE.setting:9454␤  in metho…»
11:08 nige joined #perl6
11:09 colomon m: [*».Str](1)
11:09 camelia rakudo-moar e5a8f7: OUTPUT«Invocant requires a type object, but an object instance was passed␤  in method CALL-ME at src/gen/m-CORE.setting:10464␤  in block <unit> at /tmp/pjHwGJZW8t:1␤␤»
11:09 colomon m: say [*».Str].WHAT
11:09 camelia rakudo-moar e5a8f7: OUTPUT«(Array)␤»
11:09 colomon oh, yes, that makes sense
11:10 colomon m: say [*».Str][0](1)
11:10 camelia rakudo-moar e5a8f7: OUTPUT«1␤»
11:10 colomon m: .say for ([^2],[^3]).map({[*».Str]})
11:10 camelia rakudo-moar e5a8f7: OUTPUT«WhateverCode.new()␤WhateverCode.new()␤»
11:10 timotimo wow, colomon, your module IO::Prompter seems very unhappy; Cannot find method 'isatty': no method cache and no .^find_method
11:10 colomon timotimo: yes, yes it is
11:11 timotimo got any clue what causes this?
11:11 colomon timotimo: yes, the lack of isatty
11:11 timotimo we ... don't have that at all?
11:11 colomon timotimo: it never got implemented for moar
11:11 colomon possibly not for jvm either
11:11 timotimo wow.
11:13 timotimo http://docs.libuv.org/en/latest/misc.html#c.uv_guess_handle   ... :\
11:17 timotimo oh, we already use this properly
11:17 timotimo so isatty may be quite simple to implement after all
11:28 timotimo just not sure what to hang it off of
11:29 moritz file handle?
11:29 moritz nqp::isatty($handle)
11:37 timotimo well, i know that part
11:44 dalek roast: 719ae5a | usev6++ | S03-sequence/basic.t:
11:44 dalek roast: Adjust tests for using last in generator function of infix:<...>
11:44 dalek roast: review: https://github.com/perl6/roast/commit/719ae5ad2e
11:46 b2gills The main reason for using backslashes on Windows is for other programs which may be badly written
11:47 fhelmberger joined #perl6
11:51 eli-se joined #perl6
11:51 eli-se hi
11:52 dalek rakudo-star-daily: 4ad2903 | coke++ | log/ (9 files):
11:52 dalek rakudo-star-daily: today (automated commit)
11:52 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/4ad2903854
11:52 dalek perl6-roast-data: 951daba | coke++ | / (9 files):
11:52 dalek perl6-roast-data: today (automated commit)
11:52 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/951dababb2
11:53 eli-se I think I understand hyper operators.
11:54 timotimo hooray
11:54 eli-se except for <<?>>
11:55 eli-se what does "dwimmy" mean?
11:55 arnsholt DWIM is "Do What I Mean"
11:55 eli-se oic
11:57 Ven joined #perl6
11:57 timotimo aye
11:58 eli-se I don't like DWIM
11:58 eli-se I like precise specifications.
11:59 timotimo these things are precisely specified, but tuned to do what you want as often as possible :)
12:09 |Tux| does perl6 support scalario yet, and if so, how? http://doc.perl6.org/routine/open does have no hints. my $fh = open $string, :r; does (of course) not work
12:09 awwaiid |Tux|: scalario?
12:10 awwaiid oh, scalar io
12:10 |Tux| open a stream from a scalar (a string) as if the string was the file content
12:10 awwaiid haha, was reading it as one word :)
12:10 lizmat |Tux|  NYI or even speculated, I believe
12:11 |Tux| hmm. scalario is sooooooooooooooooooooooooooooooooooo handy in tests :)
12:11 lizmat yeah, I know
12:14 |Tux| where can I find the syntax for the new perl6 here-doc styles? (typing here in the search only shows where)
12:16 nine_ PHP 7 - type safety without the safety: https://wiki.php.net/rfc/scalar_type_hints_v5
12:18 smls |Tux|: http://doc.perl6.org/language/quoting#Heredocs%3A_%3Ato
12:18 Ven nine_: without the safety?
12:18 |Tux| thanks
12:18 eli-se joined #perl6
12:18 eli-se lol
12:19 eli-se a2p prints "linehile (<>(<>) {" instead of "line: while (<>) {" :P
12:19 timotimo what is a2p?
12:19 timotimo ada to perl?
12:19 |Tux| awk2perl
12:19 timotimo ah
12:19 eli-se AWK to Perl converter. :P
12:20 |Tux| that is how I learned perl4 :)
12:20 eli-se It seems bugged.
12:22 laouji joined #perl6
12:23 nine_ Ven: you can declar a function's arguments' types but the caller can decider whether these should be checked or not. So you may declare your intention but cannot actually rely on your arguments having the types you declared.
12:23 Ven nine_: ...
12:23 nine_ Feels like all the pain for no gain.
12:23 Ven I don't have anything else to say.
12:28 timotimo at least PHP is getting all those interesting features into the main stream of programming languages
12:28 nine_ And of course they make it kind of hard to say that you want strict type checks by making the user remember rules like the declare(strict_types=1); _must_ be the first statement in a file and that declare(strict_types=1) {} (block mode) is specifically disallowed.
12:28 nwc10 nine_: oh, um, sweet. That competely buggers the refactoring approach of putting use strict; as the last line of a file, and moving it upwards, bit by bit by bit.
12:29 Ven timotimo: I think python and ruby talked about having it before, though?
12:29 nine_ "Like the encoding directive, but unlike the ticks directive, the strict_types directive only affects the specific file it is used in, and does not affect either other files which include the file nor other files that are included by the file."
12:29 timotimo yeah, but neither got it earlier :)
12:29 nine_ Lots and lots of special rules.
12:30 nine_ Like it's called "include" but actually does not work at all like an include but more like a require.
12:30 timotimo php has lots of problems with naming stuff vs explaining what stuff does
12:31 dalek ecosystem: 3527579 | (Kamil Kułaga)++ | META.list:
12:31 dalek ecosystem: added mortage calculator
12:31 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/3527579f81
12:33 timotimo isn't it spelled "mortgage"?
12:34 eli-se mortage
12:35 colomon mortage seems to be a pretty common misspelling of mortgage
12:35 timotimo what's the etymology on mortgage? why is that word so f'd up?
12:36 Ven timotimo: I can explain it in french :P
12:36 timotimo i don't understand french
12:36 colomon yeah, it’s from old French
12:36 eli-se timotimo: (latin mortuus -> old french mort) + old french gage -> old french mortgage
12:36 Ven I mean, I can decompose the french words
12:36 timotimo ah
12:36 nine_ The word mortgage is derived from a "law French" term used by English lawyers in the Middle Ages meaning "death pledge",
12:36 nine_ http://en.wikipedia.org/wiki/Mortgage_loan
12:36 eli-se data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaAAAACJCAIAAADlgHtEAAAbzUlEQVR42u2d+VdUV7qG79/iT612m1Z0rZteTYjxOiUQQSRAq4iA4hgIJgqhDa5ogkBaRETagVFEkBkiyqwtECaZRJR5EJBoMQUVAcH7xn1797k1YIEIBbzPOot1atfeZ9jUfur79qk69V91fa8NZ3lPGNQ5ztdOJsQA+S8KjoIjhIKj4Cg4Qig4Co6CI4SCo+AoOEIoOAqOgiNkmgR3t31g9dr1uobHoaMnPv6fdWK9ouPZpi02Ylm8ZInpZiuxnnTr7qr//hAVSpp7Fi1aFHMzX7kF+z0HE3NLZ1dwIfE3NttsM7eytbFzdHH3yqtuneDcUYizw3l9bmm9wcwcf4OvJGntN1FNLs4u36gVmlpscTrgll
12:36 eli-se PZrLU+ltiMgrd2WlRaHg4elS1ttx/3/2dR41NdR77daW/y7XIKjlBwegmu+vGQ2eYvdn/5dVx2kdpTaIKG8qEU3IqVq4xXrylt7TMcwXn5ntm598vyR4PiYVpBNUx3p7ZzAsEpC3Eue1wP/93bX59+0ywMT86Cdybo54k7zedcmK39LvFUzZOR81dTITsKjpBpENyZsNjAiLj0ovsO+1z0FNya9Z+eCb8mhrQhCC63quWPy5ZJu4kFJ2Vt56C/pGCWT9ZtEKHTZAWHN4m/GJtMLDhdnVZQ1/2nZR8UN6mU9Q984xmacJOCI+RdBYeE7t6vw1jZ8jc7jEM9BYcVu137AkJjDEFw/peileKQp7zcaOWDnjE9JYVl3yEPpJOTFVz+gy5Xj2NefoFvFZzWTrsY+7PV1h1au46CI+SdBIeh8v2pc2I9LDHjxO
12:36 colomon (if you type mortgage etymology into google they give you the answer, but I don’t know how to link to it)
12:36 eli-se nz+gsOKRVyLkRPsy44j+N+/7gQpbnrz8wt86pb9Rfc0ZOngy4nTDwHh+RXrfCvJqshnXvdL3XNwU3caehztW6fYO9Y/rzCiIIjFJxegtvjelg5eNabbnrYO66n4LDEZhZu/NwCyd2sR3CIjDRP+Q+LF8M7+gtur5v7FCI49NjxU8GQrD4RnGan/R7BbbNnBEfINAsOo26b4x5lyeFj3sorfW8VHJYj3/u4f+9rCHNwFR3P1OYWLay3TmoODiW/NDyZwhxccZMK7w16Ck6t08QcXElLr7K+T1DoDwEXKDhCpi44xB1qGdn1X2qUk1n6CA5e2GBmjjRtdq+iIrt02OeivIr6ybqNmWX1ekoKD51dD3974qepXUXFYrJmrf6CU+u0k2dDtjo4l7X1Y71W9Souu2jtRtN7vw5TcIToKzi12ZzPLa2NP15T3v
12:36 Ven wuuut
12:36 eli-se 6bWs1P1m2QUYw+gsOSU9m8ZOnSWf8c3IWYNPMv/oZTM9v8hd3u/bdr2ieYyULEJAvhGjQJjIhTpueTFRyyThhK677Ck7Pe2mkRKdnic3D46/njKfmpOgqOkLcLjt9k4DcZCKHgKDgKjhAKjoKj4Aih4Cg4Co4QCo6Co+AI0UNw7AJCCAVHCCEUHCGEUHCEEELBEUIIBUcIIRQcIYSCI4QQCo4QQuar4LZt29bT0zOPu2l4ePh972Le9yEhFJyB0tvb++TJEwqOkDkmuPLycm9v7++++27Hjh1WVlYtLS3+/v4ODg5OTk4FBQWiUldXl5+fn6Ojo4eHx/3791GCVj4+PmFhYcbGxgcPHly5cuXOnTszMzNLS0s9PT3l1o8cOYKaWguxEhUV9dVXX2GzR48eHR0dNXDBNTU16XLc9PYhX5SETKfgli9fXl
12:37 eli-se left #perl6
12:37 tadzik oh noes
12:37 Ven well.
12:37 eli-se joined #perl6
12:37 eli-se z/n0WNT3Ud+Xanvcm3yyk4Co4sIMF5+Z7ZuffL8keD4mFaQTVMd6e2cwLBKQtLW/v2uB7+u7f/xNV0FYYnZ8E7uupjgeBWrFxlvHoNdqQpOJ9zYbb2u8RTNU9Gzl9NhewouHkuuN7e3vj4+Cnv6R2bkzkkuNyqlj8uWybtJpbAiDhrOwf9JQWzfLJugwidJiu46sdDfzE2mVhwa9Z/eib8mvCgUnAFdd1/WvZBcZNKWf/AN56hCTcpOAqOgqPgXvtfilaKQ2poudHKBz1jekoKy75DHkgnJyu4/Addrh7HvPwC3yo4rNjt2hcQGqMU3MXYn6227tA6s0bBzTfB9ff35+TkxMbGXrt2rb29XRiqr68vOzsb63l5efL72DU1NSkpKShMTU2Vd0zT2pzMe8F5HPf7x4UoTUF8Zm6ZV92qv+COnjwddDlh4j
12:37 tadzik so, who'll glue this and put it on imgur? :)
12:37 eli-se k4JL9qhX81WQ3p3Ot+qWsOTik45KFIVBFySsGdOH0eiy7BaW7tzyuMKLi5KrjLly+L72D29PTEv2F8fDw0NHRgYEAUxsTEYOX58+diBTx9+hSm09WcPb5AIjhERpp2+MPixfCO/oLb6+Y+hQjuYe/48VPBkKw+ERyW2MzCjZ9bICP+TwS3zZ4R3PwXHNyUnp4uHxYXF8NQCMTk7wy8fnP7o8HBQWUrlUp17tw5Xc3Z4wtnDq6i45my8ExYrIX11knNwaHkl4YnU5iDK25SrTfdpKfgsBz53sf9e1/lHFxJS6+yvk9Q6A8BFyi4eSW4srKyqqoq+bCzsxOGys/PDw8Pj1cA5eHZoqKiyMjIgICAwMDA4OBgXc3Z4wtBcCK7dNjnoryK+sm6jZll9XpKCg+dXQ9/e+KnqV1FxWKyZq3+goNMN5iZI7cVV1
12:37 eli-se FPng3Z6uBc1taP9VrVq7jsorUbTe/9OkzBzbcITvx4iqCkpASGam1tzcvLU6vZ0NAQFRXV2NiIaG5sbOzChQu6mrPHF4jgsFyISTP/4m+bttiYbf7Cbvf+2zXtE8xkIWKShXANmgRGxCHZnLLgkHXCUFr3FZ6cpSY4LDmVzUuWLpWfg4tIyRafg8Nfzx9PyU/VUXDzbQ5OXDHo7e3FupyDw8PXb+4advXq1f7+/oqKCvGTUUJkIkXV2pw9vnAEx28yEEMXXF9fX1ZWVkxMzJUrVxC7CUPBWRkZGVhPSkqqr69HycjISGpqalxcHOK4e/fuXb9+vbi4WFdzQsFRcMQgBEcoOAqOgqPgCAXHhYKj4AgFR8ERCo7MLcERQsERCo4QCo5QcIRQcISCI4SCIxQcoeAIoeAIBUcoOEIoOELBEULBEQqOEAqOzC
12:37 timotimo hahaha
12:37 eli-se HBDQ8Pv+9D3bZtW09PD/9lM9zzc6LbKTjyfgXX29srf6ODgptJWlpa3qvjKDhCwf0uOGxHl+PKy8u9vb2/++67HTt2WFlZYUz6+/s7ODg4OTnJO+N3dXX5+fk5Ojp6eHjcv39ftPLx8QkLCzM2Nj548ODKlSt37tyZmZn5+s29V728vOzt7VEeGRkp7r2akpLi4uKye/duV1fXhw8fis1qrdnW1nbixAlnZ2dfX9/Hjx/P9f+gLsctnG6n4MhMCE6X4zBmli9fXl1djXUMLSMjI3EX6P7+fmtra1Fn8+bN4naqra2tlpaW2A5abdq0CcNGNJShxOjoqIWFBYYr1vHURx99hPGjUqns7OzEpurr69FKV82xsTFTU9POzk5x+hj88+A/qNVxC6fbKTgy0fDofWcQCDT9G03HYcxgIIl1vPqXLl06MjIiB9
12:37 timotimo that's fantastic :D
12:37 Ven tadzik: I'm pretty sure we missed other parts
12:37 eli-se jLly8rKiqOHj0q6ycmJiKCQKsVK1bIcStH2q1bt06ePCkrI3wQAYKksbER0YeumiUlJWfPnpWFCDTEb8IJhoaGeucUsts1HTeHup2CI+9RcNOO/CFdOdI8PT3lw/Xr18t1pE7Pnj0LCgpKTU2VhXifR1qEVocOHdKcDAoODlZWPn/+vBhpWMHWVq1a9eGHH5qYmOiqGRgYaG5uvlsBxp5mKDoXQQ44R7udgiMGHcFhbMhhpvnO/NaRphZKJCUlHTt2TK2VHGm1tbVHjhyR5du3b8f4ycnJQdqVm5vb3d2NaGXdunW6ahYWFvr4+OjqkHkWwc2VbqfgyNyYg9Oad7x1pImkCeMNK48ePbK1ta2qqlJr5ejoKGZwRCskU3gYEBBgZGSE8RMdHR0VFYWnxsfHQ0JCRK6ktearV6/MzMzEDBFSNgy/jo6O+T
12:37 Ven I hope this isn't a bmp :D
12:37 eli-se oHt0C6nYIjMyE4XbMq+oy0rq4uX19fpEgIGRAXaLaKi4vDU+JyHoIFrBw+fPjixYsYYKGhoS9evHBzc3NyckJAkZiYKJ7SWhOFDx8+ROSCLGn//v1ig3P6PzjBVdQF0u0UHHnvgpvGOeNJgdEorvdNY805xPv+HNyc6PYFITj+RMAUfi5gDn2TQaJSqWxsbBAjvH4zL25hYYH86B1rzl1mrOcNudspOAru/QpuhsnIyECag2TH3d29srJyWmqSudvtFBwFN68ERwgFR8FRcISCo+AoOEIoOAqOgiOEgjMUwYXE39hss83cytbGztHF3SuvulWU320fWL12vVplFC5esmTTFpvPLa03mJnjb/CVJM1tympycXb5Rq3Q1GKL0wG3nMpmrfWxxGYUlDT3LFq0KOZmvnLj9nsOJuaWivWotDwcPCpb2m4/7v
12:37 tadzik Ven: yeah, might be :(
12:37 eli-se /Posanuo58u9Pe5NvlFByh4BaQ4Lx8z+zc+2X5o0HxMK2gGqa7U9s5geCUhaWtfXtcD//d23/iaroKw5Oz4B1d9bFAcCtWrjJevQY70hScz7kwW/td4qmaJyPnr6ZCdhQcIRTc70tuVcsfly2TdhNLYESctZ2D/pKCWT5Zt0GETpMVXPXjob8Ym0wsuDXrPz0Tfk14UCm4grruPy37oLhJpax/4BvP0ISbc0twvb298fHx77t5V1fX9evXZ+B4ZpK2trasrCxdz4aEhOi5naGhIR8fn7KyMrXyoqIib2/vly9f4r+fl5enuXfNbxqIwokPTPLixQt/f/+o/09fX9+kTl/rsWntnAUnOP9L0UpxSA0tN1r5oGdMT0lh2XfIA+nkZAWX/6DL1eOYl1/gWwWHFbtd+wJCY5SCuxj7s9XWHVpn1ii4BSK4ws
12:37 eli-se LC2tparU/19/dfu3ZNz+00NjYmJiaK28BJIJqwsLDLly9PsPeamhqthRMcmNp+09PT38fpa312wQnO47jfPy5EaQriM3PLvOpW/QV39OTpoMsJE8/BIflVK/yryWpI5173S11zcErBIQ9FooqQUwruxOnzWHQJTnNrf15hZDiCw/DLycmJjY3FIGxvbxdCwYjKzs7GOt6Q5Z2UMFpSUlJQmJqaKm8hp7W5pLOzE1u4c+dOdHR0QkJCXV3d+Pi4FJzWvWjdoEqlQjCCwuTkZEQ3CGd0NZ8t4uLiBgYGcL6ii5KSkhoaGkSnXbp0CRHczZs38XBwcBD9EBMTg7+ighq3b9+Ga9RchhOvqqoSAgoPDx8dHUUohz7ETrGp5uZmrKA3tBaKA9Nnv9iFWmFERERLSwtOB/8+GZqhq7HNyMhIHNXjx4+vXLkiT1
12:37 tadzik Ven: if it is, we can read the header and see how long this will go on
12:37 eli-se 8cG04Zp49WaWlpCAzFszgp9MzVq1fFdhZiBIfISNMOf1i8GN7RX3B73dynEME97B0/fioYktUngsMSm1m48XMLZMT/ieC22c/RCA5jSXwptaenJ/4NcFBoaCher6IQowIrz58/Fyvg6dOneLHqaq4muLNnz4r7Yg8PD2OIYl0ITutetG5wbGwMIwfRnIj+zp07B8Hpaj5bQGGvXr1CWocc8/Wb766LL7EDWFjckwMgEBNnhwo4KTRR2w4UAE/hKVkCX2RkZFRWVkJAohU6BFoRtwxBP0D92JfWQpkd67Nf/FuVJaiJpBVvTuIrXOhhkbHCeiIcGxkZQbAJl4m9iC3DaNiU2ML9+/cRu2ElKCiovLxcuZ0FOgdX0fFMWXgmLNbCeuuk5uBQ8kvDkynMwRU3qdabbtJTcFiOfO/j/r2vcg6upKVXWd8nKP
12:38 eli-se SHgAsGLji86JWJSXFxMYSCuEn+AgDAUMH7v7IV4ilYRldzNcGJmjLlRPQnBKd1L1o3iPPNzc2VhXArBPfWg5xJcF4Y6soSGE3ePldaD8esnFy7desW4hplK4hJqA2BqhA6GsJNeG9ANIRuR3+ifyoqKkQ8KA2IXtJaKA5Mn/0GBAQoZ98QPos3J6lCHADCdhQqJ/sQ90FhYi/i2FAfYn306JGyczS3sxCvoiK7dNjnoryK+sm6jZll9XpKCg+dXQ9/e+KnqV1FxWKyZq3+goNMN5iZI7cVV1FPng3Z6uBc1taP9VrVq7jsorUbTe/9OmzggsPrXpmY4DWKUZGfn49hFq8AI0TMcyMxwUgIDAwMDg7W1VxNcOIdXoKwSwhO6160bhBDSPy6ipxuB7oOcla4d+8eXNzd3Y3Re+PGjcw3YF1GbWIFgRiSNe
12:38 Ven tadzik: true, true.
12:38 eli-se Uxyxu3yfebn3/++fWbH2QQYS86SshI3L8I/QORIc1EBipbZWVl/fLLL1oLxYG9db8wjgy7lK8NMRUgQG+LwFApL2wWOxV7Eccm0nCYDgks/tGiczS3s0A/B3chJs38i79t2mJjtvkLu937b9e0TzCThYhJFsI1aBIYEYdkc8qCQ9YJQ2ndV3hylprgsORUNi9ZulR+Di4iJVt8Dg5/PX88JT9VZ+ARnHI+u6SkBK/+1tZWzWthDQ0NeGPHYMPLF9mQCE+0NtdMUbVGcFr3onWDKFRelMBQxIDR2ny2QOjU0dGBDBGJvJxWF6Md6bO8Gzh0MPFc4d27d5HKid5GbtjW1iamAtBK5OCQJjSKdXFvOAESQMhda6E4sLfuF/nvv/71L7VC7Ev+khayZjHXJi6Vygu+vr6++Cv2Io5NNsfBIG9F7IlnNbfDbz
12:38 tadzik but it says it's a png
12:38 eli-se LwmwwzNwcnrhjAPliXc3AiRYLLIJT+/n4MV/FjTsI7MvHUbK4mOG9vb4wfbHNkZASvdbU5OLW96NogIsfS0tKBgQEM+9OnT8s5OM3mswKiEoxkHI+4yxCOyt/fX4z22tpaRFIy0MPxyzcMzQ92QIWiFc4UERDOWhgTAaxoiGAQJ4tYCb0hs/hTp06Njo5qLRTTbW/dr4wT1WJt7Eus4+1E3FxTeBz/IJwjvCkCebEXcWxYF8eM9ejoaBxDRESE5nYoOApuhgTX19eHt2W8/+OFi9efEApewchrxNXA+vp6MaOM4YfXNOI4DBgMCYwiXc2VgktOTkYYgtc9cijYTXkVVXMvujaIEYIKYqfwrBjJWpvPPOgZmAgreA/AYeN4MIZv3bolQlEICyP89u3boiZEA3MlJibiHDVn+i9duiRdAEWin2Vui386HC
12:38 eli-se p2hKBJXGgWXSouuWoWygN7634vXryIf5ByDg7nItpqfs4D3Q5FZmdn45DwzxV7kceGBBYHIC61owKeVV4Rltuh4Ci4GRLcewWCU/tI17uDDc71336eH+CdRvOTJXpCwVFwFNz/gZQHMYUIbcSHrSiXWeHFixcyHBscHES8Ka4OU3AUHAX3bi+Vujrx2dH09HRxbY7MCgjZ8F9AEoqsWXlJgYIj0wO/bE/mARQcoeAIBUcoOEIoOELBEULBEQqOEAqOUHCEUHCEgiOEgiMUHKHgCAVHCAVHKDhCKDgyNxgbG6PgCAVHfqehocHLy8ve3v7gwYORkZHiHo0pKSkuLi67d+92dXUVN03VVbOtre3EiRPOzs6+vr4GcvuK3377DXZTux0rIRTcgmN0dNTCwkL82Ed1dfVHH30EbalUKjs7O1Ghvr4ejtNVE7
12:38 timotimo aye, a png
12:38 eli-se GSqampUAmcsmPHDkM4IzgXBzPrvyBFCAU3y9y6devkyZPyIaI2+SMggsbGRmNjY101S0pKlPfaRnwnfpRIMDQ01DuzIIQUyanyjviEUHALlODgYHkvfHD+/HkhOKxYWVmtWrXqww8/NDEx0VUzMDDQ3Nx8twIoT9aBcZpmA0hW3vGVEApu4VJbW3vkyBH5cPv27dBWTk6OtbV1bm5ud3c3Mr5169bpqllYWOjj46Nr4zMfwSEtFT8rSQgFR34HkVpYWFhnZ2dAQICRkRG0FR0dHRUV9frND0GGhISIFFVrzVevXpmZmYmJuZGREVivo6ODXUoIBWcoIOTJzMw8fPjwxYsX4bXQ0NAXL164ubk5OTkhjktMTBRPaa2JwocPHx49ehTJ6f79+zV/iIgQQsEZCp6entXV1dNbkxBCwc0OKpXKxsZGzFsh97
12:38 eli-se SwsBC/WfkuNQkhFJyhkJGRgewSOaa7u3tlZeW01CSEUHCEEELBEUIoOEIIoeAIIYSCI4QQCo4QQig4Q6Srq+v69ev61Ozt7Y2Pj2ePEULBUXCEEApuBuns7MzLy7tz5050dHRCQkJdXd34+LgUXF9fX3Z2NhSGOvKGkf39/Tk5ObGxsdeuXWtvbxeCU6lUmZmZKExOTi4rKysqKtLVnBBCwc2c4M6ePSvuQj48PJyeno51ITiYLjQ0dGBgAE/19PTExMSIJpcvXxa3sURh/BvGxsbCw8MRzYno79y5cxCcruaEEApu5gQHHylTztTUVCE4RGcFBQXyKQRog4ODUBskKAuLi4shuKamptzcXFmYkpICwWltzg4nhIKbUcElJSUpSxB2CcHl5+cjLotXAGch/ayqqlI2R3lhYeH9+/dlYdEbtDZnhxNCwc
12:38 eli-se 10iqo1gmttbc3Ly1Orjwjuxo0b8mFJSQnMhULlRYmrV69CcFqbE0IouBkVnLe3d2Vl5fj4+MjIyM2bN9Xm4MTM2tjYGLTV39//+s0c3JMnT4QNsS4uMkRGRpaWlg4MDNy5c+f06dNyDk6zOSGEgps5wSUnJ6ekpCCdTEhIgN2UV1EhsoyMDCgMaWx9fb1o0tfXl5WVFRMTc+XKFYRpQnBQGCqgVXFx8d27dyE7Xc0JIRTczAlOmXJOC9iggfzkMyEUHAX3roJ7/vx5VFSU+Gk+ZKkIBtmxhFBw8yeCq6urQx6KbDQ9PR0ZLjuWkGnnfwEl144iXZyc6wAAAABJRU5ErkJggg==
12:38 tadzik damn, now I really want to pose this asciiart of Pope John Paul 2 I have
12:38 Ven moritz: do you do logs cleanup?
12:38 eli-se oops
12:38 eli-se that URL was a little too long :v
12:38 eli-se http://i.imgur.com/ItpcaEG.png
12:39 timotimo oh!
12:39 timotimo OH!
12:39 tadzik eli-se: please refrain from doing this again :)
12:39 timotimo you can use url shorteners as image storage services!
12:39 eli-se ok :p
12:39 timotimo this is BRILLIANT!
12:39 tadzik timotimo: lol
12:39 Ven timotimo: uhm?
12:39 tadzik let's try that right now
12:39 lizmat FROGGS_: fwiw, I don't see strange TODO"s passing on JVM anymore
12:40 anaeem1 joined #perl6
12:41 timotimo tadzik: thanks. i'm too lazy to try it myself
12:41 timotimo also, i don't have an image ready to go
12:41 FROGGS_ lizmat: huh
12:41 FROGGS_ maybe I did not test with latest?
12:41 lizmat argh...
12:41 lizmat I tested moar  :-(
12:42 * lizmat tries again
12:42 FROGGS_ ahh
12:43 FROGGS_ I'll retest this one:
12:43 FROGGS_ t/spec/S02-types/bag.rakudo.jvm                            (Wstat: 0 Tests: 193 Failed: 0)
12:43 FROGGS_ TODO passed:   17, 77
12:47 arnsholt tadzik: Oooh, Jan Pawel ASCII art =D
12:47 tadzik in all the colours of the rainbow
12:47 tadzik that got lost in the irc log, unfortunately :(
12:48 tadzik arnsholt: https://gist.github.com/tadzik/611b593f5dbf409b6e2f
12:50 [Sno] joined #perl6
12:52 telex joined #perl6
12:53 alini joined #perl6
12:56 kurahaupo joined #perl6
12:56 xfix joined #perl6
12:58 dalek rakudo/nom: 412559b | lizmat++ | src/core/PseudoStash.pm:
12:58 dalek rakudo/nom: Make stuff like CALLER::<&?ROUTINE> work
12:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/412559b99e
12:58 timotimo tadzik: how about we remove IO::Select from the ecosystem, as it only works on parrot and isn't strictly necessary on moar and jvm?
12:59 tadzik timotimo: sure, it's not very useful on parrot anyway
12:59 FROGGS_ lizmat++ # good catch
12:59 timotimo tadzik: how about your Threads module, does that still exist?
12:59 FROGGS_ timotimo: are you getting further with isatty?
12:59 tadzik timotimo: probably :) git never forgets
12:59 timotimo FROGGS_: no, i've been distracted since i last wrote about it
13:00 timotimo ThreadsThreads in Perl 6. Yeah, really
13:00 * lizmat hopes FROGGS_ or timotimo will do it
13:00 timotimo still in the ecosystem
13:01 tadzik hah, I need to read this code
13:02 lizmat m: class A { method a { b() } }; sub b() { say CALLER::<self>.WHAT }; A.new.a   # sort of expected (A) there  :-(
13:02 camelia rakudo-moar e5a8f7: OUTPUT«Cannot call method 'dynamic' on a null object␤  in method AT-KEY at src/gen/m-CORE.setting:12600␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3663␤  in sub b at /tmp/4YxbSys1na:1␤  in method a at /tmp/4YxbSys1na:1␤  in block <unit> at /…»
13:02 lizmat $ 6 'class A { method a { b() } }; sub b() { say CALLER::<self>.WHAT }; A.new.a'
13:02 lizmat (Mu)
13:03 lizmat I was pondering whether it would make sense for exceptions to be able to access their caller's "self" for more info
13:03 FROGGS_ is self a lexical symbol?
13:03 lizmat m: class A { method a { b() } }; sub b() { say CALLER::.keys }; A.new.a
13:03 camelia rakudo-moar e5a8f7: OUTPUT«self $! $/ $_ %_ $*DISPATCHER &?ROUTINE RETURN␤»
13:04 tadzik hah, my semaphore implementation looks like it was typed straight from Tanenbaum
13:04 tadzik it probably was
13:04 lizmat m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<$_> }; A.new.a   # $_ seems to work
13:04 camelia rakudo-moar e5a8f7: OUTPUT«42␤»
13:05 FROGGS_ m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<$*PACKAGE> }; A.new.a
13:05 camelia rakudo-moar e5a8f7: OUTPUT«(Any)␤»
13:05 lizmat m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<$?PACKAGE> }; A.new.a  # $? mnot $*
13:05 camelia rakudo-moar e5a8f7: OUTPUT«(Any)␤»
13:06 FROGGS_ I just read this:
13:06 FROGGS_ method term:sym<self>($/) {
13:06 FROGGS_ make QAST::Var.new( :name('self'), :scope('lexical'), :returns($*PACKAGE), :node($/) );
13:06 lizmat m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<&?ROUTINES> }; A.new.a  # this maybe?
13:06 camelia rakudo-moar e5a8f7: OUTPUT«(Any)␤»
13:06 FROGGS_ but yeah
13:06 FROGGS_ m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<&?ROUTINE> }; A.new.a
13:06 camelia rakudo-moar e5a8f7: OUTPUT«No such method 'dynamic' for invocant of type 'Method'␤  in method AT-KEY at src/gen/m-CORE.setting:12600␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3663␤  in sub b at /tmp/p6p35uYYyX:1␤  in method a at /tmp/p6p35uYYyX:1␤  in block <u…»
13:06 lizmat that I just fixed
13:06 FROGGS_ yeah
13:06 lizmat well, it was just a thought
13:07 FROGGS_ if self is a lexical then it should be accessible I think
13:07 FROGGS_ maybe an optimization kills it
13:08 lizmat tried it with --optimize=0 , no luck
13:08 FROGGS_ what about spesh?
13:09 lizmat MVM_SPESH_DISABLE=1 right?   no luck :-(
13:09 FROGGS_ yes, this
13:09 FROGGS_ hmm :/
13:10 lizmat no worries, was just testing an idea
13:11 FROGGS_ sure
13:14 skids joined #perl6
13:15 pecastro joined #perl6
13:16 eli-se joined #perl6
13:17 eli-se woo
13:19 |Tux| m: @x=[^2],[^3];@x.map({[*.map(*.Str)]}).perl.say
13:19 camelia rakudo-moar 412559: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jqKKsAKRMP␤Variable '@x' is not declared␤at /tmp/jqKKsAKRMP:1␤------> 3@x7⏏5=[^2],[^3];@x.map({[*.map(*.Str)]}).perl␤    expecting any of:␤        postfix␤»
13:19 |Tux| m: @x=[^2],[^3];@x.map({[$_.map(*.Str)]}).perl.say
13:19 camelia rakudo-moar 412559: OUTPUT«5===SORRY!5=== Error while compiling /tmp/idF3jGrRAd␤Variable '@x' is not declared␤at /tmp/idF3jGrRAd:1␤------> 3@x7⏏5=[^2],[^3];@x.map({[$_.map(*.Str)]}).per␤    expecting any of:␤        postfix␤»
13:19 |Tux| m: my @x=[^2],[^3];@x.map({[*.map(*.Str)]}).perl.say
13:19 camelia rakudo-moar 412559: OUTPUT«([WhateverCode.new()], [WhateverCode.new()]).list␤»
13:19 |Tux| m: my @x=[^2],[^3];@x.map({[$_.map(*.Str)]}).perl.say
13:19 camelia rakudo-moar 412559: OUTPUT«(["0", "1"], ["0", "1", "2"]).list␤»
13:20 |Tux| is that related to RT#123980 ?
13:20 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123980
13:30 [Coke] TPF current grant submission deadline extended: http://news.perlfoundation.org/2015/03/extended-calling-for-grant-pro.html
13:36 lizmat FROGGS_ jnthn: I thought we had native int arrays on JVM as well???
13:36 lizmat $ perl6-j -e 'say array[int] ~~ Positional'
13:36 lizmat ===SORRY!=== Error while compiling -e
13:36 lizmat Undeclared routine:
13:36 lizmat array used at line 1
13:37 Ven joined #perl6
13:37 FROGGS_ hmmm, that would explain the test failures I had seen :o)
13:38 lizmat ok, I guess I'll add a skip_rest for JVM
13:39 nige joined #perl6
13:39 lizmat argh, it's a compile time issue  :-(
13:46 dalek rakudo/nom: 99b410e | lizmat++ | t/spectest.data:
13:46 dalek rakudo/nom: Run native array tests only on Moar
13:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/99b410e39a
13:52 zakharyas joined #perl6
13:52 lizmat FROGGS_: native_array.pm is not included in the JVM build
13:53 lizmat so no native arrays on JVM just yet
13:53 lizmat :-(
14:02 muraiki joined #perl6
14:05 pecastro joined #perl6
14:08 dalek perl6-examples: 5266ef2 | paultcochrane++ | htmlify.pl:
14:08 dalek perl6-examples: Use collected pod and metadata to write example files
14:08 dalek perl6-examples:
14:08 dalek perl6-examples: This removes the need to run perl6-m to extract the pod a second time.
14:08 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/5266ef2597
14:08 dalek perl6-examples: 9b55d5f | paultcochrane++ | README.md:
14:08 dalek perl6-examples: Correct link to example template file
14:08 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/9b55d5fb7d
14:08 timotimo [ptc]: damn you are fast
14:10 dalek roast: d316dd3 | usev6++ | S03-sequence/misc.t:
14:10 dalek roast: Adjust test for sequence terminated by signature mismatch
14:10 dalek roast: review: https://github.com/perl6/roast/commit/d316dd34b4
14:18 dalek specs: 13e0016 | usev6++ | S03-operators.pod:
14:18 dalek specs: Fix typo (remove superfluous word 'operator')
14:18 dalek specs: review: https://github.com/perl6/specs/commit/13e00160ae
14:19 dalek roast: ee98133 | lizmat++ | S09-typed-arrays/native- (2 files):
14:19 dalek roast: Add some more native int/num array tests
14:19 dalek roast:
14:19 dalek roast: Mostly skipped for now  :-(
14:19 dalek roast: review: https://github.com/perl6/roast/commit/ee98133a3f
14:19 dalek roast: ffcc428 | lizmat++ | S03-sequence/misc.t:
14:19 dalek roast: Merge branch 'master' of https://github.com/perl6/roast
14:19 dalek roast: review: https://github.com/perl6/roast/commit/ffcc428a7e
14:22 FROGGS_ m: say 'C:\\rakudo/t'.IO.cleanup
14:22 camelia rakudo-moar 99b410: OUTPUT«"/home/camelia/C:\rakudo/t".IO␤»
14:24 FROGGS_ m: say $*CWD.WHAT
14:24 camelia rakudo-moar 99b410: OUTPUT«(IO::Path)␤»
14:26 LonelyGM joined #perl6
14:27 raiph joined #perl6
14:30 dalek roast: fa8e53d | FROGGS++ | S32-io/chdir.t:
14:30 dalek roast: use .cleanup to compare paths
14:30 dalek roast:
14:30 dalek roast: We need to normalize paths for is() checks, and that also means we can use forward
14:30 dalek roast: slashes to concat paths.
14:30 dalek roast: review: https://github.com/perl6/roast/commit/fa8e53dabd
14:30 FROGGS_ timotimo: that's what we should do in the test reports you've linked earlier
14:31 dalek roast: ec203fc | lizmat++ | / (11 files):
14:31 dalek roast: Unfudge all passing JVM specific todo'd tests
14:31 dalek roast: review: https://github.com/perl6/roast/commit/ec203fc16c
14:32 FROGGS_ what?
14:32 FROGGS_ lizmat: these were the TODOs we talked about earlier
14:32 lizmat these were all tests that were marked todo for rakudo.jvm that now pass
14:33 lizmat they seemed all role related somehow
14:33 dalek roast: 98ab70b | usev6++ | S03-sequence/misc.t:
14:33 dalek roast: Fix quoting for skip message
14:33 dalek roast: review: https://github.com/perl6/roast/commit/98ab70b53c
14:33 FROGGS_ hmmmm
14:34 lichtkind joined #perl6
14:34 dalek rakudo/nom: bad2657 | lizmat++ | t/spectest.data:
14:34 dalek rakudo/nom: Add one more test file we don't test on JVM
14:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bad2657d4f
14:35 FROGGS_ lizmat++ # seems you are right
14:35 FROGGS_ pheww
14:35 FROGGS_ that will make life easier until/on Thursday
14:36 lizmat still more breakage that needs further investigation
14:36 FROGGS_ lizmat: on jvm or moar? or both?
14:36 lizmat some flappers on moar still
14:36 lizmat I guess we will need to skip those
14:36 FROGGS_ S17?
14:36 lizmat yeah
14:37 FROGGS_ k
14:39 dalek ecosystem: 0ac39c1 | retupmoca++ | META.list:
14:39 dalek ecosystem: Add HTTP::ParseParams
14:39 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/0ac39c1895
14:42 abraxxa FROGGS_: just read that you are/where working on a feature called nativesizeof for NativeCall, what's its status?
14:42 dalek rakudo/newio: 67156c1 | FROGGS++ | lib/NativeCall.pm:
14:42 dalek rakudo/newio: throw for wrong arity in native subs
14:42 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/67156c168f
14:42 dalek rakudo/newio: 051c602 | lizmat++ | src/core/native_array.pm:
14:42 dalek rakudo/newio: Make my int @a = Range about 1000x faster
14:43 lizmat sorry Dalek
14:43 FROGGS_ m: use NativeCall; say nativesizeof(long) # abraxxa
14:43 dalek joined #perl6
14:43 camelia rakudo-moar bad265: OUTPUT«8␤»
14:43 FROGGS_ m: use NativeCall; say nativesizeof(int16)
14:43 camelia rakudo-moar bad265: OUTPUT«2␤»
14:44 abraxxa FROGGS_: so a function that gets imported from NativeCall? is it already in rakudo 2015.02?
14:44 lizmat afk for a bit&
14:44 abraxxa can i pass it a variable and it returns the number of bytes of it's contents?
14:44 FROGGS_ m: use NativeCall; class Foo is repr<CStruct> { has num32 $.a; has uint8 $.b }; say nativesizeof(Foo)
14:44 camelia rakudo-moar bad265: OUTPUT«8␤»
14:44 FROGGS_ star-m: use NativeCall; class Foo is repr<CStruct> { has num32 $.a; has uint8 $.b }; say nativesizeof(Foo)
14:44 camelia star-m 2015.02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kk1m9TRg9r␤Undeclared routine:␤    nativesizeof used at line 1␤␤»
14:45 FROGGS_ abraxxa: apparently not :o(
14:45 abraxxa FROGGS_: so just types? ok
14:45 FROGGS_ but it will be in 2014.03 which appears in about 53 hours
14:45 FROGGS_ abraxxa: no, nativesizeof() is not in 2015.02
14:46 abraxxa FROGGS_: good enought, thanks!
14:46 moritz justrakudobrewit
14:46 FROGGS_ aye
14:46 FROGGS_ unless you are on windows
14:46 abraxxa moritz: if I had time to continue with DBDish::Oracle I would ;)
14:46 FROGGS_ ... and dont have visual studio express installed
14:47 psch \o
14:48 psch turns out -noverify is why we SEGV on jvm
14:48 psch without that we get a VerifyError
14:49 tueriahe joined #perl6
14:49 tueriahe Hello, is there any plan to implement irrational numbers in perl6 ?
14:50 psch (that's for RT #124051, the SEGV)
14:50 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=124051
14:50 moritz tueriahe: no; that's best left to modules
14:53 [Coke] I would not skip flappers for release.
14:53 [Coke] the more we skip/unskip them on release, the less likely they'll get fixed.
14:54 [Coke] or unskipped. we've had that happen a few times where they get skipped, and then potentially borken worse because they aren't run
14:54 abraxxa can someone help me confirm that a sword in Oracle OCI is a int32 in Perl 6?
14:54 abraxxa same for size_t which should be a int32
14:55 tueriahe wondering if one could do this things http://en.wikipedia.org/wiki/Standard_map with some perl representation of irrational numbers
14:55 |Tux| size_t depends on the Oracle version. most often it is a long long (64bit)
14:55 tueriahe basically would mean implementing a computer algebra system
14:56 rmgk_ joined #perl6
14:56 [Coke] do the flappers have RT's yet?
14:56 abraxxa |Tux|: how can I find that out?
14:57 * |Tux| was looking, have a minute
14:58 rindolf joined #perl6
14:58 abraxxa |Tux|: thanks!
15:01 moritz tueriahe: is that the standard way of representing irrational numbers in computer algebra systems?
15:01 moritz because it's not quite what I'd expect :-)
15:03 |Tux| abraxxa, https://gist.github.com/Tux/da7d140d4b6e0c554f1a does that help?
15:04 |Tux| it is a slimmed down example from how Oracle compiles c sources
15:04 |Tux| this is 11.2/64 on Linux
15:05 abraxxa |Tux|: how can I define my Perl 6 methods when this depends on the platform?
15:07 ugexe you could probably use a Build file, or handle delegation yourself based on $*DISTRO or whatever
15:07 yqt joined #perl6
15:09 abraxxa das NativeCall have a type that can be used for size_t?
15:10 arnsholt Not yet, I think. Probably should though
15:11 LonelyGM joined #perl6
15:11 |Tux| abraxxa, IIRC Oracle 11 and newer *only* ship with 64bit, so assuming 8 is safe (64bit)
15:11 abraxxa |Tux|: does sizeof return bits or bytes?
15:11 |Tux| bytes
15:12 abraxxa i could use int which also changes per platform
15:13 abraxxa i would have switched to int32 as per recommendation from the last NativeCall release to not use int without defininig the specific size
15:15 abraxxa |Tux|: InstantClient is still available for 32bits http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
15:20 abraxxa can I define my own native type which is also called size_t so that I have to specify the translation from the Perl to the C type only in one place and not change every method definition?
15:21 FROGGS_ abraxxa: I think you meant long when you said int
15:22 moritz abraxxa: constant size_t = int32; # for example
15:22 abraxxa FROGGS_: currently I had it defined as int because I wasn't able to determine the correct type
15:22 abraxxa so what I would do is:
15:22 abraxxa constant size_t = long;
15:23 abraxxa and as long is different on 32 vs. 64bit platforms it should again conform to the OCI library?!
15:26 kurahaupo joined #perl6
15:28 FROGGS_ aye
15:28 abraxxa great!
15:29 abraxxa i will define constants for all the OCI types and use those in the methods
15:30 perl6_newbee joined #perl6
15:32 aborazmeh joined #perl6
15:32 aborazmeh joined #perl6
15:37 FROGGS_ that makes sense
15:49 pecastro joined #perl6
15:54 lizmat commute to NRPM meeting&
15:57 eli-se joined #perl6
16:26 trzef joined #perl6
16:28 mr-foobar joined #perl6
16:29 trzef is there a place on the internet where some cool scripts in perl6 that show the quality of the language can be seen?
16:29 TimToady rosettacode.org
16:29 yoleaux 10:12Z <smls> TimToady: What do you think of this: http://i.imgur.com/CeF13gV.png
16:29 yoleaux 10:12Z <smls> TimToady: My ulterior motive is the attempt to find a good color scheme for a redesigned perl6.org (for after the 6.0 beta release), that *both* fits Camelia *and* has colors that are pleasant enough to be used as the background of larger areas. Which I can't seem to do with the current Camelia colors.
16:29 yoleaux 10:13Z <smls> TimToady: But it might also help end the recurring resistance to Camelia as Perl 6's mascot; because even though Camelias detractors don't always communicate the source of their dislike clearly, I think it has much to do with the colors.
16:30 TimToady see http://rosettacode.org/wiki/Category:Perl_6
16:33 TimToady also http://github.com/perl6/perl6-examples
16:34 TimToady also anything mentioned on http://perl6.org/documentation/
16:37 TimToady .tell smls I think your Camelia looks like she didn't get enough sleep. :) And I think Camelia should be the accent on a page, not match the page.
16:37 yoleaux TimToady: I'll pass your message to smls.
16:37 tbrowder joined #perl6
16:38 tbrowder Is 'die' the only current choice in Perl 6 for Perl 5's 'croak' or 'carp'?
16:39 TimToady .tell smls also, the colors are not meant to appeal to people who are too old to enjoy life anymore :)
16:39 yoleaux TimToady: I'll pass your message to smls.
16:39 TimToady tbrowder: you can throw an exception object directly
16:40 TimToady and there's some lower-level backtrace controls I don't remember
16:40 TimToady it's also possible to hide routines from the backtracer
16:40 nige joined #perl6
16:41 tbrowder Um, as a newbie, I'm just trying to get past old Perl 5 idioms, so I have a lot of 'if/eslif/else carp/croak' situations.
16:42 mr-foobar joined #perl6
16:42 [Coke] in https://p6weekly.wordpress.com/2015/03/16/2015-11-native-arrays-arrive/, why does the first p5 example use integer?
16:43 TimToady tbrowder: to be honest, we haven't thought much about carp/croak yet
16:43 [Coke] (is that required with native ints?)
16:44 tbrowder Um, backtrace controls would be cool.  Any pointers to doc?
16:44 TimToady [Coke]: it's just leveling the playing field by using the only effective integer declaration P5 has
16:44 [Coke] pass --ll-exception on the command line for more deets on a backtrace.
16:45 TimToady yeah, but that sucks as an internal API
16:45 [Coke] TimToady: But if it's uneeded in that sample, seems like an unfair leveling.
16:45 [Coke] which I get. there's marketing and stuff. :)
16:46 tbrowder Thanks TimToady and [Coke].
16:46 TimToady it actually does use different ops optimized for integers when you 'use integer' in P5
16:46 [Coke] huh. it's actually SLOWER here if I comment out use integer.
16:46 TimToady yup
16:46 [Coke] so there you go. Thanks.
16:55 abraxxa yoleaux: regarding the proposed color scheme: i find the P 6 indeed very much better readable and standing out
16:58 diana_olhovik_ joined #perl6
16:58 TimToady pity a computer screen can't reproduce irridescence... :)
16:59 jnthn evening, #pelr6
16:59 TimToady o/
16:59 nwc10 heresy!
17:00 jnthn heresy *and* typo
17:00 nwc10 the beer is good there?
17:00 jnthn Only just got off teaching, not had any beer yet :)
17:01 liztormato joined #perl6
17:01 jnthn Last night's, however, was excellent
17:03 liztormato colomon: I did not see much difference between use integer and without
17:03 TimToady its main purpose is to for integer semantics where you might expect floating-point
17:03 liztormato Thought it was best to add it anyway
17:03 TimToady *force
17:04 coffee` joined #perl6
17:05 liztormato Oops I meant [Coke] ;-)
17:06 pmichaud timotimo: +1
17:06 TimToady and the purpose of the P 6 is not primarily to be readable, more like secret markings that happen to look like P 6 if you squint against the glare
17:06 pmichaud oops, my +1 was in response to an apparently backscrolled item
17:14 madmuid joined #perl6
17:17 TimToady liztormato: your commit https://github.com/rakudo/rakudo/commit/42e6cda418 looks bogus to me; surely it should be paying attention to the itemization, not the Arrayness
17:18 eli-se joined #perl6
17:18 TimToady oh, it was bartolin's patch...
17:18 liztormato Please don't blame the merger :-)
17:19 bartolin TimToady: yes, that was from me. Mouq++ already pointed out that "flat $value" instead of "$value.flat" would have been better.
17:20 TimToady oh, I see the comment an hour ago now
17:20 jnthn liztormato: In general, if you're not sure if a patch is right or not, it's better *not* to merge it and leave it to somebody surer :)
17:20 TimToady (still lackbogging)
17:20 bartolin I just spectested the suggestion from Mouq and it passed all tests.
17:20 TimToady bartolin++ Mouq++
17:21 TimToady "Pay no attention the man behind the curtain!"
17:21 liztormato jnthn: it passed all tests and made some todos pass
17:22 TimToady and it flattens something itemized, which is suspect
17:22 TimToady or versa vica
17:22 mohij joined #perl6
17:22 bartolin sorry for the trouble
17:22 TimToady one of my points last night was that it's okay to be wrong temporarily :)
17:23 TimToady so don't be sorry
17:24 virtualsue joined #perl6
17:26 spider-mario joined #perl6
17:26 moritz somebody please throw some motivation my way
17:26 TimToady do it for your kids
17:26 moritz that would be playing with them, not hacking on perl6/doc :-)
17:26 jercos I'm already wearing these shades, make the future bright so I don't look like a dork.
17:26 jercos WHOOPS, TOO LATE
17:27 jnthn moritz: But your kids can use the docs to learn Perl 6 in the future, which will be awesome! :)
17:28 dalek doc: 56c1912 | moritz++ | lib/Type/Supply.pod:
17:28 dalek doc: correct a TODO comment
17:28 dalek doc: review: https://github.com/perl6/doc/commit/56c1912d0d
17:28 Rounin joined #perl6
17:31 LonelyGM joined #perl6
17:32 yqt joined #perl6
17:34 liztormato left #perl6
17:35 [Sno] joined #perl6
17:35 bartolin TimToady: my initial reason to fiddle with SEQUENCE was RT #80574 and the corresponding fudged test
17:35 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=80574
17:35 bartolin m: my @a := -> { "one", "two" } ... *; say @a[0]
17:35 camelia rakudo-moar bad265: OUTPUT«one␤»
17:35 bartolin do you agree that this should return only 'one'?
17:36 J-L joined #perl6
17:36 TimToady yes, you'd need $("one", "two") or ["one,"two"] to get both
17:37 bartolin thanks
17:37 TimToady but it sorta has nothing to do with being an array
17:37 TimToady that's what set off me jitters :)
17:38 bartolin (and rightly so :-)
17:39 J-L Question:  Using Perl6's REPL interface, I notice that it won't let me enter multi-line code unless I end the line with a backslash.  So copying-and-pasting code into REPL won't work (without the backslashes at the end of each physical line).  Is that the way it's going to stay, or are there plans to change it to be more copy-and-paste-friendly?
17:40 arnsholt It's a known bug in the REPL
17:40 arnsholt I don't think we have a timeline for when it'll be fixed, though
17:44 lizmat joined #perl6
17:47 tinyblak joined #perl6
17:48 J-L arnsholt:  Thanks!  It's good to hear that the issue is temporary.  Or supposed to be, at least.
17:50 TimToady our own readline in P6 might be a good project for someone of a hacky disposition, and might serve as the basis for a better REPL
17:51 TimToady then we could avoid both license and unicode issues
17:51 perigrin left #perl6
17:51 TimToady the main thing to learn would be which characters are double-wide in the typical terminal
17:55 itz_ tab complete on methods would be nice in the REPL
17:56 Sqirrel joined #perl6
17:59 Sqirrel m: say "look, a squirrel"
17:59 camelia rakudo-moar bad265: OUTPUT«look, a squirrel␤»
17:59 tadzik welcome Sqirrel :)
18:00 Sqirrel :o)
18:03 skids m: say <hello o/ greetings SQIRREL!>.pick(1)
18:03 camelia rakudo-moar bad265: OUTPUT«o/␤»
18:04 bayprogrammer joined #perl6
18:05 hoelzro itz_: I agree; I think for that to happen, though, we would need an NQP/VM level op for attaching a completion callback to readline/linenoise
18:05 hoelzro now that NativeCall is core, though, is it necessary to have linenoise/readline stuff in NQP or MoarVM?
18:09 jnthn hoelzro: I wouldn't be sad to see linenoise go
18:09 jnthn It's a mess on Windows.
18:09 jnthn Worse than not having it.
18:10 jnthn And a REPL written in NQP or Perl 6 would mean maintaining it once on Moar and JVM too, if it's done using NativeCall
18:19 eli-se joined #perl6
18:20 hoelzro would LineNoise.pm/ReadLine.pm just ship with Rakudo, then?
18:20 hoelzro or should the REPL look for the modules and enable them if available?
18:20 eli-se woo
18:23 LonelyGM m: say <watching champions league>
18:23 camelia rakudo-moar bad265: OUTPUT«watching champions league␤»
18:29 eli-se LonelyGM: almost like barewords!
18:30 LonelyGM eli-se: use strict :p
18:32 moritz quotes are almost like barewords, except for the quotes
18:45 arnsholt Like barewords, except not ambiguous! \o/
18:45 timotimo these are bare quoted words
18:49 masak m: say <watching champions league>.pick(2)
18:49 camelia rakudo-moar bad265: OUTPUT«champions watching␤»
18:49 masak what's an idiomatic way in Perl 6 to say ".pick($n), but retain the order of the original list" ?
18:50 jdv79 quoted strings are like barewords except the quotes - mind blown...
18:50 colomon masak: pick on the size of the list, sort the results and use them to get a slice of the original?
18:51 FROGGS_ m: my @a = 'a' .. 'z'; say @a[@a.keys.pick(5).sort]
18:51 camelia rakudo-moar bad265: OUTPUT«c d n x y␤»
18:51 FROGGS_ masak: ^^?
18:52 FROGGS_ I dunno what "pick on the size" means
18:52 FROGGS_ ahh, size
18:52 FROGGS_ like .elems
18:53 masak FROGGS_++
18:53 [Coke] m: my @a = (1..100).pick(10); say @a; my @b = @a.pick(4); say @a.antipairs[@b]>>.values;
18:53 camelia rakudo-moar bad265: OUTPUT«77 48 7 16 89 23 98 3 93 52␤␤»
18:54 timotimo does @a.keys return a Range object? or does it handle undefined slots, too?
18:54 masak m: sub pick-orderly(@a, $n) { @a[@a.keys.pick($n) }; say pick-orderly('a'..'z', 5)
18:54 [Coke] m: my @a = (1..100).pick(10); say @a; my @b = @a.pick(4); say @b;
18:54 camelia rakudo-moar bad265: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pWkhWhFxEG␤Unable to parse expression in subscript; couldn't find final ']' ␤at /tmp/pWkhWhFxEG:1␤------> 3ck-orderly(@a, $n) { @a[@a.keys.pick($n)7⏏5 }; say pick-orderly('a'..'z', 5)␤    expectin…»
18:54 camelia rakudo-moar bad265: OUTPUT«23 42 82 18 53 27 29 19 31 41␤23 41 27 53␤»
18:54 masak m: sub pick-orderly(@a, $n) { @a[@a.keys.pick($n).sort] }; say pick-orderly('a'..'z', 5)
18:54 camelia rakudo-moar bad265: OUTPUT«c f k v x␤»
18:54 masak \o/
18:54 [Coke] m: my @a = (1..100).pick(10); say @a; my @b = @a.pick(4); say (@a.antipairs[@b])>>.values;
18:54 camelia rakudo-moar bad265: OUTPUT«78 5 44 36 96 92 33 81 24 31␤5␤»
18:54 [Coke] O_o
18:54 [Coke] that seems to be working in the rpl.
18:55 labster left #perl6
18:55 dalek perl6-examples: 10a3dd7 | paultcochrane++ | rosalind/cons-grondilu.pl:
18:55 dalek perl6-examples: Remove superfluous rosalind example
18:55 dalek perl6-examples:
18:55 dalek perl6-examples: The up to date version is in the categories/rosalind directory
18:55 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/10a3dd718b
18:55 dalek perl6-examples: 0562a79 | paultcochrane++ | htmlify.pl:
18:55 dalek perl6-examples: Format author heading
18:55 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/0562a79528
18:55 dalek perl6-examples: ed107f3 | paultcochrane++ | htmlify.pl:
18:55 dalek perl6-examples: Set default values for title and author elements
18:55 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/ed107f3d21
18:55 labster joined #perl6
18:58 FROGGS_ jnthn: are arrays (the lowercase ones) implemented for the jvm?
19:10 Hor|zon joined #perl6
19:10 telex joined #perl6
19:11 Celelibi_ joined #perl6
19:19 pullphinger joined #perl6
19:22 labster joined #perl6
19:22 moritz m: /\#/
19:22 camelia rakudo-moar bad265: ( no output )
19:23 labster timotimo: pong (I'm here, but you messaged right after my bedtime)
19:24 dalek doc: 01f598f | moritz++ | lib/Language/regexes.pod:
19:24 dalek doc: Regexes: remove outdated special case \#
19:24 dalek doc:
19:24 dalek doc: also be a bit more specific in links
19:24 dalek doc: review: https://github.com/perl6/doc/commit/01f598f3b4
19:26 Hor|zon joined #perl6
19:27 timotimo labster: ah! i was looking at modules in the ecosystem and stumbled upon one of yours, but i forgot which one
19:28 labster Well, at this point, I'm sure one of my modules stumbled on the compiler.
19:28 * masak has been teaching Python for two days
19:28 FROGGS_ timotimo: one of these? http://testers.p6c.org/auths-L.html
19:28 lizmat hugme: hug masak
19:28 * hugme hugs masak
19:28 masak lizmat: thanks, but I enjoy it :)
19:28 dalek doc: de11df8 | moritz++ | lib/Language/regexes.pod:
19:28 dalek doc: More linking/indexing
19:28 dalek doc: review: https://github.com/perl6/doc/commit/de11df8546
19:29 lizmat then the hug is a bonus!
19:29 FROGGS_ masak: {} - take these, it is dangerous out there
19:29 masak lizmat: I actually asked $boss if I could create this course, so we'd get more courses like the Perl course :)
19:29 timotimo i think it was the one where i saw the comparisons between forward-slashed and backward-slashed paths as well as the reliance on ordering
19:29 masak FROGGS_: Python put all of them in their formatting strings.
19:29 [Coke] Are due for an nqp stage0 rebuild soon?
19:29 [Coke] *we due
19:29 FROGGS_ [Coke]: I dont think so... why?
19:30 moritz masak: I'm doing quite some python for $work, and I find that I spend quite some time debugging things where functions return None...
19:30 moritz masak: simply because I forgot an explicit 'return' :-)
19:30 masak moritz: yeah.
19:30 masak moritz: it happens to me all the time.
19:30 masak moritz: sometimes in JavaScript too
19:30 FROGGS_ or C
19:31 masak hm, no. I never do that in C.
19:31 labster timotimo: Ah, that module.  Yeah, I'll fix when I get tuits
19:31 timotimo cool :)
19:31 FROGGS_ in P5 I usually think "ohh damn" in the middle of writing down a signature :/
19:31 masak FROGGS_: I thought p5 had them now?
19:32 FROGGS_ masak: not on all of our production machines sadly
19:32 FROGGS_ labster: when you compare paths, use .cleanup on both LHS and RHS of is()
19:33 moritz also, python is full of WTFs for me
19:33 moritz iterating over keys and values of a dict
19:33 labster FROGGS_: that is a great suggestion, thanks.
19:33 moritz for k, v in d.iteritems()
19:33 moritz huh?
19:33 masak things I am jealous of Python for as a Perl 6 dev: a clear concept of "hashable" built into the language. a small, sensible set of core collection types. bound methods. (*sob*) a better REPL than ours.
19:34 moritz also, (at least in py3), 'del' exists both as function and sub
19:34 moritz but 'print' only as a function
19:34 moritz masak: yes, hashable is good
19:34 masak moritz: I taught people about 'del', and then immediately told them that using it is a code smell.
19:34 masak moritz: and bound methods!
19:35 moritz masak: so, what does one use instead of del?
19:35 masak I still can't believe how right Python gets bound methods. I need to study it more to understand how they seem to have basically no wtf-y corner in that part of the design.
19:35 masak moritz: it's like asking, "so, what does one do instead of getting eaten by a lion?"
19:36 moritz also, it's kinda weird that len() and del() are subs, not methods
19:36 masak just don't go near the bloody lion, and you'll be fine.
19:36 moritz masak: huh? I just want to delete items from dicts, for example
19:36 masak moritz: yes. it's weird.
19:36 timotimo or lists, yeah
19:36 masak moritz: oh, deleting from dicts is mostly fine. deleting variables ain't.
19:37 masak moritz: even so, I find I don't delete from dicts so much either. not so much because it's bad; just that the case doesn't arise so much.
19:37 jercos len() is the one that gets me every time. is it length(foo)? no? foo.length? no? foo.len()? no? oh! right, len(foo).
19:37 jercos I've gone through a process nearly identical to that dozens of times :|
19:37 moritz masak: mostly? :-)
19:37 regreg joined #perl6
19:37 masak moritz: I still maintain that there are better ways sometimes.
19:38 moritz masak: dict.pop?
19:38 masak no; just don't go near the bloody lion.
19:38 masak sorry, I'm explaining it badly.
19:38 FROGGS_ the lion must be drawn here?
19:39 masak deleting things that you added to a structure is a sign of a poor design.
19:39 jercos like taking the tabs off manilla folders.
19:39 masak even if the structure happens to be something as mutable as a dict.
19:39 jercos Stop recycling the same folders, go to officemax and buy another pack :|
19:39 masak jercos: right. you get me.
19:39 timotimo ooh, is this a contest? who wins gets the masak? :D
19:40 masak very unique offer!
19:40 FROGGS_ :D
19:40 vendethiel mmh
19:40 moritz masak: for struct-like things I agree. Not so much for typical 'seen' hashes etc.
19:40 vendethiel I think I had a better one somewhere
19:40 masak moritz: sometimes you wish you'd unseen something? :P
19:40 FROGGS_ ohh yes
19:41 * masak .oO( what is this, Friday? )
19:41 [Coke] FROGGS_: shouldn't we do it semi-frequently, with the thought that we're able to generate more awesome results with newer nqps?
19:41 timotimo masak: it's a joke. and don't call me Friday.
19:41 moritz masak: ok, not seen, but tracking items to-be-done by key, for example
19:42 FROGGS_ [Coke]: this will more likely just eat disk memory and will make the git repo explode
19:42 FROGGS_ [Coke]: and we already compile nqp twice when we build the nqp that gets installed
19:43 FROGGS_ so there is no need for a more optimized nqp in stage0
19:43 FROGGS_ unless you want to speed up building stage1
19:44 tgt joined #perl6
19:45 aoeuhtns left #perl6
19:46 timotimo that's only a tiny fraction of the actual compile time, isn't it?
19:46 timotimo and i don't think we've had a lot of improvement in the code-gen or optimization of nqp itself in the recent months
19:46 masak moritz: mark the item as done; leave it in the hash.
19:46 FROGGS_ yes yes
19:47 spider-mario joined #perl6
19:47 masak moritz: a "done" item tells you more about the outcome than a missing item.
19:50 tgt Hi. For some reason rakudo has very high memory usage on an Ubuntu VM I use. Any suggestions about how to figure out why? It's a VM at work so I can't look into it now. https://gist.github.com/tgt/090214c4e2a529820189
19:51 timotimo moarvm compiled with asan?
19:52 FROGGS_ tgt: you could generate a profile by running: perl6 --profile -e ''
19:53 FROGGS_ tgt: this way we had more to look at
19:53 timotimo that won't give much
19:53 timotimo maybe --profile-compile?
19:55 tgt Just perl6 --profile-compile -e ''? I get an error running that here.
19:55 tgt https://gist.github.com/tgt/60f62771bc67febaf735
19:59 FROGGS_ tgt: I'll push a fix
19:59 timotimo thank you, FROGGS_
20:00 arnsholt masak: IMO, the really weird part about Python's methods is how methods as such don't really exist as a concept in the language itself
20:00 dalek nqp: 039f320 | FROGGS++ | src/vm/moar/HLL/Backend.nqp:
20:00 dalek nqp: make $filename param optional on moar too
20:00 dalek nqp: review: https://github.com/perl6/nqp/commit/039f3200a2
20:01 dalek rakudo/nom: 3c46c70 | FROGGS++ | tools/build/NQP_REVISION:
20:01 dalek rakudo/nom: bump nqp rev for profiler fix
20:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c46c705d7
20:01 FROGGS_ tgt: ^^
20:01 tgt Thanks very much. I'll get back to you once I have something useful to diagnose the memory issue.
20:03 cognominal joined #perl6
20:03 dalek nqp: 2df8792 | FROGGS++ | src/vm/jvm/QAST/Compiler.nqp:
20:03 dalek nqp: fail in enumcharlist if position is negative
20:03 dalek nqp:
20:03 dalek nqp: This gets us further running Grammar::Profiler::Simple.
20:03 dalek nqp: review: https://github.com/perl6/nqp/commit/2df8792779
20:05 ugexe it seems like upgrading your OS vers wont upgrade your `osvers` since its a generated value from perl5's build process :(
20:05 masak arnsholt: not sure agree when you put it that way.
20:05 masak s/agree/I agree/
20:06 masak >>> Foo().bar
20:06 masak <bound method Foo.bar of <__main__.Foo object at 0x7fe546c30a10>>
20:06 masak says right there it's a method.
20:06 FROGGS_ ugexe: yeah :o(  $config{osvers} = $Config{osvers};
20:07 masak arnsholt: furthermore, method invocation syntax works because you're invoking a method.
20:07 ugexe yeah i dug around in the Config shell script from p5 and said no way
20:07 masak arnsholt: I guess what you really meant is "it kinda bothers me that a method is just a function defined inside a class block" ?
20:07 FROGGS_ ugexe: the plan is of course to pull no information out of P5's Config anymore
20:08 FROGGS_ ugexe: so we happily accept patches :o)
20:08 FROGGS_ (that work cross platform)
20:08 eli-se joined #perl6
20:08 ugexe in my case strawberry perl was installed after cygwin. looking at the generated config it used 6.3 as my OS even though the uname line said 6.1. I ended up discovering my cygwin is version 6.3 (and perl was built with strwberry perl, not cygwin)
20:09 yqt joined #perl6
20:10 geever joined #perl6
20:10 eli-se hi
20:11 ugexe in this case cross platform is probably a bunch of trys{}?
20:11 FROGGS_ ugexe: I'm not sure...
20:11 FROGGS_ hi eli-se
20:15 arnsholt masak: Mostly that methods and attributes are the same thing, I think
20:16 arnsholt Strikes me as a bit odd
20:16 arnsholt It works, obviously, but I find it a bit odd
20:18 virtualsue joined #perl6
20:20 grondilu isn't there a subroutine version of .subst ?   That would make it easier to include it in a "pipe".
20:20 anaeem1_ joined #perl6
20:21 * grondilu thought about that while rewriting second example in http://rosettacode.org/wiki/Generate_Chess960_starting_position#Perl_6
20:24 alini joined #perl6
20:24 anaeem1_ joined #perl6
20:27 masak arnsholt: same in JavaScript. (and Self, which calls them 'slots', I think.) I remember finding it odd when I first encountered it, but nowadays it just feels like a possible solution in solution space. I don't really see how it hurts or hinders anything.
20:28 masak grondilu: there should be a subroutine version of .subst, IMO
20:29 moritz s/// defaulting to mutation feels so 20ths century
20:30 vendethiel masak: do you happen to have a good Self intro?
20:30 [Coke] "Hi, I'm masak"
20:30 moritz :-)
20:32 * vendethiel sighs and chuckles
20:34 anaeem1 joined #perl6
20:35 masak vendethiel: not offhand, no.
20:35 masak vendethiel: I remember reading a bunch about Self, but I don't remember where. odd.
20:36 masak moritz: I would say `s///` defaulting to mutation is the main reason `for` loops are `$_ is rw` by default
20:42 bcode joined #perl6
20:44 grondilu std: :2<.01>
20:44 camelia std 28329a7: OUTPUT«ok 00:00 134m␤»
20:44 grondilu m: say :2<.01>
20:44 camelia rakudo-moar 3c46c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IfIY2v7g2D␤Malformed radix number␤at /tmp/IfIY2v7g2D:1␤------> 3say :2<7⏏5.01>␤    expecting any of:␤        number in radix notation␤»
20:45 grondilu m: say :2(".01")
20:45 camelia rakudo-moar 3c46c7: OUTPUT«Cannot convert string to number: base-2 number must begin with valid digits or '.' in ':2<⏏.01>' (indicated by ⏏)␤  in method gist at src/gen/m-CORE.setting:15769␤  in sub say at src/gen/m-CORE.setting:18592␤  in block <unit> at /tmp/YzoaAMN6jq:1…»
20:45 grondilu m: say :2("0.01")
20:45 camelia rakudo-moar 3c46c7: OUTPUT«0.25␤»
20:50 anaeem1_ joined #perl6
20:54 jdv79 random thought - would it ever be possible to get some sort of profile data dynamically at runtime?
20:55 jdv79 use case being profiling a specific url for a web setup without restarting anything and without terrible perf
20:55 jdv79 which is impossible with p5 so that'd be cool if p6 could do something like that
20:59 FROGGS_ jdv79: hmmm, it might be possible...
21:00 grondilu say (sub { gather for ^Inf { take rand } })()[^3]'  # works fine
21:00 grondilu m: say (sub { gather for ^Inf { take rand } })()[^3]'  # works fine
21:00 camelia rakudo-moar 3c46c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AZrnybDV7w␤Two terms in a row␤at /tmp/AZrnybDV7w:1␤------> 3{ gather for ^Inf { take rand } })()[^3]7⏏5'  # works fine␤    expecting any of:␤        infix stopper␤        infix or meta-infix…»
21:00 FROGGS_ there are two ops, nqp::mvmstartprofile and nqp::mvmendprofile... there is some setup work around that though
21:00 grondilu m: say (sub { gather for ^Inf { take rand } })()[^3]  # works fine
21:00 camelia rakudo-moar 3c46c7: OUTPUT«0.856428025844003 0.397287660914246 0.263656416590262␤»
21:00 grondilu m: say (sub { 0, gather for ^Inf { take rand } })()[^3]  # hangs ??
21:01 camelia rakudo-moar 3c46c7: OUTPUT«(timeout)»
21:01 grondilu m: say (gather for ^Inf { take rand })[^3]
21:01 camelia rakudo-moar 3c46c7: OUTPUT«0.108772116621067 0.901917812348682 0.400246035019753␤»
21:02 grondilu m: say (0, gather for ^Inf { take rand })[^3]
21:02 jdv79 maybe the jvm would be easier?  idk much about it.  i'll have to look into that sometime.
21:02 camelia rakudo-moar 3c46c7: OUTPUT«(timeout)»
21:02 grondilu does infix:<,> destroy lazyness or something?
21:02 psch jdv79: visualvm can connect to a running perl6-j process
21:03 psch jdv79: but that's likely one abstraction deeper than you'd care about
21:03 psch maybe even two
21:03 grondilu m: say (gather for ^Inf { take rand }  ,   )[^3]
21:04 camelia rakudo-moar 3c46c7: OUTPUT«(timeout)»
21:04 FROGGS_ m: say (gather for ^Inf { take rand }  ,   )[0][^3]
21:04 camelia rakudo-moar 3c46c7: OUTPUT«0.793580569373412 0.957935732045326 0.230758992131537␤»
21:04 FROGGS_ m: say (0, gather for ^Inf { take rand })[1][^3]
21:04 camelia rakudo-moar 3c46c7: OUTPUT«0.187549771156082 0.200280777841328 0.516144010069139␤»
21:05 FROGGS_ grondilu: ^^
21:10 grondilu yeah now that I think about it, it makes sense that @lazy, @  is eager, but @, @lazy should not be, imho.
21:10 kaare_ joined #perl6
21:11 grondilu I mean, if the right-most operand of a sequence of concaneted lists is lazy, the whole thing should be lazy as well.
21:16 jdv79 yeah, more of a simple profile at the p6 routine level would probably be fine - excl time,incl time,basic call graph maybe...
21:20 LonelyGM Good night guys it was a pleasure again learning from you today! :) Still trying to catch up with you guys! $weet Dream$
21:23 FROGGS_ gnight LonelyGM
21:24 grondilu m: say 0.polymod(2)
21:25 camelia rakudo-moar 3c46c7: OUTPUT«0 0␤»
21:25 grondilu m: say 0.polymod(2 xx *)
21:25 camelia rakudo-moar 3c46c7: OUTPUT«␤»
21:25 grondilu m: say 2.polymod(2 xx *)
21:25 camelia rakudo-moar 3c46c7: OUTPUT«0 1␤»
21:26 grondilu in http://rosettacode.org/wiki/Van_der_Corput_sequence#Perl_6 I had to write FIRST take 0 because 0.polymod($base xx *) was empty.
21:26 grondilu 0.polymod(@) should always return 0 imho.
21:26 grondilu that's allow me to write the Van der Corput sequence as:
21:27 grondilu sub VdC($base = 2) { gather for ^Inf { take [+] ... } }
21:28 grondilu .-1s/that's/that'd/
21:43 timotimo .tell brrt could you look at what the code i added to the jit in moarvm's "jit_devirtualize_reprops" is doing wrong? it seems like the stable isn't getting passed properly. it ends up being 0 or something? not 100% sure. nqp build blows up with it.
21:43 yoleaux timotimo: I'll pass your message to brrt.
21:46 cognominal joined #perl6
21:54 kjs_ joined #perl6
21:57 lizmat decommute&
22:00 renormalist oh, did I just crash camelia? I experimented around with it...
22:00 camelia joined #perl6
22:00 renormalist there she is again, pheww...
22:00 abraxxa joined #perl6
22:01 renormalist p6: say "Sorry, camelia!";
22:01 vendethiel m: "say hi!"
22:01 vendethiel gotta give her time :-)
22:02 camelia rakudo-moar 3c46c7: OUTPUT«Sorry, camelia!␤»
22:02 camelia rakudo-moar 3c46c7: ( no output )
22:02 timotimo especially if you use p6, as that also has the jvm, right?
22:02 vendethiel timotimo: exactly
22:04 Ovid joined #perl6
22:04 abraxxa joined #perl6
22:05 CurtisOvidPoe m: my @dice-rolls := ('⚀'..'⚅').roll(*);say @dice-rolls[^(3*$_)].perl for ^6
22:05 camelia rakudo-moar 3c46c7: OUTPUT«()␤("⚀", "⚁", "⚄")␤("⚀", "⚁", "⚄", "⚃", "⚁", "⚄")␤("⚀", "⚁", "⚄", "⚃", "⚁", "⚄", "⚁", "⚄", "⚅")␤("⚀", "⚁", "⚄", "⚃", "⚁", "⚄", "⚁", "⚄", "⚅", "⚀", "⚅", "⚅")␤("⚀", "⚁", "⚄", "⚃", …»
22:05 CurtisOvidPoe Hmm, I guess maybe mine is out of date. That gives me a large error list.
22:05 timotimo in the REPL, by chance?
22:06 CurtisOvidPoe Nope. From the command line. Doing a “rakudobrew build moar” right now.
22:06 timotimo hm
22:06 eli-se nice
22:06 eli-se timotimo: dat pun
22:07 timotimo eli-se: what, "by chance"? wasn't intended :)
22:08 eli-se hehe
22:08 eli-se pun indented
22:11 CurtisOvidPoe What the heck?
22:11 CurtisOvidPoe 11:10:50 ~ $ perl6 -e "my @dice-rolls := ('⚀'..'⚅').roll(*);say @dice-rolls[^(3*$_)].perl for ^6"
22:11 CurtisOvidPoe ===SORRY!=== Error while compiling -e
22:11 CurtisOvidPoe Undeclared routine:
22:11 CurtisOvidPoe panda used at line 1. Did you mean 'rand'?
22:12 CurtisOvidPoe And I just ran it a second time and it gave me a *different* (and extra) error:
22:12 CurtisOvidPoe Other potential difficulties:
22:12 CurtisOvidPoe Redeclaration of symbol @dice-rolls
22:12 CurtisOvidPoe at -e:1
22:12 CurtisOvidPoe ------> (*);say @dice-rolls[^(3*my @dice-rolls :⏏= ('⚀'..'⚅').roll(*);say @dice-rolls[^(3
22:15 rjbs Please do not use up all the pandas.  They are endangered.
22:15 nwc10 Vienna has randy pandas.
22:15 nwc10 They seem to be atypical
22:16 Hor|zon joined #perl6
22:17 CurtisOvidPoe This is problematic: https://gist.github.com/Ovid/6eb19e5bc7573f065af7
22:18 CurtisOvidPoe So every time I run it, I get extended error messages, like Perl 6 is somehow spawning children and then picking them up again the next time I run it. What the heck?
22:20 Danwww joined #perl6
22:20 CurtisOvidPoe Here’s a much clearer example of the bug: https://gist.github.com/Ovid/a60c4c8fb68e34fb9b13
22:20 CurtisOvidPoe Why is “Hello, World” being picked up on the next line?
22:21 TimToady you can't use "" quotes to shell with $ inside
22:22 CurtisOvidPoe D’oh!
22:22 CurtisOvidPoe I feel really stupid now.
22:22 TimToady we've all done that one
22:23 jdv79 classic
22:23 jdv79 i think i did that last week
22:24 TimToady well, after midnight here, so night all
22:24 CurtisOvidPoe Good night!
22:27 Danwww Any Perl developers looking for work in LA?
22:27 vendethiel perl6 ones? :-)
22:29 Danwww Maybe in September
22:29 Danwww Perl5 for now
22:34 CurtisOvidPoe Any chance min and max will ever take integer arguments? for ^6 { say ("⚀".."⚅").roll(4).max(3) }
22:34 El_Che he is without shell escaping f* ups, let him first cast the backslash
22:34 CurtisOvidPoe Or is there an easier way of taking the largest X elements out of a list? (yes, rjbs, I’m cheating) :)
22:36 adu_ joined #perl6
22:37 timotimo well, you can sort and then take the last 3
22:39 CurtisOvidPoe I though about that, but it seemed, well, uglier :)
22:40 timotimo that's fair, i suppose; especially since you don't have to sort the whole list to get the top n elements
22:40 CurtisOvidPoe Yeah, that should be O(n), I would think.
22:41 adu_ hi all
22:42 timotimo yup
22:45 brrt joined #perl6
22:46 [Sno] joined #perl6
22:48 rjbs I was wondering if there was a set math you could use.
22:48 rjbs result diff [ result.min ]
22:48 timotimo a heap would be a good choice of datastructure here
22:50 CurtisOvidPoe timotimo: but is there a way to set it up that would be more efficient (both in terms of CPU and grokking) than simply walking the list?
22:50 adu_ ooo I just saw Digest on the list of most wanted modules
22:50 adu_ I could implement sha512 and sha3
22:50 timotimo adu_: we already have a partial implementation of many digests
22:50 timotimo or is that what you mean?
22:51 rjbs Hm, is this still the same but I remember from ages ago?
22:51 adu_ timotimo, according to the docs, grondilu/libdigest-perl6 has sha1, sha256, and md5
22:51 rjbs m: [].^methods.sort
22:51 camelia rakudo-moar 3c46c7: OUTPUT«Code object coerced to string (please use .gist or .perl to do that)  in any p6sort at src/vm/moar/Perl6/Ops.nqp:349␤␤Code object coerced to string (please use .gist or .perl to do that)  in any p6sort at src/vm/moar/Perl6/Ops.nqp:349␤␤Code object …»
22:52 CurtisOvidPoe m: for ^6 { say (("⚀".."⚅").roll(4).sort)[1..3] }
22:52 camelia rakudo-moar 3c46c7: OUTPUT«⚃ ⚅ ⚅␤⚁ ⚃ ⚃␤⚁ ⚂ ⚃␤⚂ ⚄ ⚅␤⚀ ⚂ ⚃␤⚂ ⚅ ⚅␤»
22:52 timotimo m: [].^methods>>.name.sort.say
22:52 camelia rakudo-moar 3c46c7: OUTPUT«ACCEPTS ACCEPTS ASSIGN-POS AT-POS AT-POS BIND-POS Bool CALL-ME Capture DELETE-POS DUMP EXISTS-POS FLATTENABLE_HASH FLATTENABLE_LIST Int Int Num Numeric Numeric Parcel REIFY REIFY STORE STORE_AT_POS Str Str Supply antipairs combinations default dynamic eage…»
22:52 CurtisOvidPoe That’s O(n log(n)), yes? I don’t know if there’s a better. easier solution.
22:53 timotimo CurtisOvidPoe: if you're comparing only big-O, you may be more lucky with a heap that you're not exhausting completely
22:53 rjbs timotimo: Seems unfortunate that my way does not work.  IT's /wildly/ useful when figuring things out in ruby repl.
22:53 timotimo but it's kind of likely that having a contiguous array that stores the things and gets walked linearly would be more beneficial
22:53 Ben_Goldberg joined #perl6
22:53 brrt uhm, t/spec/s02-types/set.rakudo.moar - todo passes, this a known issue?
22:53 yoleaux 21:43Z <timotimo> brrt: could you look at what the code i added to the jit in moarvm's "jit_devirtualize_reprops" is doing wrong? it seems like the stable isn't getting passed properly. it ends up being 0 or something? not 100% sure. nqp build blows up with it.
22:54 timotimo m: [].^methods.sort(*.name).say
22:54 camelia rakudo-moar 3c46c7: OUTPUT«ACCEPTS ACCEPTS ASSIGN-POS AT-POS AT-POS BIND-POS Bool CALL-ME Capture DELETE-POS DUMP EXISTS-POS FLATTENABLE_HASH FLATTENABLE_LIST Int Int Num Numeric Numeric Parcel REIFY REIFY STORE STORE_AT_POS Str Str Supply antipairs combinations default dynamic eage…»
22:54 brrt .snackbot
22:54 timotimo m: [].^methods.sort(*.name)[0].WHAT.say
22:54 camelia rakudo-moar 3c46c7: OUTPUT«(Method)␤»
22:54 timotimo rjbs: -^
22:54 brrt .botsnack
22:54 yoleaux :D
22:54 brrt anyway, i consider that solved timotimo :-)
22:54 CurtisOvidPoe What I wrote is very efficient in terms of devs grokking it, though. If I needed a heap, I’d hide that behind a clean interface.
22:55 timotimo yep, it's solved all right :)
22:56 brrt but anyway, the t/spec/s02-types/set.rakudo.moar passing, i'm assuming that's not some weird failure case
22:58 adu_ I'm having trouble understanding this mod2³² business...
22:58 adu_ https://github.com/grondilu/libdigest-perl6/blob/master/lib/Digest/SHA.pm#L20
22:59 rjbs Hm.  How can I mutate a bag?
22:59 timotimo you want a baghash
22:59 rjbs woah
23:01 tbrowder joined #perl6
23:01 adu_ I don't suppose there's any chance of supporting simd types...
23:02 rjbs timotimo: Even so, given BagHash(4,2,2,2), not sure how to turn it into (or produce a new BagHash(4,2,2) easily.
23:03 jnthn m: my $bh = BagHash.new(4,2,2,2); $bh{2}--; say $bh.perl
23:03 camelia rakudo-moar 3c46c7: OUTPUT«(4=>1,2=>2).BagHash␤»
23:04 rjbs jnthn: Thank you!
23:07 rjbs m:  $r = BagHash((1..6).roll(4)); $r{ $r.keys.min }--; $r.gist
23:07 camelia rakudo-moar 3c46c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c13wZIDyxu␤Variable '$r' is not declared␤at /tmp/c13wZIDyxu:1␤------> 3$r7⏏5 = BagHash((1..6).roll(4)); $r{ $r.keys.␤    expecting any of:␤        postfix␤»
23:07 adu_ do you think there might be something like NumPy for Perl6 someday?
23:08 rjbs Sorry, entered dead zone.  Laaaag!
23:08 timotimo adu_: there was already PDL for perl, we'll have something very similar for p6 surely!
23:08 timotimo at least i really want us to have something like that
23:08 adu_ timotimo, and will it have something like SIMD types?
23:08 rjbs m: my $r = BagHash((1..6).roll(4)); $r{ $r.keys.min }--; $r.kxxv.say
23:08 camelia rakudo-moar 3c46c7: OUTPUT«5 4 6␤»
23:08 timotimo our JIT will be doing SIMD at some point
23:08 rjbs CurtisOvidPoe: ^ not as pretty, but I'm happy with myself
23:09 timotimo on our regular native and/or shaped arrays
23:09 adu_ single4, double2, short8, int4, long2, etc.
23:12 grondilu eventually someone will write a R slang.
23:12 jnthn sleep &
23:12 adu_ grondilu, are you the Digest creator?
23:12 grondilu yes
23:12 adu_ jnthn, good night
23:12 skids joined #perl6
23:12 adu_ grondilu, oo, can I help?
23:13 adu_ I was about to write a whirlpool impl, actually
23:13 adu_ (in Rust, but I need to brush up on my Perl6)
23:13 grondilu please feel free to do so and request a merge
23:14 grondilu also, one thing that should be done is have sha256 treat data as blocks, so that it does not have to put everything in memory in one go.
23:14 grondilu also, using native types
23:14 CurtisOvidPoe kxxv is a very unfortunate method name.
23:14 adu_ grondilu, here is my resume: http://andydude.github.io/rust-sha/sha/index.html
23:15 grondilu adu_: I suggest you post a solution on rosettacode first, though.
23:15 grondilu (for whirlpool I mean)
23:15 adu_ grondilu, why rosettacode? for review? or for publicity?
23:15 grondilu for review
23:16 grondilu but it's not absolutely necessary
23:16 grondilu it's just a preference of mine
23:16 adu_ ok, I'll work on getting rosettacode write access
23:17 CurtisOvidPoe Still trying to find the docs/discussion on .kxxv
23:18 adu_ grondilu, so what is the "Digest" interface?
23:18 vendethiel .u ᐛ
23:18 yoleaux U+141B CANADIAN SYLLABICS NASKAPI WAA [Lo] (ᐛ)
23:18 grondilu adu_: sub digest-function(Blob $b --> Blob) {...}
23:18 adu_ grondilu, is it just a module with a function from Str to Blob?
23:19 adu_ because that won't work for Shake128
23:19 Osto joined #perl6
23:19 grondilu adu_: no, it should take only a Blob as input, since Str to binary is encoding-dependant.
23:19 grondilu the user is supposed to encode the string himself before feeding the disgest
23:19 adu_ grondilu, how would you recommend handling Shake128/256?
23:20 grondilu I don't know about those.
23:20 adu_ grondilu, they're digest/hash functions from N bytes to M bytes
23:20 adu_ so you need a way to specify how much digest you need
23:20 grondilu then you can use a where clause until sized arrays are implemented.
23:21 adu_ Ideally, it would be implemented using I/O interfaces, like .read(M) -> Blob of M bytes
23:21 ostomachion joined #perl6
23:21 grondilu oh yu mean M is a parameter?
23:21 adu_ yes
23:22 grondilu :output-size then
23:22 LonelyGM joined #perl6
23:22 adu_ grondilu, oh, like a symbolic parameter
23:22 grondilu no
23:22 grondilu hang on
23:23 adu_ shake128:output-size(32)(msg)?
23:23 grondilu sub digest-function(Blob $, :$ouput-size = 128) returns Blob {...}
23:23 adu_ ah
23:23 adu_ ok
23:23 grondilu something like that anyway
23:23 adu_ that makes sense
23:24 adu_ it's part of sha3
23:25 adu_ aren't those semantically equivalent?
23:28 grondilu one other possibility would be:
23:29 skids adu_: in Sum I just export parametric roles so if you need other than common parms you can make your own class.
23:29 grondilu ah no I've just realized what I was thinking would not work.  forget it.
23:31 * grondilu was thinking about something like multi hash(Blob $, :$sha256! --> Blob) {...} but was not sure about how to write a proto for that.
23:36 skids At the same time, for common parameter sets I really need to build a catalogue so you can do lookups not only of the class, but by crypto strengths, MAGNET ids etc.
23:37 skids Anyway I'm partway through a native Whirpool myself.  Unless you use the LUTs it is a pretty hard algo to code compared to SHA/MD
23:43 skids s/native/pure perl/
23:45 osto joined #perl6
23:46 osto Hello, I have a question and heard that this would be a good place to ask
23:50 grondilu osto: shoot
23:53 osto So, I'm teaching myself Perl 6 focusing on grammars right now, I have some experience in Perl 5. I'm trying to write a regex that would match a character with the Open_punctuation property, then anything with out the Open/Close property, then the matching closing character
23:54 adu_ joined #perl6
23:54 osto I think the only part I'm missing is the matching closing character
23:54 adu_ skids, Sum? where can I find that?
23:55 skids adu_: panda install Sum, unless it's been broken lately.
23:55 adu_ cool
23:55 skids It runs a lot of tests though so plan for a hot lap.
23:55 adu_ ok, I'll check it out, I would much prefer Roles to specific function names
23:56 adu_ "hot lap" lol, I'll use that next time I need to refer to a well-tested library
23:58 skids Has FROGGS++ pushed the C++ nativecall stuff yet?  I was thinking of rolling in libbotan, whose C API is too new to be in most distros yet.
23:59 skids .karma C
23:59 adu_ skids, also, earlier, I was working on something related to NativeCall
23:59 adu_ I might have to maintain that

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

Perl 6 | Reference Documentation | Rakudo