🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
00:00
reportable6 left
00:03
reportable6 joined
|
|||
Nemokosch | LOL | 00:16 | |
just finished my comment on GH | |||
which also reaches to the conclusion that I think most problems come from Cool / its application | 00:17 | ||
which is two problems, really | |||
a) what makes a type conceptually eligible to be Cool b) what should Cool even actually provide | 00:20 | ||
because yeah, providing trigonometric functions for an IO::Path object seems... more strange than consistent | |||
to not just ramble but bring some development into the topic... doesn't the COERCION protocol mostly solve what this Cool-ism was for? | 00:23 | ||
hm, maybe not yet... but I have this feeling that something like that describes the idea itself better. Auto-coercing methods provided between certain types. | 00:25 | ||
01:18
linkable6 left,
evalable6 left
01:19
evalable6 joined,
linkable6 joined
|
|||
oh one more | 01:20 | ||
> Other collection types (e.g. Set) aren't Cool simply because the historical reasons didn't apply to them, and they do fine without it. | |||
It really makes me feel comfortable (sic!) that I didn't even know this, honestly | 01:21 | ||
because this means in practice that I never wanted to do anything with Sets where it would have come naturally | 01:22 | ||
releasable6 | Next release in ≈1 day and ≈15 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 03:00 | |
04:23
linkable6 left,
evalable6 left
04:24
evalable6 joined
04:25
linkable6 joined
06:00
reportable6 left
06:02
reportable6 joined
|
|||
nine | ab5tract: The Cool type is derived from Any, and contains all the methods that are "cool" (as in, "I'm cool with an argument of that type."). More specifically, these are the methods that are culturally universal, insofar as the typical user will expect the name of the method to imply conversion to a particular built-in type that understands the method in question. For instance, $x.abs implies conversion | 06:59 | |
tellable6 | nine, I'll pass your message to ab5tract | ||
nine | to an appropriate numeric type if $x is "cool" but doesn't already support a method of that name. Conversely, $x.substr implies conversion to a string or buffer type. | ||
Err...that was not meant for ab6tract specifically | |||
ENOCOFFEE | 07:00 | ||
ab5tract: "simple" lexicals will be auto generated for you. By default they are considered is-simple-lexical-declaration if they are is-lexical, i.e. if their scope is my or has. Both conditions are overridable. In that case your IMPL-QAST-DECL will be called by the scope's IMPL-QAST-DECLS. If you need more complicated logic, you need to actively call add-generated-lexical-declaration on the scope at an | 07:11 | ||
tellable6 | nine, I'll pass your message to ab5tract | ||
nine | appropriate time (e.g. BEGIN) | ||
07:52
ab5tract joined
09:08
sena_kun joined
09:22
sena_kun left
09:23
sena_kun joined
09:59
sena_kun left
10:00
sena_kun joined
|
|||
Geth | rakudo/main: ccbf9a098e | (Elizabeth Mattijsen)++ | IN-MEMORIAM.md Add In Memoriam for Ben Davies |
10:49 | |
Nemokosch | it's still hard to believe that people can just go away like that... 😔 | 10:55 | |
11:07
raschip joined
12:00
reportable6 left
|
|||
Geth | Data-Record/main: 0406199fa8 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | README.md Update wiki link |
12:00 | |
12:01
reportable6 joined
|
|||
Geth | Net-LibIDN: 34cd8392c6 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | README.md s/Perl 6/Raku |
12:06 | |
Net-LibIDN2: 54fb5f6092 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | README.md s/Perl 6/Raku |
12:07 | ||
Trait-Traced/main: a3146f6bb7 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | README.md Update wiki link |
12:14 | ||
Type-EnumHOW: 9a994f8b5f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | README.md Update documentation link and remove Travis badge |
12:17 | ||
lizmat | ok, that concludes my work on moving / updating stuff for now | ||
13:22
RakuIRCLogger left,
Geth left
13:24
RakuIRCLogger joined
13:26
Geth joined
|
|||
ab5tract | is there an easy way to resolve a name to it's "full" name (ie, inlcuding all enclosing packages)? | 13:53 | |
tellable6 | hey ab5tract, you have a message: gist.github.com/609b4aa20f7a598286...00bcdc9807 | 13:54 | |
hey ab5tract, you have a message: gist.github.com/16fbcc3863c02e1e56...235389e07d | |||
nine | ab5tract: what is it that you're after? | 13:56 | |
14:05
epony joined
14:10
nine left,
camelia left,
nine joined
|
|||
ab5tract | IMPL-EXPR-QAST should return a WVal with the fully qualified name. At least according to what Actions/World used to do (and the qast output of base). | 14:13 | |
Honestly I'd sort of expect this to happen somewhere "upstream" but if I do `module M { module N { subset O where /o/; } } }`, there should be a WVal of `M::N::O` | 14:14 | ||
and the WVal is generated from a call to SubsetHOW.new_type. The name I provide to that class should be fully qualified | 14:15 | ||
I know it's probably silly to get into scoping before I get it actually working at its most basic, but it bothers me. | 14:16 | ||
world has a `fully_qualified_with` method that I think I'm looking for an equivalent of | 14:17 | ||
14:17
camelia joined
|
|||
ab5tract | Also, how does one conjure a type object from a RakuAST::Type | 14:24 | |
same use case, to provide the correct argument to SubsetHOW.new_type | 14:25 | ||
Right now I'm just passing a `RakuAST::Declaration::External::Constant` and it doesn't seem to explode. Not that it's working, of course | 14:46 | ||
nine | "WVal with the fully qualified name" does not make sense | 14:55 | |
WVal is used for objects, not names. | |||
If this is about telling the SubsetHOW it's fully qualified name, have a look at src/Raku/ast/package.rakumod's PERFORM_BEGIN. | 15:00 | ||
ab5tract | It's the SubsetHOW's name, yes. The WVal is derived from that. It holds the type object, yes? That type object has the full name in base. | 15:27 | |
(In this case, it holds the type object) | |||
15:39
ab5tract left
|
|||
nine | Yes, for this you want to qualify the name with the current package's name. | 15:42 | |
Note that as a general design principle, keep in mind that the parser is not the only thing that is able to create an AST. A completely artificially created AST (e.g. Raku code creating a Type::Subset node and attaching it indirectly to a Package node) should still be able to determine the full name. | 15:43 | ||
15:48
ab5tract joined
17:19
ab5tract left
17:25
codesections joined
18:00
reportable6 left,
ab5tract joined,
reportable6 joined
18:01
ab5tract left
19:54
raschip left
20:00
sena_kun left
20:01
sena_kun joined
|
|||
Geth | rakudo/main: 3d2f8bd9db | (Elizabeth Mattijsen)++ | IN-MEMORIAM.md Add Ben Davies' Twitter handle |
20:16 | |
21:25
sena_kun left
21:44
ab5tract joined
|
|||
Geth | XML/main: fdf73f2690 | (Polgár Márton)++ | 2 files Rakudoc generation fix |
21:45 | |
releasable6 | Next release in ≈19 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 23:00 | |
23:15
ab5tract left
|