»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:05
vendethiel joined
00:18
rindolf left
00:20
spider-mario left
00:26
vendethiel left
00:42
geekosaur left
00:43
geekosaur joined
00:46
perlawhirl joined
00:51
Herby_ joined
|
|||
Herby_ | \o | 00:51 | |
00:52
kapouik_ left
|
|||
timotimo | moritz, the cake has now become birthday cake and is mostly eaten by now | 00:56 | |
hello Herby_ | 00:57 | ||
how are things? | |||
Herby_ | same ole same ole, flipping through the Perl6 FOSDEM videos | 00:58 | |
you? | |||
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» | ||
AlexDaniel | m: say chr 999999999999 | ||
camelia | rakudo-moar a3422a: OUTPUT«chr codepoint cannot be negative in block <unit> at /tmp/OIi539P3f4 line 1» | ||
AlexDaniel | m: say chr 999999999999999999999999999 | ||
camelia | rakudo-moar a3422a: OUTPUT«Cannot unbox 90 bit wide bigint into native integer in block <unit> at /tmp/ivY0styH6D line 1» | ||
AlexDaniel | jnthn: it looks like your fix improved this bug: rt.perl.org/Ticket/Display.html?id=125817 | 01:09 | |
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:10 | |
(is export works, but I don't want to pollute the caller namespace and just call that one sub.) | 01:11 | ||
s/in that filter/in that file/ | |||
timotimo | Herby_: thinking about what's next with my SDL2 binding | 01:18 | |
i should write some docs - even though most stuff should be straight copy-pasted stuff from the official sdl2 documentation, i suppose | 01:19 | ||
01:21
geraud left
|
|||
timotimo | hm. maybe i'll bind a few extra libraries, like SDL_gpu | 01:22 | |
it claims to support shaders, which is nice | 01:25 | ||
and arbitrary textured triangles | |||
01:26
geraud joined
01:28
sortiz joined
|
|||
sortiz | \o #perl6 | 01:28 | |
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:30 | ||
Herby_ | sortiz: o/ | 01:31 | |
01:39
BenGoldberg joined
01:41
Actualeyes joined
01:55
labster left
01:59
cbk joined
|
|||
timotimo | Herby_: have you ever tried graphics programming? | 02:01 | |
02:01
FROGGS_ joined
|
|||
Herby_ | can't say i have. i was looking up info on that sdl2 library you mentioned | 02:02 | |
whats the gist of it? | |||
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 :) | ||
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 | ||
timotimo | it lets you output graphics on the screen with a simplified API that can handle directx and opengl | ||
02:04
Ben_Goldberg joined
|
|||
timotimo | and it also lets you output audio with a very limited featureset | 02:04 | |
02:05
FROGGS left
|
|||
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) | ||
timotimo | oh well :| | ||
you can opt out of using any of those subsystems and drop in something custom if you like | 02:06 | ||
02:06
BenGoldberg_ joined,
BenGoldberg left
|
|||
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 | |
there's SDL_mixer which is for supporting playing and mixing multiple sounds at the same time | |||
SDL_image handles reading a whole bunch of different image formats | |||
dunno what else is there. SDL_ttf i guess for font rendering | 02:08 | ||
and SDL_net for TCP and UDP sockets | |||
02:08
kalkin-__ joined,
BenGoldberg joined
|
|||
timotimo | i'm going to bed nao | 02:08 | |
good night! | |||
Herby_ | night! | 02:09 | |
02:09
Ben_Goldberg left
02:11
BenGoldberg_ left
|
|||
dalek | Heuristic branch merge: pushed 20 commits to rakudo/repl6 by hoelzro | 02:11 | |
02:12
kalkin-_ left
02:15
kid51 left
02:37
labster joined
02:38
AlexDaniel left
02:45
ilbot3 left
02:46
Herby_ left
02:47
ilbot3 joined
02:49
molaf__ joined
02:51
vendethiel joined
02:53
molaf_ left
02:56
sftp left
02:58
sftp joined
02:59
notbenh left
03:01
anaeem1_ joined,
anaeem1_ left
03:07
keix left
03:12
chee joined
03:14
junpa joined
03:16
vendethiel left
03:38
Actualeyes left
03:39
noganex_ joined
03:42
noganex left
03:48
notbenh joined
03:54
junpa left
04:00
tmch left
04:07
yqt left
04:17
MadcapJake joined,
MadcapJake is now known as MadcapJake_,
MadcapJake_ left,
munja joined
04:18
MadcapJake joined
04:20
MadcapJake left,
MadcapJake joined
04:22
munja left
04:34
sammers left
04:46
molaf__ left
04:53
BenGoldberg left
04:58
rvchangue joined
05:08
Actualeyes joined
05:09
khw left
05:39
skids left
05:48
Cabanossi left
05:51
Cabanossi joined
06:01
TEttinger left
06:03
wamba left
06:08
salv0 left
|
|||
dalek | kudo/nom: 802a6db | FROGGS++ | src/core/Version.pm: fix a very weird precomp/BEGIN-use bug I cannot explain how, but it fixes: $ perl6 --target=mbc --output=/dev/null t/spec/packages/RT125090.pm ===SORRY!=== Missing serialize REPR function for REPR NativeRef |
06:10 | |
kudo/nom: e57a006 | FROGGS++ | src/core/Version.pm: micro-optimize Version.new Since we already have a low level string array and want a low level string back, we can just use nqp::join. |
|||
kudo/nom: 42fb81d | FROGGS++ | src/ (2 files): throw X::Method::NotFound for *(42) (RT #127408) So instead of say that: Cannot find method 'CALL-ME' It now hints at the type: No such method 'CALL-ME' for invocant of type 'Whatever' |
|||
06:13
Actualeyes left
06:20
FROGGS_ left
06:27
sortiz left
06:29
sortiz joined
06:32
cbk left
06:37
perlawhirl left
06:41
musiKk_ joined
06:45
JimmyZ joined
07:03
CIAvash joined
07:05
emdashcomma joined
07:10
ChoHag_ joined
|
|||
[Tux] | test 20.984 | 07:14 | |
test-t 13.716 | |||
csv-parser 50.269 | |||
07:15
sortiz left,
noganex_ left,
dj_goku_ left,
Azry_ left,
sivoais left,
masak left,
rntz left,
Celelibi left,
inokenty left,
ChoHag left,
jantore_ left,
kshannon left,
sortiz joined
07:16
dj_goku_ joined,
Azry_ joined,
sivoais joined,
masak joined,
rntz joined,
inokenty joined,
jantore_ joined,
kshannon joined,
jast joined,
sjn joined,
avar joined,
literal joined,
noganex joined,
jervo joined
|
|||
[Tux] | note that I updated my system yesterday with a new kernel (3.11 -> 3.12) due to security fixes | 07:16 | |
07:16
Celelibi joined
07:17
vendethiel joined
07:18
domidumont joined
07:20
wtw joined
07:23
domidumont left
07:33
nakiro joined
07:36
firstdayonthejob joined
07:42
vendethiel left
07:43
nakiro left
07:45
FROGGS joined
07:46
vendethiel joined
07:52
nakiro joined
07:54
fireartist joined
07:56
ufobat_ joined
07:57
domidumont joined
08:01
ufobat_ is now known as ufobat
|
|||
masak | morning, #perl6 | 08:05 | |
08:07
darutoko joined,
vendethiel left
|
|||
FROGGS | morning masak | 08:08 | |
08:11
salva joined
08:19
maybekoo2 joined
08:21
RabidGravy joined,
FROGGS left
08:23
sjoshi joined,
FROGGS joined,
zakharyas joined
|
|||
RabidGravy | HARR | 08:24 | |
masak | m: my %h1; %h1<foo> = 1; my %h2 := %h1.clone; %h2<bar> = 2; say %h1 | ||
camelia | rakudo-moar 42fb81: OUTPUT«bar => 2, foo => 1» | ||
masak | ah, yes. thought so. | ||
moritz: see? :) | |||
sortiz | \o #perl6 | ||
masak submits rakudobug | |||
08:26
pdcawley_ left
|
|||
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
|
|||
moritz | masak: I see | 08:28 | |
the fact that one often uses hash assignment (which copies) seems to shadow this bug from every day observation | 08:30 | ||
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 | |
the bug manifests in the fact that old variables don't go away when we leave a scope | |||
moritz | star-m: my %h1; %h1<foo> = 1; my %h2 := %h1.clone; %h2<bar> = 2; say %h1 | ||
camelia | star-m 2016.01: OUTPUT«bar => 2, foo => 1» | ||
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
|
|||
moritz | masak: noted | 08:35 | |
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 :) | ||
moritz | m: say Hash.^mro | ||
camelia | rakudo-moar 42fb81: OUTPUT«((Hash) (Map) (Cool) (Any) (Mu))» | ||
08:37
firstdayonthejob left
|
|||
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
|
|||
masak | 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? | ||
moritz | +1 | ||
08:46
Actualeyes joined
08:48
FROGGS left
|
|||
RabidGravy | Hmm takes ~ 9msecs to copy a 2048 element CArray, probably could do with it being at least twice as fast | 08:48 | |
08:49
FROGGS[mobile] joined
|
|||
RabidGravy | perhaps interestingly it takes ~ 1msec longer to copy int16s than num32s | 08:52 | |
08:54
jack_rabbit left
|
|||
RabidGravy | which is a tad annoying because lame encodes shorts faster than floats | 08:54 | |
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 imgur.com/AH463A2 | ||
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 | ||
oh, the slashes separate got and expected? | |||
09:01
rindolf joined
|
|||
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:04 | |
each data dump, is complete on its own, the diff just synchronizes the display rows | 09:05 | ||
masak | nice | 09:06 | |
I like what you're doing | |||
the format is not totally self-evident, but easy enough to read after your explanation | |||
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 | ||
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:08 | |
09:09
FROGGS[mobile]2 joined
09:10
FROGGS[mobile] left
|
|||
FROGGS[mobile]2 | nadim: I'm so used to unified diffs that I expect something similar for data too | 09:12 | |
nadim | FROGGS[mobile]2: so 80's ;) | 09:22 | |
09:23
dakkar joined,
salva left
|
|||
masak | I think I'm with FROGGS on that one. though I'm always willing to be convinced otherwise ;) | 09:26 | |
with hierarchical data it sure seems that one could do better | |||
FROGGS[mobile]2 | well, I basically want quickly see the diff, and not want to see what's eqv, I guess | 09:27 | |
09:30
salva joined
|
|||
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 | |
09:33
araujo joined
|
|||
FROGGS[mobile]2 | I guess the tricky thing is to also show eqv stuff nearby, like diff -u does | 09:41 | |
so you get a feeling of the context | 09:42 | ||
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 | |
the problem is to be able to dump the data without taking an eon. | |||
FROGGS[mobile]2 | yeah | ||
09:47
telex left
|
|||
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:47 | |
09:48
telex joined
|
|||
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! | 09:48 | |
09:56
maybekoo2 left
10:04
ely-se joined
10:14
maybekoo2 joined
10:17
kent\n left,
|Tux| left
10:24
|Tux| joined
10:26
jargan joined,
jast left
10:27
kent\n joined,
kent\n left,
kent\n joined
10:29
nakiro left,
jargan is now known as jast
10:32
nakiro joined,
tmch joined
10:33
tmch left
10:37
vendethiel joined
10:38
azawawi joined
|
|||
azawawi | hi | 10:38 | |
what's the difference between OpaquePointer and Pointer? | |||
and how do i explicitly convert from Int to uint32 | 10:39 | ||
RabidGravy | first one, they are actually basicaly the same, second one for most part you shouldn't need to | 10:43 | |
but | 10:45 | ||
m: my $a = uint32.new(10); say $a.WHAT | |||
camelia | rakudo-moar 42fb81: OUTPUT«(uint32)» | ||
jnthn | o.O | ||
m: my $a = uint32.new(10); say $a | |||
camelia | rakudo-moar 42fb81: OUTPUT«This representation (P6int) cannot unbox to other types in block <unit> at /tmp/Drv6Ok3cfl line 1» | ||
RabidGravy | *but* unless you have very specific reasons for doing so you probably don't | ||
jnthn | That...really should not work | 10:46 | |
(the uint32.new) | |||
It's a native type, not an object type | |||
RabidGravy | yeah | ||
jnthn | So you'll probably never get the value out again | ||
RabidGravy | I was a little surprised | ||
jnthn | Suspect it's an accident... | ||
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()» | ||
jnthn | sortiz: Hmm...I think Bufs may be assuming native integer contents :) | 10:50 | |
In various places | |||
sortiz | Yes. | ||
jnthn | And given they're meant to be for binary strings, I don't see a use case for the num parameterization | ||
So I'd say we want to error out on that, yeah | |||
Use my num32 @foo for that :) | |||
sortiz | Or array[num32] if needed, no? | 10:51 | |
jnthn | Yeah, that's the same thing :) | ||
Just another way to spell it | 10:52 | ||
Useful if you want an anon one for some reason | |||
azawawi | RabidGravy: thanks | 10:53 | |
sortiz | So, Blob/Buf only for integer types. Correct? | ||
azawawi | RabidGravy: so Pointer replaces OpaquePointer with no problem, right? | ||
RabidGravy: what's OpaquePointer then? | |||
RabidGravy: an old code? | |||
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 | ||
my constant Pointer is export(:types, :DEFAULT) = NativeCall::Types::Pointer; | |||
my constant OpaquePointer is export(:types, :DEFAULT) = NativeCall::Types::Pointer; | 10:56 | ||
jnthn | sortiz: Yeah | ||
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 | ||
jnthn suddenly realizes that "very earliest days of NativeCall" are now over 6 years ago | 10:58 | ||
azawawi | what about TransparentPointer? :) | ||
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 | ||
jnthn | The point of it was that you didn't know what is behind it though | ||
And should treat it just as a black box that you pass around | 11:00 | ||
11:01
vendethiel left,
FROGGS[mobile]2 left
|
|||
azawawi | jnthn: cool | 11:02 | |
11:02
kid51 joined
|
|||
arcetera | aight | 11:02 | |
now how exactly am i supposed to use forms with perl6 libcurl bindings | |||
whatever way i'm doing it i'm doing it wrong | |||
azawawi | arcetera: have you recently submitted a bug with a script? | 11:03 | |
arcetera | that me | ||
azawawi | ix | ||
? | |||
arcetera | that me | ||
azawawi | cool | ||
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 | ||
azawawi | arcetera: panda install Net::Curl --force # to install it again | ||
arcetera | i did | ||
now the problem is i'm doing smth wrong with the form or my key's fucked | |||
hold up | |||
11:05
espadrine joined
|
|||
azawawi | arcetera: and use _curl_easy_setopt | 11:05 | |
RabidGravy | ooh | ||
11:05
wamba joined
|
|||
arcetera | i did | 11:05 | |
now the problem's a 403 | 11:06 | ||
RabidGravy | well, that's "client error" | ||
azawawi | 403 - Forbidden | ||
RabidGravy | you have the authentication wrong | ||
arcetera | hmm | 11:07 | |
azawawi | arcetera: re github.com/azawawi/perl6-net-curl/issues/14 . I guess you need to uri escape tokens and data | ||
arcetera | uri escape? | ||
gregf_ | hi, i've installed Inline::Ruby using panda. how can i read the docs please *i've googled* | 11:08 | |
perl6 --doc Inline::Ruby throws and error | |||
azawawi | arcetera: "key=$oopskey" looks like the problem | ||
arcetera | ah | ||
probably | |||
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 | ||
arcetera | going by vim's syntax highlighting probably isn't the best idea | ||
RabidGravy | gregf_, p6doc? | ||
gregf_ | i've installed perl6doc as well | ||
RabidGravy: i have | 11:09 | ||
azawawi | arcetera: use atom + atom-perl6-editor-tools :) | ||
RabidGravy | p6doc Inline::Ruby do anything? | ||
gregf_ | nope | ||
arcetera | don't particularly like atom | ||
i'm very used to vim | |||
but that's beside the point | |||
gregf_ | did you mean: pydoc' from package 'python *the error says* | ||
arcetera | "key={$oopskey}"? | ||
RabidGravy | anyway, how much faster do we think it is? | ||
gregf_, that doesn't appear to be a Perl 6 error message | 11:10 | ||
the p6doc isn't in your path | |||
gregf_ | RabidGravy: yeah, i installed it using panda | 11:11 | |
11:11
zhmylove left
|
|||
gregf_ | RabidGravy: is there a way to ask panda to give all the modules installed locally? | 11:11 | |
11:11
ely-se left
|
|||
gregf_ | panda list --installed or panda list --local or something similar | 11:12 | |
RabidGravy | I don't think it does | ||
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 | ||
oh wait there is "panda list --installed" | 11:14 | ||
gregf_ | yeah, tried that :| no joy | ||
11:15
zhmylove joined
|
|||
RabidGravy | because of course it should be "panda --installed list" | 11:16 | |
which works here fine | |||
gregf_ | :/ | ||
11:16
sjoshi left
|
|||
gregf_ | RabidGravy: p6doc [installed] | 11:16 | |
azawawi | arcetera: use URI::Escape; $oopskey = uri-escape($oopskey); # remember ofcourse to 'panda install URI' | ||
gregf_ | whereis p6doc does not show anything :| | 11:17 | |
RabidGravy | right, so it's not in your PATH | ||
gregf_ | anyways, let me try and figure it out. you guys have better things to work on | ||
yeah, but i thought panda would do that bit for me :) | |||
RabidGravy | it can't alter your path | 11:18 | |
find where the p6doc is, add that directory to your PATH | |||
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 | ||
gregf_ | RabidGravy: Thanks! | ||
RabidGravy | locate, find, "guesswork" thousands of ways to find it | ||
gregf_ | panda installs the modules in a very hidden place *sobs* | ||
find /home/gregf/.rakudobrew/ -name \*.pm | grep -i Ruby *doesnt work* | 11:20 | ||
one last question | |||
where does panda install modules: is it ~/.rakudobrew? | |||
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 :| | ||
arcetera | perhaps it's the syntax "file=@$escfile" in the form | ||
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 | ||
though this is unlikely to help | |||
arcetera | azawawi: I still don't understand | 11:23 | |
well I have to go for now | 11:24 | ||
nine | arcetera: niner.name/talks/A%20look%20behind%...rl%206.pdf | ||
arcetera: page 20 and following | |||
azawawi | arcetera: it is post right? | 11:25 | |
arcetera | yes | ||
lemme sprunge the code | |||
azawawi | arcetera: curl_easy_setopt($curl, CURLOPT_POST, 1); # :) | ||
arcetera | sprunge.us/ZMKV | ||
azawawi | arcetera: _curl_easy_setopt($curl, CURLOPT_POST, 1); # :) | ||
arcetera | oh | ||
azawawi | arcetera: so it worked? | 11:26 | |
gregf_ | RabidGravy: is there something similar to @INC in Perl6? or PERL6LIB | 11:27 | |
arcetera | azawawi: at this point it's beginning to look something more on spencer's end | 11:28 | |
so i'll pester him | |||
anyway, \o for now | |||
azawawi | arcetera: have fun | ||
gregf_ | er, thats looks like PHP :| | ||
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 | ||
RabidGravy: Depending how you wrote the NQP :) | 11:30 | ||
RabidGravy | yeah ~5 times | ||
nine | gregf_: niner.name/talks/A%20look%20behind%...rl%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 | ||
nine | gregf_: then there's PERL6LIB, RAKUDOLIB, -I and use lib "foo/bar" | ||
11:34
sjoshi joined
|
|||
RabidGravy | 0.0104005183413078 vs 0.00253606253412554 on the faster machine, it's strangely 4x slower on another machine | 11:35 | |
jnthn | RabidGravy: What are you copying from? | 11:36 | |
11:37
azawawi left,
rindolf left
|
|||
gregf_ | nine: thats quite helpful.Thanks! | 11:38 | |
nine: so does panda use the same repository pattern? | |||
11:38
labster left
|
|||
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 | |
so I want to try copying it before passing it to lame to see if that helps | |||
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:40 | ||
nine | gregf_: yes | 11:41 | |
RabidGravy | which seems to be a function of the number of buffer loads it has seen | ||
jnthn | RabidGravy: That'd benefit a lot from me getting around to designing the memcpy-ish thingy :) | ||
nine | gregf_: the actual installation is done by rakudo. Panda does the downloading building and testing | ||
gregf_ | nine: ok, ta | 11:44 | |
11:45
kid51 left
|
|||
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 | ||
timotimo | i.e. github.com/awwaiid/p6-Inline-Ruby | 11:47 | |
11:47
rindolf joined
|
|||
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 :| | ||
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 | ||
inside the repo | |||
when you close the shell, the repo will be deleted again | |||
gregf_ | oh, a repl? | ||
11:54
kaare_ joined
|
|||
gregf_ | *tries | 11:54 | |
hmm, it does something but .. in the background :( | 11:55 | ||
timotimo: is there a default location for all repo's (i mean those created on the file system) | |||
timotimo | it does something. then you "ls" "pwd" | 11:57 | |
as i said. it'll clone the repo and drop you in the shell | |||
gregf_ | ah - yes | ||
timotimo | not "the perl6 shell", just "the shell" | ||
gregf_ | right | 11:58 | |
RabidGravy | yep and that definitely works | ||
12:01
zakharyas left
12:04
fireartist left
12:20
pmurias joined
|
|||
pmurias | hi | 12:20 | |
dalek | kudo-star-daily: e2d984e | coke++ | log/ (9 files): today (automated commit) |
12:24 | |
12:25
travis-ci joined
|
|||
travis-ci | NQP build failed. Will "Coke" Coleda 'Make MoarVM more prominent than the Parrot VM' | 12:25 | |
travis-ci.org/perl6/nqp/builds/115371602 github.com/perl6/nqp/compare/3242d...1118196e03 | |||
12:25
travis-ci left
|
|||
[Coke] | ^^ I literally just changed the README. | 12:28 | |
RabidGravy | suUUUuuuuure | ||
;-) | |||
12:32
musiKk_ left,
wamba left,
Skarsnik joined
12:37
maybekoo2 left
12:38
tmch joined
|
|||
hoelzro | o/ #perl6 | 12:48 | |
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 | ||
please try out the the "new" REPL on the repl6 branch | |||
masak | hoelzro: will do! very exciting! | 12:58 | |
domidumont | arcetera: I can answer your packaging question on #perl6-toolchain | ||
masak | in 007, I just found a new kind of "technical debt" that I didn't know we had | 12:59 | |
sometimes calls have to "match up", like braces do | |||
like, we have <newpad> and <finishpad> in the grammar | |||
but there's also <newpad> in the grammar and .finish-block in the Actions | |||
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 | ||
(and we had forgotten it in two places, which led to bugs) | |||
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 | |||
in this case, I'm just *itching* to do it on the Perl 6 AST, not on the program text | 13:01 | ||
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
avenj left
|
|||
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. | ||
masak | do I need to switch it on using MONKEY_SEE_NO_NQP or something? | ||
sorry, MONKEY-SEE-NO-NQP | 13:03 | ||
:P | |||
jnthn | m: use nqp; dd nqp::getcomp('perl6').compile('say 42', :target('actions')) | ||
camelia | rakudo-moar 42fb81: OUTPUT«===SORRY!===Unknown compilation target 'actions'» | ||
jnthn | m: use nqp; dd nqp::getcomp('perl6').compile('say 42', :target('ast')) | ||
camelia | rakudo-moar 42fb81: OUTPUT«===SORRY!===compunitmainline requires an MVMCompUnit» | ||
jnthn | hmm :) | ||
masak .oO( "see, it works:" -- *BOOM* -- "hmm :)" ) | |||
jnthn | heh, it's not like I use this API often, this is just guessing from memory :) | 13:04 | |
masak | yeah -- sorry, I shouldn't tease so | 13:05 | |
anyway, if it's approximately as you say above, then I think I can do something nice with it | |||
I'm quite good at wrapping things away into local helpers :> | |||
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» | ||
jnthn | OK, that get's you a QAST::CompUnit | ||
m: use nqp; say nqp::getcomp('perl6').compile('say 42', :target('ast'), :compunit_ok).dump | |||
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] …» | ||
masak | \o/ | ||
jnthn | m: use nqp; my $foo = nqp::getcomp('perl6').compile('say 42', :target('ast'), :compunit_ok); say $foo.^name | ||
camelia | rakudo-moar 42fb81: OUTPUT«QAST::CompUnit» | ||
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 | ||
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... | |||
masak | by the way, I've also laid claim to the L:: namespace without anyone noticing :P | ||
jnthn | nine: Or we could try and fix that... :) | ||
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 :) | ||
masak 's law of cool consonants: masak gets all the cool consonants | |||
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? | ||
jnthn | nine: Fairly high | ||
nine: Because there's a lot of precedent. | 13:10 | ||
13:10
cdg joined,
cdg left
|
|||
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. | ||
nine | yep | ||
13:10
cdg joined
|
|||
jnthn | nine: And the SC creation happens along the same codepath | 13:10 | |
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 | ||
And being able to inherit that SC | |||
nine | $*W && $*W.is_precompilation_mode()? | ||
jnthn | Yeah | 13:12 | |
Something like | |||
You may even be able to escape changing EVAL | |||
nine | If that's the main challenge, then I'm almost done ;) | ||
jnthn | And looking for the previous $*W | ||
Yeah | |||
In this case, thinking up a possible solution was the hard part ;) | 13:13 | ||
(Looking for the existing one in TOP or so, I meant) | |||
13:15
keix joined
|
|||
[Coke] | reminder, 2016.03 due this weekend. | 13:15 | |
jnthn | OK. I've one regression RT that I should look at before then (will take care of it this week) | 13:16 | |
Not a strict 6.c regression in that it didn't bust any spectests, alas. | 13:17 | ||
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
|
|||
jnthn | (Other stuff will be picking off some more smaller but needing-fixing bugs in RT) | 13:18 | |
13:19
sortiz left
13:24
sortiz joined
13:25
perlpilot_ is now known as perlpilot
13:34
CIAvash left
13:37
Ven joined
13:38
vendethiel joined
13:43
skids joined
|
|||
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:49 | |
so no live streaming from Perl 6 this week | 13:50 | ||
13:56
sortiz left
13:57
aborazmeh joined,
aborazmeh left,
aborazmeh joined
14:02
vendethiel left,
salva left,
gtodd1 left
|
|||
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! | ||
I'll see what I can do :) | |||
14:06
[Tux] left
|
|||
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 | |
(So if we break modules using it, well, tough luck.) | |||
pmurias | thank god we are not bound to supporting QAST compatibility ;) | 14:08 | |
jnthn | Yeah. I mean, in reality it is pretty stable. | 14:09 | |
And I don't see huge changes. | |||
perlpilot | .oO( This is Rakudo version 2016.03 built on MoarVM version 2016.03 implementing Perl 6.c using QAST version 2016.03 ) |
||
jnthn | But there'll surely be some :) | ||
perlpilot | Include the NQP version and Rakudo's version information can get really long :) | ||
masak | jnthn: noted -- lack of backwards compat sounds like something one might mention in the README of such a module | 14:10 | |
14:11
MadcapJake` joined
|
|||
MadcapJake` | what's the difference between "last parameter to the left" and "last parameter to the right" in the ==>/<== documentation doc.perl6.org/language/operators#Se...Precedence | 14:12 | |
perlpilot | MadcapJake`: I don't understand the question. The difference is the directionality. | 14:13 | |
MadcapJake` | last parameter to the left is incredibly obtuse | 14:14 | |
does that mean "first parameter" | |||
perlpilot | MadcapJake`: Maybe if it talked about data flow and said ==> flows rightward, <== flows leftward ? | ||
MadcapJake` | ok then i really don't follow | ||
what is directionality with parameters? | 14:15 | ||
RabidGravy | m: my @a <== <a b c d>.map(*.uc) | ||
camelia | ( no output ) | ||
RabidGravy | m: my @a <== <a b c d>.map(*.uc); say @a | 14:16 | |
camelia | rakudo-moar 42fb81: OUTPUT«[A B C D]» | ||
perlpilot | Aye, perhaps it should just not say anything about "parameters" | ||
RabidGravy | m: my @a; <a b c d>.map(*.uc) ==> @a; say @a | ||
camelia | rakudo-moar 42fb81: OUTPUT«[A B C D]» | ||
MadcapJake` | oh it has to do with which direction the result passes to | ||
i was thinking it was like a relative of the thread-first/thread-last operator | 14:17 | ||
(in clojure) | |||
RabidGravy | yeah, "parameter" is thinking about it as the infix operator definition rather than how people actually see it | ||
14:17
pmurias_ joined
|
|||
MadcapJake` | so is it always given as the last parameter of whatever it passes to? | 14:18 | |
i.e., whichever direction it passes to? | |||
yeah i think that's what is meant by "last parameter to the X" | 14:19 | ||
are the commas really needed in the `<==` example? | 14:20 | ||
dalek | p: b07b852 | (Pawel Murias)++ | src/vm/js/Compiler.nqp: [js] Turn static variables lookup into a direct access to the wvalue instead of a javascript lexical. |
||
p: b864add | (Pawel Murias)++ | src/vm/js/Compiler.nqp: [js] When compiling a block for use while it's outer block does not yet exist stub the context with a null. |
|||
p: b1066ad | (Pawel Murias)++ | src/vm/js/Compiler.nqp: [js] When compiling a block for use with it's missing outer import stuff from the setting. |
|||
p: b335a00 | (Pawel Murias)++ | src/vm/js/bin/run_tests.pl: [js] Pass test 24. |
14:21 | ||
14:21
pmurias left
14:33
Ven left
|
|||
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:35 | |
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 | ||
14:36
Ven joined
|
|||
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:37 | |
llfourn | RabidGravy: =( | 14:38 | |
14:39
sjoshi left
|
|||
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:42
Ven left
|
|||
MadcapJake` | my @res = sort <== grep { /<[PE]>/ } <== map { .tc } <== qw{people of earth}; @res.say | 14:43 | |
m: my @res = sort <== grep { /<[PE]>/ } <== map { .tc } <== qw{people of earth}; @res.say | |||
camelia | rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oEj4FAPYh6Unable 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: …» | ||
MadcapJake` | that's the `<==` example | ||
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
aborazmeh left,
Ven joined
|
|||
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 | |
Making native calls themselves faster also is on the todo list, but depends on the MoarVM expression JIT work. | |||
Or at least, making them really fast does. | |||
RabidGravy | it seems that the loop at github.com/jonathanstowe/Audio-Por...source#L89 slows down | 14:47 | |
14:47
Ven left
|
|||
MadcapJake` | how come I can't get `<==` to work at all? | 14:47 | |
llfourn always thought that YMMV with <== and ==> | 14:48 | ||
MadcapJake` | so maybe this should be experimental then | 14:49 | |
moritz | MadcapJake`: feed are mostly NYI | ||
MadcapJake` | yeah `<==` seems to be confused by the parser as the start of a quote word construct | 14:50 | |
jnthn | RabidGravy: Shoving an nqp::say(nqp::time_n()) or so at the top of the loop produces data to support "slows down"? | 14:51 | |
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 | ||
RabidGravy | yeah, and because it's fairly hand to mouth anyway it just would go down hill from there | ||
there isn't enough spare time to catch up | 14:53 | ||
MadcapJake` | skids, what do you mean? | ||
skids | 6doc.rightfold.sexy/ | ||
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 :-) | ||
MadcapJake` | it's missing my modules too | ||
i think the creator just needs to rebuild (guessing) | |||
14:55
Ven joined
|
|||
RabidGravy | it's jdv79 isn't it? | 14:55 | |
MadcapJake` | Anyone know who this is? Radek Slupik | 14:56 | |
that's whois admin for rightfold.sexy | |||
14:57
vendethiel joined,
Ven left
14:58
avenj joined
|
|||
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
|
|||
masak | ...is it just me, or would "thirty score" be 600, not 6000? | 15:01 | |
RabidGravy | m: say 30 * 20 | 15:02 | |
camelia | rakudo-moar 42fb81: OUTPUT«600» | ||
RabidGravy | nope | ||
15:02
Ven left
|
|||
MadcapJake` | nope? | 15:03 | |
15:03
Ven joined
|
|||
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. | ||
MadcapJake` | skids, nice! bitbucket.org/rightfold/sixdoc | ||
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" | ||
MadcapJake` | ahh i see, was a bit confused there xD | 15:05 | |
Ven | o/ | 15:06 | |
jnthn | RabidGravy: How much longer does it take, ooc? | 15:07 | |
RabidGravy: I'm guessing you've a bunch of threads running; GC sync-up in that case needs some work, I think | 15:08 | ||
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:11 | |
jnthn | Ah, ok | 15:15 | |
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«4243Trying to unwind over wrong handler» | ||
15:18
vendethiel left
|
|||
jnthn | skids: Looks like a bug...but can you reproduce it without lock? | 15:19 | |
skids | I'll try. | ||
(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 | ||
jnthn | Yeah, that starts the event loop thread | ||
RabidGravy | like seriously improved | 15:21 | |
rabidgravy.com:8000/stream - rock solid | |||
jnthn | Wow | 15:22 | |
That's a really interesting data point :) | |||
jnthn listens | |||
RabidGravy | not very interesting, it's easy to hear it going wrong like that :) | ||
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 | ||
jnthn | Ah :) | ||
RabidGravy | just to prove it's "live" | ||
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 | ||
camelia | rakudo-moar 42fb81: OUTPUT«4243Multiple 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…» | ||
RabidGravy | actually that kit is nicer | 15:25 | |
jnthn | That one is probably legit though | ||
skids tries to think of other unusual closures. | |||
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 | ||
(As in, start from a copy of Lock) | |||
RabidGravy | wow, the stream has been running absolutely rock solid for ten minutes now | 15:26 | |
jnthn | \o/ | ||
Sounds like I've some GC/thread performance exploring to do then :) | |||
15:26
sortiz joined
|
|||
RabidGravy | and I'm actually printing the times as suggested so there may be some headroom too | 15:27 | |
15:27
Ven left
|
|||
RabidGravy | time for a different kit | 15:27 | |
skids | jnthn: looks like the CATCH inside .protect is necessary for it to happen. | 15:30 | |
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 } } | |||
camelia | rakudo-moar 42fb81: OUTPUT«424344» | ||
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/v10sgmCPB1Unable 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…» | ||
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 } } | ||
camelia | rakudo-moar 42fb81: OUTPUT«4243Trying to unwind over wrong handler» | ||
jnthn | skids: Remove the inheritance? | ||
I guess the lock/unlock methods can go too | 15:32 | ||
skids | Still happens with no Lock parent. | ||
15:32
sortiz left
|
|||
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/zVYr27klaFUnable 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…» | ||
skids | darn | ||
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 } } | |||
camelia | rakudo-moar 42fb81: OUTPUT«WARNINGS for /tmp/8a2lnTG3xz:Useless use of res symbol in sink context (line 1)4243Trying to unwind over wrong handler» | ||
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 | ||
skids: I've still no idea what's going on, but at least we know it's nothing to do with locks :) | |||
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 :) | ||
jnthn | :) | ||
RabidGravy | jnthn++ # just because | ||
llfourn | RabidGravy++ for figuring it out | 15:36 | |
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 | ||
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
|
|||
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
|
|||
Skarsnik | well it mean another trait or something to add to enums | 15:41 | |
15:41
Ven left
15:42
sortiz joined
15:43
Ven joined
|
|||
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:43 | |
15:46
Ven left
15:51
Ven joined
15:57
perlpilot left
|
|||
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? | ||
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 ? | ||
kalkin-__ | I mean the _state_ keyword | ||
15:58
Ven left
|
|||
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
|
|||
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 | ||
jnthn | Well, sigilless variables are ideal for that | 16:00 | |
m: my \a = 42; a = 43; | |||
camelia | rakudo-moar 42fb81: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/JD_ke9QnO5 line 1» | ||
kalkin-__ | Ahh, thats what they are for! | ||
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 | ||
kalkin-__ | Aehm, s/:.*//g | ||
MadcapJake` | if you want to assign later, you might also consider creating a setter method that validates whether the container is empty | 16:02 | |
kalkin-__ | MadcapJake: yeah that's always possible. | 16:03 | |
m: let $f; {$f =42;} say $f; | |||
camelia | rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Txr6tIjZ7OVariable '$f' is not declaredat /tmp/Txr6tIjZ7O:1------> 3let 7⏏5$f; {$f =42;} say $f;» | ||
kalkin-__ | m: {let $f; $f =42; say $f;} | ||
camelia | rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d5GtZopcx0Variable '$f' is not declaredat /tmp/d5GtZopcx0:1------> 3{let 7⏏5$f; $f =42; say $f;}» | ||
kalkin-__ | I think a combination of my and let will do the trick for my case | 16:04 | |
m: my $f = 'DEFAULT VALUE'; { let $f= ' FOO'; say $f }; | |||
camelia | rakudo-moar 42fb81: OUTPUT« FOO» | ||
16:05
Ven joined
|
|||
MadcapJake` | in nativecall, how do i handle that a return type might be a struct or NULL? | 16:05 | |
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 | ||
jnthn | Skarsnik: I suspect it's "pointer to struct" | ||
Skarsnik | and $retstuff == MyStruct should work to check for null | ||
jnthn | === :) | ||
Skarsnik | Oh yeah === | 16:07 | |
This is so confusing ^^ | |||
jnthn | But yeah, you get back a type objct if it's NULL | ||
So, can test it with .defined also | |||
or with $struct { ... } etc. | |||
16:07
nakiro left
|
|||
masak | Skarsnik: infix:<==> is only for numeric comparisons | 16:07 | |
MadcapJake` | yeah it's a pointer, but i mean with `returns` keyword. | ||
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; | ||
MadcapJake` | oh ok good :) | ||
jnthn | But we map NULL into a type object for that 6y feeling :) | ||
Skarsnik | I should spend some time figuring how to make glib work with gccxml | ||
MadcapJake` | Skarsnik, yes! gccxml needs to update it's gcc dep xD | ||
s/it's/its/ | 16:09 | ||
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
Ven left
|
|||
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) | ||
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:10
kalkin-__ is now known as kalkin-
16:11
Ven joined
|
|||
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 | ||
? | |||
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? | ||
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? | ||
s/lib/module | |||
RabidGravy | I was joking, I'm going to wrap it up today | ||
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 | ||
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) | ||
RabidGravy | you mean callbacks? | 16:16 | |
16:16
Ven left
|
|||
MadcapJake` | right :) | 16:16 | |
kalkin- | perlpilot: well here with camelia is a different interaction as on your own machine. | ||
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? | ||
RabidGravy | you do need the sub signature | ||
kalkin- | You either using the installer perl6 version from your package manager or you have specified a version when using rakudobrew. | ||
perlpilot | kalkin-: ... or your sysadmin did those things for you and you have no idea. | ||
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 | |
perlpilot: ok so you execute once perl6 --version, instead beeing greeted with a version screen each time. | |||
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?") | ||
kalkin- | Maybe I'm bikeshading, but you asked :) | 16:19 | |
perlpilot | kalkin-: What does Python's REPL do? ;) | ||
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
|
|||
kalkin- | perlpilot: ? | 16:19 | |
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 | ||
however you can get around that by `alias python3="python3 -q"` | 16:21 | ||
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. | ||
kalkin- | MadcapJake: my doesn't | ||
MadcapJake` | kalkin-, maybe you already set the alias? | ||
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 | ||
MadcapJake` | same here | ||
kalkin- | MadcapJake: Ahh you are talking about python, sorry | ||
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 | ||
perlpilot | ugexe: that too! | ||
16:24
Ven joined
|
|||
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 ..." | ||
MadcapJake` | perlpilot++ | 16:25 | |
geekosaur | interestingly, ghci used to announce version and then that was disabled by default because that's what users wanted | ||
MadcapJake` | ugexe++ # great idea! | ||
masak | t/spec/S32-num/power.rakudo.moar -- TODO passed: 13-15, 68-70 | ||
other than that, the spectests all pass! nice! :D | |||
MadcapJake` | geekosaur, typical haskellers ;) | ||
RabidGravy | wahay! | 16:26 | |
geekosaur ... will not comment. | |||
masak | m: say (^Inf).pick | ||
camelia | rakudo-moar 42fb81: OUTPUT«Cannot .roll from a lazy list in block <unit> at /tmp/STcfcwkuMx line 1Actually thrown at: in block <unit> at /tmp/STcfcwkuMx line 1» | ||
MadcapJake` | geekosaur, only teasing | ||
geekosaur | (because if I get started, I won't stop...) | ||
masak | ...slightly LTA error message, I guess... :) | ||
("I wasn't trying to .roll, I did .pick") | |||
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 | ||
geekosaur | tooling, key libraries (go look at the caveats for the remove directory tree function sometime), ... | ||
perlpilot | masak: it was a .pick .roll ? | ||
16:28
maybekoo2 joined,
Ven left
|
|||
perlpilot | geekosaur: I just installed ghc and ghci still tells me the version first thing | 16:28 | |
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:29 | |
16:30
edehont joined
16:33
khw joined
|
|||
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) | ||
modules.perl6.org/#q=html | 16:34 | ||
masak | perlpilot: so it does. | 16:35 | |
perlpilot: ah, but we're doing .pick on a Range | 16:36 | ||
not a List | |||
and `multi method pick() { self.roll }` | |||
perlpilot | oh! | ||
yes. | |||
16:37
virtualsue joined
|
|||
MadcapJake` | Skarsnik, oops, guess i was just looking at the name xD | 16:37 | |
16:38
AlexDaniel joined
|
|||
AlexDaniel | m: ‘abc’ ==> sort | 16:39 | |
camelia | ( no output ) | ||
AlexDaniel | m: sort <== ‘abc’ | 16:40 | |
camelia | rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b2xpy0J2PUUnable to parse expression in quote words; couldn't find final '>' at /tmp/b2xpy0J2PU:1------> 3sort <== ‘abc’7⏏5<EOL> expecting any of: argument list …» | ||
AlexDaniel | star: sort <== ‘abc’ | ||
camelia | star-m 2016.01: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bxFTj_nJ0VUnable 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 …» | ||
MadcapJake` | I don't think `<==` works at all (maybe if replacing assignment it does) | ||
AlexDaniel | m: my @a; @a <== ‘abc’; say @a | ||
camelia | rakudo-moar 42fb81: OUTPUT«[abc]» | ||
MadcapJake` | ah so it works with containers | ||
AlexDaniel | I have never ever noticed any problems with feed operators | 16:41 | |
just this… :) | |||
MadcapJake` | that's a pretty big problem :P | ||
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 | ||
MadcapJake` | what's the point of using `<==` in that last case AlexDaniel, it can be replaced by `=` | 16:42 | |
masak | m: sort() <== 'abc' | ||
camelia | ( no output ) | ||
16:42
Sgeo__ left
|
|||
masak | you're just falling victims to term-vs-operator | 16:42 | |
AlexDaniel | right | 16:43 | |
masak | I don't recall whether the `()` *should* be necessary by spec, though | ||
perlpilot | maybe there's something general there we can match and at least give a good error message | ||
16:43
domidumont left
|
|||
MadcapJake` | masak, ah yeah you're right! the `==>` op allows you to skip this though | 16:44 | |
masak, how can i make this one work: my @result = sort <== grep /P|E/, <== map { .tc }, <== qw{people of earth}; | |||
just wrap the args in parens? | |||
masak | yeah | 16:45 | |
`<==` is much looser than `=`, IIRC | |||
MadcapJake` | m: my @result = sort() <== grep(/P|E/) <== map({ .tc }) <== qw{people of earth}; | ||
camelia | rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D7eBMaEp7YSorry, 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;» | ||
masak | aww | ||
MadcapJake` | xD | ||
masak | the future is still unequally distributed elsewhere :P | 16:46 | |
masak .oO( could someone please redistribute some more future over here? ) :P | |||
gregf_ | m: my $words = qw|people of earth|;print $words.map(*.tc).grep(/P|E/) | 16:47 | |
camelia | rakudo-moar 42fb81: OUTPUT«People Earth» | ||
MadcapJake` | gregf_, The example is one taken from the feed-left operator | 16:49 | |
gregf_ | oh, feed left | ||
is that like a foldleft or somesuch | |||
? | |||
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 | ||
oh ok | |||
16:51
wamba joined
|
|||
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; | ||
camelia | rakudo-moar 42fb81: OUTPUT«[Earth People]» | ||
AlexDaniel | or without parens | 16:52 | |
MadcapJake` | AlexDaniel saves the day! it needs wrapping paper apparently ;) | ||
AlexDaniel | m: my @result <== sort() <== grep { /<[PE]>/ } <== map { .tc } <== <people of earth>; say @result; | ||
camelia | rakudo-moar 42fb81: OUTPUT«[Earth People]» | ||
ugexe | m: 1,2,3,4 ==> my @a; say @a.perl | ||
camelia | rakudo-moar 42fb81: OUTPUT«[1, 2, 3, 4]» | ||
MadcapJake` | oh just the no-arg subs need parens eh? | ||
AlexDaniel | MadcapJake: well, if you use = then you need parens, yeah | ||
otherwise yes | |||
which is slightly LTA but not enough to call feeds experimental :) | 16:53 | ||
MadcapJake` | so it's specifically because of `<==`'s looser precedence | ||
AlexDaniel | the example has to be fixed though | ||
oh geez, look at what I have found! This is just amazing!! | 16:54 | ||
one second… | |||
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 | ||
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]» | ||
AlexDaniel | you can add “my @something” in between and save the result in between! | ||
MadcapJake` | oh that's neat! | 16:56 | |
AlexDaniel | I mean… well you get it | ||
this is just amazing! | |||
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! | ||
AlexDaniel | oh, neat! | ||
MadcapJake`++ | |||
MadcapJake` | AlexDaniel, the partial save doesn't seem to work with `==>` | 17:01 | |
AlexDaniel | hehe | ||
well, maybe it needs parens? | |||
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]» | ||
MadcapJake` | hmm | 17:03 | |
m: my @res = (<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort); say @caps; say @res | |||
camelia | rakudo-moar 42fb81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uWxNDfw8RHUnexpected closing bracketat /tmp/uWxNDfw8RH:1------> 3==> my @caps) ==> grep /<[PE]>/ ==> sort7⏏5); say @caps; say @res» | 17:04 | |
MadcapJake` | oops | ||
m: my @res = ((<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort); say @caps; say @res | |||
camelia | rakudo-moar 42fb81: OUTPUT«[People Of Earth][Earth People]» | ||
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 | ||
MadcapJake` | m: ((<people of earth> ==> map { .tc } ==> my @caps) ==> grep /<[PE]>/ ==> sort) ==> my @res | ||
camelia | ( no output ) | ||
AlexDaniel | MadcapJake`: that is, you can't have “my” | ||
oh | |||
MadcapJake` | you can if you use parens around the whole bit | ||
strange that the my @caps one doesn't suffer from the same | 17:07 | ||
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 | ||
jnthn | nine: Yes, then you're talking about the one you didn't yet define | 17:09 | |
nine: You'll need to use nqp::getlexdyn('$*W') or so | |||
MadcapJake` | AlexDaniel, widest parens can be avoided by calling sort as «sort()» | 17:10 | |
parser gets confused with bare words it seems | |||
timotimo | i wonder why we don't allow different kinds of parens as replacements for regular ( and ) parens | 17:11 | |
could potentially make mathematical expressions much more pleasant to read | |||
and write, of course | |||
i mean, a slang can be built, obviously | |||
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» | ||
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
edehont left
|
|||
MadcapJake` | m: my @a <== reverse() <== (1,2,3,4) # ugexe, I couldn't get `R<==` to work but this does | 17:15 | |
camelia | ( no output ) | ||
ugexe | m: (1,2,3,4) R= my @a; say @a | 17:16 | |
camelia | rakudo-moar 42fb81: OUTPUT«[1 2 3 4]» | ||
AlexDaniel | holy… :) | 17:17 | |
17:17
lostinfog joined
|
|||
Juerd | I really don't get what R is actually useful for though :) | 17:17 | |
17:17
zakharyas left
|
|||
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
|
|||
perl6newbee | hi all | 17:19 | |
ugexe | i should probably map it to `rightafter` or some such | ||
MadcapJake` | oh i see what you were going for ugexe, i actually thought R was different xD oops! | 17:21 | |
nine | perl6newbee: servas! | 17:22 | |
17:23
virtualsue left
17:27
SCHAAP137 joined
|
|||
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
abraxxa left
|
|||
TimToady | jnthn: ^^ a cute bug | 17:29 | |
17:30
buharin joined
|
|||
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:31 | |
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 | ||
yes, MJD "fixes" it | 17:34 | ||
jnthn | OK, then it's likely the same one | ||
TimToady | OK, I'll just bide then, it's easy enough to work around | ||
jnthn | Well, your alternative is patching the JIT ;-) | 17:35 | |
TimToady | or finding someone to provide a new JIT ;-) | 17:36 | |
jnthn | TimToady: rt.perl.org/Ticket/Display.html?id=127272 is the RT in question :) | 17:37 | |
rindolf | perl6newbee: hi, how are you? | ||
perl6newbee: bzzzzz! | |||
jnthn | TimToady: heh, brrt++ is already doing that too :) | ||
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:38 | |
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).......................................................................................................................................................................................................................................................…» | ||
TimToady | is apparently an off-by-one error, since it doesn't manifest unless the test is eq | ||
17:39
dakkar left
|
|||
MadcapJake` | awwaiid, haha! yes DST is the root of all evil. But thank YOU for making me aware of this neat operator! | 17:39 | |
RabidGravy | no, no mst is the root of all evil, dst is just an understudy ;-) | 17:40 | |
perl6newbee | rindolf: very well thanks | 17:44 | |
:-) | |||
rindolf what about you? | 17:47 | ||
ah servas nine ;-) | 17:48 | ||
rindolf | perl6newbee: well, rust builds fine outside the rpmbuild process but fails to build with rpmbuild. | ||
perl6newbee: and pypy is not happy with the Mageia build-system's architecture. | 17:49 | ||
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:50 | |
17:51
Azry_ left
|
|||
perl6newbee | rindolf: I don't have an idea what you are talking about :-) Unfortunatelly... | 17:52 | |
17:52
Azry joined
|
|||
rindolf | perl6newbee: OK. | 17:52 | |
perl6newbee | what is rust? not the game Rust I think | ||
rindolf | perl6newbee: no, it's a programming language. | ||
perl6newbee | ah. Mozilla have created it, right? | 17:53 | |
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: github.com/perl6/doc/pull/424 awwaiid, AlexDaniel, masak, anyone else! | ||
17:57
Bucciarati joined
|
|||
jnthn | TimToady: Think I've found it :) | 17:58 | |
17:58
cpage_ left
18:00
sjoshi joined
|
|||
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
|
|||
Juerd | MadcapJake`: Info about why you'd use feed operators instead of method chaining seems to be missing. | 18:01 | |
18:01
lichtkind joined
|
|||
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
|
|||
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. | ||
lichtkind | nine: will you be in chemnitz this week? | ||
perlpilot | next thing you know someone will be wanting DBIx::Class in Perl 6 ;) | 18:11 | |
TimToady | jnthn: I think I found it too :) | ||
setl/setg need to be setle/setge | 18:12 | ||
AlexDaniel | MadcapJake`: I like it | ||
jnthn | TimToady: Yeah; just pushed to MoarVM; version bump commits coming up after spectest finishes :) | ||
TimToady is still in the middle of spectests :) | |||
jnthn | Once I spotted it, figured I may as well fix it before dinner :) | 18:13 | |
18:13
Roamer` left
|
|||
perl6newbee | RapidGravy nine THX. | 18:13 | |
18:13
Roamer` joined
|
|||
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 | ||
AlexDaniel | MadcapJake`: hmm I wondering. Is there anything else we can add while we are at it? | ||
jnthn | TimToady: Any other RTs high on your "really want that fixed" list? | ||
perl6newbee | nine. how long will it last until DBIish support ODBC? | ||
Skarsnik | until someone write it | 18:15 | |
TimToady | jnthn: that's the only one I regularly run into in practice | ||
jnthn | TimToady: OK. I got that weird SEGV-ing chars one done last week too. | 18:16 | |
perl6newbee | Skarsnik: of course ^^ | ||
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... | ||
TimToady | yeah, saw your blag | ||
jnthn | :) | ||
TimToady | agree also that at least some EVALs can probably hijack their surrounding SC | 18:18 | |
in a thunky way | |||
jnthn | It makes sense for BEGIN-time ones, I think... | ||
perl6newbee | perlpilot: Unfortunately, I could not get Inline::Perl5 installed on Windows. | ||
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: github.com/perl6/doc/pull/424 | ||
jnthn | Hmmmm...my spectest run seems to wedge somewhere in S09 | 18:20 | |
All on zero CPU | |||
Juerd | MadcapJake`: Good improvement! | 18:21 | |
AlexDaniel | MadcapJake`: hmmm there is one more thing, I guess | ||
jnthn | Oh no, in S10 or S11... | ||
18:21
domidumont joined
|
|||
TimToady | jnthn: mine completed, but now git pulling and reconfing to test current | 18:22 | |
to see if buf.t fixes | |||
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)? | ||
if any | 18:24 | ||
I've always thought that ==> is like shell pipe, while methods are just methods | |||
MadcapJake` | no idea on that | ||
stmuk_ | pbs.twimg.com/media/CdhzHYQW4AEbHFI.jpg | ||
TimToady | jnthn: yeah, that fixes my buf.t prob | 18:25 | |
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.” | ||
MadcapJake` | haha | ||
AlexDaniel | :) | ||
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! | ||
timotimo | pi-day is also my birthday :3 | ||
RabidGravy | only if you live in wrong way round date land | ||
perl6newbee | timotimo congratulations! | ||
jnthn will have to try and reproduce that later... | |||
timotimo: Happy birthday! | 18:28 | ||
AlexDaniel | MadcapJake`: interestingly “sort <==” thing is in the spec, hm… | ||
timotimo | thanks :3 | ||
RabidGravy | now go and drink a load of beer | ||
AlexDaniel | RabidGravy: nooo… | ||
perl6newbee | a beer with 3.1415% | ||
18:29
cdg left
|
|||
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 | ||
timotimo | MadcapJake`: they are not yet | ||
AlexDaniel | MadcapJake`: I don't think solarbunny | ||
timotimo | the only parallel stuff we have so far is .hyper and .race | ||
AlexDaniel | so* | ||
RabidGravy | eugh, unless it's a proper cask conditioned dark mild no beer should be that weak | ||
timotimo | which have their own share of problems :) | ||
18:29
prammer left
|
|||
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 | ||
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 | ||
jnthn | AlexDaniel: No, let's fix it :) | ||
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 :) | ||
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. | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
timotimo | i've looked at hyper at least once and it was just ... "here there are values. here there are none" | ||
jnthn | .ask nine Uh, all runs fine if I'm not in a parallel spectest, I mean. | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
AlexDaniel | timotimo: that's not too bad actually | 18:32 | |
dalek | p: 467f2fc | jnthn++ | tools/build/MOAR_REVISION: Get MoarVM JIT bug fix. |
||
timotimo | and timo be like ... bwuh? | ||
18:32
prammer joined
|
|||
dalek | kudo/nom: a647a05 | jnthn++ | tools/build/NQP_REVISION: Get MoarVM JIT bug fix for str comp ops. |
18:32 | |
AlexDaniel | at least it is explicitly broken | ||
dalek | ast: 028cade | jnthn++ | S03-operators/relational.t: Tests for RT #127272. |
||
AlexDaniel | MadcapJake`: besides that I think that it is great | 18:33 | |
jnthn | dinner & | 18:34 | |
AlexDaniel | MadcapJake`: I mean, it is great anyways. But if you mention parallel thingy then it will be just perfect | ||
m: my %h = <a b c d>; say (%h ==> sort) | 18:36 | ||
camelia | rakudo-moar 42fb81: OUTPUT«(a => b c => d)» | ||
TimToady | jnthn, nine: no hang here on linux running TJ=5, just usual S17-lowlevel/lock.t flappage | ||
MadcapJake` | will B<> work in docs? | 18:37 | |
yeah found one :) | |||
18:38
avenj left,
avenj joined
|
|||
MadcapJake` | Ok AlexDaniel check it now: github.com/perl6/doc/pull/424 | 18:39 | |
18:40
AlexDaniel left
|
|||
MadcapJake` | o_O | 18:40 | |
18:40
AlexDaniel joined
18:42
hankache joined
18:43
maybekoo2 left
|
|||
hankache | hola #perl6 | 18:44 | |
timotimo | hola hankache | 18:45 | |
hankache | hi timotimo | ||
hoelzro | o/ hankache | 18:46 | |
hankache | hi hoelzro | ||
18:47
_notbenh joined
18:51
cognominal left,
cognominal joined
|
|||
dalek | c: 24f42e9 | (Jake Russo)++ | doc/Language/operators.pod: Add, fix and reword feed operator docs add some additional examples. |
18:51 | |
c: a0dfc2d | (Jake Russo)++ | doc/Language/operators.pod: Add an explanation of usefulness of feed operators |
|||
c: 7ac403e | (Jake Russo)++ | doc/Language/operators.pod: Add mention of eventual parallelizing superpowers |
|||
c: b4d4dee | (Jake Russo)++ | doc/Language/operators.pod: Merge pull request #424 from MadcapJake/master Add, fix and reword feed operator docs |
|||
[Coke] | MadcapJake`: "in the case of X or the first.." better as "in the case of X or where the first" | ||
MadcapJake` | xD ok I'll submit a quick fix for that :) | 18:52 | |
18:52
jast left
|
|||
[Coke] | I would spell out addtl. | 18:52 | |
otherwise, +1 | |||
MadcapJake` | I just didn't want to take up more of the line but ok | 18:53 | |
it's not as bad as I thought it would be | |||
dalek | c: 8ff5d14 | (Jake Russo)++ | doc/Language/operators.pod: A few spelling adjustments |
18:54 | |
18:57
jast joined
|
|||
nine | Now the fun begins: Serialization Error: missing static code ref for closure '<unit>' | 19:05 | |
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. | ||
18:31Z <jnthn> nine: Uh, all runs fine if I'm not in a parallel spectest, I mean. | |||
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
|
|||
travis-ci | Doc build passed. Jake Russo 'Merge pull request #424 from MadcapJake/master | 19:09 | |
travis-ci.org/perl6/doc/builds/115937575 github.com/perl6/doc/compare/5ac95...d4dee5e0fc | |||
19:09
travis-ci left
19:15
travis-ci joined
|
|||
travis-ci | Doc build passed. Jake Russo 'A few spelling adjustments' | 19:15 | |
travis-ci.org/perl6/doc/builds/115938126 github.com/perl6/doc/compare/b4d4d...f5d14fbf50 | |||
19:15
travis-ci left
19:17
vendethiel joined
19:24
lsm-desktop left
19:26
lsm-desktop joined,
perl6newbee left
19:28
sjoshi left
19:34
lichtkind_ joined
|
|||
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:37 | |
19:38
lichtkind left
|
|||
hoelzro | RabidGravy: it should just work | 19:38 | |
but why blow away and recreate? | |||
19:40
spider-mario joined
19:43
lizmat joined
|
|||
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:46 | |
so I don't really want to be releasing from a fork | 19:49 | ||
perlpilot | RabidGravy: Are you saying you're releasing your own Audio::PortAudio? | 19:50 | |
RabidGravy | yes | 19:51 | |
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:52 | ||
lizmat is back home and will start working on the Perl 6 Weekly shortly | 19:55 | ||
so please, let me know if you think I missed /am going to miss something | |||
masak | GPW happened! with plenty of Perl 6 talk, sometimes from unexpected directions | 19:59 | |
talks* | |||
19:59
cdg joined
|
|||
vendethiel | \o/ | 20:00 | |
RabidGravy | anything groovy happen at GPW? | 20:01 | |
20:02
musiKk_ joined
|
|||
masak | it was a nice workshop with a series of generally high-quality talks | 20:04 | |
I'm glad I went | |||
20:04
cpage_ joined
|
|||
masak | but I confess I especially liked huddling with sergot and tadzik in various corners and hacking on code :> | 20:04 | |
20:09
darutoko left
|
|||
hoelzro | ahhh | 20:09 | |
stmuk_ | I have a partly written GPW blog to be released RSN | ||
tadzik | :D | 20:10 | |
20:12
buharin left
|
|||
tony-o_ | you guys going to texas? | 20:13 | |
20:13
espadrine left
|
|||
masak | in general, or for YAPC::NA? :P | 20:13 | |
perlpilot | YAPC::NA is in Florida this year. | 20:14 | |
tony-o_: and I'm already in Texas :) | |||
RabidGravy | tony-o, remind what it was I wanted to ask you? because I'm damned if I can remember. | 20:15 | |
perigrin | perlpilot: only a 12-14hr drive from eastern texas (Houston) | 20:16 | |
20:16
buharin joined
20:17
buharin left
20:18
abaugher left
20:19
abaugher joined
|
|||
tony-o_ | RabidGravy: something regarding Data::Dump ? | 20:20 | |
perlpilot: ah - you happen to be in Houston area? I'm there frequently | |||
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 | ||
tony-o_ | RabidGravy: that's a known issue in the CURLI implementation | 20:21 | |
perlpilot | tony-o_: More like Fort Worth | ||
RabidGravy | yeah, just so long as you know | 20:22 | |
tony-o_ | i appreciate it, thank you | ||
RabidGravy | I'm actually wondering whether there is some scope for making them the same thing and making them one release separately | 20:24 | |
20:24
yqt joined
|
|||
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:24 | |
RabidGravy: do you have a need for H:S:* right now? i can make the changes real quick | 20:26 | ||
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:28 | |
20:28
domidumont left
|
|||
pmurias_ | tadzik: is a PLPW planned this year? | 20:29 | |
20:35
labster joined
20:37
lsm-desktop left
20:40
hankache left,
kmel joined
20:43
dfcarpenterak joined
20:45
lsm-desktop joined
20:46
kmel left,
pmurias__ joined
20:49
pmurias_ left
20:54
kaare_ left
20:56
dha joined
|
|||
arcetera | okay | 21:00 | |
so | |||
I'm trying to write an uploader for oops.moe | 21:01 | ||
and when I run this script, it returns '{"error":"You have not specified a key."}' | |||
here's my code: sprunge.us/cCbQ | |||
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? | ||
shouldn't it be set once with & between params? | |||
perlpilot | arcetera: And there's actually something in $HOME/.oopsrc ? | ||
21:06
TEttinger joined
21:07
skids left
|
|||
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 | |
o6-perlfunc to make that clearer? | |||
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:10 | |
arcetera | perlpilot: yes | 21:11 | |
MadcapJake` | dha, doc.perl6.org/type/Block | ||
arcetera | that didn't work either after :%s/CURLOPT_POST/CURLOPT_POSTFIELDS/g | 21:12 | |
perlpilot | MadcapJake`: that's a weak explanation of pointy blocks imho | 21:13 | |
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. | ||
MadcapJake` | for loops just take a block as an argument | ||
dha | I feel the connection would be unclear for someone coming to Perl 6 for the first time. | 21:15 | |
perlpilot | MadcapJake`: it just starts talking about -> and <-> in the middle, there's no introduction nor explanation about where they fit. | 21:16 | |
21:16
CIAvash left
|
|||
arcetera | aight here's the new code sprunge.us/CeDc | 21:16 | |
same "{"error":"You have not specified a key."}" | |||
dha | Also, although the phrase "pointy block" occurs in the docs, it *doesn't* appear in the docs for Block. | ||
arcetera | docs for the service itself are at oops.moe; what am I doing wrong? | ||
dha | also, what perlpilot said. | ||
21:17
musiKk_ left,
ufobat left
|
|||
perlpilot | arcetera: I think it needs to be more like gist.github.com/perlpilot/aece584ec0e1d0cc7512 | 21:18 | |
arcetera: but that's just a guess | |||
arcetera | lemme try | 21:19 | |
tadzik | pmurias_: loosely :/ | ||
arcetera | perlpilot: sprunge.us/ibNh | 21:20 | |
timotimo | yo tadzik | ||
arcetera | doubt it wants a hash | ||
MadcapJake` | dha, perlpilot: perhaps some useful info could be trudged up from here 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¶m2=val2) | 21:22 | |
arcetera | ah | ||
the problem's still present | |||
"This type cannot unbox to a native string" | |||
leedo | php.net/manual/en/function.curl-setopt.php different lang but maybe helpful for the options | ||
tadzik | yo timo | 21:23 | |
arcetera | leedo: i'm reading through the libcurl docs now | ||
i'll brb | |||
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. | ||
tadzik | I'm done with programming for today | ||
I even wrote a rant about it | |||
what a disaster | 21:24 | ||
timotimo | o_O | ||
on the ttjjss? | |||
blog, that is | |||
tadzik | nah | ||
it's pure attention whoring and exhibitionism, so I went ahead and put it on facebook. And here: gist.github.com/tadzik/a1a9660fc0f543bbadaa | |||
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> | ||
timotimo | OK | 21:25 | |
urgh, lack of wrapping | |||
oh yes, the wight to remain | |||
good choice | |||
tadzik | hang on | 21:26 | |
try now | |||
timotimo | damn, poor you | 21:27 | |
tadzik | it's punishment for being productive, I tell ya | 21:28 | |
I should've never left bed | |||
perlpilot | tadzik: Sorry about your day. It'll be better tomorrow :) | ||
timotimo | tadzik: i recently resurrected my parents' old music-keyboard thingie | 21:29 | |
tadzik | nice! :) | 21:31 | |
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 | |||
timotimo | that kind of makes it quite a bit less awesome than it could be | ||
21:33
prammer left
|
|||
moritz | nine: does "after the stress is over" ever happen? :-) | 21:34 | |
21:34
prammer joined
|
|||
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 :) | ||
timotimo | well, the mechanics are a separate thing still | ||
those keys are "dumb". not like a piano at all | |||
really just a regular electronic keyboard | |||
tadzik | right | 21:37 | |
timotimo | but it's also almost as old as me, i think | ||
tadzik | hah | ||
I have one at my parent's house that's 4 times my age | |||
needless to say, it's not digital :) | |||
timotimo | oooh | 21:38 | |
i once had the opportunity to lay my hands on a hammond organ | 21:39 | ||
it was neat | 21:41 | ||
tadzik | oooh | ||
I once played an organ (electronic though) on one of my music school's concerts | |||
21:41
dha left
|
|||
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 | ||
:) | |||
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:43 | |
timotimo | ooooh, awesome | 21:44 | |
that's a really neat story | |||
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
prammer left
|
|||
tadzik | ahahahah | 21:46 | |
that's awesome | |||
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) | ||
I am already checking hashes for other projects and I image many people do | 21:48 | ||
(man in the middle + breakin-after-the-hash-was created thing) | |||
hoelzro | El_Che: ooc, did you know there's an official docker image for R*? | 21:49 | |
21:49
prammer joined,
geekosaur left
|
|||
El_Che | hoelzro: yes. It does not answer my needs | 21:49 | |
moritz | El_Che: sounds sensible | ||
El_Che | hoelzro: great it's there though | ||
hoelzro | El_Che: may I ask in which ways it's lacking? I would be happy to improve it! | ||
21:49
geekosaur joined
|
|||
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: | ||
hoelzro | howdy tadzik! | ||
tadzik | o/ | ||
hoelzro | and please do; it needs to get any bugs shaken out =) | ||
El_Che | - I am starting from a locally admined base image (by our linux admin): local adaptation + security | ||
- I only need rakudo + panda/zef, not star | 21:51 | ||
hoelzro | ah, ok | ||
so that first req throws out any image I would make off the bat | |||
El_Che | the docker image works fine, but I am somewhat unconfortable about not checking the hash | ||
hoelzro | having a rakudo image sans star might be a good idea, though | ||
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 | =) | ||
El_Che | hoelzro: I can put it online, small differences | ||
hoelzro: this is what I use: gist.github.com/nxadm/a2abb4b34e962d4b5a2a | 21:55 | ||
I much prefer debian based distros but we standarized on centos 7 | |||
hoelzro | nice | 21:56 | |
El_Che | still kind of the fence between panda and zef, so I have both | ||
for a generice image both inside are ok | |||
for my personal project, one will go probably | 21:57 | ||
so I would like to add the checksum checking | 21:58 | ||
21:58
prammer left
|
|||
El_Che | it's also a lot easier/lighter for docker images compared with gpg | 21:58 | |
(when you'll install gpg and remove the keyring afterwards) | 21:59 | ||
21:59
kid51 joined
|
|||
El_Che | ( I see I need to remove some deps from the image) | 22:00 | |
22:00
pmurias__ left
|
|||
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 | ||
having an unofficial rakudo-nightly might not be a bad idea either | |||
El_Che | indeed | ||
hoelzro | but let's see how the official rakudo one takes off first =) | ||
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 | ||
hold up | |||
22:03
arcetera left
22:04
arc__ joined
22:05
arc__ is now known as arcetera,
arcetera left,
arcetera joined
|
|||
arcetera | so let's say I have a function which calls curl and outputs JSON | 22:05 | |
how would I take that json and parse it using another functin | |||
function* | |||
El_Che | Examples of soft with sha keys: shibboleth.net/downloads/identity-...er/latest/ download.eclipse.org/jetty/stable-9/dist/ | 22:06 | |
so if someone with access to the download link of rakudo and want help (or discuss) about the sha hashes: ping me | 22:07 | ||
going to bed. bye! | |||
arcetera | better yet I'm still unable to get CURLOPT_POSTFIELDS to work right | ||
but might as well begin parsing json | |||
so that i can pretty print that the software's broken | 22:08 | ||
dalek | kudo/nom: 6b2b34a | moritz++ | src/core/Map.pm: Fix RT #127704: Hash.clone keeps old and new hashes entangled |
22:09 | |
ast: ab74762 | moritz++ | S12-attributes/clone.t: RT #127704: Tests for hash cloning |
22:12 | ||
lizmat | And another Perl 6 Weekly hits the net: p6weekly.wordpress.com/2016/03/14/...ueling-up/ | 22:14 | |
tadzik | yay! | 22:15 | |
lizmat | moritz: what's wrong with "nqp::create(self) ? | ||
moritz | lizmat: probably nothing :-) | 22:16 | |
lizmat tests :-) | |||
moritz | lizmat: though I wonder if my \clone = callsame; wouldn't be friendlier to inheritance | ||
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 ? | ||
moritz | no | 22:18 | |
it creates the clone of the correct type, but won't initialize the new attributes | |||
./perl6-m -e 'class A is Hash { has $.a }; say A.new(a => 42).clone.a' | 22:19 | ||
(Any) | |||
lizmat | well, Map.new is defined as "nqp::create(self) | ||
so, I guess subclassing Hashes are fraught as it is | |||
moritz | that kinda makes me feel less bad | 22:20 | |
arcetera | i really do not understand libcurl | 22:23 | |
like this code looks perfect | 22:25 | ||
it should be absolutely perfect | |||
i have no idea what i'm doing wrong sprunge.us/LZHe | 22:26 | ||
22:27
Sgeo__ joined
|
|||
lizmat | over quota ? | 22:31 | |
dalek | kudo/nom: b45ccc4 | lizmat++ | src/core/Map.pm: Nitpick on Hash.clone, moritz++ Use the same method for creating a new object as with "new". See discussion at irclog.perlgeek.de/perl6/2016-03-14#i_12184723 |
22:34 | |
lizmat is feeling a flu coming up | |||
so bed time! | |||
good night, #perl6! | |||
arcetera | night lizmat | 22:35 | |
jnthn | lizmat: Thanks for the weekly again! :) Rest well, hope you manage to dodge the flu... o/ | ||
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. | ||
jnthn | .tell nine OK, maybe if that's going to land soonish I'll hold on :) | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
22:40
wamba left,
wamba joined
|
|||
jnthn | 'night, #perl6 | 22:41 | |
masak | 'night, jnthn | 22:44 | |
RabidGravy | toodles | 22:47 | |
22:54
zhmylove left
|
|||
arcetera | this sure as hell is puzzling me | 22:56 | |
masak | 'night, #perl6 | 22:58 | |
22:59
zhmylove joined
23:00
wamba left
23:06
vendethiel left
|
|||
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:24 | |
Obviously I could look at code and/or tests to answer this | 23:25 | ||
Skarsnik | Yes, there is an example in the doc | ||
in NC | |||
RabidGravy | OooOOOooh | ||
Skarsnik | you can use nativecast on the pointer | ||
RabidGravy | I foresee a cheeky binding to LADSPA and/or LV2 on the cards then | 23:26 | |
then we can REALLY BRING THE NOISE | |||
Skarsnik | I hope someone with make a real solution x) | 23:27 | |
but at least it make them usable | |||
RabidGravy | that is a real solution | ||
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 | ||
Skarsnik | like class B is rerp<cstruct> { has Callable() $.funcptr; | ||
RabidGravy | oh sure | ||
or just has &.foo (.....) | 23:29 | ||
sure | |||
23:31
perlawhirl joined
|
|||
perlawhirl | hi perlers | 23:33 | |
hi masak... was just reading the logs and saw the hash.clone entanglement thing and I had a question | 23:34 | ||
i thought the whole point of infix ':=' was that it entangled ? | 23:35 | ||
timotimo | well, nqp has only := | ||
perlawhirl | well, the docs provide the example of := as follows | 23:36 | |
m: my $a = 42; my $b := $a; $b++; say $a; | |||
camelia | rakudo-moar b45ccc: OUTPUT«43» | ||
perlawhirl | oh wait | ||
never mind... i understand now :D | |||
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:37 | ||
so following commit 6b2b34a791... 'my %b := %a' will still entangle, but 'my %b := %a.clone' will not... correct? | 23:39 | ||
23:43
cdg_ joined
23:45
cdg_ left
23:47
cdg left,
Skarsnik left
|
|||
RabidGravy | perlawhirl, that is the intention | 23:50 | |
23:55
firstdayonthejob left
|
|||
RabidGravy | anyway, I'm going to crash, this documentation will keep until the morning | 23:57 | |
toodles | |||
23:58
labster left
|