»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:02 skids left 00:03 skids joined, travis-ci joined
travis-ci Rakudo build passed. Timo Paulssen 'BlockVarOptimizer's $!poisoned can be a native int 00:03
travis-ci.org/rakudo/rakudo/builds/54652614 github.com/rakudo/rakudo/compare/0...780b2f8a2f
00:03 travis-ci left
timotimo ...oh? not sure why we got that announcement right now 00:04
but i guess i'm honored?
geekosaur hm? travis rebuilds on every commit 00:08
timotimo yes, but it doesn't announce every commit 00:09
00:09 skids left, skids joined 00:15 skids left, skids joined, laouji joined 00:16 skids left, skids joined 00:20 madmuid left 00:27 skids left, skids joined 00:30 skids left, skids joined 00:36 virtualsue left
raydiak timotimo: 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:37
00:39 laouji left 00:40 laouji joined, laouji left 00:41 aborazmeh joined, aborazmeh left, aborazmeh joined, laouji joined 00:48 skids left, skids joined 00:52 skids left, skids joined 00:56 skids left, skids joined
skids finally navigates the twisted maze of interlocking bitrotted desktop configration mechanisms and turns his new laptop's irc window black o/ 00:59
Really the situation o linux desktop has gotten completely out of control.
01:01 dayangkun joined 01:02 tinyblak joined 01:03 raiph left
dalek c: 876c83d | retupmoca++ | bin/p6doc.bat:
Add p6doc runner for windows

Pretty much a straight copy from panda.bat
01:06
01:06 ash-gti left 01:07 adu left
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:07
Juerd How is that not desktop linux? 01:08
01:09 yeahnoob joined
raydiak all the essential parts of my regular workflow work just as well sans X11, mainly excepting just the browser 01:10
heck I've spent months at a time doing it all over ssh
Juerd You're describing exactly how I've been using Linux, on the desktop, ever since I began using X. 01:11
I don't really see how using an xterm makes it any less "desktop linux"
With higher resolutions I have switched from a single fullscreen xterm to smaller 80x24 ones. 01:12
(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
honestly I think there's a more meaningful distinction to be made here than whether X is running
ugexe yeah, like nto having to deal with all the linux desktop machine crap like driver issues 01:14
Juerd raydiak: I move xterms around to suit whatever I'm doing. These floating window thingies are a real innovation :) 01:16
And I use pointing devices to focus these windows. (Sloppy focus, of course.) 01:17
Also, I do a lot of this: juerd.nl/i/65b1f14ff812c69fa4729b549aef7da9.png 01:18
Don't you? Could you really work just as well on tty1..tty6? :P
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
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
Juerd I see. Are you on a 1024x768 display? :)
raydiak that was last year
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
Juerd A-ha! :P
I don't even do that, to be honest
Something I do like about desktop linux: copy/pasting! 01:21
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
Juerd A single clipboard can be had.
raydiak I have vim's yank/paste tied to the x clipboard...or copy buffer...or whatever it is
Juerd Try autocutsel
Ooh, that's actually a nice idea. How does that work? 01:23
01:23 perigrin joined
raydiak :set clipboard=unnamed or unnamedplus 01:23
iirc
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.
raydiak "set clipboard=unnamedplus" straight out of my vimrc 01:25
01:32 yqt left
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: gist.github.com/ugexe/96c82ddf7a63d7912dde 01:33
01:33 lichtkind_ left
ugexe say shell '//' prints '\\\' on my perl6-j and '//' on perl6-m 01:33
01:40 gfldex joined 01:48 espadrine left
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:52
undertaking...irritations like that 01:53
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 01:54
02:02 zakharyas joined 02:07 raiph joined 02:13 ash_gti joined 02:33 alini left 02:35 adu joined
skids m: gist.github.com/skids/9450e905562ca7fb6ee3 02:52
camelia rakudo-moar 0f780b: OUTPUT«True␤False␤True␤True␤True␤True␤True␤True␤»
moritz skids: what does <@array> do? 02:58
02:58 muraiki_ left 03:02 adu left
skids it evals all the elements as either Regex or Regex(Str) and puts them in a junctional alternative. 03:02
(supposedly)
moritz so same as @array when the elements already are regexes 03:05
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.
So regexes should fail or warn with "code object coerced to string" 03:07
Heh. The failure mode of RT#103106 is now bizarre: 03:08
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=103106
skids m: say "foo" & "a nice old foo" ~~ /foo/
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:11 ash_gti left 03:14 aborazmeh left 03:17 noganex_ joined 03:19 telex left 03:20 telex joined, noganex left 03:25 exaybachay joined 03:34 gfldex left
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: rt.perl.org/rt3//Public/Bug/Displa...?id=118697
03:37 yeahnoob left 03:43 laouji left 03:50 adu joined 03:51 aborazmeh joined, aborazmeh left, aborazmeh joined 04:02 FROGGS_ joined 04:05 gfldex joined 04:06 FROGGS left
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:13
testers.p6c.org/reports/32652.html 04:15
04:25 skids left 04:26 exaybachay left 04:44 laouji joined 04:45 laouji left, laouji joined 04:49 ash_gti joined 04:54 raiph left
ugexe C:\Users\Nick\Documents\Perl6\.rakudobrew\jvm-nom\install\bin>perl6-j.bat -e "say $*DISTRO.version" 05:09
v6.1
C:\Users\Nick\Documents\Perl6\.rakudobrew\moar-nom\install\bin>perl6-m.bat -e "say $*DISTRO.version"
v6.3
05:14 aborazmeh left
adu p: say $*DISTRO.version 05:27
05:27 Ben_Goldberg left
adu p6: say $*DISTRO.version 05:27
camelia rakudo-moar 0f780b: OUTPUT«v13.2.Harlequin␤»
ugexe 6.1 is win7. 6.3 is win8. im certainly not running both OSs at the same time on the same machine :) 05:29
6.1 is the correct value as well 05:36
05:50 laouji left 05:51 camelia left 05:53 camelia joined, anaeem1_ joined 05:54 ChanServ sets mode: +v camelia 06:00 laouji joined 06:05 chenryn joined 06:06 perlpilot joined 06:07 perlpilot left, mr-foobar left 06:08 mr-foobar joined
ugexe java's os.version shows 6.1, so im not sure where 6.3 is getting set at 06:11
er oops its omar thats wrong
06:15 camelia left 06:16 mr-foobar left, mr-foobar joined 06:17 camelia joined 06:18 ChanServ sets mode: +v camelia 06:19 aborazmeh joined, aborazmeh left, aborazmeh joined, camelia left 06:20 camelia joined 06:21 mr-foobar left 06:22 ChanServ sets mode: +v camelia 06:23 adu left 06:24 ash_gti left 06:25 bjz joined 06:36 alini joined 06:45 bayprogrammer left 06:51 virtualsue joined 06:53 diana_olhovik_ joined
ugexe ah its a perl5 bug in Config.pm 07:00
07:03 wicope joined 07:05 xprime left 07:06 prime joined 07:14 bjz left 07:20 MadcapJake left 07:27 Rounin joined 07:29 darutoko joined 07:31 bjz joined
masak good morning, #perl6 07:35
07:37 bjz left, aborazmeh left
bartolin o/ masak 07:41
nine_ *yawn* good morning, all! 07:42
masak good yawning, nine_ 07:43
Timbus i agree, it was pretty good, but i'll give it an eight 07:47
masak holds up a... nine 07:50
down scope. teaching. & 07:53
moritz good morning, and happy Saint Patrick's Day 07:54
07:55 alini left 08:02 bjz joined
lizmat good *, are we all green? 08:04
FROGGS_ realizes that testıng a Wındows only patch on lınux ıs kında poıntless 08:06
moritz our $work continuous delivery tool says all green, yes :-) 08:07
.u ı
yoleaux U+0131 LATIN SMALL LETTER DOTLESS I [Ll] (ı)
moritz FROGGS_: your i's seem to miss a dot :-)
FROGGS_ moritz: ıntentıon :o) 08:08
poıntless, you see :o)
lizmat I got your point
moritz did you mean: poınt? :-) 08:09
FROGGS_ bbiab
lizmat no point, notice the dots over the i's :-)
bartolin it looks like my commit cd51b3401c from yesterday broke a test in integration/advent2012-day04.t 08:10
(I wonder how I missed that, I'm sure I spectested it)
08:10 Ven joined
bartolin anyway, I created a second PR: github.com/rakudo/rakudo/pull/387 08:10
dalek kudo/nom: 91a1b7a | usev6++ | src/core/operators.pm:
Do not flatten when SEQUENCE returns an array

otherwise test 3 - Pascal's triangle from integration/advent2012-day04.t does not work
08:11
kudo/nom: 42e6cda | lizmat++ | src/core/operators.pm:
Merge pull request #387 from usev6/nom

Do not flatten when SEQUENCE returns an array
bartolin oh, thanks!
sergot morning #perl6 \o
lizmat yw :-)
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:14
lizmat I have no doubt about that... :-) 08:15
08:15 rurban joined
bartolin maybe I can refine some tests for infix<...> in the meantime ... 08:17
08:21 pecastro left 08:22 [Sno] left 08:24 espadrine joined, Ven left 08:44 Ven joined
dalek kudo/nom: 0992f1a | lizmat++ | src/core/native_array.pm:
Make my num @a = 0e0..^10000e0 also 1000x as fast
08:45
moritz lizmat: nqp::setelems(self, ($max - $val + 1).Int ); might want some guarding against Inf 08:46
propbably the whole thing does
lizmat why? I mean, we don't guard to my @a = ^Inf; say @a either ? 08:47
moritz we do guard the assignment
by making it lazy when the RHS is known infinite
08:48 LonelyGM joined 08:50 eli-se joined
eli-se hola 08:50
08:50 alini joined, eli-se left 08:51 Ugator joined, LonelyGM left 08:52 Ugator left, donaldh joined
dalek kudo/nom: 6bbc286 | lizmat++ | src/core/native_array.pm:
Guard my num @a = Range against infinite lists

  moritz++ for mentioning
09:02
09:02 [Sno] joined 09:06 koo6 left
FROGGS_ jnthn: why to we turn forward slashes into backslashes at all on windows? 09:06
jnthn: like here github.com/MoarVM/MoarVM/blob/mast...ops.c#L182 09:07
09:07 espadrine left 09:08 eli-se joined
eli-se Better question: why does the code that does that appear in multiple places? 09:08
FROGGS_ jnthn: and here github.com/perl6/nqp/blob/master/s....java#L965
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 ?
FROGGS_ eli-se: and then for the jvm
lizmat: yes, that's why I am asking if we need that at the vm level or not
lizmat: either windows really understands forward slashes and we can remove the slash replacement code in the VMs 09:10
lizmat: or it does not, and that VM code supports the forward slashes for rakudo
so, I am running a spectest for moarvm on windows now, then remove the slash replacement and spectest again 09:11
lizmat agree
FROGGS_++
09:11 eli-se left
donaldh one argument for using backslashes is user expectation. shell and spawn commands become visible to the user 09:13
09:16 yeahnoob joined
dalek ast: 03bdfe2 | lizmat++ | S09-typed-arrays/native-num.t:
Add tests for initializing with an Inf range
09:17
Ven lizmat++ # amazing work :) 09:19
FROGGS_ did somebody get behind the throws_like weirdness on jvm, that makes so many TODOs pass? 09:20
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
lizmat will have a look when I get back from fitness in a few hours 09:21
09:22 dakkar joined
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
or when that subprocess dies because of an exception or so
09:24 virtualsue left
Ven moritz: your blog post blew up on reddit! 09:32
09:32 yeahnoob left, cschwenz joined 09:33 rindolf joined
moritz Ven: yes, I saw it 09:33
Ven: it even made the page load slowly occasionally
Ven oh :o)
moritz I had 16k visitors over two days 09:34
normal would be about 2.5k to 3k
09:35 abraxxa joined
moritz suddenly I wish that I hadn't written it bleary-eyed and shortly before going to sleep :-) 09:35
09:36 koo6 joined 09:38 zakharyas left 09:41 eli-se left
Ven moritz: alright :) 09:43
09:45 eli-se joined
FROGGS_ moritz++ # just read it 09:47
m-spectest on windows just got stuck in an S17 test file :o( 09:48
09:52 andreoss left 09:54 eli-se left
FROGGS_ so this worked before and after the slash-fiddling-removal: 09:56
C:\rakudo>perl6-m -e "shell 34.chr ~ 'C:/Program Files/Debugging Tools for Windows (x64)/list.exe' ~ 34.chr"
list [-s:string] [-g:line#] filename, ...
I will remove that now from maorvm and jvm, bump all versions and then we'll see 09:57
10:00 smls joined
dalek p: d0a0b12 | FROGGS++ | / (2 files):
remove slash->backslash conversion mess

This turned "git clone git://..." into "git clone git:\\...".
10:04
kudo/nom: e5a8f7a | FROGGS++ | tools/build/NQP_REVISION:
bump nqp/jvm+moar rev for slash handling on windows
10:05
FROGGS_ ugexe: that should do...
10:05 espadrine joined
FROGGS_ @all windows users: please test latest rakudo if you can, as this will be released on thursday 10:06
|Tux| 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
smls .tell TimToady What do you think of this: i.imgur.com/CeF13gV.png
yoleaux smls: I'll pass your message to TimToady.
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.
yoleaux smls: I'll pass your message to TimToady.
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
|Tux| ignore, found it. self!foo -> self.foo 10:14
10:15 donaldh left
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, virtualsue joined
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␤␤»
grondilu ^looks like a bug 10:16
10:16 Ven left
grondilu also, breaks: 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?
eli-se what's the difference between >>*<< and Z*? 10:17
moritz eli-se: >>*<< is eager/hyper, Z* is lazy
eli-se ah, I see
moritz also, Z* stops when one of the input lists is exhausted
m: say 1, 2, 3 >>*<< 4, 2 10:18
camelia rakudo-moar e5a8f7: OUTPUT«12122␤»
moritz m: .say for 1, 2, 3 >>*<< 4, 2
camelia rakudo-moar e5a8f7: OUTPUT«1␤2␤12␤2␤»
moritz m: .say for (1, 2, 3) >>*<< (4, 2)
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…»
moritz and did I mention precedence? :-)
eli-se nice
timotimo smls: looks good to me 10:19
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␤»
eli-se hehe nice
timotimo [Tux]: problem is: we can't know stuff about methods at compile time 10:22
[Tux]: not only are they late bound, but the object can also have fallbacks declared or a custom find_method method declared on it
|Tux| ok, but it took me a while to understand that message
grondilu m: say 1 «/« 1 .. 3 10:24
camelia rakudo-moar e5a8f7: OUTPUT«1.0..3␤»
grondilu ^that looks very wrong 10:25
m: say join ", ", 1 «/« 1 .. 3
camelia rakudo-moar e5a8f7: OUTPUT«1, 2, 3␤»
timotimo precedence again
m: say 1 «/« (1 .. 3)
grondilu m: say 1 «/« (1 .. 3)
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␤␤»
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
timotimo that looks a bit wronger 10:25
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␤␤»
grondilu m: say 1 «/« (1, 2, 3)
camelia rakudo-moar e5a8f7: OUTPUT«1 0.5 0.333333␤»
grondilu that is what breaks rosettacode.org/wiki/Probabilistic_choice#Perl_6
m: say 1 X/ (1 .. 3) 10:27
camelia rakudo-moar e5a8f7: OUTPUT«1 0.5 0.333333␤»
10:32 virtualsue left 10:33 eli-se left
grondilu aren't sigilless variable supposed to be state variables by default? 10:34
m: say map { $ = rand }, ^3 10:35
camelia rakudo-moar e5a8f7: OUTPUT«0.234748164007963 0.139641988182091 0.637825247991833␤»
grondilu m: say map { state $ = rand }, ^3 10:36
camelia rakudo-moar e5a8f7: OUTPUT«0.0952926749619227 0.0952926749619227 0.0952926749619227␤»
smls grondilu: $ = rand compiled to (state $) = rand not (state $ = rand) 10:37
*compiles
grondilu I don't get the difference between those two 10:38
m: say map { ($) = rand }, ^3
camelia rakudo-moar e5a8f7: OUTPUT«0.0347526105078272 0.598640238159065 0.536051382049224␤»
moritz m: say map { state $ = rand }
camelia rakudo-moar e5a8f7: OUTPUT«␤»
grondilu m: say map { (state $) = rand }, ^3 10:39
camelia rakudo-moar e5a8f7: OUTPUT«0.987317075041984 0.471019143728166 0.4660831965311␤»
moritz m: say map { state $ = rand }, ^3
camelia rakudo-moar e5a8f7: OUTPUT«0.337303902812853 0.337303902812853 0.337303902812853␤»
moritz the state initializer is only run the first time
grondilu hum ok
timotimo i'd like to propose taking 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
moritz +1 10:40
|Tux| is it possible to use » as a start in post-fic for?
».perl.say for $class.method;
when method retorns a list of lists
timotimo you can start it with .»
|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␤»
timotimo oh
well, perhaps not :(
|Tux| I did try that :)
timotimo i'd sort of expect that to work
m: .>>.perl.say for ([^3],[^2])
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␤»
|Tux| so did I, hence the question
timotimo std: .>>.perl.say for ([^3],[^2])
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␤»
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␤»
timotimo OK, std disagrees, so we've got a bit of discussion to do
grondilu m: $_>>.perl.say for ([^3],[^2]) 10:43
camelia rakudo-moar e5a8f7: OUTPUT«0 1 2␤0 1␤»
|Tux| as I have no idea how to describe this question as it should, I leave the ticketing up to you
dalek osystem: c1f9544 | timotimo++ | META.list:
remove digest-sha256, a perl6 interface to parrot's sha256 impl
tadzik shots fired 10:44
|Tux| grondilu, yes, that is what I expected
timotimo testers.p6c.org/reports/31273.html - this is painful to look at 10:45
smls timotimo: Who needs 'Basic functionality' anyway ;) 10:46
|Tux| gist.github.com/Tux/73ec84b4c53c5002f6fb \o/ 10:47
timotimo testers.p6c.org/reports/30790.html - this is equally painful to watch 10:48
in one case, the tests fail because of windows backslashes as file separators
in the other case it's ordering of results that's different
|Tux| what can I use instead of $*IN to support both "< hello.csv" and "hello.csv"
10:48 MadcapJake joined
timotimo that'd be $*ARGFILES 10:48
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
Type check failed in binding $buffer; expected 'Str' but got 'Failure'
timotimo ARGFILES more or less only fakes being a file descriptor, as it is - in reality - more than one file object under the hood
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
timotimo i'd like it to be usable as that, tbh
smls |Tux|: What's that "col=1;3" string for? 10:51
|Tux| RFC7111
timotimo labster: yo, are you here? :)
smls ah 10:52
|Tux| tools.ietf.org/html/rfc7111
col= and row= now work. cells are next (and much harder!)
timotimo oh, that's neat 10:54
|Tux| maybe that explains my questions this weekend
grondilu m: (sub { say @_; say $_ })(^10); 10:55
camelia rakudo-moar e5a8f7: OUTPUT«0 1 2 3 4 5 6 7 8 9␤Nil␤»
grondilu kind of would like $_ to mean @_[0]
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␤␤»
grondilu m: (sub { say $_ })(10);
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␤␤»
grondilu m: ({ say $_ })(10);
camelia rakudo-moar e5a8f7: OUTPUT«10␤»
11:05 coffee` joined 11:06 Ben_Goldberg joined
|Tux| is this on purpose? 11:06
m: .say for ([^2],[^3]).map(*».Str) 11:07
camelia rakudo-moar e5a8f7: OUTPUT«0␤1␤0␤1␤2␤»
|Tux| m: .say for ([^2],[^3]).map([*».Str])
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
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␤␤»
colomon m: say [*».Str].WHAT
camelia rakudo-moar e5a8f7: OUTPUT«(Array)␤»
colomon oh, yes, that makes sense
m: say [*».Str][0](1) 11:10
camelia rakudo-moar e5a8f7: OUTPUT«1␤»
colomon m: .say for ([^2],[^3]).map({[*».Str]})
camelia rakudo-moar e5a8f7: OUTPUT«WhateverCode.new()␤WhateverCode.new()␤»
timotimo wow, colomon, your module IO::Prompter seems very unhappy; Cannot find method 'isatty': no method cache and no .^find_method
colomon timotimo: yes, yes it is
timotimo got any clue what causes this? 11:11
colomon timotimo: yes, the lack of isatty
timotimo we ... don't have that at all?
colomon timotimo: it never got implemented for moar
possibly not for jvm either
timotimo wow.
docs.libuv.org/en/latest/misc.html#...ess_handle ... :\ 11:13
oh, we already use this properly 11:17
so isatty may be quite simple to implement after all
just not sure what to hang it off of 11:28
moritz file handle? 11:29
nqp::isatty($handle)
timotimo well, i know that part 11:37
dalek ast: 719ae5a | usev6++ | S03-sequence/basic.t:
Adjust tests for using last in generator function of infix:<...>
11:44
b2gills The main reason for using backslashes on Windows is for other programs which may be badly written 11:46
11:47 fhelmberger joined 11:51 eli-se joined
eli-se hi 11:51
dalek kudo-star-daily: 4ad2903 | coke++ | log/ (9 files):
today (automated commit)
11:52
rl6-roast-data: 951daba | coke++ | / (9 files):
today (automated commit)
eli-se I think I understand hyper operators. 11:53
timotimo hooray 11:54
eli-se except for <<?>>
11:54 Ben_Goldberg left
eli-se what does "dwimmy" mean? 11:55
arnsholt DWIM is "Do What I Mean"
eli-se oic
11:57 Ven joined
timotimo aye 11:57
eli-se I don't like DWIM 11:58
I like precise specifications.
timotimo these things are precisely specified, but tuned to do what you want as often as possible :) 11:59
11:59 eli-se left
|Tux| does perl6 support scalario yet, and if so, how? doc.perl6.org/routine/open does have no hints. my $fh = open $string, :r; does (of course) not work 12:09
awwaiid |Tux|: scalario?
oh, scalar io 12:10
|Tux| open a stream from a scalar (a string) as if the string was the file content
awwaiid haha, was reading it as one word :)
lizmat |Tux| NYI or even speculated, I believe
|Tux| hmm. scalario is sooooooooooooooooooooooooooooooooooo handy in tests :) 12:11
lizmat yeah, I know
|Tux| where can I find the syntax for the new perl6 here-doc styles? (typing here in the search only shows where) 12:14
nine_ PHP 7 - type safety without the safety: wiki.php.net/rfc/scalar_type_hints_v5 12:16
12:18 laouji left
smls |Tux|: doc.perl6.org/language/quoting#Heredocs%3A_%3Ato 12:18
Ven nine_: without the safety?
|Tux| thanks
12:18 eli-se joined
eli-se lol 12:18
a2p prints "linehile (<>(<>) {" instead of "line: while (<>) {" :P 12:19
timotimo what is a2p?
ada to perl?
|Tux| awk2perl
timotimo ah
eli-se AWK to Perl converter. :P
|Tux| that is how I learned perl4 :) 12:20
eli-se It seems bugged.
12:22 laouji joined, alini left
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_: ...
nine_ Feels like all the pain for no gain.
Ven I don't have anything else to say.
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 chenryn left
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:28
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."
timotimo yeah, but neither got it earlier :)
nine_ Lots and lots of special rules.
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
dalek osystem: 3527579 | (Kamil Kułaga)++ | META.list:
added mortage calculator
12:31
12:32 rindolf left
timotimo isn't it spelled "mortgage"? 12:33
eli-se mortage 12:34
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?
Ven timotimo: I can explain it in french :P 12:36
timotimo i don't understand french
colomon yeah, it’s from old French
eli-se timotimo: (latin mortuus -> old french mort) + old french gage -> old french mortgage
Ven I mean, I can decompose the french words
timotimo ah
nine_ The word mortgage is derived from a "law French" term used by English lawyers in the Middle Ages meaning "death pledge",
en.wikipedia.org/wiki/Mortgage_loan
eli-se data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaAAAACJCAIAAADlgHtEAAAbzUlEQVR42u2d+VdUV7qG79/iT612m1Z0rZteTYjxOiUQQSRAq4iA4hgIJgqhDa5ogkBaRETagVFEkBkiyqwtECaZRJR5EJBoMQUVAcH7xn1797k1YIEIBbzPOot1atfeZ9jUfur79qk69V91fa8NZ3lPGNQ5ztdOJsQA+S8KjoIjhIKj4Cg4Qig4Co6CI4SCo+AoOEIoOAqOgiNkmgR3t31g9dr1uobHoaMnPv6fdWK9ouPZpi02Ylm8ZInpZiuxnnTr7qr//hAVSpp7Fi1aFHMzX7kF+z0HE3NLZ1dwIfE3NttsM7eytbFzdHH3yqtuneDcUYizw3l9bmm9wcwcf4OvJGntN1FNLs4u36gVmlpscTrgll
PZrLU+ltiMgrd2WlRaHg4elS1ttx/3/2dR41NdR77daW/y7XIKjlBwegmu+vGQ2eYvdn/5dVx2kdpTaIKG8qEU3IqVq4xXrylt7TMcwXn5ntm598vyR4PiYVpBNUx3p7ZzAsEpC3Eue1wP/93bX59+0ywMT86Cdybo54k7zedcmK39LvFUzZOR81dTITsKjpBpENyZsNjAiLj0ovsO+1z0FNya9Z+eCb8mhrQhCC63quWPy5ZJu4kFJ2Vt56C/pGCWT9ZtEKHTZAWHN4m/GJtMLDhdnVZQ1/2nZR8UN6mU9Q984xmacJOCI+RdBYeE7t6vw1jZ8jc7jEM9BYcVu137AkJjDEFw/peileKQp7zcaOWDnjE9JYVl3yEPpJOTFVz+gy5Xj2NefoFvFZzWTrsY+7PV1h1au46CI+SdBIeh8v2pc2I9LDHjxO
colomon (if you type mortgage etymology into google they give you the answer, but I don’t know how to link to it)
eli-se nz+gsOKRVyLkRPsy44j+N+/7gQpbnrz8wt86pb9Rfc0ZOngy4nTDwHh+RXrfCvJqshnXvdL3XNwU3caehztW6fYO9Y/rzCiIIjFJxegtvjelg5eNabbnrYO66n4LDEZhZu/NwCyd2sR3CIjDRP+Q+LF8M7+gtur5v7FCI49NjxU8GQrD4RnGan/R7BbbNnBEfINAsOo26b4x5lyeFj3sorfW8VHJYj3/u4f+9rCHNwFR3P1OYWLay3TmoODiW/NDyZwhxccZMK7w16Ck6t08QcXElLr7K+T1DoDwEXKDhCpi44xB1qGdn1X2qUk1n6CA5e2GBmjjRtdq+iIrt02OeivIr6ybqNmWX1ekoKD51dD3974qepXUXFYrJmrf6CU+u0k2dDtjo4l7X1Y71W9Souu2jtRtN7vw5TcIToKzi12ZzPLa2NP15T3v
Ven wuuut
eli-se 6bWs1P1m2QUYw+gsOSU9m8ZOnSWf8c3IWYNPMv/oZTM9v8hd3u/bdr2ieYyULEJAvhGjQJjIhTpueTFRyyThhK677Ck7Pe2mkRKdnic3D46/njKfmpOgqOkLcLjt9k4DcZCKHgKDgKjhAKjoKj4Aih4Cg4Co4QCo6Co+AI0UNw7AJCCAVHCCEUHCGEUHCEEELBEUIIBUcIIRQcIYSCI4QQCo4QQuar4LZt29bT0zOPu2l4ePh972Le9yEhFJyB0tvb++TJEwqOkDkmuPLycm9v7++++27Hjh1WVlYtLS3+/v4ODg5OTk4FBQWiUldXl5+fn6Ojo4eHx/3791GCVj4+PmFhYcbGxgcPHly5cuXOnTszMzNLS0s9PT3l1o8cOYKaWguxEhUV9dVXX2GzR48eHR0dNXDBNTU16XLc9PYhX5SETKfgli9fXl
12:37 eli-se left
tadzik oh noes 12:37
Ven well.
12:37 eli-se joined
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? :)
eli-se k4JL9qhX81WQ3p3Ot+qWsOTik45KFIVBFySsGdOH0eiy7BaW7tzyuMKLi5KrjLly+L72D29PTEv2F8fDw0NHRgYEAUxsTEYOX58+diBTx9+hSm09WcPb5AIjhERpp2+MPixfCO/oLb6+Y+hQjuYe/48VPBkKw+ERyW2MzCjZ9bICP+TwS3zZ4R3PwXHNyUnp4uHxYXF8NQCMTk7wy8fnP7o8HBQWUrlUp17tw5Xc3Z4wtnDq6i45my8ExYrIX11knNwaHkl4YnU5iDK25SrTfdpKfgsBz53sf9e1/lHFxJS6+yvk9Q6A8BFyi4eSW4srKyqqoq+bCzsxOGys/PDw8Pj1cA5eHZoqKiyMjIgICAwMDA4OBgXc3Z4wtBcCK7dNjnoryK+sm6jZll9XpKCg+dXQ9/e+KnqV1FxWKyZq3+goNMN5iZI7cVV1
FPng3Z6uBc1taP9VrVq7jsorUbTe/9OkzBzbcITvx4iqCkpASGam1tzcvLU6vZ0NAQFRXV2NiIaG5sbOzChQu6mrPHF4jgsFyISTP/4m+bttiYbf7Cbvf+2zXtE8xkIWKShXANmgRGxCHZnLLgkHXCUFr3FZ6cpSY4LDmVzUuWLpWfg4tIyRafg8Nfzx9PyU/VUXDzbQ5OXDHo7e3FupyDw8PXb+4advXq1f7+/oqKCvGTUUJkIkXV2pw9vnAEx28yEEMXXF9fX1ZWVkxMzJUrVxC7CUPBWRkZGVhPSkqqr69HycjISGpqalxcHOK4e/fuXb9+vbi4WFdzQsFRcMQgBEcoOAqOgqPgCAXHhYKj4AgFR8ERCo7MLcERQsERCo4QCo5QcIRQcISCI4SCIxQcoeAIoeAIBUcoOEIoOELBEULBEQqOEAqOzC
timotimo hahaha
eli-se HBDQ8Pv+9D3bZtW09PD/9lM9zzc6LbKTjyfgXX29srf6ODgptJWlpa3qvjKDhCwf0uOGxHl+PKy8u9vb2/++67HTt2WFlZYUz6+/s7ODg4OTnJO+N3dXX5+fk5Ojp6eHjcv39ftPLx8QkLCzM2Nj548ODKlSt37tyZmZn5+s29V728vOzt7VEeGRkp7r2akpLi4uKye/duV1fXhw8fis1qrdnW1nbixAlnZ2dfX9/Hjx/P9f+gLsctnG6n4MhMCE6X4zBmli9fXl1djXUMLSMjI3EX6P7+fmtra1Fn8+bN4naqra2tlpaW2A5abdq0CcNGNJShxOjoqIWFBYYr1vHURx99hPGjUqns7OzEpurr69FKV82xsTFTU9POzk5x+hj88+A/qNVxC6fbKTgy0fDofWcQCDT9G03HYcxgIIl1vPqXLl06MjIiB9
timotimo that's fantastic :D
Ven tadzik: I'm pretty sure we missed other parts
eli-se jLly8rKiqOHj0q6ycmJiKCQKsVK1bIcStH2q1bt06ePCkrI3wQAYKksbER0YeumiUlJWfPnpWFCDTEb8IJhoaGeucUsts1HTeHup2CI+9RcNOO/CFdOdI8PT3lw/Xr18t1pE7Pnj0LCgpKTU2VhXifR1qEVocOHdKcDAoODlZWPn/+vBhpWMHWVq1a9eGHH5qYmOiqGRgYaG5uvlsBxp5mKDoXQQ44R7udgiMGHcFhbMhhpvnO/NaRphZKJCUlHTt2TK2VHGm1tbVHjhyR5du3b8f4ycnJQdqVm5vb3d2NaGXdunW6ahYWFvr4+OjqkHkWwc2VbqfgyNyYg9Oad7x1pImkCeMNK48ePbK1ta2qqlJr5ejoKGZwRCskU3gYEBBgZGSE8RMdHR0VFYWnxsfHQ0JCRK6ktearV6/MzMzEDBFSNgy/jo6O+T
Ven I hope this isn't a bmp :D
eli-se oHt0C6nYIjMyE4XbMq+oy0rq4uX19fpEgIGRAXaLaKi4vDU+JyHoIFrBw+fPjixYsYYKGhoS9evHBzc3NyckJAkZiYKJ7SWhOFDx8+ROSCLGn//v1ig3P6PzjBVdQF0u0UHHnvgpvGOeNJgdEorvdNY805xPv+HNyc6PYFITj+RMAUfi5gDn2TQaJSqWxsbBAjvH4zL25hYYH86B1rzl1mrOcNudspOAru/QpuhsnIyECag2TH3d29srJyWmqSudvtFBwFN68ERwgFR8FRcISCo+AoOEIoOAqOgiOEgjMUwYXE39hss83cytbGztHF3SuvulWU320fWL12vVplFC5esmTTFpvPLa03mJnjb/CVJM1tympycXb5Rq3Q1GKL0wG3nMpmrfWxxGYUlDT3LFq0KOZmvnLj9nsOJuaWivWotDwcPCpb2m4/7v
tadzik Ven: yeah, might be :(
eli-se /Posanuo58u9Pe5NvlFByh4BaQ4Lx8z+zc+2X5o0HxMK2gGqa7U9s5geCUhaWtfXtcD//d23/iaroKw5Oz4B1d9bFAcCtWrjJevQY70hScz7kwW/td4qmaJyPnr6ZCdhQcIRTc70tuVcsfly2TdhNLYESctZ2D/pKCWT5Zt0GETpMVXPXjob8Ym0wsuDXrPz0Tfk14UCm4grruPy37oLhJpax/4BvP0ISbc0twvb298fHx77t5V1fX9evXZ+B4ZpK2trasrCxdz4aEhOi5naGhIR8fn7KyMrXyoqIib2/vly9f4r+fl5enuXfNbxqIwokPTPLixQt/f/+o/09fX9+kTl/rsWntnAUnOP9L0UpxSA0tN1r5oGdMT0lh2XfIA+nkZAWX/6DL1eOYl1/gWwWHFbtd+wJCY5SCuxj7s9XWHVpn1ii4BSK4ws
LC2tparU/19/dfu3ZNz+00NjYmJiaK28BJIJqwsLDLly9PsPeamhqthRMcmNp+09PT38fpa312wQnO47jfPy5EaQriM3PLvOpW/QV39OTpoMsJE8/BIflVK/yryWpI5173S11zcErBIQ9FooqQUwruxOnzWHQJTnNrf15hZDiCw/DLycmJjY3FIGxvbxdCwYjKzs7GOt6Q5Z2UMFpSUlJQmJqaKm8hp7W5pLOzE1u4c+dOdHR0QkJCXV3d+Pi4FJzWvWjdoEqlQjCCwuTkZEQ3CGd0NZ8t4uLiBgYGcL6ii5KSkhoaGkSnXbp0CRHczZs38XBwcBD9EBMTg7+ighq3b9+Ga9RchhOvqqoSAgoPDx8dHUUohz7ETrGp5uZmrKA3tBaKA9Nnv9iFWmFERERLSwtOB/8+GZqhq7HNyMhIHNXjx4+vXLkiT1
tadzik Ven: if it is, we can read the header and see how long this will go on
eli-se 8cG04Zp49WaWlpCAzFszgp9MzVq1fFdhZiBIfISNMOf1i8GN7RX3B73dynEME97B0/fioYktUngsMSm1m48XMLZMT/ieC22c/RCA5jSXwptaenJ/4NcFBoaCher6IQowIrz58/Fyvg6dOneLHqaq4muLNnz4r7Yg8PD2OIYl0ITutetG5wbGwMIwfRnIj+zp07B8Hpaj5bQGGvXr1CWocc8/Wb766LL7EDWFjckwMgEBNnhwo4KTRR2w4UAE/hKVkCX2RkZFRWVkJAohU6BFoRtwxBP0D92JfWQpkd67Nf/FuVJaiJpBVvTuIrXOhhkbHCeiIcGxkZQbAJl4m9iC3DaNiU2ML9+/cRu2ElKCiovLxcuZ0FOgdX0fFMWXgmLNbCeuuk5uBQ8kvDkynMwRU3qdabbtJTcFiOfO/j/r2vcg6upKVXWd8nKP
SHgAsGLji86JWJSXFxMYSCuEn+AgDAUMH7v7IV4ilYRldzNcGJmjLlRPQnBKd1L1o3iPPNzc2VhXArBPfWg5xJcF4Y6soSGE3ePldaD8esnFy7desW4hplK4hJqA2BqhA6GsJNeG9ANIRuR3+ifyoqKkQ8KA2IXtJaKA5Mn/0GBAQoZ98QPos3J6lCHADCdhQqJ/sQ90FhYi/i2FAfYn306JGyczS3sxCvoiK7dNjnoryK+sm6jZll9XpKCg+dXQ9/e+KnqV1FxWKyZq3+goNMN5iZI7cVV1FPng3Z6uBc1taP9VrVq7jsorUbTe/9OmzggsPrXpmY4DWKUZGfn49hFq8AI0TMcyMxwUgIDAwMDg7W1VxNcOIdXoKwSwhO6160bhBDSPy6ipxuB7oOcla4d+8eXNzd3Y3Re+PGjcw3YF1GbWIFgRiSNe 12:38
Ven tadzik: true, true.
eli-se Uxyxu3yfebn3/++fWbH2QQYS86SshI3L8I/QORIc1EBipbZWVl/fLLL1oLxYG9db8wjgy7lK8NMRUgQG+LwFApL2wWOxV7Eccm0nCYDgks/tGiczS3s0A/B3chJs38i79t2mJjtvkLu937b9e0TzCThYhJFsI1aBIYEYdkc8qCQ9YJQ2ndV3hylprgsORUNi9ZulR+Di4iJVt8Dg5/PX88JT9VZ+ARnHI+u6SkBK/+1tZWzWthDQ0NeGPHYMPLF9mQCE+0NtdMUbVGcFr3onWDKFRelMBQxIDR2ny2QOjU0dGBDBGJvJxWF6Md6bO8Gzh0MPFc4d27d5HKid5GbtjW1iamAtBK5OCQJjSKdXFvOAESQMhda6E4sLfuF/nvv/71L7VC7Ev+khayZjHXJi6Vygu+vr6++Cv2Io5NNsfBIG9F7IlnNbfDbz
tadzik but it says it's a png
eli-se LwmwwzNwcnrhjAPliXc3AiRYLLIJT+/n4MV/FjTsI7MvHUbK4mOG9vb4wfbHNkZASvdbU5OLW96NogIsfS0tKBgQEM+9OnT8s5OM3mswKiEoxkHI+4yxCOyt/fX4z22tpaRFIy0MPxyzcMzQ92QIWiFc4UERDOWhgTAaxoiGAQJ4tYCb0hs/hTp06Njo5qLRTTbW/dr4wT1WJt7Eus4+1E3FxTeBz/IJwjvCkCebEXcWxYF8eM9ejoaBxDRESE5nYoOApuhgTX19eHt2W8/+OFi9efEApewchrxNXA+vp6MaOM4YfXNOI4DBgMCYwiXc2VgktOTkYYgtc9cijYTXkVVXMvujaIEYIKYqfwrBjJWpvPPOgZmAgreA/AYeN4MIZv3bolQlEICyP89u3boiZEA3MlJibiHDVn+i9duiRdAEWin2Vui386HC
p2hKBJXGgWXSouuWoWygN7634vXryIf5ByDg7nItpqfs4D3Q5FZmdn45DwzxV7kceGBBYHIC61owKeVV4Rltuh4Ci4GRLcewWCU/tI17uDDc71336eH+CdRvOTJXpCwVFwFNz/gZQHMYUIbcSHrSiXWeHFixcyHBscHES8Ka4OU3AUHAX3bi+Vujrx2dH09HRxbY7MCgjZ8F9AEoqsWXlJgYIj0wO/bE/mARQcoeAIBUcoOEIoOELBEULBEQqOEAqOUHCEUHCEgiOEgiMUHKHgCAVHCAVHKDhCKDgyNxgbG6PgCAVHfqehocHLy8ve3v7gwYORkZHiHo0pKSkuLi67d+92dXUVN03VVbOtre3EiRPOzs6+vr4GcvuK3377DXZTux0rIRTcgmN0dNTCwkL82Ed1dfVHH30EbalUKjs7O1Ghvr4ejtNVE7
12:38 anaeem1_ left
timotimo aye, a png 12:38
eli-se GSqampUAmcsmPHDkM4IzgXBzPrvyBFCAU3y9y6devkyZPyIaI2+SMggsbGRmNjY101S0pKlPfaRnwnfpRIMDQ01DuzIIQUyanyjviEUHALlODgYHkvfHD+/HkhOKxYWVmtWrXqww8/NDEx0VUzMDDQ3Nx8twIoT9aBcZpmA0hW3vGVEApu4VJbW3vkyBH5cPv27dBWTk6OtbV1bm5ud3c3Mr5169bpqllYWOjj46Nr4zMfwSEtFT8rSQgFR34HkVpYWFhnZ2dAQICRkRG0FR0dHRUV9frND0GGhISIFFVrzVevXpmZmYmJuZGREVivo6ODXUoIBWcoIOTJzMw8fPjwxYsX4bXQ0NAXL164ubk5OTkhjktMTBRPaa2JwocPHx49ehTJ6f79+zV/iIgQQsEZCp6entXV1dNbkxBCwc0OKpXKxsZGzFsh97
SwsBC/WfkuNQkhFJyhkJGRgewSOaa7u3tlZeW01CSEUHCEEELBEUIoOEIIoeAIIYSCI4QQCo4QQig4Q6Srq+v69ev61Ozt7Y2Pj2ePEULBUXCEEApuBuns7MzLy7tz5050dHRCQkJdXd34+LgUXF9fX3Z2NhSGOvKGkf39/Tk5ObGxsdeuXWtvbxeCU6lUmZmZKExOTi4rKysqKtLVnBBCwc2c4M6ePSvuQj48PJyeno51ITiYLjQ0dGBgAE/19PTExMSIJpcvXxa3sURh/BvGxsbCw8MRzYno79y5cxCcruaEEApu5gQHHylTztTUVCE4RGcFBQXyKQRog4ODUBskKAuLi4shuKamptzcXFmYkpICwWltzg4nhIKbUcElJSUpSxB2CcHl5+cjLotXAGch/ayqqlI2R3lhYeH9+/dlYdEbtDZnhxNCwc
10iqo1gmttbc3Ly1Orjwjuxo0b8mFJSQnMhULlRYmrV69CcFqbE0IouBkVnLe3d2Vl5fj4+MjIyM2bN9Xm4MTM2tjYGLTV39//+s0c3JMnT4QNsS4uMkRGRpaWlg4MDNy5c+f06dNyDk6zOSGEgps5wSUnJ6ekpCCdTEhIgN2UV1EhsoyMDCgMaWx9fb1o0tfXl5WVFRMTc+XKFYRpQnBQGCqgVXFx8d27dyE7Xc0JIRTczAlOmXJOC9iggfzkMyEUHAX3roJ7/vx5VFSU+Gk+ZKkIBtmxhFBw8yeCq6urQx6KbDQ9PR0ZLjuWkGnnfwEl144iXZyc6wAAAABJRU5ErkJggg==
tadzik damn, now I really want to pose this asciiart of Pope John Paul 2 I have
Ven moritz: do you do logs cleanup?
eli-se oops
that URL was a little too long :v
i.imgur.com/ItpcaEG.png
timotimo oh! 12:39
OH!
tadzik eli-se: please refrain from doing this again :)
timotimo you can use url shorteners as image storage services!
eli-se ok :p
timotimo this is BRILLIANT!
tadzik timotimo: lol
Ven timotimo: uhm?
tadzik let's try that right now
lizmat FROGGS_: fwiw, I don't see strange TODO"s passing on JVM anymore
12:40 anaeem1 joined
timotimo tadzik: thanks. i'm too lazy to try it myself 12:41
also, i don't have an image ready to go
FROGGS_ lizmat: huh
maybe I did not test with latest?
lizmat argh...
12:41 eli-se left
lizmat I tested moar :-( 12:41
lizmat tries again 12:42
FROGGS_ ahh
I'll retest this one: 12:43
t/spec/S02-types/bag.rakudo.jvm (Wstat: 0 Tests: 193 Failed: 0)
TODO passed: 17, 77
arnsholt tadzik: Oooh, Jan Pawel ASCII art =D 12:47
tadzik in all the colours of the rainbow
that got lost in the irc log, unfortunately :(
arnsholt: gist.github.com/tadzik/611b593f5dbf409b6e2f 12:48
12:49 [Sno] left 12:50 [Sno] joined, telex left 12:52 telex joined 12:53 alini joined 12:56 kurahaupo joined, xfix joined
dalek kudo/nom: 412559b | lizmat++ | src/core/PseudoStash.pm:
Make stuff like CALLER::<&?ROUTINE> work
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?
tadzik timotimo: sure, it's not very useful on parrot anyway 12:59
FROGGS_ lizmat++ # good catch
timotimo tadzik: how about your Threads module, does that still exist?
FROGGS_ timotimo: are you getting further with isatty?
tadzik timotimo: probably :) git never forgets
timotimo FROGGS_: no, i've been distracted since i last wrote about it
ThreadsThreads in Perl 6. Yeah, really 13:00
lizmat hopes FROGGS_ or timotimo will do it
timotimo still in the ecosystem
tadzik hah, I need to read this code 13:01
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 /…»
lizmat $ 6 'class A { method a { b() } }; sub b() { say CALLER::<self>.WHAT }; A.new.a'
(Mu)
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?
lizmat m: class A { method a { b() } }; sub b() { say CALLER::.keys }; A.new.a
camelia rakudo-moar e5a8f7: OUTPUT«self $! $/ $_ %_ $*DISPATCHER &?ROUTINE RETURN␤»
tadzik hah, my semaphore implementation looks like it was typed straight from Tanenbaum 13:04
it probably was
lizmat m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<$_> }; A.new.a # $_ seems to work
camelia rakudo-moar e5a8f7: OUTPUT«42␤»
FROGGS_ m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<$*PACKAGE> }; A.new.a 13:05
camelia rakudo-moar e5a8f7: OUTPUT«(Any)␤»
lizmat m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<$?PACKAGE> }; A.new.a # $? mnot $*
camelia rakudo-moar e5a8f7: OUTPUT«(Any)␤»
FROGGS_ I just read this: 13:06
method term:sym<self>($/) {
make QAST::Var.new( :name('self'), :scope('lexical'), :returns($*PACKAGE), :node($/) );
lizmat m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<&?ROUTINES> }; A.new.a # this maybe?
camelia rakudo-moar e5a8f7: OUTPUT«(Any)␤»
FROGGS_ but yeah
m: class A { method a { $_ = 42; b() } }; sub b() { say CALLER::<&?ROUTINE> }; A.new.a
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…»
lizmat that I just fixed
FROGGS_ yeah
13:06 nige left
lizmat well, it was just a thought 13:06
FROGGS_ if self is a lexical then it should be accessible I think 13:07
maybe an optimization kills it
13:08 Gothmog_ left
lizmat tried it with --optimize=0 , no luck 13:08
FROGGS_ what about spesh?
lizmat MVM_SPESH_DISABLE=1 right? no luck :-( 13:09
FROGGS_ yes, this
hmm :/
lizmat no worries, was just testing an idea 13:10
FROGGS_ sure 13:11
13:13 pecastro left 13:14 skids joined 13:15 pecastro joined 13:16 eli-se joined
eli-se woo 13:17
|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␤»
|Tux| m: @x=[^2],[^3];@x.map({[$_.map(*.Str)]}).perl.say
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␤»
|Tux| m: my @x=[^2],[^3];@x.map({[*.map(*.Str)]}).perl.say
camelia rakudo-moar 412559: OUTPUT«([WhateverCode.new()], [WhateverCode.new()]).list␤»
|Tux| m: my @x=[^2],[^3];@x.map({[$_.map(*.Str)]}).perl.say
camelia rakudo-moar 412559: OUTPUT«(["0", "1"], ["0", "1", "2"]).list␤»
|Tux| is that related to RT#123980 ? 13:20
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123980
[Coke] TPF current grant submission deadline extended: news.perlfoundation.org/2015/03/ext...t-pro.html 13:30
13:32 Ven left
lizmat FROGGS_ jnthn: I thought we had native int arrays on JVM as well??? 13:36
$ perl6-j -e 'say array[int] ~~ Positional'
===SORRY!=== Error while compiling -e
Undeclared routine:
array used at line 1
13:36 eli-se left 13:37 Ven joined
FROGGS_ hmmm, that would explain the test failures I had seen :o) 13:37
lizmat ok, I guess I'll add a skip_rest for JVM 13:38
13:39 nige joined
lizmat argh, it's a compile time issue :-( 13:39
dalek kudo/nom: 99b410e | lizmat++ | t/spectest.data:
Run native array tests only on Moar
13:46
13:52 zakharyas joined
lizmat FROGGS_: native_array.pm is not included in the JVM build 13:52
so no native arrays on JVM just yet 13:53
:-(
14:02 muraiki joined 14:03 pecastro left 14:05 pecastro joined
dalek pan style="color: #395be5">perl6-examples: 5266ef2 | paultcochrane++ | htmlify.pl:
Use collected pod and metadata to write example files

This removes the need to run perl6-m to extract the pod a second time.
14:08
pan style="color: #395be5">perl6-examples: 9b55d5f | paultcochrane++ | README.md:
Correct link to example template file
timotimo [ptc]: damn you are fast
14:10 laouji left, muraiki left
dalek ast: d316dd3 | usev6++ | S03-sequence/misc.t:
Adjust test for sequence terminated by signature mismatch
14:10
ecs: 13e0016 | usev6++ | S03-operators.pod:
Fix typo (remove superfluous word 'operator')
14:18
ast: ee98133 | lizmat++ | S09-typed-arrays/native- (2 files):
Add some more native int/num array tests

Mostly skipped for now :-(
14:19
ast: ffcc428 | lizmat++ | S03-sequence/misc.t:
Merge branch 'master' of github.com/perl6/roast
FROGGS_ m: say 'C:\\rakudo/t'.IO.cleanup 14:22
camelia rakudo-moar 99b410: OUTPUT«"/home/camelia/C:\rakudo/t".IO␤»
14:24 dayangkun left
FROGGS_ m: say $*CWD.WHAT 14:24
camelia rakudo-moar 99b410: OUTPUT«(IO::Path)␤»
14:26 LonelyGM joined 14:27 raiph joined 14:29 LonelyGM left
dalek ast: fa8e53d | FROGGS++ | S32-io/chdir.t:
use .cleanup to compare paths

We need to normalize paths for is() checks, and that also means we can use forward slashes to concat paths.
14:30
FROGGS_ timotimo: that's what we should do in the test reports you've linked earlier
dalek ast: ec203fc | lizmat++ | / (11 files):
Unfudge all passing JVM specific todo'd tests
14:31
FROGGS_ what? 14:32
lizmat: these were the TODOs we talked about earlier
lizmat these were all tests that were marked todo for rakudo.jvm that now pass
they seemed all role related somehow 14:33
dalek ast: 98ab70b | usev6++ | S03-sequence/misc.t:
Fix quoting for skip message
FROGGS_ hmmmm
14:34 lichtkind joined
dalek kudo/nom: bad2657 | lizmat++ | t/spectest.data:
Add one more test file we don't test on JVM
14:34
FROGGS_ lizmat++ # seems you are right 14:35
pheww
that will make life easier until/on Thursday
lizmat still more breakage that needs further investigation 14:36
FROGGS_ lizmat: on jvm or moar? or both?
lizmat some flappers on moar still
I guess we will need to skip those
FROGGS_ S17?
lizmat yeah
FROGGS_ k 14:37
dalek osystem: 0ac39c1 | retupmoca++ | META.list:
Add HTTP::ParseParams
14:39
14:40 kst` is now known as kst
abraxxa FROGGS_: just read that you are/where working on a feature called nativesizeof for NativeCall, what's its status? 14:42
dalek kudo/newio: 67156c1 | FROGGS++ | lib/NativeCall.pm:
throw for wrong arity in native subs
rakudo/newio: 051c602 | lizmat++ | src/core/native_array.pm:
rakudo/newio: Make my int @a = Range about 1000x faster
14:42 dalek left
lizmat sorry Dalek 14:43
FROGGS_ m: use NativeCall; say nativesizeof(long) # abraxxa
14:43 dalek joined, ChanServ sets mode: +v dalek
camelia rakudo-moar bad265: OUTPUT«8␤» 14:43
FROGGS_ m: use NativeCall; say nativesizeof(int16)
camelia rakudo-moar bad265: OUTPUT«2␤»
abraxxa FROGGS_: so a function that gets imported from NativeCall? is it already in rakudo 2015.02? 14:44
lizmat afk for a bit&
abraxxa can i pass it a variable and it returns the number of bytes of it's contents?
FROGGS_ m: use NativeCall; class Foo is repr<CStruct> { has num32 $.a; has uint8 $.b }; say nativesizeof(Foo)
camelia rakudo-moar bad265: OUTPUT«8␤»
FROGGS_ star-m: use NativeCall; class Foo is repr<CStruct> { has num32 $.a; has uint8 $.b }; say nativesizeof(Foo)
camelia star-m 2015.02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kk1m9TRg9r␤Undeclared routine:␤ nativesizeof used at line 1␤␤»
FROGGS_ abraxxa: apparently not :o( 14:45
abraxxa FROGGS_: so just types? ok
FROGGS_ but it will be in 2014.03 which appears in about 53 hours
abraxxa: no, nativesizeof() is not in 2015.02
abraxxa FROGGS_: good enought, thanks! 14:46
moritz justrakudobrewit
FROGGS_ aye
unless you are on windows
abraxxa moritz: if I had time to continue with DBDish::Oracle I would ;)
FROGGS_ ... and dont have visual studio express installed
psch \o 14:48
turns out -noverify is why we SEGV on jvm
without that we get a VerifyError
14:49 tueriahe joined
tueriahe Hello, is there any plan to implement irrational numbers in perl6 ? 14:49
psch (that's for RT #124051, the SEGV) 14:50
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124051
moritz tueriahe: no; that's best left to modules
[Coke] I would not skip flappers for release. 14:53
the more we skip/unskip them on release, the less likely they'll get fixed.
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?
same for size_t which should be a int32
tueriahe wondering if one could do this things 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)
tueriahe basically would mean implementing a computer algebra system
14:56 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
[Coke] do the flappers have RT's yet? 14:56
abraxxa |Tux|: how can I find that out?
|Tux| was looking, have a minute 14:57
14:58 rindolf joined
abraxxa |Tux|: thanks! 14:58
14:59 kaare_ left
moritz tueriahe: is that the standard way of representing irrational numbers in computer algebra systems? 15:01
because it's not quite what I'd expect :-)
|Tux| abraxxa, gist.github.com/Tux/da7d140d4b6e0c554f1a does that help? 15:03
it is a slimmed down example from how Oracle compiles c sources 15:04
this is 11.2/64 on Linux
15:05 zakharyas left
abraxxa |Tux|: how can I define my Perl 6 methods when this depends on the platform? 15:05
ugexe you could probably use a Build file, or handle delegation yourself based on $*DISTRO or whatever 15:07
15:07 yqt joined
abraxxa das NativeCall have a type that can be used for size_t? 15:09
arnsholt Not yet, I think. Probably should though 15:10
15:11 Rounin left, LonelyGM joined
|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?
|Tux| bytes
abraxxa i could use int which also changes per platform 15:12
i would have switched to int32 as per recommendation from the last NativeCall release to not use int without defininig the specific size 15:13
15:13 kurahaupo left
abraxxa |Tux|: InstantClient is still available for 32bits www.oracle.com/technetwork/database...97480.html 15:15
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:20
FROGGS_ abraxxa: I think you meant long when you said int 15:21
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 Ven left
abraxxa so what I would do is: 15:22
constant size_t = long;
and as long is different on 32 vs. 64bit platforms it should again conform to the OCI library?! 15:23
15:26 kurahaupo joined
FROGGS_ aye 15:28
abraxxa great!
i will define constants for all the OCI types and use those in the methods 15:29
15:30 perl6_newbee joined 15:32 aborazmeh joined, aborazmeh left, aborazmeh joined 15:36 nige left 15:37 aborazmeh left
FROGGS_ that makes sense 15:37
15:42 LonelyGM left 15:46 pecastro left 15:49 pecastro joined
lizmat commute to NRPM meeting& 15:54
15:54 lizmat left 15:57 eli-se joined, eli-se left 16:18 dwarring left 16:19 diana_olhovik_ left 16:26 tueriahe left, cschwenz left, trzef joined 16:28 mr-foobar joined
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
yoleaux 10:12Z <smls> TimToady: What do you think of this: i.imgur.com/CeF13gV.png
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.
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.
TimToady see rosettacode.org/wiki/Category:Perl_6 16:30
also github.com/perl6/perl6-examples 16:33
also anything mentioned on perl6.org/documentation/ 16:34
16:34 rurban left
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
tbrowder Is 'die' the only current choice in Perl 6 for Perl 5's 'croak' or 'carp'? 16:38
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 coffee` left
TimToady tbrowder: you can throw an exception object directly 16:39
and there's some lower-level backtrace controls I don't remember 16:40
it's also possible to hide routines from the backtracer
16:40 nige joined 16:41 alini left
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:41
16:42 mr-foobar left, mr-foobar joined
[Coke] in p6weekly.wordpress.com/2015/03/16/...s-arrive/, why does the first p5 example use integer? 16:42
TimToady tbrowder: to be honest, we haven't thought much about carp/croak yet 16:43
[Coke] (is that required with native ints?)
tbrowder Um, backtrace controls would be cool. Any pointers to doc? 16:44
16:44 trzef left, yqt left
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.
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.
which I get. there's marketing and stuff. :)
tbrowder Thanks TimToady and [Coke]. 16:46
TimToady it actually does use different ops optimized for integers when you 'use integer' in P5
[Coke] huh. it's actually SLOWER here if I comment out use integer.
TimToady yup
[Coke] so there you go. Thanks.
abraxxa yoleaux: regarding the proposed color scheme: i find the P 6 indeed very much better readable and standing out 16:55
16:55 abraxxa left 16:58 diana_olhovik_ joined
TimToady pity a computer screen can't reproduce irridescence... :) 16:58
jnthn evening, #pelr6 16:59
TimToady o/
nwc10 heresy!
jnthn heresy *and* typo 17:00
nwc10 the beer is good there?
17:00 [Sno] left
jnthn Only just got off teaching, not had any beer yet :) 17:00
17:01 liztormato joined
jnthn Last night's, however, was excellent 17:01
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
liztormato Thought it was best to add it anyway
TimToady *force 17:04
17:04 coffee` joined
liztormato Oops I meant [Coke] ;-) 17:05
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
pmichaud oops, my +1 was in response to an apparently backscrolled item
17:06 tinyblak left 17:14 madmuid joined
TimToady liztormato: your commit github.com/rakudo/rakudo/commit/42e6cda418 looks bogus to me; surely it should be paying attention to the itemization, not the Arrayness 17:17
17:18 eli-se joined
TimToady oh, it was bartolin's patch... 17:18
liztormato Please don't blame the merger :-)
bartolin TimToady: yes, that was from me. Mouq++ already pointed out that "flat $value" instead of "$value.flat" would have been better. 17:19
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 :)
TimToady (still lackbogging)
bartolin I just spectested the suggestion from Mouq and it passed all tests.
TimToady bartolin++ Mouq++
"Pay no attention the man behind the curtain!" 17:21
liztormato jnthn: it passed all tests and made some todos pass
TimToady and it flattens something itemized, which is suspect 17:22
or versa vica
17:22 mohij joined
bartolin sorry for the trouble 17:22
TimToady one of my points last night was that it's okay to be wrong temporarily :)
so don't be sorry 17:23
17:24 virtualsue joined 17:26 spider-mario joined
moritz somebody please throw some motivation my way 17:26
TimToady do it for your kids
moritz that would be playing with them, not hacking on perl6/doc :-)
jercos I'm already wearing these shades, make the future bright so I don't look like a dork.
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! :)
dalek c: 56c1912 | moritz++ | lib/Type/Supply.pod:
correct a TODO comment
17:28
17:28 Rounin joined 17:31 LonelyGM joined 17:32 yqt joined 17:34 liztormato left 17:35 [Sno] joined
bartolin TimToady: my initial reason to fiddle with SEQUENCE was RT #80574 and the corresponding fudged test 17:35
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=80574
bartolin m: my @a := -> { "one", "two" } ... *; say @a[0]
camelia rakudo-moar bad265: OUTPUT«one␤»
bartolin do you agree that this should return only 'one'?
17:36 J-L joined
TimToady yes, you'd need $("one", "two") or ["one,"two"] to get both 17:36
bartolin thanks 17:37
TimToady but it sorta has nothing to do with being an array
that's what set off me jitters :)
bartolin (and rightly so :-) 17:38
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:39
arnsholt It's a known bug in the REPL 17:40
I don't think we have a timeline for when it'll be fixed, though
17:44 lizmat joined 17:47 tinyblak joined
J-L arnsholt: Thanks! It's good to hear that the issue is temporary. Or supposed to be, at least. 17:48
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:50
then we could avoid both license and unicode issues 17:51
17:51 perigrin left
TimToady the main thing to learn would be which characters are double-wide in the typical terminal 17:51
17:53 eli-se left 17:54 smls left
itz_ tab complete on methods would be nice in the REPL 17:55
17:56 Sqirrel joined 17:57 dakkar left 17:59 espadrine left
Sqirrel m: say "look, a squirrel" 17:59
camelia rakudo-moar bad265: OUTPUT«look, a squirrel␤»
tadzik welcome Sqirrel :)
Sqirrel :o) 18:00
skids m: say <hello o/ greetings SQIRREL!>.pick(1) 18:03
camelia rakudo-moar bad265: OUTPUT«o/␤»
18:04 bayprogrammer joined
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
now that NativeCall is core, though, is it necessary to have linenoise/readline stuff in NQP or MoarVM?
18:05 pecastro left 18:06 virtualsue left
jnthn hoelzro: I wouldn't be sad to see linenoise go 18:09
It's a mess on Windows.
Worse than not having it.
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:10
18:13 Hor|zon left 18:19 eli-se joined
hoelzro would LineNoise.pm/ReadLine.pm just ship with Rakudo, then? 18:20
or should the REPL look for the modules and enable them if available?
eli-se woo
LonelyGM m: say <watching champions league> 18:23
camelia rakudo-moar bad265: OUTPUT«watching champions league␤»
eli-se LonelyGM: almost like barewords! 18:29
LonelyGM eli-se: use strict :p 18:30
moritz quotes are almost like barewords, except for the quotes 18:32
18:39 yqt left
arnsholt Like barewords, except not ambiguous! \o/ 18:45
timotimo these are bare quoted words
18:46 Woodi left
masak m: say <watching champions league>.pick(2) 18:49
camelia rakudo-moar bad265: OUTPUT«champions watching␤»
masak what's an idiomatic way in Perl 6 to say ".pick($n), but retain the order of the original list" ?
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?
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␤»
FROGGS_ masak: ^^?
I dunno what "pick on the size" means 18:52
ahh, size
like .elems
masak FROGGS_++ 18:53
[Coke] m: my @a = (1..100).pick(10); say @a; my @b = @a.pick(4); say @a.antipairs[@b]>>.values;
camelia rakudo-moar bad265: OUTPUT«77 48 7 16 89 23 98 3 93 52␤␤»
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)
[Coke] m: my @a = (1..100).pick(10); say @a; my @b = @a.pick(4); say @b;
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…»
rakudo-moar bad265: OUTPUT«23 42 82 18 53 27 29 19 31 41␤23 41 27 53␤»
masak m: sub pick-orderly(@a, $n) { @a[@a.keys.pick($n).sort] }; say pick-orderly('a'..'z', 5)
camelia rakudo-moar bad265: OUTPUT«c f k v x␤»
masak \o/
[Coke] m: my @a = (1..100).pick(10); say @a; my @b = @a.pick(4); say (@a.antipairs[@b])>>.values;
camelia rakudo-moar bad265: OUTPUT«78 5 44 36 96 92 33 81 24 31␤5␤»
[Coke] O_o
that seems to be working in the rpl.
18:55 labster left
dalek pan style="color: #395be5">perl6-examples: 10a3dd7 | paultcochrane++ | rosalind/cons-grondilu.pl:
Remove superfluous rosalind example

The up to date version is in the categories/rosalind directory
18:55
pan style="color: #395be5">perl6-examples: 0562a79 | paultcochrane++ | htmlify.pl:
Format author heading
pan style="color: #395be5">perl6-examples: ed107f3 | paultcochrane++ | htmlify.pl:
Set default values for title and author elements
18:55 labster joined
FROGGS_ jnthn: are arrays (the lowercase ones) implemented for the jvm? 18:58
18:59 labster left 19:08 telex left 19:10 Hor|zon joined, rindolf left, telex joined, Celelibi left 19:11 Celelibi_ joined 19:14 Hor|zon left 19:16 perl6_newbee left 19:19 pullphinger joined 19:22 labster joined
moritz m: /\#/ 19:22
camelia ( no output )
labster timotimo: pong (I'm here, but you messaged right after my bedtime) 19:23
dalek c: 01f598f | moritz++ | lib/Language/regexes.pod:
Regexes: remove outdated special case \#

also be a bit more specific in links
19:24
19:26 Hor|zon joined
timotimo labster: ah! i was looking at modules in the ecosystem and stumbled upon one of yours, but i forgot which one 19:27
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
FROGGS_ timotimo: one of these? testers.p6c.org/auths-L.html
lizmat hugme: hug masak
hugme hugs masak
masak lizmat: thanks, but I enjoy it :)
dalek c: de11df8 | moritz++ | lib/Language/regexes.pod:
More linking/indexing
lizmat then the hug is a bonus!
FROGGS_ masak: {} - take these, it is dangerous out there
masak lizmat: I actually asked $boss if I could create this course, so we'd get more courses like the Perl course :)
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
masak FROGGS_: Python put all of them in their formatting strings.
[Coke] Are due for an nqp stage0 rebuild soon?
*we due
FROGGS_ [Coke]: I dont think so... why?
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
masak: simply because I forgot an explicit 'return' :-)
masak moritz: yeah.
moritz: it happens to me all the time.
moritz: sometimes in JavaScript too
FROGGS_ or C
masak hm, no. I never do that in C. 19:31
labster timotimo: Ah, that module. Yeah, I'll fix when I get tuits
timotimo cool :)
FROGGS_ in P5 I usually think "ohh damn" in the middle of writing down a signature :/
masak FROGGS_: I thought p5 had them now?
FROGGS_ masak: not on all of our production machines sadly 19:32
labster: when you compare paths, use .cleanup on both LHS and RHS of is()
moritz also, python is full of WTFs for me 19:33
iterating over keys and values of a dict
labster FROGGS_: that is a great suggestion, thanks.
moritz for k, v in d.iteritems()
huh?
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 eli-se left
moritz also, (at least in py3), 'del' exists both as function and sub 19:34
but 'print' only as a function
masak: yes, hashable is good
masak moritz: I taught people about 'del', and then immediately told them that using it is a code smell.
moritz: and bound methods!
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.
moritz: it's like asking, "so, what does one do instead of getting eaten by a lion?"
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.
moritz masak: huh? I just want to delete items from dicts, for example
masak moritz: yes. it's weird.
timotimo or lists, yeah
masak moritz: oh, deleting from dicts is mostly fine. deleting variables ain't.
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).
I've gone through a process nearly identical to that dozens of times :|
moritz masak: mostly? :-)
19:37 regreg joined
masak moritz: I still maintain that there are better ways sometimes. 19:37
moritz masak: dict.pop? 19:38
masak no; just don't go near the bloody lion.
sorry, I'm explaining it badly.
FROGGS_ the lion must be drawn here?
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.
masak even if the structure happens to be something as mutable as a dict.
jercos Stop recycling the same folders, go to officemax and buy another pack :|
masak jercos: right. you get me.
timotimo ooh, is this a contest? who wins gets the masak? :D
masak very unique offer! 19:40
vendethiel mmh
FROGGS_ :D
moritz masak: for struct-like things I agree. Not so much for typical 'seen' hashes etc.
vendethiel I think I had a better one somewhere
masak moritz: sometimes you wish you'd unseen something? :P
FROGGS_ ohh yes
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?
timotimo masak: it's a joke. and don't call me Friday.
moritz masak: ok, not seen, but tracking items to-be-done by key, for example
FROGGS_ [Coke]: this will more likely just eat disk memory and will make the git repo explode 19:42
19:42 nige left
FROGGS_ [Coke]: and we already compile nqp twice when we build the nqp that gets installed 19:42
so there is no need for a more optimized nqp in stage0 19:43
unless you want to speed up building stage1
19:44 tgt joined 19:45 spider-mario left, aoeuhtns left
timotimo that's only a tiny fraction of the actual compile time, isn't it? 19:46
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
masak moritz: mark the item as done; leave it in the hash.
FROGGS_ yes yes
19:47 spider-mario joined
masak moritz: a "done" item tells you more about the outcome than a missing item. 19:47
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. gist.github.com/tgt/090214c4e2a529820189 19:50
timotimo moarvm compiled with asan? 19:51
FROGGS_ tgt: you could generate a profile by running: perl6 --profile -e '' 19:52
tgt: this way we had more to look at 19:53
timotimo that won't give much
maybe --profile-compile?
19:53 kurahaupo left
tgt Just perl6 --profile-compile -e ''? I get an error running that here. 19:55
gist.github.com/tgt/60f62771bc67febaf735
FROGGS_ tgt: I'll push a fix 19:59
timotimo thank you, FROGGS_
20:00 coffee` left
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 p: 039f320 | FROGGS++ | src/vm/moar/HLL/Backend.nqp:
make $filename param optional on moar too
kudo/nom: 3c46c70 | FROGGS++ | tools/build/NQP_REVISION:
bump nqp rev for profiler fix
20:01
FROGGS_ tgt: ^^
tgt Thanks very much. I'll get back to you once I have something useful to diagnose the memory issue.
20:03 cognominal joined
dalek p: 2df8792 | FROGGS++ | src/vm/jvm/QAST/Compiler.nqp:
fail in enumcharlist if position is negative

This gets us further running Grammar::Profiler::Simple.
20:03
20:04 Celelibi_ is now known as Celelibi
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.
s/agree/I agree/
>>> Foo().bar 20:06
<bound method Foo.bar of <__main__.Foo object at 0x7fe546c30a10>>
says right there it's a method.
FROGGS_ ugexe: yeah :o( $config{osvers} = $Config{osvers};
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
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" ?
FROGGS_ ugexe: the plan is of course to pull no information out of P5's Config anymore
ugexe: so we happily accept patches :o) 20:08
(that work cross platform)
20:08 eli-se joined
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:08
20:09 yqt joined 20:10 geever joined
eli-se hi 20:11
ugexe in this case cross platform is probably a bunch of trys{}?
FROGGS_ ugexe: I'm not sure...
hi eli-se
20:13 cognominal left
arnsholt masak: Mostly that methods and attributes are the same thing, I think 20:15
Strikes me as a bit odd 20:16
It works, obviously, but I find it a bit odd
20:18 virtualsue joined 20:20 anaeem1 left
grondilu isn't there a subroutine version of .subst ? That would make it easier to include it in a "pipe". 20:20
20:20 anaeem1_ joined
grondilu thought about that while rewriting second example in rosettacode.org/wiki/Generate_Chess...ion#Perl_6 20:21
20:21 bjz left 20:24 anaeem1_ left, alini joined, anaeem1_ joined
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:27
grondilu: there should be a subroutine version of .subst, IMO 20:28
20:28 anaeem1_ left
moritz s/// defaulting to mutation feels so 20ths century 20:29
vendethiel masak: do you happen to have a good Self intro? 20:30
[Coke] "Hi, I'm masak"
moritz :-)
vendethiel sighs and chuckles 20:32
20:34 darutoko left, anaeem1 joined
masak vendethiel: not offhand, no. 20:35
vendethiel: I remember reading a bunch about Self, but I don't remember where. odd.
20:35 bcode left
masak moritz: I would say `s///` defaulting to mutation is the main reason `for` loops are `$_ is rw` by default 20:36
20:42 bcode joined
grondilu std: :2<.01> 20:44
camelia std 28329a7: OUTPUT«ok 00:00 134m␤»
grondilu m: say :2<.01>
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 anaeem1 left
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…»
grondilu m: say :2("0.01")
camelia rakudo-moar 3c46c7: OUTPUT«0.25␤»
20:50 anaeem1_ joined
jdv79 random thought - would it ever be possible to get some sort of profile data dynamically at runtime? 20:54
use case being profiling a specific url for a web setup without restarting anything and without terrible perf 20:55
which is impossible with p5 so that'd be cool if p6 could do something like that
20:57 gfldex left 20:59 virtualsue left
FROGGS_ jdv79: hmmm, it might be possible... 20:59
grondilu say (sub { gather for ^Inf { take rand } })()[^3]' # works fine 21:00
m: say (sub { gather for ^Inf { take rand } })()[^3]' # works fine
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…»
FROGGS_ there are two ops, nqp::mvmstartprofile and nqp::mvmendprofile... there is some setup work around that though
grondilu m: say (sub { gather for ^Inf { take rand } })()[^3] # works fine
camelia rakudo-moar 3c46c7: OUTPUT«0.856428025844003 0.397287660914246 0.263656416590262␤»
21:00 skids left
grondilu m: say (sub { 0, gather for ^Inf { take rand } })()[^3] # hangs ?? 21:00
camelia rakudo-moar 3c46c7: OUTPUT«(timeout)» 21:01
grondilu m: say (gather for ^Inf { take rand })[^3]
camelia rakudo-moar 3c46c7: OUTPUT«0.108772116621067 0.901917812348682 0.400246035019753␤» 21:02
grondilu m: say (0, gather for ^Inf { take rand })[^3]
jdv79 maybe the jvm would be easier? idk much about it. i'll have to look into that sometime.
camelia rakudo-moar 3c46c7: OUTPUT«(timeout)»
grondilu does infix:<,> destroy lazyness or something?
psch jdv79: visualvm can connect to a running perl6-j process
jdv79: but that's likely one abstraction deeper than you'd care about 21:03
maybe even two
grondilu m: say (gather for ^Inf { take rand } , )[^3]
camelia rakudo-moar 3c46c7: OUTPUT«(timeout)» 21:04
FROGGS_ m: say (gather for ^Inf { take rand } , )[0][^3]
camelia rakudo-moar 3c46c7: OUTPUT«0.793580569373412 0.957935732045326 0.230758992131537␤»
FROGGS_ m: say (0, gather for ^Inf { take rand })[1][^3]
camelia rakudo-moar 3c46c7: OUTPUT«0.187549771156082 0.200280777841328 0.516144010069139␤»
FROGGS_ grondilu: ^^ 21:05
21:05 pullphinger left
grondilu yeah now that I think about it, it makes sense that @lazy, @ is eager, but @, @lazy should not be, imho. 21:10
21:10 kaare_ joined
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:11
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:16
21:17 anaeem1_ left 21:20 Hor|zon left
LonelyGM Good night guys it was a pleasure again learning from you today! :) Still trying to catch up with you guys! $weet Dream$ 21:20
FROGGS_ gnight LonelyGM 21:23
grondilu m: say 0.polymod(2) 21:25
camelia rakudo-moar 3c46c7: OUTPUT«0 0␤»
grondilu m: say 0.polymod(2 xx *)
camelia rakudo-moar 3c46c7: OUTPUT«␤»
grondilu m: say 2.polymod(2 xx *)
camelia rakudo-moar 3c46c7: OUTPUT«0 1␤»
grondilu in rosettacode.org/wiki/Van_der_Corput...nce#Perl_6 I had to write FIRST take 0 because 0.polymod($base xx *) was empty. 21:26
0.polymod(@) should always return 0 imho.
that's allow me to write the Van der Corput sequence as: 21:27
sub VdC($base = 2) { gather for ^Inf { take [+] ... } }
.-1s/that's/that'd/ 21:28
21:30 xfix left
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 21:54 kjs_ joined 21:57 raiph left
lizmat decommute& 21:57
21:57 lizmat left 21:59 camelia left
renormalist oh, did I just crash camelia? I experimented around with it... 22:00
22:00 camelia joined
renormalist there she is again, pheww... 22:00
22:00 abraxxa joined
renormalist p6: say "Sorry, camelia!"; 22:01
22:01 abraxxa left
vendethiel m: "say hi!" 22:01
gotta give her time :-)
22:01 ChanServ sets mode: +v camelia
camelia rakudo-moar 3c46c7: OUTPUT«Sorry, camelia!␤» 22:02
( no output )
timotimo especially if you use p6, as that also has the jvm, right?
vendethiel timotimo: exactly
22:03 Rounin left 22:04 Ovid joined, abraxxa joined, Ovid is now known as CurtisOvidPoe
CurtisOvidPoe m: my @dice-rolls := ('⚀'..'⚅').roll(*);say @dice-rolls[^(3*$_)].perl for ^6 22:05
camelia rakudo-moar 3c46c7: OUTPUT«()␤("⚀", "⚁", "⚄")␤("⚀", "⚁", "⚄", "⚃", "⚁", "⚄")␤("⚀", "⚁", "⚄", "⚃", "⚁", "⚄", "⚁", "⚄", "⚅")␤("⚀", "⚁", "⚄", "⚃", "⚁", "⚄", "⚁", "⚄", "⚅", "⚀", "⚅", "⚅")␤("⚀", "⚁", "⚄", "⚃", …»
CurtisOvidPoe Hmm, I guess maybe mine is out of date. That gives me a large error list.
timotimo in the REPL, by chance? 22:06
22:06 [Sno] left
CurtisOvidPoe Nope. From the command line. Doing a “rakudobrew build moar” right now. 22:06
timotimo hm
22:06 FROGGS_ left
eli-se nice 22:06
timotimo: dat pun
timotimo eli-se: what, "by chance"? wasn't intended :) 22:07
eli-se hehe 22:08
pun indented
22:09 regreg left 22:10 cognominal left
CurtisOvidPoe What the heck? 22:11
11:10:50 ~ $ perl6 -e "my @dice-rolls := ('⚀'..'⚅').roll(*);say @dice-rolls[^(3*$_)].perl for ^6"
===SORRY!=== Error while compiling -e
Undeclared routine:
panda used at line 1. Did you mean 'rand'?
And I just ran it a second time and it gave me a *different* (and extra) error: 22:12
Other potential difficulties:
Redeclaration of symbol @dice-rolls
at -e:1
------> (*);say @dice-rolls[^(3*my @dice-rolls :⏏= ('⚀'..'⚅').roll(*);say @dice-rolls[^(3
rjbs Please do not use up all the pandas. They are endangered. 22:15
nwc10 Vienna has randy pandas.
They seem to be atypical
22:17 Hor|zon joined
CurtisOvidPoe This is problematic: gist.github.com/Ovid/6eb19e5bc7573f065af7 22:17
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:18
22:20 Danwww joined
CurtisOvidPoe Here’s a much clearer example of the bug: gist.github.com/Ovid/a60c4c8fb68e34fb9b13 22:20
Why is “Hello, World” being picked up on the next line?
22:21 Hor|zon left
TimToady you can't use "" quotes to shell with $ inside 22:21
CurtisOvidPoe D’oh! 22:22
I feel really stupid now.
TimToady we've all done that one
jdv79 classic 22:23
i think i did that last week
TimToady well, after midnight here, so night all 22:24
CurtisOvidPoe Good night!
Danwww Any Perl developers looking for work in LA? 22:27
vendethiel perl6 ones? :-)
22:28 kjs_ left
Danwww Maybe in September 22:29
Perl5 for now
22:33 fhelmberger left
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
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
timotimo well, you can sort and then take the last 3 22:37
CurtisOvidPoe I though about that, but it seemed, well, uglier :) 22:39
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.
adu_ hi all 22:41
timotimo yup 22:42
22:44 spider-mario left 22:45 Danwww left, brrt joined 22:46 [Sno] joined
rjbs I was wondering if there was a set math you could use. 22:48
result diff [ result.min ]
timotimo a heap would be a good choice of datastructure here 22:49
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
I could implement sha512 and sha3
timotimo adu_: we already have a partial implementation of many digests
or is that what you mean?
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
rjbs m: [].^methods.sort
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 …»
CurtisOvidPoe m: for ^6 { say (("⚀".."⚅").roll(4).sort)[1..3] } 22:52
camelia rakudo-moar 3c46c7: OUTPUT«⚃ ⚅ ⚅␤⚁ ⚃ ⚃␤⚁ ⚂ ⚃␤⚂ ⚄ ⚅␤⚀ ⚂ ⚃␤⚂ ⚅ ⚅␤»
22:52 diana_olhovik_ left
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…»
CurtisOvidPoe That’s O(n log(n)), yes? I don’t know if there’s a better. easier solution.
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 Ben_Goldberg joined
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
brrt uhm, t/spec/s02-types/set.rakudo.moar - todo passes, this a known issue?
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.
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…»
brrt .snackbot
timotimo m: [].^methods.sort(*.name)[0].WHAT.say
camelia rakudo-moar 3c46c7: OUTPUT«(Method)␤»
timotimo rjbs: -^
brrt .botsnack
yoleaux :D
brrt anyway, i consider that solved timotimo :-)
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.
timotimo yep, it's solved all right :) 22:55
brrt but anyway, the t/spec/s02-types/set.rakudo.moar passing, i'm assuming that's not some weird failure case 22:56
22:58 eli-se left
adu_ I'm having trouble understanding this mod2􏿽xB3􏿽xB2 business... 22:58
github.com/grondilu/libdigest-perl...SHA.pm#L20
rjbs Hm. How can I mutate a bag? 22:59
timotimo you want a baghash
22:59 brrt left
rjbs woah 22:59
23:01 tbrowder left, tbrowder joined
adu_ I don't suppose there's any chance of supporting simd types... 23:01
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:02
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␤»
rjbs jnthn: Thank you! 23:04
23:06 LonelyGM left, tgt left
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␤»
adu_ do you think there might be something like NumPy for Perl6 someday?
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!
at least i really want us to have something like that
adu_ timotimo, and will it have something like SIMD types?
rjbs m: my $r = BagHash((1..6).roll(4)); $r{ $r.keys.min }--; $r.kxxv.say
camelia rakudo-moar 3c46c7: OUTPUT«5 4 6␤»
timotimo our JIT will be doing SIMD at some point
rjbs CurtisOvidPoe: ^ not as pretty, but I'm happy with myself
timotimo on our regular native and/or shaped arrays 23:09
adu_ single4, double2, short8, int4, long2, etc.
23:11 wicope left
grondilu eventually someone will write a R slang. 23:12
jnthn sleep &
adu_ grondilu, are you the Digest creator?
grondilu yes
adu_ jnthn, good night
23:12 skids joined
adu_ grondilu, oo, can I help? 23:12
I was about to write a whirlpool impl, actually 23:13
(in Rust, but I need to brush up on my Perl6)
grondilu please feel free to do so and request a merge
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
also, using native types
CurtisOvidPoe kxxv is a very unfortunate method name.
adu_ grondilu, here is my resume: andydude.github.io/rust-sha/sha/index.html
grondilu adu_: I suggest you post a solution on rosettacode first, though. 23:15
(for whirlpool I mean)
adu_ grondilu, why rosettacode? for review? or for publicity?
grondilu for review
but it's not absolutely necessary 23:16
it's just a preference of mine
adu_ ok, I'll work on getting rosettacode write access
23:17 geever left
CurtisOvidPoe Still trying to find the docs/discussion on .kxxv 23:17
adu_ grondilu, so what is the "Digest" interface? 23:18
vendethiel .u ᐛ
yoleaux U+141B CANADIAN SYLLABICS NASKAPI WAA [Lo] (ᐛ)
grondilu adu_: sub digest-function(Blob $b --> Blob) {...}
adu_ grondilu, is it just a module with a function from Str to Blob?
because that won't work for Shake128 23:19
23:19 Osto joined
grondilu adu_: no, it should take only a Blob as input, since Str to binary is encoding-dependant. 23:19
the user is supposed to encode the string himself before feeding the disgest
adu_ grondilu, how would you recommend handling Shake128/256?
grondilu I don't know about those. 23:20
adu_ grondilu, they're digest/hash functions from N bytes to M bytes
so you need a way to specify how much digest you need
grondilu then you can use a where clause until sized arrays are implemented.
adu_ Ideally, it would be implemented using I/O interfaces, like .read(M) -> Blob of M bytes 23:21
23:21 Osto left, ostomachion joined
grondilu oh yu mean M is a parameter? 23:21
adu_ yes
grondilu :output-size then 23:22
23:22 LonelyGM joined
adu_ grondilu, oh, like a symbolic parameter 23:22
grondilu no
hang on
adu_ shake128:output-size(32)(msg)? 23:23
grondilu sub digest-function(Blob $, :$ouput-size = 128) returns Blob {...}
adu_ ah
ok
grondilu something like that anyway
adu_ that makes sense
it's part of sha3 23:24
aren't those semantically equivalent? 23:25
23:25 lichtkind left
grondilu one other possibility would be: 23:28
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.
grondilu was thinking about something like multi hash(Blob $, :$sha256! --> Blob) {...} but was not sure about how to write a proto for that. 23:31
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:36
23:36 tinyblak left
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:37
s/native/pure perl/ 23:43
23:45 osto joined
osto Hello, I have a question and heard that this would be a good place to ask 23:46
grondilu osto: shoot 23:50
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:53
23:53 adu_ left, mohij left 23:54 adu_ joined
osto I think the only part I'm missing is the matching closing character 23:54
adu_ skids, Sum? where can I find that?
skids adu_: panda install Sum, unless it's been broken lately. 23:55
adu_ cool
skids It runs a lot of tests though so plan for a hot lap.
adu_ ok, I'll check it out, I would much prefer Roles to specific function names
"hot lap" lol, I'll use that next time I need to refer to a well-tested library 23:56
23:56 madmuid left
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:58
.karma C 23:59
23:59 LonelyGM left
adu_ skids, also, earlier, I was working on something related to NativeCall 23:59
I might have to maintain that