🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 6 September 2022. |
|||
00:07
reportable6 left,
reportable6 joined
00:20
guifa joined
00:23
guifa_ left
01:11
Kaiepi joined,
Kaiepi left
01:12
archenoth joined
01:14
Oshawott left
01:24
Kaiepi joined
01:59
squashable6 left
02:00
squashable6 joined
02:26
razetime joined
02:37
Tojin joined,
Tojin left
03:23
squashable6 left
03:25
squashable6 joined
03:37
razetime left
|
|||
tonyo | excellent obfuscation | 04:07 | |
m: constant \s = -> \a { &infix:<*>(a,2) }; -> --> s { }()(2).say; | 04:08 | ||
camelia | 4 | ||
04:13
razetime joined
04:48
razetime left
05:03
bigdata joined
05:57
bigdata left
06:06
reportable6 left
06:09
reportable6 joined
06:13
ProperNoun left
06:14
ProperNoun joined
06:55
razetime joined
07:06
Sgeo left
07:20
MoC joined
07:24
lichtkind joined
07:41
lichtkind left
08:03
MoC left
08:09
dakkar joined
|
|||
Nemokosch | Functions hidden behind terms: yes, negative integers: no | 08:21 | |
vrurg will hold lessons about core development | |||
I'm definitely willing to alter the grammar to eliminate this "consistency" that -1 is an expression rather than a literal | 08:23 | ||
08:25
discord-raku-bot left
08:26
discord-raku-bot joined
08:31
MoC joined
08:33
sena_kun joined
08:51
razetime left,
razetime joined
08:59
razetime left,
razetime joined
09:18
jetchisel left
09:21
jetchisel joined
09:25
linkable6 left
09:26
linkable6 joined
09:31
razetime left
10:31
evalable6 left,
sourceable6 left,
statisfiable6 left,
bisectable6 left,
bloatable6 left,
greppable6 left,
nativecallable6 left,
quotable6 left,
releasable6 left,
unicodable6 left,
notable6 left,
squashable6 left,
benchable6 left,
linkable6 left,
tellable6 left,
shareable6 left,
committable6 left,
reportable6 left,
coverable6 left,
nativecallable6 joined,
shareable6 joined,
coverable6 joined
10:32
squashable6 joined,
notable6 joined,
linkable6 joined,
tellable6 joined,
bloatable6 joined,
sourceable6 joined,
committable6 joined,
bisectable6 joined,
reportable6 joined
10:33
statisfiable6 joined,
unicodable6 joined,
quotable6 joined,
benchable6 joined
10:34
evalable6 joined,
greppable6 joined,
releasable6 joined
10:55
sena_kun left
10:56
sena_kun joined
11:05
frost joined
|
|||
guifa | you might have more buy in for working to ensure that the pointy-arrow return value excepts anything resolvable at compile time: that's a restriction in, e.g., interpolated module names in use statements | 11:07 | |
-1 is resolvable at compile time. 10 + $a (where $a is a compile-time constant) is similarly resolvable at a compile time | 11:08 | ||
guifa is afk | |||
Nemokosch | you mean "accepts", no? | 11:14 | |
I don't think this is an either-or thing, by the way. -1 _is a value and not an expression_. This needs to be fixed before it causes further trouble, regardless compile-time resolution. | 11:17 | ||
11:45
Kaiepi left
|
|||
Geth | doc: massa++ created pull request #4115: Including :x adverb |
11:50 | |
lizmat | Nemokosch: fwiw, with static optimization enabled, a -1 will be codegenned as a WVal of -1 | 11:51 | |
tellable6 | lizmat, I'll pass your message to Nemokosch | ||
12:03
jetchisel left
12:06
MoC left,
reportable6 left
12:09
reportable6 joined
12:13
frost left
|
|||
Nemokosch | lizmat: yeah no, my biggest worry isn't the generated code, rather the conceptual and grammar implications of "-1 is not a value but an expression" | 12:14 | |
lizmat | do you consider +1 to be an expression ? | 12:16 | |
Nemokosch | I don't consider it to be the same as -1, for sure | 12:17 | |
perhaps I still wouldn't consider it an expression but mainly it's not the same | 12:19 | ||
I'd say it's more valid to say "+1 is a numeric literal" than "-1 is not a numeric literal", it's less counterfactual regarding the expectations of whoever enters a number | 12:29 | ||
12:48
frost joined
12:56
epony left
13:00
m_athias left
13:01
m_athias joined
13:13
Kaiepi joined
13:14
jetchisel joined
13:23
Sgeo joined
|
|||
tonyo | if you're coming from haskell then you have no expectations of `-1` being a number..my presumption wouldn't be others' expectations | 13:31 | |
stackoverflow.com/a/61272957 | 13:35 | ||
13:35
Kaiepi left
|
|||
dutchie | consider APL/J where there is a separate minus sign to form a negative number literal (¯1 or _1) | 13:35 | |
possibly not relevant as a choice forced by other aspects of array language syntax, but interesting nonetheless | 13:37 | ||
tonyo | APL has a lot of interesting decisions/design | 13:45 | |
14:34
xinming left
14:37
xinming joined,
epony joined
|
|||
Nemokosch | perhaps _that_ shouldn't be the base of assumptions | 14:58 | |
Raku is advertised as a language that "just works the way you expect" and the mainstream interpretation seems to be: the way a lay person reads text | 15:00 | ||
if you are coming from 4th grade math, your expectation is that `-1` is a number, and `-1` will work everywhere where a numeric literal is needed - unless the domain explicitly excludes this value | 15:02 | ||
by the way, for Haskell: it eats -1 just fine, as a number, and doesn't eat +1 at all | 15:04 | ||
tonyo | fourth graders don't write a lot of code | 15:05 | |
and no, haskell doesn't. `let a = 5 - -1` is an error | |||
Nemokosch | yes, it does, I just tried it | 15:06 | |
and anyway, it's written down in the SO answer you linked | |||
everybody was a 4th grader once; not everybody did Haskell/APL | |||
and this is an advertised aspect of Raku design | |||
15:11
MoC joined
|
|||
Geth | doc: 760bbc3538 | (Humberto Massa)++ (committed using GitHub Web editor) | doc/Language/regexes.pod6 Including :x adverb (#4115) |
15:12 | |
linkable6 | Link: docs.raku.org/language/regexes | ||
15:13
linkable6 left
15:14
linkable6 joined
|
|||
Nemokosch | These discussions aren't chat compatible really, this format is a fuel of way too quick responses. I will do what I can, be it implementation or describing a rationale | 15:25 | |
Humberto Massa is a prolific Weekly Challenger 💯 | 15:27 | ||
15:34
Kaiepi joined
|
|||
[Coke] also sets up a basic win10 box in azure so he can do the win install instructions on a pristine box. | 16:00 | ||
tonyo | the original backend of rakudo was written in haskell | 16:31 | |
gist.github.com/tonyo-tatari/3c2c0...74cb896905 | |||
take a nice look at the ghci not allowing the `let` statement above | 16:32 | ||
16:32
dakkar left
|
|||
tonyo | well, one of the backends, anyway | 16:45 | |
Nemokosch | anyway, -1 is a number according to the REPL of haskell.org itself, and I still fail to see why this would be any relevant for Raku | ||
tonyo | i didn't say it was relevant to raku. it's relevant to making assumptions about peoples expectations, though | 16:47 | |
Nemokosch | well, very slightly | 16:50 | |
docs.raku.org/language/syntax#Literals the docs do mention (2 times out of 3) the current parsing | |||
tonyo | why would your expectations differ from the docs? | 16:51 | |
Nemokosch | no I mean, documenting the behavior is better than not documenting it | 17:00 | |
but doesn't make the behavior itself better | |||
so far, I'm yet to hear a benefit of this approach, something tangible | |||
and I already see a disadvantage: arrow returns don't work for negative numbers which is hardly justifiable towards an outsider | 17:01 | ||
this is how it all started. I wanted to fix arrow returns and realized that the whole grammar is built upon the assumption that negative numbers cannot be values | 17:02 | ||
17:03
Guest49 joined
|
|||
Guest49 | Hi who create this disgusting website? | 17:03 | |
docs.raku.org/language/5to6-nutshell | 17:04 | ||
Nemokosch | mehh, you haven't tried to learn Typescript from docs 😄 | 17:05 | |
oh right, one more thing. Probably it's possible to fix return arrows to accept any "constexpr" - but the mental acrobatics probably won't stop here, if one always have to pay attention to allow "negative literals" anywhere where literals are okay. | 17:08 | ||
The only convincing way I can imagine is some mechanism that ensures at parsing that "constexpr"s are turned into their values | 17:09 | ||
And even then, I would still think it's worth knowing if there was some tangible benefit on the side of minus-one-as-negated-one | 17:11 | ||
17:32
dextercd joined
17:36
Altai-man joined
17:38
sena_kun left
17:41
Altai-man left,
Altai-man joined
|
|||
lizmat | Guest49: anything else you'd like to say? | 17:49 | |
17:50
ChanServ sets mode: +o lizmat
17:54
Guest49 left
17:55
sena_kun joined
17:57
Altai-man left,
ChanServ sets mode: -o lizmat
18:07
reportable6 left
18:10
reportable6 joined
|
|||
Geth | mu: 955caf36c4 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | docs/Perl6/Cheatsheet/cheatsheet.txt Version 9 of the cheatsheet Replace the clearly wrong @*INC by $*REPO |
18:40 | |
[Coke] | github.com/lizmat/App-Rak/issues/1...1270549515 - anyone remember the fix for this 'zef install' error? | 19:05 | |
19:10
evalable6 left,
linkable6 left,
linkable6 joined
|
|||
lizmat | [Coke]: no idea, but I bet it's the same thing that is breaking CI on WIndows :-( | 19:10 | |
19:12
evalable6 joined
|
|||
lizmat | the path feels wrong though: a .tar.gz extension as a directory, and then a mix of separators ? | 19:12 | |
[Coke] | running in git bash on windows. | 19:16 | |
19:33
simcop2387 left,
perlbot left
19:35
perlbot joined
19:36
simcop2387 joined
20:30
justHaunted is now known as _justHaunted,
_justHaunted is now known as justHaunted,
frost left
|
|||
tbrowder | i’m trying to create another child class of DateTime. i don’t yet see a reliable way to pass new() args to self.DateTime::new(|c). some combos work and others don’t. do i need to unpack the |c from the subclass or redefine the capture before passing it along? or do i need to go the whole multi signature route? or is it a lost cause? i had success with DateTime::Julian, thanks to lizmat, because only one specific signature was | 20:35 | |
passed to self new, otherwise the (|c) works fine. | |||
20:36
Colere left
20:37
Colere joined
21:07
sena_kun left
21:08
sena_kun joined
21:40
MoC left
|
|||
lizmat | tbrowder: could you post a gist of what you're trying ? | 22:06 | |
22:12
sena_kun left
22:25
drakonis joined
|
|||
elcaro | Need some guidance on licenses. If I'm creating bindings to a shared lib (eg. .so, .dll) does the licens of my module have to comply with the license the shared lib is under? | 23:20 | |
I notice Inline::Go is MIT, but Go itself is BSD3. Both Inline::Ruby and Inline::Python are Artistic2 (which is largely a Perl/Raku thing) | 23:22 | ||
23:25
evalable6 left,
linkable6 left,
evalable6 joined
|
|||
elcaro | With a shared lib... I guess I'm not really including any source, so maybe there's no strict requirement? Halp | 23:26 | |
23:26
linkable6 joined
|
|||
[Coke] | Someone using your wrapper is bound by your license and the lib's license. | 23:27 | |
If you use the same license, you're making it easier on your users, presumably, so they only have to worry about one license. | |||
elcaro | I see | 23:28 | |
[Coke] | I am not a lawyer, but I do often ask the legal team at $dayjob "can we use this OSS thing?" | ||
elcaro | Yeah, what you said makes sense. Thanks | 23:29 | |
[Coke] | if you're doing a bundled distro (like, you're building a wrapper that CONTAINS the other thing and you're shipping both, that's a different set of issues. You may even be prohibited from doing that, depending on the original lib's license) | 23:30 | |
good luck! | 23:31 | ||
elcaro | Yeah, I'm not bundling... but yeah I think it makes sense to release the wrapper under the same license. They have to be ok with that license anyway to use the shared lib, so it only makes sense | ||
23:41
dextercd left
|
|||
tbrowder | lizmat: i'll post a gist tomorrow--almost my bedtime :-) | 23:41 | |
[Coke] | ugh. the small VM I created to do the windows build test is too small. | 23:59 |