Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-03-14

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:05 vendethiel joined #perl6
00:43 geekosaur joined #perl6
00:46 perlawhirl joined #perl6
00:51 Herby_ joined #perl6
00:51 Herby_ \o
00:56 timotimo moritz, the cake has now become birthday cake and is mostly eaten by now
00:57 timotimo hello Herby_
00:57 timotimo how are things?
00:58 Herby_ same ole same ole, flipping through the Perl6 FOSDEM videos
00:58 Herby_ you?
01:08 AlexDaniel m: say chr 99999999
01:08 camelia rakudo-moar a3422a: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 99999999␤  in block <unit> at /tmp/j9uhWA8w73 line 1␤␤»
01:08 AlexDaniel m: say chr 999999999999
01:08 camelia rakudo-moar a3422a: OUTPUT«chr codepoint cannot be negative␤  in block <unit> at /tmp/OIi539P3f4 line 1␤␤»
01:08 AlexDaniel m: say chr 999999999999999999999999999
01:08 camelia rakudo-moar a3422a: OUTPUT«Cannot unbox 90 bit wide bigint into native integer␤  in block <unit> at /tmp/ivY0styH6D line 1␤␤»
01:09 AlexDaniel jnthn: it looks like your fix improved this bug: https://rt.perl.org/Ticket/Display.html?id=125817
01:10 rudi_s Lets say I have file which starts with unit class Foo::Bar and I have a sub declared in that filter aftwards. Is it possible to call that sub without always importing it in the namespace of all users?
01:11 rudi_s (is export works, but I don't want to pollute the caller namespace and just call that one sub.)
01:11 rudi_s s/in that filter/in that file/
01:18 timotimo Herby_: thinking about what's next with my SDL2 binding
01:19 timotimo i should write some docs - even though most stuff should be straight copy-pasted stuff from the official sdl2 documentation, i suppose
01:22 timotimo hm. maybe i'll bind a few extra libraries, like SDL_gpu
01:25 timotimo it claims to support shaders, which is nice
01:25 timotimo and arbitrary textured triangles
01:26 geraud joined #perl6
01:28 sortiz joined #perl6
01:28 sortiz \o #perl6
01:30 sortiz rudi_s, If the sub is declared our, can be used as Foo::Bar::subname() without importing, (you need 'need Foo::Bar' any way, to load the unit)
01:31 Herby_ sortiz: o/
01:39 BenGoldberg joined #perl6
01:41 Actualeyes joined #perl6
01:59 cbk joined #perl6
02:01 timotimo Herby_: have you ever tried graphics programming?
02:01 FROGGS_ joined #perl6
02:02 Herby_ can't say i have. i was looking up info on that sdl2 library you mentioned
02:02 Herby_ whats the gist of it?
02:03 timotimo the gist is that it lets you access input and output functionality of a whole bunch of platforms with a unified API
02:03 Herby_ sounds helpful :)
02:04 timotimo it lets you get events from keyboards, mice, gamecontrollers and joysticks, but also touch screens on android phones
02:04 geekosaur in theory at least
02:04 timotimo it lets you output graphics on the screen with a simplified API that can handle directx and opengl
02:04 Ben_Goldberg joined #perl6
02:04 timotimo and it also lets you output audio with a very limited featureset
02:05 timotimo SDL is what powers the rather popular pygame library
02:05 geekosaur (sdl2 input event handling has been annoying the **** out of the dcss devs because there's so many special cases and magic required to work on android+osx+linux+windows)
02:05 timotimo oh well :|
02:06 timotimo you can opt out of using any of those subsystems and drop in something custom if you like
02:06 BenGoldberg_ joined #perl6
02:07 timotimo there's a library that is compatible/similar to the SDL api called SDL_gpu that lets you access some more advanced functionality compared to SDL2's own "renderer" module. like shaders
02:07 timotimo there's SDL_mixer which is for supporting playing and mixing multiple sounds at the same time
02:07 timotimo SDL_image handles reading a whole bunch of different image formats
02:08 timotimo dunno what else is there. SDL_ttf i guess for font rendering
02:08 timotimo and SDL_net for TCP and UDP sockets
02:08 kalkin-__ joined #perl6
02:08 BenGoldberg joined #perl6
02:08 timotimo i'm going to bed nao
02:08 timotimo good night!
02:09 Herby_ night!
02:11 dalek Heuristic branch merge: pushed 20 commits to rakudo/repl6 by hoelzro
02:37 labster joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:49 molaf__ joined #perl6
02:51 vendethiel joined #perl6
02:58 sftp joined #perl6
03:01 anaeem1_ joined #perl6
03:12 chee joined #perl6
03:14 junpa joined #perl6
03:39 noganex_ joined #perl6
03:48 notbenh joined #perl6
04:17 MadcapJake joined #perl6
04:17 MadcapJake_ left #perl6
04:17 munja joined #perl6
04:18 MadcapJake joined #perl6
04:20 MadcapJake joined #perl6
04:58 rvchangue joined #perl6
05:08 Actualeyes joined #perl6
05:51 Cabanossi joined #perl6
06:10 dalek rakudo/nom: 802a6db | FROGGS++ | src/core/Version.pm:
06:10 dalek rakudo/nom: fix a very weird precomp/BEGIN-use bug
06:10 dalek rakudo/nom:
06:10 dalek rakudo/nom: I cannot explain how, but it fixes:
06:10 dalek rakudo/nom: $ perl6 --target=mbc --output=/dev/null t/spec/packages/RT125090.pm
06:10 dalek rakudo/nom: ===SORRY!===
06:10 dalek rakudo/nom: Missing serialize REPR function for REPR NativeRef
06:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/802a6db7be
06:10 dalek rakudo/nom: e57a006 | FROGGS++ | src/core/Version.pm:
06:10 dalek rakudo/nom: micro-optimize Version.new
06:10 dalek rakudo/nom:
06:10 dalek rakudo/nom: Since we already have a low level string array and want a low level string back,
06:10 dalek rakudo/nom: we can just use nqp::join.
06:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e57a006e12
06:10 dalek rakudo/nom: 42fb81d | FROGGS++ | src/ (2 files):
06:10 dalek rakudo/nom: throw X::Method::NotFound for *(42) (RT #127408)
06:10 dalek rakudo/nom:
06:10 dalek rakudo/nom: So instead of say that:
06:10 dalek rakudo/nom:   Cannot find method 'CALL-ME'
06:10 dalek rakudo/nom:
06:10 dalek rakudo/nom: It now hints at the type:
06:10 dalek rakudo/nom:   No such method 'CALL-ME' for invocant of type 'Whatever'
06:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42fb81d3b7
06:13 Actualeyes left #perl6
06:29 sortiz joined #perl6
06:41 musiKk_ joined #perl6
06:45 JimmyZ joined #perl6
07:03 CIAvash joined #perl6
07:05 emdashcomma joined #perl6
07:10 ChoHag_ joined #perl6
07:14 [Tux] test            20.984
07:14 [Tux] test-t          13.716
07:14 [Tux] csv-parser      50.269
07:15 sortiz joined #perl6
07:16 dj_goku_ joined #perl6
07:16 Azry_ joined #perl6
07:16 sivoais joined #perl6
07:16 masak joined #perl6
07:16 rntz joined #perl6
07:16 inokenty joined #perl6
07:16 jantore_ joined #perl6
07:16 kshannon joined #perl6
07:16 jast joined #perl6
07:16 sjn joined #perl6
07:16 avar joined #perl6
07:16 literal joined #perl6
07:16 noganex joined #perl6
07:16 jervo joined #perl6
07:16 [Tux] note that I updated my system yesterday with a new kernel (3.11 -> 3.12) due to security fixes
07:16 Celelibi joined #perl6
07:17 vendethiel joined #perl6
07:18 domidumont joined #perl6
07:20 wtw joined #perl6
07:33 nakiro joined #perl6
07:36 firstdayonthejob joined #perl6
07:45 FROGGS joined #perl6
07:46 vendethiel joined #perl6
07:52 nakiro joined #perl6
07:54 fireartist joined #perl6
07:56 ufobat_ joined #perl6
07:57 domidumont joined #perl6
08:05 masak morning, #perl6
08:07 darutoko joined #perl6
08:08 FROGGS morning masak
08:11 salva joined #perl6
08:19 maybekoo2 joined #perl6
08:21 RabidGravy joined #perl6
08:23 sjoshi joined #perl6
08:23 FROGGS joined #perl6
08:23 zakharyas joined #perl6
08:24 RabidGravy HARR
08:24 masak m: my %h1; %h1<foo> = 1; my %h2 := %h1.clone; %h2<bar> = 2; say %h1
08:24 camelia rakudo-moar 42fb81: OUTPUT«bar => 2, foo => 1␤»
08:24 masak ah, yes. thought so.
08:24 masak moritz: see? :)
08:24 sortiz \o #perl6
08:24 * masak submits rakudobug
08:28 moritz m: my %h1; %h1<foo> = 1; my %h2 = %h1.clone; %h2<bar> = 2; say %h1
08:28 camelia rakudo-moar 42fb81: OUTPUT«foo => 1␤»
08:28 pdcawley joined #perl6
08:28 moritz masak: I see
08:30 moritz the fact that one often uses hash assignment (which copies) seems to shadow this bug from every day observation
08:34 masak pretty sure this one is a regression. 007 has had code based on Hash.clone for a long while to indicate "and now we enter a new scope"
08:34 masak the bug manifests in the fact that old variables don't go away when we leave a scope
08:34 moritz star-m: my %h1; %h1<foo> = 1; my %h2 := %h1.clone; %h2<bar> = 2; say %h1
08:34 camelia star-m 2016.01: OUTPUT«bar => 2, foo => 1␤»
08:34 masak moritz: reason I didn't simply use hash assignment is that in my case, the hash was in an array.
08:35 abraxxa joined #perl6
08:35 moritz masak: noted
08:36 * moritz wonders if a simple method clone in class Hash or Map helps
08:36 masak this is one of those bugs that I'm quite sure I'll be able to work around :)
08:36 moritz m: say Hash.^mro
08:36 camelia rakudo-moar 42fb81: OUTPUT«((Hash) (Map) (Cool) (Any) (Mu))␤»
08:37 masak m: my %h1; %h1<foo> = 1; my %h2 = %h1; %h2<bar> = 2; say %h1
08:37 camelia rakudo-moar 42fb81: OUTPUT«foo => 1␤»
08:41 jack_rabbit joined #perl6
08:43 masak https://rt.perl.org/Ticket/Display.html?id=127704
08:43 sortiz Now that DBDish returns Failure on errors, I would like to remove the perl5-ism '0E0'. Opinions?
08:43 moritz +1
08:46 Actualeyes joined #perl6
08:48 RabidGravy Hmm takes ~ 9msecs to copy a 2048 element CArray, probably could do with it being at least twice as fast
08:49 FROGGS[mobile] joined #perl6
08:52 RabidGravy perhaps interestingly it takes ~ 1msec longer to copy int16s than num32s
08:54 RabidGravy which is a tad annoying because lame encodes shorts faster than floats
08:59 moritz maybe because the fetches aren't aligned?
08:59 nadim Good morning. I'd like some input on the output of DDT diff. When dumping data, if something was already rendered, it is not shown again; but when displaying a diff that gives this sort of output http://imgur.com/AH463A2
09:00 nadim In the best of worlds, what would you have liked to see, keeping in mind that this can get out of hand dissplay wise.
09:00 masak nadim: that's nice and colorful, but I'm not sure what it is I'm seeing
09:00 masak oh, the slashes separate got and expected?
09:01 rindolf joined #perl6
09:04 nadim there qre two dumps, left and right, and a column which displays what the relationship is between each row. === sme object, eqv, ~ same type, r (in this case) data only fund on the right side
09:05 nadim each data dump, is complete on its own, the diff just synchronizes the display rows
09:06 masak nice
09:06 masak I like what you're doing
09:06 masak the format is not totally self-evident, but easy enough to read after your explanation
09:07 nadim I'll work more on the "diff column' it's just for Nadim-purpose right now.
09:07 RabidGravy gah, the problem with these microbenchmarks is that it very quickly gets lost in noise
09:08 nadim the "problem" here is that on the right 'B' is not displayed because it was displayed before, so we don't see the relationship with the B on the left side.
09:09 FROGGS[mobile]2 joined #perl6
09:12 FROGGS[mobile]2 nadim: I'm so used to unified diffs that I expect something similar for data too
09:22 nadim FROGGS[mobile]2: so 80's ;)
09:23 dakkar joined #perl6
09:26 masak I think I'm with FROGGS on that one. though I'm always willing to be convinced otherwise ;)
09:26 masak with hierarchical data it sure seems that one could do better
09:27 FROGGS[mobile]2 well, I basically want quickly see the diff, and not want to see what's eqv, I guess
09:30 salva joined #perl6
09:33 nadim That's another story. And I agree that there is no point in seeing 10 000 lines of equivalent data. but it's very easy to fold those lines in the diff-dumper, I'll make that optional, and maybe default too.
09:33 araujo joined #perl6
09:41 FROGGS[mobile]2 I guess the tricky thing is to also show eqv stuff nearby, like diff -u does
09:42 FROGGS[mobile]2 so you get a feeling of the context
09:43 nadim yes in something that streams output, going back is not the simplest thing to do. Context downwards is very easy on the other hand.
09:43 nadim the problem is to be able to dump the data without taking an eon.
09:43 FROGGS[mobile]2 yeah
09:47 nadim hmm, I lied, it's easy to have a minimal context back, what is difficult is to have all the glyphs right but if one can be contented with a '...' in between the context lines and the data that needs to be displayed, then it is easy, fast, and looks good. I want this to be pleasing to the eye and easy on the brain.
09:48 telex joined #perl6
09:48 nadim thank you both for the input, I have a few days of work in front of me for what I wrote down. But after the hollidays! Yeah!
10:04 ely-se joined #perl6
10:14 maybekoo2 joined #perl6
10:24 |Tux| joined #perl6
10:26 jargan joined #perl6
10:27 kent\n joined #perl6
10:32 nakiro joined #perl6
10:32 tmch joined #perl6
10:37 vendethiel joined #perl6
10:38 azawawi joined #perl6
10:38 azawawi hi
10:38 azawawi what's the difference between OpaquePointer and Pointer?
10:39 azawawi and how do i explicitly convert from Int to uint32
10:43 RabidGravy first one, they are actually basicaly the same, second one for most part you shouldn't need to
10:45 RabidGravy but
10:45 RabidGravy m: my $a = uint32.new(10); say $a.WHAT
10:45 camelia rakudo-moar 42fb81: OUTPUT«(uint32)␤»
10:45 jnthn o.O
10:45 jnthn m: my $a = uint32.new(10); say $a
10:45 camelia rakudo-moar 42fb81: OUTPUT«This representation (P6int) cannot unbox to other types␤  in block <unit> at /tmp/Drv6Ok3cfl line 1␤␤»
10:45 RabidGravy *but* unless you have very specific reasons for doing so you probably don't
10:46 jnthn That...really should not work
10:46 jnthn (the uint32.new)
10:46 jnthn It's a native type, not an object type
10:46 RabidGravy yeah
10:46 jnthn So you'll probably never get the value out again
10:46 RabidGravy I was a little surprised
10:46 jnthn Suspect it's an accident...
10:49 sortiz m: dd Buf[num32].new; # btw jnthn , I think that this is another "accident", no?
10:49 camelia rakudo-moar 42fb81: OUTPUT«Buf[num32].new()␤»
10:50 jnthn sortiz: Hmm...I think Bufs may be assuming native integer contents :)
10:50 jnthn In various places
10:50 sortiz Yes.
10:50 jnthn And given they're meant to be for binary strings, I don't see a use case for the num parameterization
10:50 jnthn So I'd say we want to error out on that, yeah
10:50 jnthn Use my num32 @foo for that :)
10:51 sortiz Or array[num32] if needed, no?
10:51 jnthn Yeah, that's the same thing :)
10:52 jnthn Just another way to spell it
10:52 jnthn Useful if you want an anon one for some reason
10:53 azawawi RabidGravy: thanks
10:53 sortiz So, Blob/Buf only for integer types. Correct?
10:53 azawawi RabidGravy: so Pointer replaces OpaquePointer with no problem, right?
10:53 azawawi RabidGravy: what's OpaquePointer then?
10:53 azawawi RabidGravy: an old code?
10:55 sortiz azawawi, You need Pointer when need to dereference it, and OpaquePointer when never be dereferenced.
10:55 RabidGravy yeah, though in reality they are the same type
10:55 RabidGravy my constant Pointer       is export(:types, :DEFAULT) = NativeCall::Types::Pointer;
10:56 RabidGravy my constant OpaquePointer is export(:types, :DEFAULT) = NativeCall::Types::Pointer;
10:56 jnthn sortiz: Yeah
10:57 azawawi got it
10:57 jnthn azawawi: OpaquePointer dates back to the very earliest days of NativeCall; it was probably left there for back-compat
10:58 * jnthn suddenly realizes that "very earliest days of NativeCall" are now over 6 years ago
10:58 azawawi what about TransparentPointer? :)
10:59 jnthn Well, Pointer kinda became that, given you can actually get the place it points :)
10:59 azawawi that the first thing that i thought when i read "OpaquePointer"... Transparent
10:59 jnthn The point of it was that you didn't know what is behind it though
11:00 jnthn And should treat it just as a black box that you pass around
11:02 azawawi jnthn: cool
11:02 kid51 joined #perl6
11:02 arcetera aight
11:02 arcetera now how exactly am i supposed to use forms with perl6 libcurl bindings
11:02 arcetera whatever way i'm doing it i'm doing it wrong
11:03 azawawi arcetera: have you recently submitted a bug with a script?
11:03 arcetera that me
11:03 azawawi ix
11:03 azawawi ?
11:03 arcetera that me
11:03 azawawi cool
11:04 arcetera thanks btw
11:04 RabidGravy BTW, I did a quick survey of other http client modules and at least two support exactly that pattern
11:04 azawawi arcetera: panda install Net::Curl --force # to install it again
11:04 arcetera i did
11:04 arcetera now the problem is i'm doing smth wrong with the form or my key's fucked
11:04 arcetera hold up
11:05 espadrine joined #perl6
11:05 azawawi arcetera: and use _curl_easy_setopt
11:05 RabidGravy ooh
11:05 wamba joined #perl6
11:05 arcetera i did
11:06 arcetera now the problem's a 403
11:06 RabidGravy well, that's "client error"
11:06 azawawi 403 - Forbidden
11:06 RabidGravy you have the authentication wrong
11:07 arcetera hmm
11:07 azawawi arcetera: re https://github.com/azawawi/perl6-net-curl/issues/14 . I guess you need to uri escape tokens and data
11:07 arcetera uri escape?
11:08 gregf_ hi, i've installed Inline::Ruby using panda. how can i read the docs please *i've googled*
11:08 gregf_ perl6 --doc Inline::Ruby throws and error
11:08 azawawi arcetera: "key=$oopskey" looks like the problem
11:08 arcetera ah
11:08 arcetera probably
11:08 RabidGravy okay just for fun in my quest for micro-optimisation in dealing with CArrays I implemented "copy this CArray to a new one" using some nqp
11:08 arcetera going by vim's syntax highlighting probably isn't the best idea
11:08 RabidGravy gregf_, p6doc?
11:08 gregf_ i've installed perl6doc as well
11:09 gregf_ RabidGravy: i have
11:09 azawawi arcetera: use atom + atom-perl6-editor-tools :)
11:09 RabidGravy p6doc Inline::Ruby do anything?
11:09 gregf_ nope
11:09 arcetera don't particularly like atom
11:09 arcetera i'm very used to vim
11:09 arcetera but that's beside the point
11:09 gregf_ did you mean: pydoc' from package 'python *the error says*
11:09 arcetera "key={$oopskey}"?
11:09 RabidGravy anyway, how much faster do we think it is?
11:10 RabidGravy gregf_, that doesn't appear to be a Perl 6 error message
11:10 RabidGravy the p6doc isn't in your path
11:11 gregf_ RabidGravy: yeah, i installed it using panda
11:11 gregf_ RabidGravy: is there a way to ask panda to give all the modules installed locally?
11:12 gregf_ panda list --installed or panda list --local or something similar
11:12 RabidGravy I don't think it does
11:13 gregf_ ok, nevrmind. its unable to find the binary. but i did a reinstall and it happily goes ahead and installs it :|
11:13 RabidGravy there are ways of obtaining this information
11:14 RabidGravy oh wait there is "panda list --installed"
11:14 gregf_ yeah, tried that :| no joy
11:15 zhmylove joined #perl6
11:16 RabidGravy because of course it should be "panda --installed list"
11:16 RabidGravy which works here fine
11:16 gregf_ :/
11:16 gregf_ RabidGravy: p6doc                  [installed]
11:16 azawawi arcetera: use URI::Escape; $oopskey = uri-escape($oopskey); # remember ofcourse to 'panda install URI'
11:17 gregf_ whereis p6doc does not show anything :|
11:17 RabidGravy right, so it's not in your PATH
11:17 gregf_ anyways, let me try and figure it out. you guys have better things to work on
11:17 gregf_ yeah, but i thought panda would do that bit for me :)
11:18 RabidGravy it can't alter your path
11:18 RabidGravy find where the p6doc is, add that directory to your PATH
11:18 gregf_ *like finding a needle in a haystack*
11:19 RabidGravy I think that one of panda or rakudobrew actually says which path should be added when its done installing
11:19 gregf_ RabidGravy: Thanks!
11:19 RabidGravy locate, find, "guesswork" thousands of ways to find it
11:19 gregf_ panda installs the modules in a very hidden place *sobs*
11:20 gregf_ find /home/gregf/.rakudobrew/ -name \*.pm | grep -i Ruby *doesnt work*
11:20 gregf_ one last question
11:20 gregf_ where does panda install modules: is it ~/.rakudobrew?
11:21 arcetera uri-escaping $file and $oopskey results in the 403 once again
11:21 gregf_ i can tell Perl5 local::lib to install libs quite easily. so is the case with rvm as well and pip :|
11:21 arcetera perhaps it's the syntax "file=@$escfile" in the form
11:22 azawawi arcetera: escape everything :)
11:22 RabidGravy it is something like "~/.rakudobrew/moar-nom/install/share/perl6/" assuming you had rakudobrew install to the default location
11:22 RabidGravy though this is unlikely to help
11:23 arcetera azawawi: I still don't understand
11:24 arcetera well I have to go for now
11:24 nine arcetera: http://niner.name/talks/A%20look%20behind%20the%20curtains%20-%20module%20loading%20in%20Perl%206/Module%20loading%20in%20Perl%206.pdf
11:24 nine arcetera: page 20 and following
11:25 azawawi arcetera: it is post right?
11:25 arcetera yes
11:25 arcetera lemme sprunge the code
11:25 azawawi arcetera: curl_easy_setopt($curl, CURLOPT_POST, 1);  # :)
11:25 arcetera http://sprunge.us/ZMKV
11:25 azawawi arcetera: _curl_easy_setopt($curl, CURLOPT_POST, 1);  # :)
11:25 arcetera oh
11:26 azawawi arcetera: so it worked?
11:27 gregf_ RabidGravy: is there something similar to @INC in Perl6? or PERL6LIB
11:28 arcetera azawawi: at this point it's beginning to look something more on spencer's end
11:28 arcetera so i'll pester him
11:28 arcetera anyway, \o for now
11:28 azawawi arcetera: have fun
11:28 gregf_ er, thats looks like PHP :|
11:29 RabidGravy anyway, so no takers on guessing how much faster doing the equivalent of "my $c = CArray[num32].new;  $c[$_] = $f[$_] for ^2048" is when implemented in nqp?
11:29 jnthn RabidGravy: I'd guess factor of 5-10
11:30 jnthn RabidGravy: Depending how you wrote the NQP :)
11:30 RabidGravy yeah ~5 times
11:32 nine gregf_: http://niner.name/talks/A%20look%20behind%20the%20curtains%20-%20module%20loading%20in%20Perl%206/Module%20loading%20in%20Perl%206.pdf page 20 and following
11:32 RabidGravy which puts it in the ballpark for being able to copy a buffer of frames from a portaudio stream
11:32 nine gregf_: then there's PERL6LIB, RAKUDOLIB, -I and use lib "foo/bar"
11:34 sjoshi joined #perl6
11:35 RabidGravy 0.0104005183413078 vs 0.00253606253412554 on the faster machine, it's strangely 4x slower on another machine
11:36 jnthn RabidGravy: What are you copying from?
11:38 gregf_ nine: thats quite helpful.Thanks!
11:38 gregf_ nine: so does panda use the same repository pattern?
11:38 RabidGravy well I'm passing a CArray of audio frames from Portaudio -> LameMP3 -> Libshout, it goes wonky after a while - I suspect because the original CArray is getting messed with while LameMP3 is still using part of it
11:38 RabidGravy so I want to try copying it before passing it to lame to see if that helps
11:40 RabidGravy obviously "wonky" is not a very useful technical term but it seems like lame starts to struggle and then completely gives up creating complete mp3 frames
11:41 nine gregf_: yes
11:41 RabidGravy which seems to be a function of the number of buffer loads it has seen
11:41 jnthn RabidGravy: That'd benefit a lot from me getting around to designing the memcpy-ish thingy :)
11:41 nine gregf_: the actual installation is done by rakudo. Panda does the downloading building and testing
11:44 gregf_ nine: ok, ta
11:46 timotimo gregf_: if i want to know where the documentation of some perl6 module is, i go to modules.perl6.org and click through to the repository from there
11:46 RabidGravy jnthn, yes it would, at "normal" audio settings there's only about 20ms to do the whole thing
11:47 timotimo i.e. https://github.com/awwaiid/p6-Inline-Ruby
11:47 rindolf joined #perl6
11:53 RabidGravy I've actually taken to doing a perl6 --doc=Markdown .... to create a separate .md file of documentation for that case recently
11:53 gregf_ timotimo: well, i usually prefer the command line :|
11:54 gregf_ timotimo: but thanks for letting me know. i'll read from there for now
11:54 timotimo in that case, "panda look" will clone the repo and drop you in the shell
11:54 timotimo inside the repo
11:54 timotimo when you close the shell, the repo will be deleted again
11:54 gregf_ oh, a repl?
11:54 kaare_ joined #perl6
11:54 gregf_ *tries
11:55 gregf_ hmm, it does something but .. in the background :(
11:55 gregf_ timotimo: is there a default location for all repo's (i mean those created on the file system)
11:57 timotimo it does something. then you "ls" "pwd"
11:57 timotimo as i said. it'll clone the repo and drop you in the shell
11:57 gregf_ ah - yes
11:57 timotimo not "the perl6 shell", just "the shell"
11:58 gregf_ right
11:58 RabidGravy yep and that definitely works
12:20 pmurias joined #perl6
12:20 pmurias hi
12:24 dalek rakudo-star-daily: e2d984e | coke++ | log/ (9 files):
12:24 dalek rakudo-star-daily: today (automated commit)
12:24 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/e2d984eac2
12:25 travis-ci joined #perl6
12:25 travis-ci NQP build failed. Will "Coke" Coleda 'Make MoarVM more prominent than the Parrot VM'
12:25 travis-ci https://travis-ci.org/perl6/nqp/builds/115371602 https://github.com/perl6/nqp/compare/3242d3ee0d18...8b1118196e03
12:25 travis-ci left #perl6
12:28 [Coke] ^^ I literally just changed the README.
12:28 RabidGravy suUUUuuuuure
12:28 RabidGravy ;-)
12:32 Skarsnik joined #perl6
12:38 tmch joined #perl6
12:48 hoelzro o/ #perl6
12:52 hoelzro I think that I'm pretty much "done" with the REPL6 work; I'm going to hold off on merging until after 2016.03 is out
12:52 hoelzro please try out the the "new" REPL on the repl6 branch
12:58 masak hoelzro: will do! very exciting!
12:58 domidumont arcetera: I can answer your packaging question on #perl6-toolchain
12:59 masak in 007, I just found a new kind of "technical debt" that I didn't know we had
12:59 masak sometimes calls have to "match up", like braces do
12:59 masak like, we have <newpad> and <finishpad> in the grammar
12:59 masak but there's also <newpad> in the grammar and .finish-block in the Actions
13:00 masak that's harder to get right, because there's always physical distance between those calls -- it's a "nonlocal" invariant that needs to be upheld
13:00 masak (and we had forgotten it in two places, which led to bugs)
13:00 masak I'm always eager to write "code tests" for things like this in the 007 test suite. we've had good experiences with this so far
13:01 masak in this case, I'm just *itching* to do it on the Perl 6 AST, not on the program text
13:01 masak is there a way to do that yet? pretty please. Perl 6 has awesome grammars, including for parsing Perl 6. can we get the AST for a Perl 6 source file in Perl 6 yet?
13:02 masak if it's not possible to do yet... I guess I'll throw together some goodenuf text-based matching... *sigh* :)
13:02 jnthn masak: Sure you can *get* it, it just may not be so pleasant to work with.
13:02 masak do I need to switch it on using MONKEY_SEE_NO_NQP or something?
13:02 masak sorry, MONKEY-SEE-NO-NQP
13:03 masak :P
13:03 jnthn m: use nqp; dd nqp::getcomp('perl6').compile('say 42', :target('actions'))
13:03 camelia rakudo-moar 42fb81: OUTPUT«===SORRY!===␤Unknown compilation target 'actions'␤»
13:03 jnthn m: use nqp; dd nqp::getcomp('perl6').compile('say 42', :target('ast'))
13:03 camelia rakudo-moar 42fb81: OUTPUT«===SORRY!===␤compunitmainline requires an MVMCompUnit␤»
13:03 jnthn hmm :)
13:03 * masak .oO( "see, it works:" -- *BOOM* -- "hmm :)" )
13:04 jnthn heh, it's not like I use this API often, this is just guessing from memory :)
13:05 masak yeah -- sorry, I shouldn't tease so
13:05 masak anyway, if it's approximately as you say above, then I think I can do something nice with it
13:05 masak I'm quite good at wrapping things away into local helpers :>
13:06 jnthn m: use nqp; dd nqp::getcomp('perl6').compile('say 42', :target('ast'), :compunit_ok)
13:06 camelia rakudo-moar 42fb81: OUTPUT«Method 'dispatch:<.?>' not found for invocant of class 'QAST::CompUnit'␤  in block <unit> at /tmp/Mt4TIzHM7V line 1␤␤»
13:06 jnthn OK, that get's you a QAST::CompUnit
13:06 jnthn m: use nqp; say nqp::getcomp('perl6').compile('say 42', :target('ast'), :compunit_ok).dump
13:06 camelia rakudo-moar 42fb81: OUTPUT«- QAST::CompUnit :W<?> :UNIT<?>␤  [pre_deserialize]␤    - QAST::Stmt ␤      - QAST::Stmt ␤        - QAST::Op(loadbytecode) ␤          - QAST::VM ␤            [jvm]␤              - QAST::SVal(ModuleLoader.class) ␤            [moar]␤       …»
13:06 masak \o/
13:06 jnthn m: use nqp; my $foo = nqp::getcomp('perl6').compile('say 42', :target('ast'), :compunit_ok); say $foo.^name
13:06 camelia rakudo-moar 42fb81: OUTPUT«QAST::CompUnit␤»
13:07 jnthn If only somebody would design a nice Perl 6 AST. We could call them QTrees :P
13:07 masak it says something about 007's progress that my first reaction is "oh, right, QAST! heh, Q is so much nicer to work with..." :P
13:07 * nine wonders if this could be a way around the EVAL precomp problem. Yet this would be an extreme measure for a non-extreme situation...
13:07 masak by the way, I've also laid claim to the L:: namespace without anyone noticing :P
13:07 jnthn nine: Or we could try and fix that... :)
13:08 jnthn nine: Maybe by having EVALs done at compile-time just use the SC of the currently being compiled thing
13:08 nine jnthn: well since people will be bitten by it and then blame precomp (rightfully for a change), I'd be all for fixing :)
13:08 * masak 's law of cool consonants: masak gets all the cool consonants
13:09 jnthn nine: Well, if the above solution makes sense to you, feel free to try doing it. ;)
13:09 nine jnthn: what do you figure are my chances of actually succeeding?
13:09 jnthn nine: Fairly high
13:10 jnthn nine: Because there's a lot of precedent.
13:10 cdg joined #perl6
13:10 nine Ok...regardless, you made me curious, so I would have tried anyway :)
13:10 jnthn nine: For example, EVAL already passes along things like the current package and curernt outer scope for use by the compiler.
13:10 nine yep
13:10 cdg joined #perl6
13:10 jnthn nine: And the SC creation happens along the same codepath
13:11 jnthn Your main challenge is "just" a way to detect that we're currently running BEGIN-time code of something that we're pre-compiling
13:11 jnthn And being able to inherit that SC
13:11 nine $*W && $*W.is_precompilation_mode()?
13:12 jnthn Yeah
13:12 jnthn Something like
13:12 jnthn You may even be able to escape changing EVAL
13:12 nine If that's the main challenge, then I'm almost done ;)
13:12 jnthn And looking for the previous $*W
13:12 jnthn Yeah
13:13 jnthn In this case, thinking up a possible solution was the hard part ;)
13:13 jnthn (Looking for the existing one in TOP or so, I meant)
13:15 keix joined #perl6
13:15 [Coke] reminder, 2016.03 due this weekend.
13:16 jnthn OK. I've one regression RT that I should look at before then (will take care of it this week)
13:17 jnthn Not a strict 6.c regression in that it didn't bust any spectests, alas.
13:17 jnthn I'm planning to work mostly on the heap profiler this week, so won't have any sizable changes going into anything besides that.
13:18 zakharyas joined #perl6
13:18 jnthn (Other stuff will be picking off some more smaller but needing-fixing bugs in RT)
13:24 sortiz joined #perl6
13:37 Ven joined #perl6
13:38 vendethiel joined #perl6
13:43 skids joined #perl6
13:49 RabidGravy okay I've pared this down to the absolute bare bones necessary to get it working and it's still not fast enough
13:50 RabidGravy so no live streaming from Perl 6 this week
13:57 aborazmeh joined #perl6
13:57 aborazmeh joined #perl6
14:05 pmurias masak: it seems like we need a module in the ecosystem for parsing Perl 6 into QAST/match tree as it's a fairly common question
14:05 masak pmurias: agreed!
14:05 masak I'll see what I can do :)
14:07 jnthn Please note on that module that QAST can change over time and we're not bound to support code building upon it.
14:07 jnthn (So if we break modules using it, well, tough luck.)
14:08 pmurias thank god we are not bound to supporting QAST compatibility ;)
14:09 jnthn Yeah. I mean, in reality it is pretty stable.
14:09 jnthn And I don't see huge changes.
14:09 perlpilot .oO( This is Rakudo version 2016.03 built on MoarVM version 2016.03 implementing Perl 6.c using QAST version 2016.03 )
14:09 jnthn But there'll surely be some :)
14:09 perlpilot Include the NQP version and Rakudo's version information can get really long  :)
14:10 masak jnthn: noted -- lack of backwards compat sounds like something one might mention in the README of such a module
14:11 MadcapJake` joined #perl6
14:12 MadcapJake` what's the difference between "last parameter to the left" and "last parameter to the right" in the ==>/<== documentation http://doc.perl6.org/language/operators#Sequencer_Precedence
14:13 perlpilot MadcapJake`: I don't understand the question.  The difference is the directionality.
14:14 MadcapJake` last parameter to the left is incredibly obtuse
14:14 MadcapJake` does that mean "first parameter"
14:14 perlpilot MadcapJake`: Maybe if it talked about data flow and said ==> flows rightward,  <== flows leftward  ?
14:14 MadcapJake` ok then i really don't follow
14:15 MadcapJake` what is directionality with parameters?
14:15 RabidGravy m: my @a <== <a b c d>.map(*.uc)
14:15 camelia rakudo-moar 42fb81: ( no output )
14:15 RabidGravy m: my @a <== <a b c d>.map(*.uc); say @a
14:16 camelia rakudo-moar 42fb81: OUTPUT«[A B C D]␤»
14:16 perlpilot Aye, perhaps it should just not say anything about "parameters"
14:16 RabidGravy m: my @a; <a b c d>.map(*.uc) ==> @a; say @a
14:16 camelia rakudo-moar 42fb81: OUTPUT«[A B C D]␤»
14:16 MadcapJake` oh it has to do with which direction the result passes to
14:17 MadcapJake` i was thinking it was like a relative of the thread-first/thread-last operator
14:17 MadcapJake` (in clojure)
14:17 RabidGravy yeah, "parameter" is thinking about it as the infix operator definition rather than how people actually see it
14:17 pmurias_ joined #perl6
14:18 MadcapJake` so is it always given as the last parameter of whatever it passes to?
14:18 MadcapJake` i.e., whichever direction it passes to?
14:19 MadcapJake` yeah i think that's what is meant by "last parameter to the X"
14:20 MadcapJake` are the commas really needed in the `<==` example?
14:20 dalek nqp: b07b852 | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
14:20 dalek nqp: [js] Turn static variables lookup into a direct access to the wvalue instead of a javascript lexical.
14:20 dalek nqp: review: https://github.com/perl6/nqp/commit/b07b852775
14:20 dalek nqp: b864add | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
14:20 dalek nqp: [js] When compiling a block for use while it's outer block does not yet exist stub the context with a null.
14:20 dalek nqp: review: https://github.com/perl6/nqp/commit/b864add99d
14:20 dalek nqp: b1066ad | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
14:20 dalek nqp: [js] When compiling a block for use with it's missing outer import stuff from the setting.
14:20 dalek nqp: review: https://github.com/perl6/nqp/commit/b1066ad3c8
14:21 dalek nqp: b335a00 | (Pawel Murias)++ | src/vm/js/bin/run_tests.pl:
14:21 dalek nqp: [js] Pass test 24.
14:21 dalek nqp: review: https://github.com/perl6/nqp/commit/b335a004ad
14:35 RabidGravy I'm in a quandary about what to do with Audio::PortAudio,  I don't think that it's usable for some percentage of uses at the time being
14:36 RabidGravy so playing audio from a file, recording to a file good, doing anything more complicated with input or output won't fly because not fast enough
14:36 Ven joined #perl6
14:37 RabidGravy I dare say if one stripped back even more of the code to just bare native subs then maybe, but at which point one may as well just not use Perl at all
14:38 llfourn RabidGravy: =(
14:41 perlpilot RabidGravy: re not fast enough, is there a moderately complicated script you could put together as a benchmark?  It might be a good litmus test for any future speed improvements  (and give jnthn et alia something to profile when looking for things to optimize)
14:41 RabidGravy so I'm wondering whether to release it anyway in the expectation that either "something" will get faster or someone will come up with a silver bullet
14:43 MadcapJake` my @res = sort <== grep { /<[PE]>/ } <== map { .tc } <== qw{people of earth}; @res.say
14:43 MadcapJake` m: my @res = sort <== grep { /<[PE]>/ } <== map { .tc } <== qw{people of earth}; @res.say
14:43 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oEj4FAPYh6␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/oEj4FAPYh6:1␤------> 3 .tc } <== qw{people of earth}; @res.say7⏏5<EOL>␤    expecting any of:␤    …»
14:43 MadcapJake` that's the `<==` example
14:43 RabidGravy perlpilot, not really, inasmuch as this is pretty fundamental, crossing the native/perl boundary and method dispatch is just not consistently giving me the less than 20msecs I need
14:44 Ven joined #perl6
14:45 jnthn Making such fundamentals faster is a good bit of what I'm working on (thus why object accessors already got a good speed-up, and object construction is fairly high on the list)
14:45 jnthn Making native calls themselves faster also is on the todo list, but depends on the MoarVM expression JIT work.
14:45 jnthn Or at least, making them really fast does.
14:47 RabidGravy it seems that the loop at https://github.com/jonathanstowe/Audio-PortAudio/blob/master/examples/stream-source#L89  slows down
14:47 MadcapJake` how come I can't get `<==` to work at all?
14:48 * llfourn always thought that YMMV with <== and ==>
14:49 MadcapJake` so maybe this should be experimental then
14:49 moritz MadcapJake`: feed are mostly NYI
14:50 MadcapJake` yeah `<==` seems to be confused by the parser as the start of a quote word construct
14:51 jnthn RabidGravy: Shoving an nqp::say(nqp::time_n()) or so at the top of the loop produces data to support "slows down"?
14:52 skids MadcapJake: was wondering what was different about the docs in a few of my modules that caused your 6doc page to miss them.  X::Protocol is one such.
14:52 jnthn RabidGravy: It's possible that it also occasionally misses a frame due to GC, which would show up as an iteration suddenly taking a lot longer
14:52 RabidGravy yeah, and because it's fairly hand to mouth anyway it just would go down hill from there
14:53 RabidGravy there isn't enough spare time to catch up
14:53 MadcapJake` skids, what do you mean?
14:53 skids http://6doc.rightfold.sexy/
14:54 MadcapJake` yeah that's cool, didn't make it though! I asked on reddit where the source is but no reply :P
14:54 skids Ah, OK, I misattributed :-)
14:54 MadcapJake` it's missing my modules too
14:54 MadcapJake` i think the creator just needs to rebuild (guessing)
14:55 Ven joined #perl6
14:55 RabidGravy it's jdv79 isn't it?
14:56 MadcapJake` Anyone know who this is? Radek Slupik
14:56 MadcapJake` that's whois admin for rightfold.sexy
14:57 vendethiel joined #perl6
14:58 avenj joined #perl6
14:59 RabidGravy jnthn, the approximate timings on *when* it starts going wrong would tend to support the GC theory, inasmuch as it seems to be a function of the number of iterations
14:59 MadcapJake` in which repo would i post an issue to suggest that `==>` and `<==` be under the experimental pragma?
15:00 Ven joined #perl6
15:01 masak ...is it just me, or would "thirty score" be 600, not 6000?
15:02 RabidGravy m: say 30 * 20
15:02 camelia rakudo-moar 42fb81: OUTPUT«600␤»
15:02 RabidGravy nope
15:03 MadcapJake` nope?
15:03 Ven joined #perl6
15:03 moritz "half dozen k" :-)
15:03 skids MadcapJake: looks like irc handle "ely-se" in which case the repo, if any, will be on BB not github.
15:03 MadcapJake` skids, nice! https://bitbucket.org/rightfold/sixdoc
15:04 * skids super perlgeek sleuth ftw.
15:04 RabidGravy MadcapJake, yeah nope, in "no masak, it's not just you, thirty score is indeed 600 not 6000"
15:05 MadcapJake` ahh i see, was a bit confused there xD
15:06 Ven o/
15:07 jnthn RabidGravy: How much longer does it take, ooc?
15:08 jnthn RabidGravy: I'm guessing you've a bunch of threads running; GC sync-up in that case needs some work, I think
15:11 RabidGravy well in the simplest case there aren't any Perl 6 threads at all, but portaudio has a feeder thread for the blocking reads and it's jack client will be in a thread too so the whole full up program has a minimum of three
15:15 jnthn Ah, ok
15:16 skids m: my $lock = Lock.new; $lock.protect: { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say }; CATCH { when X::AdHoc { $_.message.say; $_.resume } } # jnthn, should I file an RT or is this not considered a bug?
15:16 camelia rakudo-moar 42fb81: OUTPUT«42␤43␤Trying to unwind over wrong handler␤»
15:19 jnthn skids: Looks like a bug...but can you reproduce it without lock?
15:19 skids I'll try.
15:20 skids (a "do" block doesn't I know that much)
15:20 RabidGravy Ooh wait, I just took the signal(SIGINT).... out and it has significantly improved
15:20 jnthn Yeah, that starts the event loop thread
15:21 RabidGravy like seriously improved
15:21 RabidGravy http://rabidgravy.com:8000/stream - rock solid
15:22 jnthn Wow
15:22 jnthn That's a really interesting data point :)
15:22 * jnthn listens
15:22 RabidGravy not very interesting, it's easy to hear it going wrong like that :)
15:23 jnthn Can't tell if repetitive because genre or because it's a short file on loop :D
15:23 RabidGravy it's a drum machine
15:23 jnthn Ah :)
15:23 RabidGravy just to prove it's "live"
15:24 * btyler grooves
15:24 skids m: { LEAVE { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say } }; CATCH { when X::AdHoc { $_.message.say; $_.resume } } # closest thing to a similar failure so far
15:24 camelia rakudo-moar 42fb81: OUTPUT«42␤43␤Multiple exceptions were thrown by LEAVE/POST phasers␤␤    43␤      in block  at /tmp/5TWf32mBF2 line 1␤      in block <unit> at /tmp/5TWf32mBF2 line 1␤␤    This exception is not resumable␤      in block  at /tmp/5TWf32mBF2 line 1…»
15:25 RabidGravy actually that kit is nicer
15:25 jnthn That one is probably legit though
15:25 * skids tries to think of other unusual closures.
15:25 jnthn skids: I'd maybe do a MyLock class and see if removing the actual locking primitives from it makes teh issue go away or not, and golf from there
15:25 jnthn (As in, start from a copy of Lock)
15:26 RabidGravy wow, the stream has been running absolutely rock solid for ten minutes now
15:26 jnthn \o/
15:26 jnthn Sounds like I've some GC/thread performance exploring to do then :)
15:26 sortiz joined #perl6
15:27 RabidGravy and I'm actually printing the times as suggested so there may be some headroom too
15:27 RabidGravy time for a different kit
15:30 skids jnthn: looks like the CATCH inside .protect is necessary for it to happen.
15:30 skids m: class MyLock is Lock { method protect(&code) { my \res := &code(); res }; method lock { }; method unlock { }; }; my $lock = MyLock.new; $lock.protect: { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say }; CATCH { when X::AdHoc { $_.message.say; $_.resume } }
15:30 camelia rakudo-moar 42fb81: OUTPUT«42␤43␤44␤»
15:30 skids m: class MyLock is Lock { method protect(&code) { my \res := &code(); CATCH { };' res }; method lock { }; method unlock { }; }; my $lock = MyLock.new; $lock.protect: { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say }; CATCH { when X::AdHoc { $_.message.say; $_.resume } }
15:31 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/v10sgmCPB1␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/v10sgmCPB1:1␤------> 3X::AdHoc { $_.message.say; $_.resume } }7⏏5<EOL>␤    expecting any of:␤        sing…»
15:31 skids m: class MyLock is Lock { method protect(&code) { my \res := &code(); CATCH { }; res }; method lock { }; method unlock { }; }; my $lock = MyLock.new; $lock.protect: { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say }; CATCH { when X::AdHoc { $_.message.say; $_.resume } }
15:31 camelia rakudo-moar 42fb81: OUTPUT«42␤43␤Trying to unwind over wrong handler␤»
15:31 jnthn skids: Remove the inheritance?
15:32 jnthn I guess the lock/unlock methods can go too
15:32 skids Still happens with no Lock parent.
15:33 skids m: 'my &c = { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say }; { my \res := &c(); CATCH { }; res }; CATCH { when X::AdHoc { $_.message.say; $_.resume } }
15:33 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zVYr27klaF␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/zVYr27klaF:1␤------> 3X::AdHoc { $_.message.say; $_.resume } }7⏏5<EOL>␤    expecting any of:␤        sing…»
15:33 skids darn
15:33 skids m: my &c = { 42.say; X::AdHoc.new(:payload(43)).throw; 44.say }; { my \res := &c(); CATCH { }; res }; CATCH { when X::AdHoc { $_.message.say; $_.resume } }
15:33 camelia rakudo-moar 42fb81: OUTPUT«WARNINGS for /tmp/8a2lnTG3xz:␤Useless use of res symbol in sink context (line 1)␤42␤43␤Trying to unwind over wrong handler␤»
15:34 RabidGravy Hmm, not quite enough headroom for it to completely recover if the throughput dips for some reason
15:34 jnthn skids: Nice, that golfs it quite a bit further
15:34 jnthn skids: I've still no idea what's going on, but at least we know it's nothing to do with locks :)
15:35 skids OK, I'll RT then.
15:35 RabidGravy but on the whole I feel much happier about this than I did half an hour ago :)
15:35 jnthn :)
15:35 RabidGravy jnthn++ # just because
15:36 llfourn RabidGravy++ for figuring it out
15:37 MadcapJake` with nativecall is there any way to specify that a param should be something from a given enum rather than just an int32?
15:37 Skarsnik I don't think so
15:38 RabidGravy not directly, this is why you wrap the actual native subs
15:38 hoelzro MadcapJake`: I doubt it, but you could always wrap the native sub in a sub that *does* enforce something enum-like
15:38 CIAvash joined #perl6
15:39 Skarsnik I like how enum size it supposed to be compiler dependant x)
15:39 MadcapJake` ok just curious, I'm definitely going to wrap the API but would be nice to handle that validation in the native sub since the C code is written as such
15:40 Ven joined #perl6
15:41 Skarsnik well it mean another trait or something to add to enums
15:42 sortiz joined #perl6
15:43 Ven joined #perl6
15:43 MadcapJake` I just mean it would be a nice feature UX-wise as this is how C code is written and would make for a nicer translation.
15:51 Ven joined #perl6
15:57 kalkin-__ So i want to have a variable which i can only set once, which is not a constant
15:57 ugexe use a Proxy?
15:58 kalkin-__ If i use a _state_ variable in a Grammar and Grammar.parse, which sets the state var to something. Next time when I execute Grammer.parse will it be reset?
15:58 Skarsnik my \foo = 1 ?
15:58 kalkin-__ I mean the _state_ keyword
15:58 jnthn kalkin-__: No, it won't be reset...
15:58 MadcapJake` kalkin-__, you could reset it on initialization of the Grammar class
15:58 perlpilot joined #perl6
15:59 jnthn kalkin-__: People typically use dynamic variables for per-parse state
15:59 kalkin-__ I just want to make sure I don't do assignment to this var, after it's assigned ones
16:00 jnthn Well, sigilless variables are ideal for that
16:00 jnthn m: my \a = 42; a = 43;
16:00 camelia rakudo-moar 42fb81: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/JD_ke9QnO5 line 1␤␤»
16:00 kalkin-__ Ahh, thats what they are for!
16:01 kalkin-__ The docs just say: It is possible to create "variables" in Perl 6 that do not have sigils:Gut, vorher hat der Typ Mozart zitiert
16:01 MadcapJake` but you can't create an empty one and assign it later
16:01 kalkin-__ Aehm, s/:.*//g
16:02 MadcapJake` if you want to assign later, you might also consider creating a setter method that validates whether the container is empty
16:03 kalkin-__ MadcapJake: yeah that's always possible.
16:03 kalkin-__ m: let $f; {$f  =42;} say $f;
16:03 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Txr6tIjZ7O␤Variable '$f' is not declared␤at /tmp/Txr6tIjZ7O:1␤------> 3let 7⏏5$f; {$f  =42;} say $f;␤»
16:03 kalkin-__ m: {let $f; $f  =42; say $f;}
16:03 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d5GtZopcx0␤Variable '$f' is not declared␤at /tmp/d5GtZopcx0:1␤------> 3{let 7⏏5$f; $f  =42; say $f;}␤»
16:04 kalkin-__ I think a combination of my and let will do the trick for my case
16:04 kalkin-__ m: my $f = 'DEFAULT VALUE'; { let $f= ' FOO'; say $f };
16:04 camelia rakudo-moar 42fb81: OUTPUT« FOO␤»
16:05 Ven joined #perl6
16:05 MadcapJake` in nativecall, how do i handle that a return type might be a struct or NULL?
16:06 Skarsnik I think returning a struct does not work
16:06 kalkin-__ hmm I think i will just do a setter. I thought perhaps there is something like java final keywords for variables
16:06 jnthn Skarsnik: I suspect it's "pointer to struct"
16:06 Skarsnik and $retstuff == MyStruct should work to check for null
16:06 jnthn === :)
16:07 Skarsnik Oh yeah ===
16:07 Skarsnik This is so confusing ^^
16:07 jnthn But yeah, you get back a type objct if it's NULL
16:07 jnthn So, can test it with .defined also
16:07 jnthn or with $struct { ... } etc.
16:07 masak Skarsnik: infix:<==> is only for numeric comparisons
16:07 MadcapJake` yeah it's a pointer, but i mean with `returns` keyword.
16:08 jnthn MadcapJake`: Just write the struct type; it's implicit that it could be NULL also
16:08 Skarsnik sub foo is native returns MyStruct;
16:08 MadcapJake` oh ok good :)
16:08 jnthn But we map NULL into a type object for that 6y feeling :)
16:08 Skarsnik I should spend some time figuring how to make glib work with gccxml
16:08 MadcapJake` Skarsnik, yes! gccxml needs to update it's gcc dep xD
16:09 MadcapJake` s/it's/its/
16:09 MadcapJake` i need more C-fu before I can do the gir, so I'm doing a simple C library right now (MyHTML html parser)
16:10 RabidGravy you can do the rest of this portaudio thing if you want, it's been driving me mad for a week
16:10 Skarsnik There is already Gumbo if you want parse html(5)
16:10 kalkin-__ About the sigilless variables. The main point in the is immutability right? If so I think the immutability should be mentioned in the docs in the first sentence instead of being mentioned as just a side effect of not having containers
16:11 Ven joined #perl6
16:11 MadcapJake` Skarsnik, nice! maybe that should be under HTML::Gumbo (I searched for HTML in the module site before starting this) ¯\_(ツ)_/¯
16:11 kalkin- Or did I misunderstood the point of the sigilless vars
16:11 kalkin- ?
16:12 MadcapJake` the sigilessness means it's actually containerless :P
16:12 perlpilot random thought: should t he REPL announce version information before displaying a prompt?
16:13 kalkin- perlpilot: the few times you need this you can just execute perl6 --version. As developer you probably know what version you have installed.
16:13 MadcapJake` RabidGravy, I'm almost done with this and then I'll have a look at PortAudio, is your lib on gh or bb?
16:13 MadcapJake` s/lib/module
16:13 RabidGravy I was joking, I'm going to wrap it up today
16:14 MadcapJake` perlpilot, I agree, I've discussed this before and others said that it should but also you should have a quiet option to silence this
16:14 RabidGravy I can make a working example of the last use case I'm interested in so it's just make some better tests and some documentation
16:15 perlpilot kalkin-: "few times"?  What about when illustrating a bug?  That happens all the time here with camelia and she announces the SHA1 at least.  For people in the wild, why make them do an extra step to see the version info?
16:15 MadcapJake` RabidGravy, ah sorry! Was willing to help! I still need to get back to my FluidSynth wrapper too but I am kind of confused about function arguments (in regards to wrapping C functions that have them)
16:16 RabidGravy you mean callbacks?
16:16 MadcapJake` right :)
16:16 kalkin- perlpilot: well here with camelia is a different interaction as on your own machine.
16:17 RabidGravy it's just   sub foo(&foo (int32 $f, Str $g)) is native ,,..
16:17 perlpilot kalkin-: And you think that people will always know what version of Perl 6 they have installed?
16:17 RabidGravy you do need the sub signature
16:17 kalkin- You either using the installer perl6 version from your package manager or you have specified a version when using rakudobrew.
16:17 perlpilot kalkin-: ... or your sysadmin did those things for you and you have no idea.
16:18 kalkin- perlpilot: my expirience from developing in other programming languages which have multiple versions ruby/python and i always know which version I use currently
16:18 kalkin- perlpilot: ok so you execute once perl6 --version, instead beeing greeted with a version screen each time.
16:18 perlpilot again, why make an extra step for users.  (What's the first thing we ask for with bug reports or other strangeness?  "What version of Perl are you running?")
16:19 kalkin- Maybe I'm bikeshading, but you asked :)
16:19 perlpilot kalkin-: What does Python's REPL do?  ;)
16:19 MadcapJake` RabidGravy, ok, I'm actually a little fuzzy on exactly what detail of them I was having trouble with, I'll let you know when I get back to that, a cursory glance isn't ringing any bells
16:19 [Tux] joined #perl6
16:19 kalkin- perlpilot: ?
16:20 ugexe a large chunk of 'why doesnt this perl6 code work?' is from a developer running a package managed rakudo from 2014.11
16:20 MadcapJake` kalkin-, what perlpilot is saying is that each time you enter a python repl, it gives you a number of details about the system/version
16:21 MadcapJake` however you can get around that by `alias python3="python3 -q"`
16:22 kalkin- perlpilot: You are right. Especially newbies need to know the version when they are asking stuff here, and there rest can disable it
16:22 perlpilot anyhow ... I've exhausted what little energy I had on the subject.   I think Rakudo's REPL should announce version info.  If it bubbles up enough again in my brain, I may just make it so and ask forgiveness.
16:22 kalkin- MadcapJake: my doesn't
16:22 MadcapJake` kalkin-, maybe you already set the alias?
16:23 MadcapJake` both 2.7 and 3.4 do it
16:23 perlpilot must be.  Python's REPL has always announced version info for as long as I can remember
16:23 MadcapJake` same here
16:23 kalkin- MadcapJake: Ahh you are talking about python,  sorry
16:23 ugexe it might be cool if stacktraces included the perl6 version... then when people post their errors to a pastebin we don't even have to ask the first question
16:23 perlpilot ugexe: that too!
16:24 Ven joined #perl6
16:24 MadcapJake` kalkin-, right i'm saying that other (only currently) more popular scripting language does it and has since around the dawn of time (or thereabouts)
16:24 perlpilot (the very last thing in the stacktrace should be "on Rakudo version ..."
16:25 MadcapJake` perlpilot++
16:25 geekosaur interestingly, ghci used to announce version and then that was disabled by default because that's what users wanted
16:25 MadcapJake` ugexe++ # great idea!
16:25 masak t/spec/S32-num/power.rakudo.moar -- TODO passed:   13-15, 68-70
16:25 masak other than that, the spectests all pass! nice! :D
16:25 MadcapJake` geekosaur, typical haskellers ;)
16:26 RabidGravy wahay!
16:26 * geekosaur ... will not comment.
16:26 masak m: say (^Inf).pick
16:26 camelia rakudo-moar 42fb81: OUTPUT«Cannot .roll from a lazy list␤  in block <unit> at /tmp/STcfcwkuMx line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/STcfcwkuMx line 1␤␤»
16:26 MadcapJake` geekosaur, only teasing
16:26 geekosaur (because if I get started, I won't stop...)
16:26 masak ...slightly LTA error message, I guess... :)
16:26 masak ("I wasn't trying to .roll, I did .pick")
16:27 geekosaur I have a *lot* of issues with the Haskell community preferring pretty much everything outside of the language being unsafe in one way or another
16:27 masak also, it would seem to me that laziness oughtn't be the problem, but non-finiteness
16:27 geekosaur tooling, key libraries (go look at the caveats for the remove directory tree function sometime), ...
16:27 perlpilot masak:  it was a .pick .roll ?
16:27 maybekoo2 joined #perl6
16:28 perlpilot geekosaur: I just installed ghc and ghci still tells me the version first thing
16:29 geekosaur oh, I think I'm thinking of the big info banner with more information. I see the one-line banner still has version but missing other information that could be useful for diagnosis
16:30 edehont joined #perl6
16:33 khw joined #perl6
16:33 perlpilot masak: huh ... looking at the code, it looks like it should say "Cannot .pick from a lazy list" (src/core/List.pm:670)
16:33 Skarsnik MadcapJake, Html give gumbo as the second result x)
16:34 Skarsnik http://modules.perl6.org/#q=html
16:35 masak perlpilot: so it does.
16:36 masak perlpilot: ah, but we're doing .pick on a Range
16:36 masak not a List
16:36 masak and `multi method pick()          { self.roll }`
16:36 perlpilot oh!
16:36 perlpilot yes.
16:37 virtualsue joined #perl6
16:37 MadcapJake` Skarsnik, oops, guess i was just looking at the name xD
16:38 AlexDaniel joined #perl6
16:39 AlexDaniel m: ‘abc’ ==> sort
16:39 camelia rakudo-moar 42fb81: ( no output )
16:40 AlexDaniel m: sort <== ‘abc’
16:40 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b2xpy0J2PU␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/b2xpy0J2PU:1␤------> 3sort <== ‘abc’7⏏5<EOL>␤    expecting any of:␤        argument list␤  …»
16:40 AlexDaniel star: sort <== ‘abc’
16:40 camelia star-m 2016.01: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bxFTj_nJ0V␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/bxFTj_nJ0V:1␤------> 3sort <== ‘abc’7⏏5<EOL>␤    expecting any of:␤        argument list␤      …»
16:40 MadcapJake` I don't think `<==` works at all (maybe if replacing assignment it does)
16:40 AlexDaniel m: my @a; @a <== ‘abc’; say @a
16:40 camelia rakudo-moar 42fb81: OUTPUT«[abc]␤»
16:40 MadcapJake` ah so it works with containers
16:41 AlexDaniel I have never ever noticed any problems with feed operators
16:41 AlexDaniel just this… :)
16:41 MadcapJake` that's a pretty big problem :P
16:41 RabidGravy there, been streaming that for an hour without a say in the hot loop and it kept filling the player cache at 11-16% so all good
16:42 MadcapJake` what's the point of using `<==` in that last case AlexDaniel, it can be replaced by `=`
16:42 masak m: sort() <== 'abc'
16:42 camelia rakudo-moar 42fb81: ( no output )
16:42 masak you're just falling victims to term-vs-operator
16:43 AlexDaniel right
16:43 masak I don't recall whether the `()` *should* be necessary by spec, though
16:43 perlpilot maybe there's something general there we can match and at least give a good error message
16:44 MadcapJake` masak, ah yeah you're right! the `==>` op allows you to skip this though
16:44 MadcapJake` masak, how can i make this one work: my @result = sort <== grep /P|E/, <== map { .tc }, <== qw{people of earth};
16:44 MadcapJake` just wrap the args in parens?
16:45 masak yeah
16:45 masak `<==` is much looser than `=`, IIRC
16:45 MadcapJake` m: my @result = sort() <== grep(/P|E/) <== map({ .tc }) <== qw{people of earth};
16:45 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D7eBMaEp7Y␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/D7eBMaEp7Y:1␤------> 3<== map({ .tc }) <== qw{people of earth}7⏏5;␤»
16:45 masak aww
16:45 MadcapJake` xD
16:46 masak the future is still unequally distributed elsewhere :P
16:46 * masak .oO( could someone please redistribute some more future over here? ) :P
16:47 gregf_ m: my $words = qw|people of earth|;print $words.map(*.tc).grep(/P|E/)
16:47 camelia rakudo-moar 42fb81: OUTPUT«People Earth»
16:49 MadcapJake` gregf_, The example is one taken from the feed-left operator
16:49 gregf_ oh, feed left
16:49 gregf_ is that like a foldleft or somesuch
16:49 gregf_ ?
16:50 MadcapJake` no it's more like thread-last (clojure) but backwards
16:50 gregf_ like so, [1,2,3].inject(0){ |s,v| s+=v } <== in ruby
16:50 gregf_ oh ok
16:51 wamba joined #perl6
16:51 MadcapJake` each result is passed to the left side of the operator as the last argument
16:51 AlexDaniel m: my @result = (sort() <== grep { /<[PE]>/ } <== map { .tc } <== <people of earth>); say @result;
16:51 camelia rakudo-moar 42fb81: OUTPUT«[Earth People]␤»
16:52 AlexDaniel or without parens
16:52 MadcapJake` AlexDaniel saves the day! it needs wrapping paper apparently ;)
16:52 AlexDaniel m: my @result <== sort() <== grep { /<[PE]>/ } <== map { .tc } <== <people of earth>; say @result;
16:52 camelia rakudo-moar 42fb81: OUTPUT«[Earth People]␤»
16:52 ugexe m: 1,2,3,4 ==> my @a; say @a.perl
16:52 camelia rakudo-moar 42fb81: OUTPUT«[1, 2, 3, 4]␤»
16:52 MadcapJake` oh just the no-arg subs need parens eh?
16:52 AlexDaniel MadcapJake: well, if you use = then you need parens, yeah
16:52 AlexDaniel otherwise yes
16:53 AlexDaniel which is slightly LTA but not enough to call feeds experimental :)
16:53 MadcapJake` so it's specifically because of `<==`'s looser precedence
16:53 AlexDaniel the example has to be fixed though
16:54 AlexDaniel oh geez, look at what I have found! This is just amazing!!
16:54 AlexDaniel one second…
16:54 MadcapJake` cool, honestly i'm glad it's not! It might even be good to include a mention of parens needed when assigning the result
16:55 AlexDaniel m: my @result <== sort() <== grep { /<[PE]>/ } <== my @partial <==map { .tc } <== <people of earth>; say @partial
16:55 camelia rakudo-moar 42fb81: OUTPUT«[People Of Earth]␤»
16:55 AlexDaniel you can add “my @something” in between and save the result in between!
16:56 MadcapJake` oh that's neat!
16:56 AlexDaniel I mean… well you get it
16:56 AlexDaniel this is just amazing!
16:57 * AlexDaniel adds it to the list of underrated perl 6 features, even though it is not an actual feature
16:57 MadcapJake` ok, I've started a PR with the fix and I'll include that "partial save" too for good measure!
16:57 AlexDaniel oh, neat!
16:57 AlexDaniel MadcapJake`++
17:01 MadcapJake` AlexDaniel, the partial save doesn't seem to work with `==>`
17:01 AlexDaniel hehe
17:01 AlexDaniel well, maybe it needs parens?
17:02 MadcapJake` m: my @res = (<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort; say @caps; say @res
17:02 camelia rakudo-moar 42fb81: OUTPUT«[People Of Earth]␤[People Of Earth]␤»
17:03 MadcapJake` hmm
17:03 MadcapJake` m: my @res = (<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort); say @caps; say @res
17:03 camelia rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uWxNDfw8RH␤Unexpected closing bracket␤at /tmp/uWxNDfw8RH:1␤------> 3==> my @caps) ==> grep /<[PE]>/ ==> sort7⏏5); say @caps; say @res␤»
17:04 MadcapJake` oops
17:04 MadcapJake` m: my @res = ((<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort); say @caps; say @res
17:04 camelia rakudo-moar 42fb81: OUTPUT«[People Of Earth]␤[Earth People]␤»
17:06 nine jnthn: oddly I don't seem to have access to $*W in TOP. Maybe because it's defined there? In "if $*W { nqp::say("got a world!"); }; my $*W := ..." I never get the debug message
17:06 AlexDaniel MadcapJake`: hmm it works but it looks like you can't declare it this way
17:06 MadcapJake` m: ((<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort) ==> my @res
17:06 camelia rakudo-moar 42fb81: ( no output )
17:06 AlexDaniel MadcapJake`: that is, you can't have “my”
17:06 AlexDaniel oh
17:06 MadcapJake` you can if you use parens around the whole bit
17:07 MadcapJake` strange that the my @caps one doesn't suffer from the same
17:08 AlexDaniel MadcapJake`: anyway, if you're working on a PR, please try to actually run the examples… on my setup things are not working correctly if are split into multiple lines
17:08 MadcapJake` AlexDaniel, yes definitely
17:09 jnthn nine: Yes, then you're talking about the one you didn't yet define
17:09 jnthn nine: You'll need to use nqp::getlexdyn('$*W') or so
17:10 MadcapJake` AlexDaniel, widest parens can be avoided by calling sort as «sort()»
17:10 MadcapJake` parser gets confused with bare words it seems
17:11 timotimo i wonder why we don't allow different kinds of parens as replacements for regular ( and ) parens
17:11 timotimo could potentially make mathematical expressions much more pleasant to read
17:11 timotimo and write, of course
17:11 timotimo i mean, a slang can be built, obviously
17:12 ugexe m: my @a R==> (1,2,3,4);
17:12 camelia rakudo-moar 42fb81: OUTPUT«Type check failed in binding op; expected Any but got Mu (Mu)␤  in block <unit> at /tmp/gPpfOSSDo8 line 1␤␤»
17:13 nine jnthn: ah, thanks. Another way would be to just pass it down from EVAL via %*COMPILING<%?OPTIONS>
17:13 MadcapJake` ugexe, do you mean R<==
17:15 MadcapJake` m: my @a <== reverse() <== (1,2,3,4) # ugexe, I couldn't get `R<==` to work but this does
17:15 camelia rakudo-moar 42fb81: ( no output )
17:16 ugexe m: (1,2,3,4) R= my @a; say @a
17:16 camelia rakudo-moar 42fb81: OUTPUT«[1 2 3 4]␤»
17:17 AlexDaniel holy… :)
17:17 lostinfog joined #perl6
17:17 Juerd I really don't get what R is actually useful for though :)
17:18 ugexe i use `next() R, ?@arr.map: { < some semi long line> };` to put the next at the start of the line if it fits better
17:18 jnthn Juerd: Mostly for me, when I type the second argument to an operator like / first, then can't be arsed to go back and stick the next thing before :P
17:19 perl6newbee joined #perl6
17:19 perl6newbee hi all
17:19 ugexe i should probably map it to `rightafter` or some such
17:21 MadcapJake` oh i see what you were going for ugexe, i actually thought R was different xD oops!
17:22 nine perl6newbee: servas!
17:27 SCHAAP137 joined #perl6
17:29 TimToady m: loop { print "."; my @X = ' ' xx 10; while my $x = @X.shift { if $x ge ' ' { } elsif $x.ord >= 32 { die "Can't happen" } } }
17:29 camelia rakudo-moar 42fb81: OUTPUT«.....................Can't happen␤  in block <unit> at /tmp/x8DHiQCPHW line 1␤␤»
17:29 TimToady jnthn: ^^ a cute bug
17:30 buharin joined #perl6
17:31 TimToady been running into that one for several months in my quiz editor, where after a certin amount of editing, the getline routine suddenly decides to ignore spaces
17:33 jnthn TimToady: Have you done the MVM_JIT_DISABLE=1 dance? There's one similarish one in RT that's on my "look at soon" list that I think invovled ge and JIT...
17:33 TimToady obviously something going wrong in JIT
17:34 TimToady yes, MJD "fixes" it
17:34 jnthn OK, then it's likely the same one
17:34 TimToady OK, I'll just bide then, it's easy enough to work around
17:35 jnthn Well, your alternative is patching the JIT ;-)
17:36 TimToady or finding someone to provide a new JIT ;-)
17:37 jnthn TimToady: https://rt.perl.org/Ticket/Display.html?id=127272 is the RT in question :)
17:37 rindolf perl6newbee: hi, how are you?
17:37 rindolf perl6newbee: bzzzzz!
17:37 jnthn TimToady: heh, brrt++ is already doing that too :)
17:38 TimToady m: loop { print "."; my @X = '!' xx 10; while my $x = @X.shift { if $x ge ' ' { } elsif $x.ord >= 32 { die "Can't happen" } } }
17:39 awwaiid MadcapJake`: thanks for fixing my issues. I was either under or over caffinated apparently (I blame DST)
17:39 camelia rakudo-moar 42fb81: OUTPUT«(timeout).......................................................................................................................................................................................................................................................…»
17:39 TimToady is apparently an off-by-one error, since it doesn't manifest unless the test is eq
17:39 MadcapJake` awwaiid, haha! yes DST is the root of all evil.  But thank YOU for making me aware of this neat operator!
17:40 RabidGravy no, no mst is the root of all evil, dst is just an understudy ;-)
17:44 perl6newbee rindolf: very well thanks
17:44 perl6newbee :-)
17:47 perl6newbee rindolf what about you?
17:48 perl6newbee ah servas nine ;-)
17:48 rindolf perl6newbee: well, rust builds fine outside the rpmbuild process but fails to build with rpmbuild.
17:49 rindolf perl6newbee: and pypy is not happy with the Mageia build-system's architecture.
17:50 AlexDaniel TimToady: just an hour ago there was a discussion about an issue with feed operators. “sort <==” has to be written as “sort() <==” otherwise it does not parse as dwimmy as people wish (same thing works fine with ==>, obviously). Is it intended to be so and is there a way to fix that?
17:52 perl6newbee rindolf: I don't have an idea what you are talking about :-) Unfortunatelly...
17:52 Azry joined #perl6
17:52 rindolf perl6newbee: OK.
17:52 perl6newbee what is rust? not the game Rust I think
17:52 rindolf perl6newbee: no, it's a programming language.
17:53 perl6newbee ah. Mozilla have created it, right?
17:56 perl6newbee anyway. Is there a change to get DBIish running with Microsoft SQL Server/ODBC? I'd like to rewrite my perl5 script in Perl6.
17:57 MadcapJake` wrt feed operators, let me know what you think: https://github.com/perl6/doc/pull/424 awwaiid, AlexDaniel, masak, anyone else!
17:57 Bucciarati joined #perl6
17:58 jnthn TimToady: Think I've found it :)
18:00 sjoshi joined #perl6
18:00 jnthn m: use Test; is ('a' xx 1000).map(+('a' le *)).index(0), Nil; is ('a' xx 1000).map(+('a' ge *)).index(0), Nil;
18:00 camelia rakudo-moar 42fb81: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/54jmHx8EHn line 1␤# expected: (Nil)␤#      got: '414'␤not ok 2 - ␤␤# Failed test at /tmp/54jmHx8EHn line 1␤# expected: (Nil)␤#      got: '414'␤»
18:01 Actualeyes left #perl6
18:01 Juerd MadcapJake`: Info about why you'd use feed operators instead of method chaining seems to be missing.
18:01 lichtkind joined #perl6
18:02 timotimo seems like it's about time i write that feature for moar-gdb.py that lets us visualize what exactly a rope is made of
18:02 MadcapJake` Juerd, good idea thanks!
18:06 firstdayonthejob joined #perl6
18:09 RabidGravy perl6newbee, no-one with the combination of skills and motivation has come forward to do that :)
18:09 nine perl6newbee: DBIish supports Oracle, PostgreSQL, MySQL and SQLite. I'd use Perl 5's DBI and move to DBIish once it has support for ODBC. They have almost the same API.
18:09 lichtkind nine: will you be in chemnitz this week?
18:11 perlpilot next thing you know someone will be wanting DBIx::Class in Perl 6  ;)
18:11 TimToady jnthn: I think I found it too :)
18:12 TimToady setl/setg need to be setle/setge
18:12 AlexDaniel MadcapJake`: I like it
18:12 jnthn TimToady: Yeah; just pushed to MoarVM; version bump commits coming up after spectest finishes :)
18:12 * TimToady is still in the middle of spectests :)
18:12 jnthn Once I spotted it, figured I may as well fix it before dinner :)
18:13 perl6newbee RapidGravy nine THX.
18:13 Roamer` joined #perl6
18:14 perl6newbee RabidGravy: I hope someone with skills is bored and thus motivated :-)
18:14 TimToady hmm, failing buf.t, but maybe that's just cuz I haven't pulled for a day or two
18:14 AlexDaniel MadcapJake`: hmm I wondering. Is there anything else we can add while we are at it?
18:14 jnthn TimToady: Any other RTs high on your "really want that fixed" list?
18:14 perl6newbee nine. how long will it last until DBIish support ODBC?
18:15 Skarsnik until someone write it
18:15 TimToady jnthn: that's the only one I regularly run into in practice
18:16 jnthn TimToady: OK. I got that weird SEGV-ing chars one done last week too.
18:16 perl6newbee Skarsnik: of course ^^
18:17 perlpilot perl6newbee: look at it like this though ... because DBIish doesn't support ODBC, that gives you an excuse to play with Inline::Perl5   :)
18:17 jnthn TimToady: Figure I'll mostly work on the heap snapshot stuff this week, so I can figure out what on earth is not letting EVAL'd compunits get GC'd...
18:17 TimToady yeah, saw your blag
18:17 jnthn :)
18:18 TimToady agree also that at least some EVALs can probably hijack their surrounding SC
18:18 TimToady in a thunky way
18:18 jnthn It makes sense for BEGIN-time ones, I think...
18:18 perl6newbee perlpilot: Unfortunately, I could not get Inline::Perl5 installed on Windows.
18:19 TimToady justifies the decision that EVAL defaults to the immediately surrounding language, not SETTING
18:19 MadcapJake` Juerd, AlexDaniel, I've added some explanation, tell me what you think: https://github.com/perl6/doc/pull/424
18:20 jnthn Hmmmm...my spectest run seems to wedge somewhere in S09
18:20 jnthn All on zero CPU
18:21 Juerd MadcapJake`: Good improvement!
18:21 AlexDaniel MadcapJake`: hmmm there is one more thing, I guess
18:21 jnthn Oh no, in S10 or S11...
18:21 domidumont joined #perl6
18:22 TimToady jnthn: mine completed, but now git pulling and reconfing to test current
18:22 TimToady to see if buf.t fixes
18:23 MadcapJake` AlexDaniel, what would that be?
18:23 AlexDaniel MadcapJake`: if we compare @foo.map(…).grep(…) and @foo ==> map(…) ==> grep(…), which one is supposed to be processed in parallel (at least according to the spec)?
18:24 AlexDaniel if any
18:24 AlexDaniel I've always thought that ==> is like shell pipe, while methods are just methods
18:24 MadcapJake` no idea on that
18:24 stmuk_ https://pbs.twimg.com/media/CdhzHYQW4AEbHFI.jpg
18:25 TimToady jnthn: yeah, that fixes my buf.t prob
18:26 MadcapJake` AlexDaniel, from  S06: Note that all such feeds (and indeed all lazy argument lists) supply an implicit promise that the code producing the lists may execute in parallel with the code receiving the lists
18:26 AlexDaniel MadcapJake`: “Note that all such feeds (and indeed all lazy argument lists) supply an implicit promise that the code producing the lists may execute in parallel with the code receiving the lists.”
18:26 MadcapJake` haha
18:26 AlexDaniel :)
18:27 jnthn TimToady: OK. I can't reproduce the hang running files one at a time, but it's right around the precomp tests...so I'm suspecting it's some race there, that only shows up with parallel spectesting
18:27 perl6newbee happy PI-day!
18:27 timotimo pi-day is also my birthday :3
18:27 RabidGravy only if you live in wrong way round date land
18:27 perl6newbee timotimo congratulations!
18:27 * jnthn will have to try and reproduce that later...
18:28 jnthn timotimo: Happy birthday!
18:28 AlexDaniel MadcapJake`: interestingly “sort <==” thing is in the spec, hm…
18:28 timotimo thanks :3
18:28 RabidGravy now go and drink a load of beer
18:28 AlexDaniel RabidGravy: nooo…
18:28 perl6newbee a beer with 3.1415%
18:29 MadcapJake` I'm wondering if feeds are truly parallel as implemented now though
18:29 AlexDaniel MadcapJake`: so, I think that it should be mentioned
18:29 timotimo MadcapJake`: they are not yet
18:29 AlexDaniel MadcapJake`: I don't think solarbunny
18:29 timotimo the only parallel stuff we have so far is .hyper and .race
18:29 AlexDaniel so*
18:29 RabidGravy eugh, unless it's a proper cask conditioned dark mild no beer should be that weak
18:29 timotimo which have their own share of problems :)
18:30 AlexDaniel oh please lets hide .hyper from the world for now…
18:30 RabidGravy mind I have had to somewhat curtail the "stunt beer" recently as my organs were complaining
18:30 MadcapJake` timotimo, yeah because you can access variables declared inside the "blunt end" as the s06 puts it and that's not supposed to be possible
18:30 jnthn AlexDaniel: No, let's fix it :)
18:31 AlexDaniel jnthn: that would be ideal, yes
18:31 MadcapJake` Ok well I will at least note that in the future this operator should gain some parallel super powers :)
18:31 jnthn .ask nine Are there any known problems around getting hangs (perhaps due to locking) when doing precomp stuff? I just twice had my spectest run seem to hang around the S10 precompilation test, but it all runs fine otherwise.
18:31 yoleaux jnthn: I'll pass your message to nine.
18:31 timotimo i've looked at hyper at least once and it was just ... "here there are values. here there are none"
18:31 jnthn .ask nine Uh, all runs fine if I'm not in a parallel spectest, I mean.
18:31 yoleaux jnthn: I'll pass your message to nine.
18:32 AlexDaniel timotimo: that's not too bad actually
18:32 dalek nqp: 467f2fc | jnthn++ | tools/build/MOAR_REVISION:
18:32 dalek nqp: Get MoarVM JIT bug fix.
18:32 dalek nqp: review: https://github.com/perl6/nqp/commit/467f2fc7ff
18:32 timotimo and timo be like ... bwuh?
18:32 prammer joined #perl6
18:32 dalek rakudo/nom: a647a05 | jnthn++ | tools/build/NQP_REVISION:
18:32 dalek rakudo/nom: Get MoarVM JIT bug fix for str comp ops.
18:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a647a05b67
18:32 AlexDaniel at least it is explicitly broken
18:32 dalek roast: 028cade | jnthn++ | S03-operators/relational.t:
18:32 dalek roast: Tests for RT #127272.
18:32 dalek roast: review: https://github.com/perl6/roast/commit/028cade6c2
18:33 AlexDaniel MadcapJake`: besides that I think that it is great
18:34 jnthn dinner &
18:34 AlexDaniel MadcapJake`: I mean, it is great anyways. But if you mention parallel thingy then it will be just perfect
18:36 AlexDaniel m: my %h = <a b c d>; say (%h ==> sort)
18:36 camelia rakudo-moar 42fb81: OUTPUT«(a => b c => d)␤»
18:36 TimToady jnthn, nine: no hang here on linux running TJ=5, just usual S17-lowlevel/lock.t flappage
18:37 MadcapJake` will B<> work in docs?
18:37 MadcapJake` yeah found one :)
18:38 avenj joined #perl6
18:39 MadcapJake` Ok AlexDaniel check it now: https://github.com/perl6/doc/pull/424
18:40 MadcapJake` o_O
18:40 AlexDaniel joined #perl6
18:42 hankache joined #perl6
18:44 hankache hola #perl6
18:45 timotimo hola hankache
18:45 hankache hi timotimo
18:46 hoelzro o/ hankache
18:46 hankache hi hoelzro
18:47 _notbenh joined #perl6
18:51 cognominal joined #perl6
18:51 dalek doc: 24f42e9 | (Jake Russo)++ | doc/Language/operators.pod:
18:51 dalek doc: Add, fix and reword feed operator docs
18:51 dalek doc: Update some verbiage, fix a few spelling errors, fix the examples, and
18:51 dalek doc: add some additional examples.
18:51 dalek doc: review: https://github.com/perl6/doc/commit/24f42e9683
18:51 dalek doc: a0dfc2d | (Jake Russo)++ | doc/Language/operators.pod:
18:51 dalek doc: Add an explanation of usefulness of feed operators
18:51 dalek doc: review: https://github.com/perl6/doc/commit/a0dfc2d3ee
18:51 dalek doc: 7ac403e | (Jake Russo)++ | doc/Language/operators.pod:
18:51 dalek doc: Add mention of eventual parallelizing superpowers
18:51 dalek doc: review: https://github.com/perl6/doc/commit/7ac403ec29
18:51 dalek doc: b4d4dee | (Jake Russo)++ | doc/Language/operators.pod:
18:51 dalek doc: Merge pull request #424 from MadcapJake/master
18:51 dalek doc:
18:51 dalek doc: Add, fix and reword feed operator docs
18:51 dalek doc: review: https://github.com/perl6/doc/commit/b4d4dee5e0
18:51 [Coke] MadcapJake`: "in the case of X or the first.." better as "in the case of X or where the first"
18:52 MadcapJake` xD ok I'll submit a quick fix for that :)
18:52 [Coke] I would spell out addtl.
18:52 [Coke] otherwise, +1
18:53 MadcapJake` I just didn't want to take up more of the line but ok
18:53 MadcapJake` it's not as bad as I thought it would be
18:54 dalek doc: 8ff5d14 | (Jake Russo)++ | doc/Language/operators.pod:
18:54 dalek doc: A few spelling adjustments
18:54 dalek doc: review: https://github.com/perl6/doc/commit/8ff5d14fbf
18:57 jast joined #perl6
19:04 nine Now the fun begins: Serialization Error: missing static code ref for closure '<unit>'
19:04 yoleaux 18:31Z <jnthn> nine: Are there any known problems around getting hangs (perhaps due to locking) when doing precomp stuff? I just twice had my spectest run seem to hang around the S10 precompilation test, but it all runs fine otherwise.
19:05 yoleaux 18:31Z <jnthn> nine: Uh, all runs fine if I'm not in a parallel spectest, I mean.
19:06 nine .tell jnthn I know of at least one hang on nom when loading NativeCall in a REPL and starting another REPL. That's fixed on the relocateable-precomp branch.
19:06 yoleaux nine: I'll pass your message to jnthn.
19:09 travis-ci joined #perl6
19:09 travis-ci Doc build passed. Jake Russo 'Merge pull request #424 from MadcapJake/master
19:09 travis-ci https://travis-ci.org/perl6/doc/builds/115937575 https://github.com/perl6/doc/compare/5ac95bafe537...b4d4dee5e0fc
19:09 travis-ci left #perl6
19:15 travis-ci joined #perl6
19:15 travis-ci Doc build passed. Jake Russo 'A few spelling adjustments'
19:15 travis-ci https://travis-ci.org/perl6/doc/builds/115938126 https://github.com/perl6/doc/compare/b4d4dee5e0fc...8ff5d14fbf50
19:15 travis-ci left #perl6
19:17 vendethiel joined #perl6
19:26 lsm-desktop joined #perl6
19:34 lichtkind_ joined #perl6
19:37 RabidGravy If I delete a repository from github and recreate one with the same name, then push from a local clone from the original will it just work? or does it store some uuid like svn does?
19:38 hoelzro RabidGravy: it should just work
19:38 hoelzro but why blow away and recreate?
19:40 spider-mario joined #perl6
19:43 lizmat joined #perl6
19:46 RabidGravy Well, I originally forked psch's Audio-PortAudio but it has so widely diverged that if I release it I guess psch won't want to be bothered with maintaining it :)
19:49 RabidGravy so I don't really want to be releasing from a fork
19:50 perlpilot RabidGravy: Are you saying you're releasing your own Audio::PortAudio?
19:51 RabidGravy yes
19:52 RabidGravy well it does have some of psch's work in it but he has indicated that he hasn't got time to do anything with it
19:55 * lizmat is back home and will start working on the Perl 6 Weekly shortly
19:55 lizmat so please, let me know if you think I missed /am going to miss something
19:59 masak GPW happened! with plenty of Perl 6 talk, sometimes from unexpected directions
19:59 masak talks*
19:59 cdg joined #perl6
20:00 vendethiel \o/
20:01 RabidGravy anything groovy happen at GPW?
20:02 musiKk_ joined #perl6
20:04 masak it was a nice workshop with a series of generally high-quality talks
20:04 masak I'm glad I went
20:04 cpage_ joined #perl6
20:04 masak but I confess I especially liked huddling with sergot and tadzik in various corners and hacking on code :>
20:09 hoelzro ahhh
20:09 stmuk_ I have a partly written GPW blog to be released RSN
20:10 tadzik :D
20:12 tony-o_ you guys going to texas?
20:13 masak in general, or for YAPC::NA? :P
20:14 perlpilot YAPC::NA is in Florida this year.
20:14 perlpilot tony-o_: and I'm already in Texas  :)
20:15 RabidGravy tony-o, remind what it was I wanted to ask you?  because I'm damned if I can remember.
20:16 perigrin perlpilot: only a 12-14hr drive from eastern texas (Houston)
20:16 buharin joined #perl6
20:19 abaugher joined #perl6
20:20 tony-o_ RabidGravy: something regarding Data::Dump ?
20:20 tony-o_ perlpilot: ah - you happen to be in Houston area?  I'm there frequently
20:20 RabidGravy tony-o_, I just remembered, it isn't possible to install HTTP::Server and HTTP::UserAgent together because they both have HTTP::Request and HTTP::Response
20:21 tony-o_ RabidGravy: that's a known issue in the CURLI implementation
20:21 perlpilot tony-o_: More like Fort Worth
20:22 RabidGravy yeah, just so long as you know
20:22 tony-o_ i appreciate it, thank you
20:24 RabidGravy I'm actually wondering whether there is some scope for making them the same thing and making them one release separately
20:24 yqt joined #perl6
20:24 tony-o_ i'm considering changing the name of HTTP::Server stuff since the conversation turned to just kind of a 'meh' when discussed in the curli channel
20:26 tony-o_ RabidGravy: do you have a need for H:S:* right now? i can make the changes real quick
20:28 RabidGravy no, I was playing around with making a noddy streaming server the other week and tried it, found it wouldn't install, stashed the thought and implemented a specialised server myself :)
20:29 pmurias_ tadzik: is a PLPW planned this year?
20:35 labster joined #perl6
20:40 kmel joined #perl6
20:43 dfcarpenterak joined #perl6
20:45 lsm-desktop joined #perl6
20:46 pmurias__ joined #perl6
20:56 dha joined #perl6
21:00 arcetera okay
21:00 arcetera so
21:01 arcetera I'm trying to write an uploader for http://oops.moe
21:01 arcetera and when I run this script, it returns '{"error":"You have not specified a key."}'
21:01 arcetera here's my code: http://sprunge.us/cCbQ
21:04 lizmat stmuk_: any chance you will be ready in the next hour or so ?
21:04 leedo arcetera: are you sure you can set CURLOPT_POST multiple times?
21:04 leedo shouldn't it be set once with & between params?
21:04 perlpilot arcetera: And  there's actually something in $HOME/.oopsrc  ?
21:06 TEttinger joined #perl6
21:09 dha Just noticed that 5to6-nutshell's discussion of C<each> has been rewritten. Shows use of pointy block with no explanation of how pointy blocks work. in 5to6-perlfunc, I indicated that this would be the way to replicate the behavior of C<each>, but despite there being a number of examples of pointy blocks in the docs, there is no actual documentation of how they work. Have they been documented while I wasn't looking, and if so, shall I rewrite 5t
21:09 dha o6-perlfunc to make that clearer?
21:10 perlpilot arcetera: oh ... the other libcurl stuff I've seen uses CURLOPT_POSTFIELDS for the data and CURLOPT_POST is a boolean that says it's a POST request when true.   I dunno if Net::Curl does that as well, but I'd guess it would be so
21:11 arcetera perlpilot: yes
21:11 MadcapJake` dha, http://doc.perl6.org/type/Block
21:12 arcetera that didn't work either after :%s/CURLOPT_POST/CURLOPT_POSTFIELDS/g
21:13 perlpilot MadcapJake`: that's a weak explanation of pointy blocks imho
21:14 MadcapJake` what do you feel is weak about it?
21:14 dha mho as well. Also doesn't deal with using them in actual for loops, for instance.
21:14 MadcapJake` for loops just take a block as an argument
21:15 dha I feel the connection would be unclear for someone coming to Perl 6 for the first time.
21:16 perlpilot MadcapJake`: it just starts talking about -> and <-> in the middle, there's no introduction nor explanation about where they fit.
21:16 arcetera aight here's the new code http://sprunge.us/CeDc
21:16 arcetera same "{"error":"You have not specified a key."}"
21:16 dha Also, although the phrase "pointy block" occurs in the docs, it *doesn't* appear in the docs for Block.
21:16 arcetera docs for the service itself are at http://oops.moe; what am I doing wrong?
21:16 dha also, what perlpilot said.
21:18 perlpilot arcetera: I think it needs to be more like https://gist.github.com/perlpilot/aece584ec0e1d0cc7512
21:18 perlpilot arcetera: but that's just a guess
21:19 arcetera lemme try
21:19 tadzik pmurias_: loosely :/
21:20 arcetera perlpilot: http://sprunge.us/ibNh
21:20 timotimo yo tadzik
21:20 arcetera doubt it wants a hash
21:21 MadcapJake` dha, perlpilot: perhaps some useful info could be trudged up from here http://design.perl6.org/S06.html#%22Pointy_blocks%22
21:21 leedo arcetera: in PHP it accepts a hash or urlencoded string (e.g. param=val&param2=val2)
21:22 arcetera ah
21:22 arcetera the problem's still present
21:22 arcetera "This type cannot unbox to a native string"
21:22 leedo http://php.net/manual/en/function.curl-setopt.php different lang but maybe helpful for the options
21:23 tadzik yo timo
21:23 arcetera leedo: i'm reading through the libcurl docs now
21:23 arcetera i'll brb
21:23 perlpilot looking at the source to Net::Curl, it looks like you need to give curl_easy_setopt either a string or integer as the third param.
21:23 tadzik I'm done with programming for today
21:23 tadzik I even wrote a rant about it
21:24 tadzik what a disaster
21:24 timotimo o_O
21:24 timotimo on the ttjjss?
21:24 timotimo blog, that is
21:24 tadzik nah
21:24 tadzik it's pure attention whoring and exhibitionism, so I went ahead and put it on facebook. And here: https://gist.github.com/tadzik/a1a9660fc0f543bbadaa
21:24 dha MadcapJake - yes, that's probably a good starting point. I'm just wondering if that should be added to the docs for C<for> or if we should figure out a place for it in Type/Block and point to that from C<for>
21:25 timotimo OK
21:25 timotimo urgh, lack of wrapping
21:25 timotimo oh yes, the wight to remain
21:25 timotimo good choice
21:26 tadzik hang on
21:26 tadzik try now
21:27 timotimo damn, poor you
21:28 tadzik it's punishment for being productive, I tell ya
21:28 tadzik I should've never left bed
21:28 perlpilot tadzik: Sorry about your day.  It'll be better tomorrow  :)
21:29 timotimo tadzik: i recently resurrected my parents' old music-keyboard thingie
21:31 tadzik nice! :)
21:32 timotimo the thing is, it doesn't have "velocity" for its keys :(
21:32 * nine really ought to finally dust off his piano after the stress is over
21:32 timotimo that kind of makes it quite a bit less awesome than it could be
21:34 moritz nine: does "after the stress is over" ever happen? :-)
21:34 prammer joined #perl6
21:35 tadzik timotimo: yeah, the proper key mechanics are quite a luxury in a digital instrument :/
21:35 nine moritz: I've got a pink camel here. Makes you believe everything's possible :)
21:35 timotimo well, the mechanics are a separate thing still
21:35 timotimo those keys are "dumb". not like a piano at all
21:35 timotimo really just a regular electronic keyboard
21:37 tadzik right
21:37 timotimo but it's also almost as old as me, i think
21:37 tadzik hah
21:37 tadzik I have one at my parent's house that's 4 times my age
21:37 tadzik needless to say, it's not digital :)
21:38 timotimo oooh
21:39 timotimo i once had the opportunity to lay my hands on a hammond organ
21:41 timotimo it was neat
21:41 tadzik oooh
21:41 tadzik I once played an organ (electronic though) on one of my music school's concerts
21:41 timotimo well, it wasn't special that i was allowed to touch it. it was standing there in the Rock Shop and i passed by, stopped, sat down, turned it on ... :)
21:41 tadzik it was so glorious
21:41 tadzik :)
21:42 moritz at Debconf 2007 many of the hackers went to a pub that used to be a church. It had a broken organ. They repaired it :-)
21:44 timotimo ooooh, awesome
21:44 timotimo that's a really neat story
21:46 El_Che moritz: would it be ok to create sha512 hashes on the download dir of rakudo? the gpg key is a hassle (at a loss where to find it)
21:46 arcetera hmm
21:46 tadzik ahahahah
21:46 tadzik that's awesome
21:47 moritz El_Che: I'm kinda at a loss here. What are you trying to achieve?
21:47 El_Che I want to make sure my docker image is downloading the correct rakudo tar (the download is http only, the hash would be hardcoded in the Dockerfile)
21:48 El_Che I am already checking hashes for other projects and I image many people do
21:48 El_Che (man in the middle + breakin-after-the-hash-was created thing)
21:49 hoelzro El_Che: ooc, did you know there's an official docker image for R*?
21:49 prammer joined #perl6
21:49 El_Che hoelzro: yes. It does not answer my needs
21:49 moritz El_Che: sounds sensible
21:49 El_Che hoelzro: great it's there though
21:49 hoelzro El_Che: may I ask in which ways it's lacking? I would be happy to improve it!
21:49 geekosaur joined #perl6
21:50 tadzik oh, I need to try hoelzro's repl
21:50 El_Che hoelzro: it's not lacking at all. My use case is just different:
21:50 hoelzro howdy tadzik!
21:50 tadzik o/
21:50 hoelzro and please do; it needs to get any bugs shaken out =)
21:50 El_Che - I am starting from a locally admined base image (by our linux admin): local adaptation + security
21:50 El_Che - I only need rakudo + panda/zef, not star
21:51 hoelzro ah, ok
21:51 hoelzro so that first req throws out any image I would make off the bat
21:51 El_Che the docker image works fine, but I am somewhat unconfortable about not checking the hash
21:51 hoelzro having a rakudo image sans star might be a good idea, though
21:52 El_Che hoelzro: yes, indeed. It woudn't mean I couldn't copy paste your code and put your name in a comment :)
21:52 hoelzro =)
21:52 El_Che hoelzro: I can put it online, small differences
21:55 El_Che hoelzro: this is what I use: https://gist.github.com/nxadm/a2abb4b34e962d4b5a2a
21:55 El_Che I much prefer debian based distros but we standarized on centos 7
21:56 hoelzro nice
21:56 El_Che still kind of the fence between panda and zef, so I have both
21:56 El_Che for a generice image both inside are ok
21:57 El_Che for my personal project, one will go probably
21:58 El_Che so I would like to add the checksum checking
21:58 El_Che it's also a lot easier/lighter for docker images compared with gpg
21:59 El_Che (when you'll install gpg and remove the keyring afterwards)
21:59 kid51 joined #perl6
22:00 El_Che ( I see I need to remove some deps from the image)
22:01 El_Che hoelzro: dockerhub has the concept of "official images". Maybe there could be one for rakudo and one for star (based on the rakudo one). People will more easily used those
22:01 hoelzro yeah, I think maybe we should have both
22:01 hoelzro having an unofficial rakudo-nightly might not be a bad idea either
22:01 El_Che indeed
22:01 hoelzro but let's see how the official rakudo one takes off first =)
22:03 El_Che There are 2 distinct use cases: one is people trying out rakudo (put as much in there as possible), one people building perl6 apps (put the minimal deps)
22:03 arcetera aaaaaaaAAA
22:03 arcetera hold up
22:04 arc__ joined #perl6
22:05 arcetera joined #perl6
22:05 arcetera so let's say I have a function which calls curl and outputs JSON
22:05 arcetera how would I take that json and parse it using another functin
22:05 arcetera function*
22:06 El_Che Examples of soft with sha keys: https://shibboleth.net/downloads/identity-provider/latest/ http://download.eclipse.org/jetty/stable-9/dist/
22:07 El_Che so if someone with access to the download link of rakudo and want help (or discuss) about the sha hashes: ping me
22:07 El_Che going to bed. bye!
22:07 arcetera better yet I'm still unable to get CURLOPT_POSTFIELDS to work right
22:07 arcetera but might as well begin parsing json
22:08 arcetera so that i can pretty print that the software's broken
22:09 dalek rakudo/nom: 6b2b34a | moritz++ | src/core/Map.pm:
22:09 dalek rakudo/nom: Fix RT #127704: Hash.clone keeps old and new hashes entangled
22:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6b2b34a791
22:12 dalek roast: ab74762 | moritz++ | S12-attributes/clone.t:
22:12 dalek roast: RT #127704: Tests for hash cloning
22:12 dalek roast: review: https://github.com/perl6/roast/commit/ab74762da1
22:14 lizmat And another Perl 6 Weekly hits the net: https://p6weekly.wordpress.com/2016/03/14/2016-11-js-fueling-up/
22:15 tadzik yay!
22:15 lizmat moritz: what's wrong with "nqp::create(self) ?
22:16 moritz lizmat: probably nothing :-)
22:16 * lizmat tests  :-)
22:16 moritz lizmat: though I wonder if  my \clone = callsame;  wouldn't be friendlier to inheritance
22:17 moritz so that if you subclass Map or Hash and add your own attributes, it'll work there too
22:17 lizmat the "self" should take care of that, no ?
22:18 moritz no
22:18 moritz it creates the clone of the correct type, but won't initialize the new attributes
22:19 moritz ./perl6-m -e 'class A is Hash { has $.a }; say A.new(a => 42).clone.a'
22:19 moritz (Any)
22:19 lizmat well, Map.new is defined as "nqp::create(self)
22:19 lizmat so, I guess subclassing Hashes are fraught as it is
22:20 moritz that kinda makes me feel less bad
22:23 arcetera i really do not understand libcurl
22:25 arcetera like this code looks perfect
22:25 arcetera it should be absolutely perfect
22:26 arcetera i have no idea what i'm doing wrong http://sprunge.us/LZHe
22:27 Sgeo__ joined #perl6
22:31 lizmat over quota ?
22:34 dalek rakudo/nom: b45ccc4 | lizmat++ | src/core/Map.pm:
22:34 dalek rakudo/nom: Nitpick on Hash.clone, moritz++
22:34 dalek rakudo/nom:
22:34 dalek rakudo/nom: Use the same method for creating a new object as with "new".  See
22:34 dalek rakudo/nom: discussion at http://irclog.perlgeek.de/perl6/2016-03-14#i_12184723
22:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b45ccc4200
22:34 * lizmat is feeling a flu coming up
22:34 lizmat so bed time!
22:34 lizmat good night, #perl6!
22:35 arcetera night lizmat
22:35 jnthn lizmat: Thanks for the weekly again! :) Rest well, hope you manage to dodge the flu... o/
22:35 yoleaux 19:06Z <nine> jnthn: I know of at least one hang on nom when loading NativeCall in a REPL and starting another REPL. That's fixed on the relocateable-precomp branch.
22:35 jnthn .tell nine OK, maybe if that's going to land soonish I'll hold on :)
22:35 yoleaux jnthn: I'll pass your message to nine.
22:40 wamba joined #perl6
22:41 jnthn 'night, #perl6
22:44 masak 'night, jnthn
22:47 RabidGravy toodles
22:56 arcetera this sure as hell is puzzling me
22:58 masak 'night, #perl6
22:59 zhmylove joined #perl6
23:24 RabidGravy This "Allow Pointers to be cast to is native subroutines" as alluded to in the p6weekly, does this mean that if I have a native api that returns a struct with one or more pointers to functions I can actually call them as subroutines?
23:25 RabidGravy Obviously I could look at code and/or tests to answer this
23:25 Skarsnik Yes, there is an example in the doc
23:25 Skarsnik in NC
23:25 RabidGravy OooOOOooh
23:25 Skarsnik you can use nativecast on the pointer
23:26 RabidGravy I foresee a cheeky binding to LADSPA and/or LV2 on the cards then
23:26 RabidGravy then we can REALLY BRING THE NOISE
23:27 Skarsnik I hope someone with make a real solution x)
23:27 Skarsnik but at least it make them usable
23:27 RabidGravy that is a real solution
23:28 Skarsnik Well I prefer if it could declare with the signature or something ^^
23:28 RabidGravy thing returns a CStruct, you make a method in the class which makes everything nice
23:28 Skarsnik like class B is rerp<cstruct> { has Callable() $.funcptr;
23:28 RabidGravy oh sure
23:29 RabidGravy or just has &.foo (.....)
23:29 RabidGravy sure
23:31 perlawhirl joined #perl6
23:33 perlawhirl hi perlers
23:34 perlawhirl hi masak... was just reading the logs and saw the hash.clone entanglement thing and I had a question
23:35 perlawhirl i thought the whole point of infix ':=' was that it entangled ?
23:35 timotimo well, nqp has only :=
23:36 perlawhirl well, the docs provide the example of := as follows
23:36 perlawhirl m: my $a = 42; my $b := $a; $b++; say $a;
23:36 camelia rakudo-moar b45ccc: OUTPUT«43␤»
23:36 perlawhirl oh wait
23:36 perlawhirl never mind... i understand now :D
23:37 perlawhirl i was gonna say that i don't see why 'my %b := %a.clone' should behave differently, but then it hit me that %a.clone is not %a ... so the world makes sense again
23:39 perlawhirl so following commit 6b2b34a791... 'my %b := %a' will still entangle, but 'my %b := %a.clone' will not... correct?
23:43 cdg_ joined #perl6
23:50 RabidGravy perlawhirl, that is the intention
23:57 RabidGravy anyway, I'm going to crash, this documentation will keep until the morning
23:57 RabidGravy toodles

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

Perl 6 | Reference Documentation | Rakudo