🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
Doc_Holliwould rypervenche: that's especially hand when you need to negate a boolean value: $switch .= not; 12:59
*handy
cpan-raku New module released to CPAN! Gnome::Gio (0.1.1) by 03MARTIMM 13:09
cpan-raku New module released to CPAN! Math::Libgsl::Matrix (0.1.1) by 03FRITH 16:41
Geth doc/master: 10 commits pushed by (Salve J. Nilsen)++, (Juan Julián Merelo Guervós)++
review: github.com/Raku/doc/compare/54843f...dc00fb9a8e
17:11
phi Hello, could someone please explain what :D: means in the following method signature: method act(Supply:D: &act --> Tap:D) 17:13
mst it means that the value must be defined 17:14
phi OK, what's the difference then with :D?
moritz the trailing : marks it as the invocant
so that means "the object you're calling the method on must be defined" 17:15
so you cannot called Supply.act, you have to call Supply.new().act
phi Is there any information on this in the Raku documentation you could point me too, please? 17:16
"to" not "too"
Why is Capture defined like this: method Capture(Supply:D --> Capture:D) 17:17
moritz docs.raku.org/type/Signature#Param...separators 17:18
phi Does it mean that the Supply argument doesn't need to be defined?
moritz that's an error in the docs, should be Supply:D: 17:19
moritz m: say Supply.^find_method('Capture').signature.perl 17:20
evalable6 :(Supply:D: *%_)
Geth doc: 25fb71d52a | (Moritz Lenz)++ | doc/Type/Supply.pod6
Fix signature error

brought up by phi++ in #raku
linkable6 Link: docs.raku.org/type/Supply
phi Many thanks, moritz, for the doc pointer. 17:26
moritz my pleasure 17:28
cpan-raku New module released to CPAN! Getopt::Long (0.1.5) by 03LEONT 17:45
leont Now with a :compat-core option that should make it truly a drop-in replacement for the built-in argument parser :-) 17:46
leont fg 17:49
mst ^Z 17:51
leont (the default is a more unix-typical than the raku parser provides, e.g. allowing bundling and not allowing --/foo) 17:52
mst yeah, I love the way stuff maps to MAIN but things are a li'l odd in places 17:55
leont Then try Getopt::Long, it probably does what you want :-)
And it tends to give much more specific errors, e.g. «Cannot convert --foo argument "a" to number: base-10 number must begin with valid digits or '.'» instead of a usage output 17:57
El_Che releasable6: status 18:09
releasable6 El_Che, Next release in ≈34 days and ≈0 hours. There are no known blockers. Changelog for this release was not started yet
El_Che, Details: gist.github.com/4d751a236da38510e9...404bdb1194
El_Che ok, it means 2020.02 is out. Building pkgs
El_Che mm, it dies in alpine 18:28
jdv79 nine: there was no reintall. the box got rebuilt from the fs format up... 18:32
Altai-man_ El_Che, dies how? 18:33
Altai-man_ El_Che, ping? 18:42
nine jdv79: in what way is OpenSSL broken? 18:52
vrurg nine: don't ask this question to macos owners. :D 19:23
leont As if that's the only thing that's broken on Mac OS :-/ 19:26
cpan-raku New module released to CPAN! Gnome::Gtk3 (0.24.0) by 03MARTIMM 19:27
Geth doc: 6141523c36 | (Ben Davies)++ | 3 files
Document how to type enums
19:28
doc: 9d4101bdb7 | (Ben Davies)++ | doc/Language/typesystem.pod6
s/\$\./self./
doc: 982e43ad0b | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 3 files
Merge pull request #3227 from Kaiepi/enum-typing

Document how to type enums
vrurg leont: the only one that really annoys me.
linkable6 Link: docs.raku.org/language/typesystem
vrurg Actually, I must make myself clear: the problem is about macos using .dylibs only from system paths and from where a binary is installed. So, locally installed raku doesn't have access to .dylib from an installed port. 19:30
jmerelo Just a reminder that the deadline for submitting projects to Outreachy is RSN github.com/perl-foundation-outreac...2020-ideas 19:36
tellable6 hey jmerelo, you have a message: gist.github.com/0dc9d72fc584a75342...96ddeb818d
jmerelo Submit your project ideas there, ASAP. 19:36
.tell patrickb thanks, I appreciate that. So let's try next year... 19:37
tellable6 jmerelo, I'll pass your message to patrickb
leont Is there a way to get to the pod variables of another module? 19:54
stoned75 c: releases say ~$*PERL 20:17
committable6 stoned75, gist.github.com/1d5d42cd69ce107d76...ba73cb33a8
stoned75 c: releases say $*PERL.gist 20:19
committable6 stoned75, gist.github.com/6b0b70e194295923eb...d7aa192048 20:20
El_Che Altai-man_: like this: travis-ci.org/nxadm/rakudo-pkg/jobs/654135151 20:34
leont Also, given a subset type, how do I get the base type? 20:35
Altai-man_ El_Che, what can be different if it builds just ok on debian and my (a bit more exotic) void box? 20:36
El_Che, does it mean we must do a point?
El_Che Altai-man_: I am trying to find it out. Alpine is always a little more weird than the rest 20:39
Altai-man_ stackoverflow.com/questions/177739...undeclared 20:40
El_Che Altai-man_: it's certainly the new release though that fail on all Alpines (3.8-11): travis-ci.org/nxadm/rakudo-pkg/builds/654160943
El_Che the previous built just fine 20:40
tobs m: say UInt.^refinee # leont 20:41
evalable6 (Int)
El_Che (the 3.11 is something else, so have a look at 3.8-3.10) 20:42
Altai-man_ it is dyncall bump that caused this
tobs m: subset Prime of UInt where *.is-prime; say Prime.^refinee
evalable6 (UInt)
El_Che Altai-man_: certainly
Altai-man_ github.com/MoarVM/dyncall/tree/b3a...ac/dyncall
what I don't understand is why it builds fine here 20:43
I have gcc (GCC) 9.2.0
El_Che well, the last link has a lot of distro's
let's see how they build
Altai-man_ gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 builds fine
rbt Hi. I've been asked to get a few more eyes on this DBIish patch to ensure a single query is in-flight at a time per connection, which is a requirement by most DB software. If anyone has some time to take a look, it would be appreciated. 20:45
github.com/raku-community-modules/...h/pull/170
El_Che Altai-man_: alpine 3.8 has gcc 6.4.0, 3.10 has 8.3.0 20:46
they both fail 20:47
jdv79 nine: perhaps only the tests:)
El_Che Altai-man_: github.com/mozilla/rr/issues/2363 20:49
leont tobs: thanks :-) 20:51
Altai-man_ El_Che, I feel like alpine devs are trying a bit too hard sometimes when it comes to making the distro small. 20:53
we can't live without a package there, I guess
El_Che Altai-man_: thing is, we're compiking with gcc
l
Altai-man_ isn't it musl vs libc issue? 20:53
or, at least the ticket you linked mentions musl problems 20:54
*glibc
El_Che Altai-man_: I install build-base (with gcc and libc-dev) 20:55
make adding the libc-compat lib will help 20:56
let me try that 20:57
it would break my "no dependencies policy", though 20:58
Altai-man_: libc6-compat does not make a difference 21:10
Altai-man_ El_Che, they suggest to set __USE_GNU and/or _GNU_SOURCE but it is actually defined: github.com/MoarVM/dyncall/blob/mas....c#L47-L48 21:14
El_Che Altai-man_: do we need the bump in dyncall? If not, downgrade the dependency in a dot release so we have time until the next release to bump it again? 21:15
Altai-man_ El_Che, I am looking at dyncall sources right now to see if there is something 21:16
El_Che Altai-man_++
jnthn I believe we merged a patch to remove a workaround in MoarVM thanks to a bug fix in the latest dyncall 21:17
Altai-man_ jnthn, anything related to dlGetLibraryPath? 21:18
RTLD_SELF was introduced with latest bump 21:19
and I see not so much info on cases of its missing
dyncall.org/pub/dyncall/dyncall/re...8520#l2.38 21:21
I see this patch
made 3 month ago
Altai-man_ latest commits to this file a month ago still include RTLD_SELF 21:25
just as it isn't something evil
El_Che, what about other distro? 21:26
El_Che the debians built fine, the is building atm travis-ci.org/nxadm/rakudo-pkg/builds/654169411
sometime i386 fails due to the performance test that are kind of broken on slower platforms 21:27
Altai-man_ El_Che, I hope we will be able to find a solution without a point. As I get it (correct if wrong), apline packages are used for e.g. docker releases, so we just need to make it work once and then people will be able to use precompiled ones. and if one wants to build on alpine by hands, that's another issue. right? 21:28
s/docker releases/docker images
El_Che Altai-man_: docker is pretty much the only use case of alpine. While lot's of people use my pkgs for building alping images, I am pretty sure a lot of people compile rakudo themselves in their alpine docker images (easy if using a good CI pipeline) 21:30
jnthn rbt: Finally found a moment to reivew that. 21:30
El_Che Altai-man_: cenots 7 & 8 and Debian 8 passed already 21:32
relocatable x64 as well
so I think other than alpine the builds will be fine 21:33
rbt Thanks jnthn. 21:37
sena_kun El_Che, as for people, who do a build themselves, if I'll patch alpine dockerfile (I doubt I can, but one can try), will it count as a solution? 21:41
tellable6 2020-02-23T17:42:11Z #raku-dev <rba> sena_kun: What was it?
sena_kun or we need a complete release abortion?
El_Che sena_kun: no :(. People take regular alpine, add some packages and compile. So, there is no image to package, except if you mean the official alpine images 21:43
sena_kun: If you have a fix, I can adapt my packages and we can add it to the release notes if a dot release is not desired 21:44
sena_kun El_Che, so they'll use their own dockerfiles then.
El_Che sena_kun: yes, most probably
sena_kun I don't have a fix, but I am thinking about what are possible shortcuts, because our release pipeline is long and people and time consuming
El_Che sena_kun: very often there is an inhouse official base image for security reasons 21:45
lizmat so, in a nutshell, what is the problem ?
El_Che lizmat: it does not build on alpine: travis-ci.org/nxadm/rakudo-pkg/job...69417#L613 21:46
sena_kun lizmat, bump of dyncall library to a new version, and this new version uses a macro which is for some reason available everywhere except alpine PLUS there is really not so much info about it.
El_Che ^-- a better nutshell
sena_kun what is _really_ weird is that I don't see a definition of RTLD_SELF in my local ./usr/include/dlfcn.h 21:47
lizmat aha!
sena_kun hm?
I mean, I don't see it there, but it still builds just fine for me 21:48
I'll try to build moarvm from scratch...
El_Che sena_kun: if you need a Dockerfile with the dependencies: github.com/nxadm/rakudo-pkg/blob/2...86_64-3.11 21:49
sena_kun: just give it --entrypoint=bash
sena_kun: or just install these packages: 'build-base ca-certificates git libc-dev libffi linux-headers openssl perl perl-utils ruby zlib gzip tar git' 21:50
cpan-raku New module released to CPAN! PDF::Font::Loader (0.2.9) by 03WARRINGD 21:51
sena_kun gist.github.com/Altai-man/92356e8a...-L251-L256 <- 21:53
no visible difference except did not find libzstd; will not use heap snapshot format version 3 for alpine 21:55
>src/profiler/heapsnapshot.c:895:9: warning: 'strncpy' specified bound 8 equals destination size [-Wstringop-truncation] - my gcc is even more grumpy
nothing useful from diffing
leont This doesn't appear to compile, because apparently it doesn't know about SubsetHOW: $type.HOW ~~ Perl6::Metamodel::SubsetHOW 22:27
Can anyone tell me what I should do instead?
tobs m: say UInt.HOW ~~ Perl6::Metamodel::SubsetHOW 22:29
evalable6 (exit code 1) Could not find symbol '&SubsetHOW' in 'Metamodel'
in block <unit> at /tmp/NfF2uBHvGP line 1
tobs leont: ^ it just misses the sigil and assumes &
m: say UInt.HOW ~~ $Perl6::Metamodel::SubsetHOW 22:30
evalable6 True
tobs m: say Int.HOW ~~ $Perl6::Metamodel::SubsetHOW
evalable6 True
tobs or maybe not...
leont m: dd $Perl6::Metamodel::SubsetHOW 22:31
evalable6 Any element{'$SubsetHOW'} = Any
tobs m: say Perl6::Metamodel::.keys
evalable6 (exit code 1) Could not find symbol '&Metamodel' in 'Perl6'
in block <unit> at /tmp/0sx_N7kAr8 line 1
tobs right, I guess classes (or whatever HOWs are) would not be referred to with a sigil anyway... 22:33
leont They are refered to exactly the way I pasted in the prelude
tobs so I have no idea
vrurg m: say Int.HOW ~~ Metamodel::SubsetHOW 22:35
evalable6 False
vrurg tobs: ^^
Metamodel doesn't need Perl6 namespace in Raku. 22:36
lizmat m: say Bool.HOW ~~ Metamodel::SubsetHOW
tobs oho, thanks
evalable6 False
lizmat hmmm
m: say Bool.HOW ~~ Metamodel::EnumHOW
evalable6 True
lizmat right
m: say (subset Foo of Int).HOW ~~ Metamodel::SubsetHOW
evalable6 True
leont Ah, I see 22:37
That does help
Geth doc/star-RAKU: ad0d4c19ad | (Stoned Elipot)++ | 3 files
Use $*RAKU instead of $*PERL

Along the way mention .gist method instead of the string context operator
  ~ as a way to get the full stringified version of the Raku interpreter.
Also, when $*RAKU is involved, use '6.d' as version in example output.
22:53
doc/star-RAKU: 84bb995990 | (Stoned Elipot)++ | 2 files
Use $*RAKU and mention Rakudo version wrt it
doc: stoned++ created pull request #3230:
Star raku
22:54