🦋 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.
Voldenet m: use NativeCall; my uint8 $x := CArray[uint8].new()[0]; 00:01
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot bind to natively typed variable '$x'; use assignment instead
at <tmp>:1
------> 3l; my uint8 $x := CArray[uint8].new()[0]7⏏5;
Voldenet m: use NativeCall; my Int $x := CArray[uint8].new()[0];
camelia ( no output )
00:04 dogbert17 joined 00:07 dogbert11 left, Xliff left 00:21 dogbert11 joined
veesh m: use NativeCall; my uint8 $x = CArray[uint8].new(255)[0] 00:23
camelia ( no output )
veesh oops, forgot to print
m: use NativeCall; my uint8 $x = CArray[uint8].new(255)[0]; say $x
camelia 255
00:23 dogbert17 left
veesh that's better 00:23
m: use NativeCall; my uint8 $x = CArray[uint8].new(255)[0]; d $x 00:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
d used at line 1
00:24 Redfoxmoon left 00:27 Redfoxmoon joined
Voldenet actually 00:28
m: use NativeCall; my $x := CArray[uint8].new()[0]; say $x = 244
camelia -12
00:46 sena_kun left 00:56 Xliff joined 01:00 titsuki_ left 01:01 aborazmeh joined, aborazmeh left, aborazmeh joined, sena_kun joined 01:17 pierrot left 01:20 pierrot joined
TreyHarris veesh, fyi: "This is due to the fact that Natives don't know their types because they're just values, without any metadata. In multi-dispatch, you can have a native candidate, but you cannot differentiate different sizes of the same native type. That is, you can have an Int and int candidates, but there would be an ambiguity between, for instance int, atomicint or int64 candidates." 01:24
from docs.raku.org/language/nativetypes...ativetypes
I mostly love working on an iPad Pro, but its Bluetooth keyboard handling is very, very sub-par 01:25
veesh: so long as the native value is assigned to a single scalar, Raku _could_ work around it by using the namespace's scratchpad (or its implementational equivalent); but as you've shown, once you put it into an array (or a struct or union) Raku permanently loses track of it in a way that would afford full multi support 01:27
01:29 __jrjsmrtn__ joined 01:30 _jrjsmrtn left 01:50 holli left 01:55 aborazmeh left 01:59 wildtrees left 02:17 molaf left 02:30 molaf joined 02:42 angelds joined
Geth doc: 5d568b3fd9 | (Trey Harris)++ | doc/Language/modules-core.pod6
Fix broken .pm6 → rakumod rakudo extlinks

External links to rakudo's GitHub repo using the old file extensions are broken. Fixed.
linkable6 Link: docs.raku.org/language/modules-core
02:45 sena_kun left 02:52 Xliff left 02:56 Xliff joined 02:59 sena_kun joined 03:12 molaf left 03:17 xinming_ left 03:18 xinming_ joined
Geth doc: 2ad2a1ee03 | (Trey Harris)++ | doc/Language/nativetypes.pod6
Document multi ambiguity between int and uint

As veesh++ points out, multis cannot distinguish between `int` and `uint` any more than they can distinguish between `int and `int64`.
linkable6 Link: docs.raku.org/language/nativetypes
03:44 Actualeyes joined 03:47 leont left 04:02 atroxaper joined 04:03 atroxaper left 04:21 holyghost left 04:22 holyghost joined 04:45 sena_kun left 04:58 mahmudov left 04:59 sena_kun joined 05:28 angelds left 05:32 ensamvarg joined 05:34 Redfoxmoon left, Redfoxmoon joined 06:16 holli joined 06:20 sauvin joined, xinming joined 06:23 xinming_ left, sno left 06:24 jmerelo joined, BlackWhite joined 06:25 BlackWhite left 06:26 cpan-raku left 06:30 kent\n joined 06:33 cpan-raku joined, cpan-raku left, cpan-raku joined 06:46 sena_kun left
cpan-raku New module released to CPAN! DateTime::Monotonic (0.0.6) by 03JMASLAK 06:48
06:57 rindolf joined 07:00 sena_kun joined
holyghost I'm busy on probability marginal functions and more Bayesian learning 07:05
The code is on Xliff's server, I'll put it on github next week 07:06
e.g. a posterior approximation
07:09 wamba joined 07:21 rindolf left 07:23 hacktor joined 07:25 rindolf joined 07:30 domidumont joined 07:31 holli left 07:40 raymze256 joined 07:42 raymze256 left 07:43 raymze256 joined 07:44 raymze256 left 07:46 hacktor left 07:48 sno joined 07:50 wamba left 07:52 darkstardevx joined 08:01 stoned75 left 08:03 Actualeyes left, Actualeyes joined 08:08 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 08:11 xinming left 08:17 xinming joined 08:42 wamba joined 08:46 sena_kun left, xinming left, xinming joined 09:00 sena_kun joined, hacktor joined 09:10 hacktor left 09:12 holli joined 09:35 shred_alert joined 09:41 domidumont left 09:42 domidumont joined 09:43 zakharyas joined 09:56 hacktor joined
holyghost I've just updated code on github for p6-Game-Bayes and p6-Game-Stats, what I've talked of before 10:03
10:08 holli left 10:22 scimon joined 10:27 pecastro joined
holyghost I've still ot to process pmf (probability marginal function) into chaos stochastitical systems :-) 10:36
Anyway, it's easy enough 10:37
10:41 wamba left 10:45 sena_kun left 10:56 Doc_Holliwood joined 10:57 hacktor left 10:58 daxim left 11:00 domidumont left 11:01 sena_kun joined 11:02 daxim joined 11:19 patrickb joined 11:29 Black_Ribbon left, mowcat joined 11:33 Actualeyes left, Actualeyes joined, molaf joined
patrickb 🎺🎺🎺 ANNOUNCEMENT 🎺🎺🎺 11:36
The GSoC organization application deadline is in 4 days!
Those of you who are pondering of whether to mentor should make up their mind soon.
What you need to do when you want to mentor: Go to github.com/perl-foundation-outreac...2020-ideas and create a PR with your project idea listing you as a mentor.
It is fine to list multiple ideas and see which ones students apply for.
lizmat, brrt, jnthn, nine, samcv, vrurg, jmerelo, AlexDaniel, sena-kun, (whoever fells addressed): Kind reminder to make up your mind of whether you want to mentor and on what project. :-) 11:37
11:37 wamba joined
lizmat I haz project ideas, but am hesitant about being a mentor 11:37
patrickb ^^
patrickb lizmat: I'm not sure who, but I seem to remember people willing to mentor but not having ideas... 11:38
11:39 Doc_Holliwood left
patrickb lizmat: Also, can we do something about your hesitation? I think it's very ok not to mentor, but it'd be sad to not make up ones mind in time. 11:42
lizmat patrickb: consider you've done something :-) 11:43
11:44 Doc_Holliwood joined 11:45 hacktor joined
sarna hi, what’s the current extension for scripts? still .p6? 11:45
11:48 Actualeyes left 11:49 Actualeyes joined, hacktor left
lizmat .raku but only if you have a modern enough Rakudo (2019.11 or later) 11:49
sarna oh neat! thanks 11:50
11:52 colomon joined
jmerelo patrickb: thanks for the reminder 11:56
patrickb: I pretty much have my mind made
patrickb jmerelo: You also already have project ideas on the ideas page :-)
jmerelo lizmat: you can propose a project anyway, maybe someone else will take it up as a mentor. I mean, mentors do not have to be tied to projects...
patrickb: but we _do_ need more. 11:57
patrickb: also, we need to start filling the application. Maybe this weekend in Fosdem Makoto and me can do it.
11:57 colomon left 11:58 colomon_ joined
patrickb jmerelo: Great that you are on this! 12:01
jmerelo: Do you intend to change the the project page to how last years page looked? It seems the page is currently mostly targeted to mentors.
sarna how to get an array filled with x 0s? I can’t find anything in the docs, hmm 12:04
lizmat m: my @a is default(0); say @a[9999] 12:05
scimon m: my @a = 0 xx 10;say @a;
camelia 0
[0 0 0 0 0 0 0 0 0 0]
scimon :D
sarna oh neat, thanks :)
jmerelo patrickb: we're still in that phase... We might change it later on, when/if it's accepted 12:06
lizmat sarna: using "is default(0)" is O1, rather than On
patrickb jmerelo: OK, that's what I thought. :-)
sarna lizmat: nice, thanks! 12:09
I’ve noticed some funky behavior though
lizmat sarna: with "is default()" ? 12:10
sarna m: my @a is default([0;0;0]); say @a; @a[0][1] = 3; say @a; say @a[0]
camelia []
[0 3 0]
sarna why is @a after the modification just an empty array?
scimon Oooo I learnt something new today.
sarna (@a[0] is not, interestingly) 12:11
lizmat what you're doing there, is that you're making a shaped array to be the default of an element of the @a array 12:12
is default() is about the *elements* of an array, not about it's shape
sarna oh, hm. I’m trying to make an array of five [0;0;0]s 12:13
lizmat m: dd [0;0;0]
camelia Array element = [0, 0, 0]
lizmat hmmm 12:14
12:16 zakharyas left
sarna m: my @a = [[0 xx 3] xx 5]; dd @a 12:16
camelia Array @a = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
sarna this one works, but hm
lizmat sarna: thing is, that what you specify as the default, is a single instance of the value 12:17
12:18 wamba left
sarna oh 12:18
so when I modify it..
then rip :D
shred_alert I just had a eureka moment. If we're generating an instance of some app from a template that template can also be used as a database for information about attributes of generated app. 12:22
Assuming the attributes stay in the same state throughout the lifetime of the generated app
Context: generating VMs from a template. 12:23
12:24 leont joined, aluaces left 12:30 domidumont joined 12:34 aluaces joined 12:38 hacktor joined 12:40 sno left 12:44 Doc_Holliwood left 12:45 Actualeyes left, Actualeyes joined 12:46 sena_kun left 12:57 Doc_Holliwood joined 12:59 abraxxa left 13:01 sena_kun joined 13:06 albongo joined, albongo left, albongo joined 13:07 titsuki_ joined 13:16 hacktor left 13:18 Maylay left 13:21 Maylay joined 13:29 lucasb joined 13:31 jmerelo left 13:40 Doc_Holliwould joined 13:41 Doc_Holliwood left 13:46 hacktor joined 13:48 uzl[m] joined
uzl[m] .tell jmerelo re documentable, I'll look at it later. In the meantime, since Git[lab|hub] always serve relative links in relation to username.gitlab.io unless they specify otherwise, I just created the following group gitlab.com/rakudocs and a repo which ends serving the site from rakudocs.gitlab.io/. 13:48
tellable6 uzl[m], I'll pass your message to jmerelo
13:50 mowcat left
uzl[m] Hi, everyone! I've been messing with the documentation's header layout and css. This is the result: rakudocs.gitlab.io/ 13:51
tellable6 2020-01-30T16:34:29Z #raku <jmerelo> uzl[m] I think there's this issue: github.com/Raku/Documentable/issues/78, very recent. Might that be the problem?
13:52 titsuki_ left 14:05 xinming left, xinming joined 14:06 gabiruh left, gabiruh joined
sarna uzl[m]: on mobile it’s a grey header with a very small camelia on the top left 14:07
14:07 hacktor left
[Coke] notes about layout/css - menu starts to vanish at smaller width. 14:14
I find it slightly pale for my taste, but that's just me. 14:15
14:15 Doc_Holliwould left
sarna m: my @foo = [1;2;3]; for @foo.kv <-> { say “won’t work” } 14:17
camelia Too many positionals passed; expected 0 arguments but got 1
in block <unit> at <tmp> line 1
14:17 sno joined
sarna can I somehow get the element as mutable and the key as immutable? 14:17
oh heck wait, my example was borked
<sarna> m: my @foo = [1;2;3]; for @foo.kv <-> $index, $val { say “won’t work” } 14:18
sarna sighs
m: my @foo = [1;2;3]; for @foo.kv <-> $index, $val { say “won’t work” }
camelia Parameter '$index' expected a writable container, but got Int value
in block <unit> at <tmp> line 1
sarna here
getting the key as mutable would be okay too of course 14:23
14:23 zakharyas joined
tobs m: my @foo = [1,2,3]; for @foo.kv -> $index, $val is rw { say "$i: ", $val *= 10 }; dd @foo 14:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$i' is not declared
at <tmp>:1
------> 3or @foo.kv -> $index, $val is rw { say "7⏏5$i: ", $val *= 10 }; dd @foo
tobs m: my @foo = [1,2,3]; for @foo.kv -> $index, $val is rw { say "$index: ", $val *= 10 }; dd @foo
camelia 0: 10
Array @foo = [10, 20, 30]
1: 20
2: 30
tobs oh, dd goes to $*ERR, so the output is mixed up 14:25
sarna oh cool, thanks tobs 14:26
tobs sarna: not with <-> but with an is rw trait on the $value parameter to the loop body
14:26 hacktor joined
sarna yeah I think <-> puts rw on everything 14:26
tobs has never seen <-> before
sarna m: my @foo = [1;2;3]; for @foo <-> $number { $number += 1 }; dd @foo 14:27
camelia Array @foo = [2, 3, 4]
14:45 sena_kun left 14:53 metabind joined
metabind p6: Int.^name; 14:56
camelia ( no output )
metabind p6: say Int.^name;
camelia Int
metabind p6: put Int.^name; 14:57
camelia Int
14:57 hacktor left
metabind p6: put Int.^mro 14:58
camelia Use of uninitialized value of type Int in string context.
Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.

in block <unit> at <tmp> line 1
Use of uninitialized value of type Cool in string contex…
metabind p6: put Int.^methods
camelia Method object coerced to string (please use .gist or .raku to do that)
in block <unit> at <tmp> line 1
Method object coerced to string (please use .gist or .raku to do that)
in block <unit> at <tmp> line 1
Method object coerced to string (…
metabind p6: Int.^methods
camelia ( no output )
metabind p6: Int.^methods.gist 14:59
camelia ( no output )
15:00 sena_kun joined
metabind p6: 3.^name 15:00
camelia ( no output )
metabind p6: put 3.^name;
camelia Int
metabind p6: 3.isNaN
camelia ( no output )
metabind p6: say 5.isNaN 15:01
camelia False
metabind If I call Int.^methods, isNaN is listed as a method but it's not a method of any type listed in Int.^mro, and it's not listed as a method in the docs. 15:05
Why is that?
15:06 melezhik joined
[Coke] Int does Real 15:06
m: Int.^mro 15:07
camelia ( no output )
[Coke] m: dd Int.^mro
camelia (Int, Cool, Any, Mu)
[Coke] mro is showing you classes, not Roles.
metabind There is a section in the docs "routines supplied by role Real" that doesn't mention it
[Coke] can you open a bug at Raku/doc for that? 15:09
m: dd Int.^roles 15:10
camelia (Real, Numeric)
[Coke] m: dd Int.^roles[0].can('isNaN') 15:11
camelia (method isNaN (Real: *%_) { #`(Method|77915504) ... },)
vrurg m: dd Int.^mro: :roles 15:17
camelia Cannot find method 'raku' on 'Real': no method cache and no .^find_method
in block <unit> at <tmp> line 1
vrurg m: say .^name for Int.^mro: :roles
camelia Int
vrurg [Coke]: ^^^
metabind What's the difference between p6 and dd? 15:22
vrurg metabind: p6? 15:25
metabind evalbot usage 15:26
15:26 Doc_Holliwood joined
vrurg Ah! Ok. Dunno, I don't use evalbot. 15:27
[Coke] dd is the rakudo data dumper.
p6: say 'does this do more than moar?'
camelia does this do more than moar?
[Coke] I think p6: defaults to moar, and m: specifically means moar.
vrurg: thought it might exist, but didn't see it when I search for ^mro in the docs. :) 15:28
nine p
vrurg [Coke]: because it's my recent addition with roles overhaul. 15:29
metabind I take it that a lot is still missing from the docs
[Coke] I would say that a lot is NOT missing from the docs.
metabind anything missing is a lot as far as I'm concerned 15:30
being new
15:31 aluaces left
metabind p6: dd Str.^mro 15:32
camelia (Str, Cool, Any, Mu)
metabind p6: dd Str.^mro: :roles 15:33
camelia Cannot find method 'raku' on 'Stringy': no method cache and no .^find_method
in block <unit> at <tmp> line 1
metabind m: dd Str.^mro: :roles
camelia Cannot find method 'raku' on 'Stringy': no method cache and no .^find_method
in block <unit> at <tmp> line 1
15:34 molaf left
[Coke] metabind: That probably needs a ticket. 15:38
metabind: in the meantime, if you find anything is missing, please open a ticket, thanks.
metabind I don't have a github account yet. 15:39
15:47 ufobat joined 16:04 hacktor joined 16:10 xinming left 16:16 xinming joined, Kaiepi left 16:17 Kaiepi joined
moritz no time like now to get one :-) 16:23
16:33 mowcat joined
metabind okay so, Coke taught me that isNaN *should be* included in the Int documentation but isn't so I need to file a bug, and that dd the rakudo dumper function that helps output things that put/say can/will not, and that .^mro: :roles is a recent addition to the language, great stuff thanks 16:34
i'm very new to all this
16:34 metabind left 16:36 jmerelo joined 16:43 leont left 16:45 sena_kun left 16:47 Doc_Holliwood left 16:50 domidumont left 16:51 domidumont joined
[Coke] \o/ 16:55
16:58 scimon left 16:59 zakharyas left 17:00 sena_kun joined
jmerelo Hey, [Coke] 17:08
tellable6 hey jmerelo, you have a message: gist.github.com/ac4b35c9dd11630d21...e0077cf88f
jmerelo .tell uzl[m] great, thanks!
tellable6 jmerelo, I'll pass your message to uzl[m]
17:12 xinming left, xinming joined 17:14 leont joined
sarna m: [0.0e xx 3] 17:15
camelia 5===SORRY!5=== Error while compiling <tmp>
at <tmp>:1
------> 3[0.0e7⏏5 xx 3]
sarna I like that error message :^)
jmerelo m: say 3e 17:18
camelia 5===SORRY!5=== Error while compiling <tmp>
at <tmp>:1
------> 3say 37⏏5e
jmerelo sarna: well, e is a constant
m: say 3+e
camelia 5.718281828459045
jmerelo sarna: but also exponential
m: say 3e2 + e 17:19
camelia 302.71828182845906
jmerelo m: say 1e
camelia 5===SORRY!5=== Error while compiling <tmp>
at <tmp>:1
------> 3say 17⏏5e
jmerelo sarna: confused is about right. Probably it should be a bit more explicit.
sarna jmerelo: yeah, it wasn’t sarcastic - while it could be more informative, I actually kind of like it 17:23
at least shows you where it is, and it’s right about it :)
a nice refresher after programming in go for a while 17:24
jmerelo sarna :-) 17:25
17:33 Cabanossi joined 17:58 leont left 17:59 wildtrees joined 18:00 wildtrees left 18:01 wildtrees joined 18:02 Sgeo__ left, Sgeo__ joined 18:03 mahmudov joined 18:08 aluaces joined 18:14 MasterDuke joined
jmerelo Apparently there's no gRPC module for Raku... 18:31
... or protobuf 18:33
18:35 leont joined
guifa assigns gPRC to jmerelo 18:38
jmerelo creates a GSoC project for doing that
guifa doesn’t sign up for it O:-)
jmerelo guifa: we need you as a mentor anyway 18:39
guifa: we need lots of them
guifa jmerelo: fair, but this is my last year I can do it as a student
jmerelo guifa: well, it would be great to have you as a student, but you could propose also a project you'd feel comfortable with 18:42
18:42 mahmudov left
jmerelo guifa: we can look for mentors later 18:42
guifa Oh, module naming question 18:44
For format parsing 18:45
18:45 mahmudov joined
guifa should we go with Grammar::Name-of-format or Grammar::Foo::Name-of-format and leave the upper level for Grammar::Extension-modifying-grammars-themselves ? 18:45
or is there a different place we should do that? 18:46
jmerelo guifa: he
guifa (like Parsers::Name-of-format or something like that)
jmerelo guifa: Grammar::Extension::Self-Modifying
18:46 sena_kun left
guifa Ah that actually sounds like a good one for extensions. Should there also be an intermediate one for grammars or keep them top level? (I’m about to post grammars for Hunspell/Aspell/Nuspell/MySpell dictionaries) 18:47
18:49 domidumont left
jmerelo guifa: it's pretty much free. There're no guidelines, even. Choose what's helpful to find it. For instance, Grammar::Dictionary::Hunspell 18:49
18:50 domidumont joined
guifa Yeah, I know there’s no official guidelines, but I feel like since we’re all so early in the ecosystem development, it would be a good idea to have a sort of best practices for naming. Because it would be annoying to have one grammar in Grammar::Dictionary::Hunspell, another one in Lingua::Spelling::MySpell another one in Nuspell (top level) and another one in Text::Spellchecking::Aspell 18:51
jmerelo guifa: but I see Lingua::Spelling as more of a module to use that specific tool, not as a dictionary
guifa: also, that can't be helped. 18:52
18:54 domidumont left
guifa jmerelo: I would agree that I’d expect some of those to be a tool, but for developers of them, there’d be no harm in specifying their grammars that could be general use in a more generalized location and pulling from it instead. I also just don’t have time to develop a full [Hun|A|My|Nu]spell engine right now but have the grammar for another project 18:56
18:57 leont left 19:02 sena_kun joined 19:22 mowcat left 19:28 vrurg left 19:43 Kaiepi left 19:44 Kaiepi joined
TreyHarris From docs.raku.org/language/numerics#Allomorphs : "Keep in mind that allomorphs are simply subclasses of the two (or three) types they represent." '(or three)'? What's a three-type allomorph? 19:48
19:48 xinming left, Doc_Holliwood joined 19:49 xinming joined, patrickb left 19:53 dansolo42 joined
jmerelo TreyHarris: that's a tough one. 19:53
19:54 vrurg joined
jmerelo TreyHarris: but I guess that the allomorph XY represents XY, X and Y, right? 19:54
TreyHarris: well, Y is always Str 19:55
19:55 ensamvarg left
TreyHarris jmerelo: oh, no, I think it's just a historical artifact of MidRatStr 19:58
I think "(or three)" can safely be removed
jmerelo TreyHarris: will you do the honor? You want me to do it? 19:59
TreyHarris jmerelo: already on it
jmerelo TreyHarris: thanks.
20:00 jmerelo left
Geth doc: 42ab3dfefc | (Trey Harris)++ | doc/Language/numerics.pod6
Remove detritus from MidRatStr reference

When allomorphs were first documented in dcd83b, `MidRatStr` still existed as a three-superclass allomorph. That's no longer the case, so remove language referring to hypothetical three-class allomorphs.
But leave open the possibility so this passage isn't brittle against future allomorphs.
linkable6 Link: docs.raku.org/language/numerics
doc: 26b1a19ca4 | (Trey Harris)++ | doc/Language/numerics.pod6
Wrap numerics "Coercion of allomorphs"

Separate commit to keep semantics & formatting changes separate.
cpan-raku New module released to CPAN! Date::Calendar::Hebrew (0.0.3) by 03JFORGET
20:18 lucasb left
TreyHarris m: say so "12" ~~ 12 20:26
camelia True
TreyHarris how can you do ↑ with Numeric or Int rather than specifying the value 12? 20:27
IOW, how can I check a Str (or other concrete value) to see if it can successfully coerce into some specified type? 20:29
20:29 chloekek joined
guifa hmm, there’s a few different ways depending on your ultimately goal 20:31
Does it have a coercion method?
TreyHarris m: my $x = "12"; say $x.^name; say "{$x + 2}" 20:32
camelia Str
guifa my $a = "A"; say $a.^find_method("Int”) // False; say $a.^find_method(“CantCoerceToThis”) // False
m: my $a = "A"; say $a.^find_method("Int”) // False; say $a.^find_method(“CantCoerceToThis”) // False 20:33
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"' (corresponding starter was at line 1)
at <tmp>:1
------> 3find_method(“CantCoerceToThis”) // False7⏏5<EOL>
guifa *sigh* stupid computer autocoverting quotes
m: my $a = "A"; say $a.^find_method("Foo") // False; say $a.^find_method("CantCoerceToThis") // False;
camelia False
guifa m: my $a = "A"; say $a.^find_method("Int") // False; say $a.^find_method("CantCoerceToThis") // False;
camelia Int
20:33 heth left, vike left
guifa TreyHarris: see the last one I posted there, if the $foo.^find_method(nameOfClass) returns a defined object, you can theoretically coerce 20:34
TreyHarris m: say "12".^find_method("Numeric")
camelia Numeric
20:34 heth joined
guifa But just because a coercion method exists doesn’t mean you actually will be able to coerce. The only way to test for that is to actually run the coercion 20:34
TreyHarris m: say "boo this is not a number".^find_method("Numeric") 20:35
camelia Numeric
20:35 vike joined
TreyHarris guifa: yes, but: 20:35
m: say so "12" ~~ 12; say so say so "12" ~~ Any(Numeric)
camelia True
TreyHarris er
m: say so "12" ~~ 12; say so "12" ~~ Any(Numeric)
camelia True
TreyHarris if I don't know the value I'll end up with, how do I do it?
catch an exception?
guifa Probably the easiest way to do it. If you wanted to, you could possibly write a sub for it. Lemme see what I can come up with real fast 20:37
MasterDuke val perhaps would be useful 20:39
20:45 sena_kun left 20:50 wildtrees left
TreyHarris odd: 20:51
m: sub get-num($x) { CATCH { when X::Str::Numeric { .^name.say; .message.say } }; return $x.Numeric }; for ("12", "\c[FULLWIDTH DIGIT ONE,FULLWIDTH DIGIT TWO]") -> $n { say get-num($n) }
camelia 12
TreyHarris but
m: sub get-num($x) { CATCH { when X::Str::Numeric { .^name.say; .message.say } }; return $x.Numeric }; for ("12", "\c[FULLWIDTH DIGIT ONE,FULLWIDTH DIGIT TWO]", "\c[ROMAN NUMERAL TWELVE]") -> $n { say get-num($n) } 20:52
camelia 12
Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5Ⅻ' (indicated by ⏏)
in sub get-num at <tmp> line 1
in block <unit> at <tmp> line 1

TreyHarris Why doesn't the second one work there
21:00 Benett left, Benett joined 21:01 sena_kun joined 21:15 aborazmeh joined, aborazmeh left, aborazmeh joined 21:33 mensvaga left
tyil samcv: home.tyil.nl/git/raku/Pod::To::Anything/about/ this is the base module I use for Pod6 stuff 21:40
samcv: this is the thing used for rendering Pod6 readmes on my cgit instance home.tyil.nl/git/raku/Pod::To::HTM...ion/about/ 21:46
21:48 rindolf left 21:58 aborazmeh left, Ven`` joined
Ven`` jnthn: as it turns out, adding default params to cro template is *really* easy, but that would be absolute hell in the JS backend :P. 21:59
22:02 Ven`` is now known as Ven_de_Thiel 22:05 cpan-raku left
jnthn Ven_de_Thiel: Even if restricted only to nameds? 22:08
22:10 cpan-raku joined, cpan-raku left, cpan-raku joined
Ven_de_Thiel jnthn: I mean, grammar-wise 22:11
jnthn Yes, but I thought the nameds in the JS compilation were done by forming a "hash"? 22:12
Ven_de_Thiel yes, but JS doesn§t have default parameters
so when we `make $/` after parsing `<.identifier> [ '=' <.expression> ]?` 22:13
JS doesn't like it
I guess recent javascript version (ES6+) actually has defaults, so maybe it's fine... 22:14
22:16 Black_Ribbon joined 22:21 chloekek left
rypervenche How might I use Raku to open an image (say a jpg) for viewing? Would that require a module? 22:21
Grinnz the linux only solution would be to run xdg-open on the filename 22:22
22:27 shred_alert left
rypervenche Ah, is that how people would do it? 22:27
22:45 sena_kun left 22:54 sauvin_ joined 22:57 sauvin left, sauvin_ is now known as Sauvin
El_Che write a small lib that checks the OS and open xdg-open/open/start accordingly? 22:57
23:00 sena_kun joined 23:03 aluaces left 23:08 wildtrees joined
uzl[m] .tell sarna Still trying to figure out how to make the grid layout work for smaller screen size. Pretty much a CSS noob ;-). 23:12
tellable6 uzl[m], I'll pass your message to sarna
23:14 wamba joined
uzl[m] .tell [Coke] re layout/css: Do you have any color scheme in mind? I myself find it too pale. 23:15
tellable6 uzl[m], I'll pass your message to [Coke]
23:46 mowcat joined