🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
atweiden_air-- yes, combining Signature literals, e.g. 00:00
my Signature:D $sig-a = :(Str :param($)); my Signature:D $sig-b = :(Str :param($)); my Signature:D $sig-c = $sig-a + $sig-b;
or maybe 00:02
my Signature:D $sig-a = :(Str :param($));
my Signature:D $sig-b = :(Str :other($), |c where $sig-a);
use case is for cmdline argument parsing
00:03 epony left
atweiden_air-- where cmd1 has sig1, cmd2 has sig1+sig2 00:03
00:04 epony joined
atweiden_air-- if cmd1 has a long list of optional flags, it’s a lot of code to duplicate 00:04
00:05 epony left
atweiden_air-- but if a Signature literal can be added to dynamically, or combined with another, then that might be a clean way of handling arg parsing 00:05
drakonis hm, i see. 00:07
that would be quite nice. 00:11
SmokeMachine m: my $s1 = :($a); my $s2 = :($b); say Signature.new: :params(|$s1.params, |$s2.params) # atweiden_air— the only way I could find 00:12
camelia ($a, $b --> Mu)
00:13 qorg11 left 00:14 qorg11 joined
SmokeMachine m: my $s1 = :($a); my $s2 = :($b); say Signature.new(:params(|$s1.params, |$s2.params)) ~~ \(42, 13) 00:15
camelia False
SmokeMachine 01:15 <SmokeMachine> m: my $s1 = :($a, :$b!); my $s2 = :($c, $d = 42); say Signature.new(:params(|$s1.params, |$s2.params)) 00:17
m: my $s1 = :($a, :$b!); my $s2 = :($c, $d = 42); say Signature.new(:params(|$s1.params, |$s2.params))
camelia ($a, :$b!, $c, $d = 42 --> Mu)
SmokeMachine m: my $s1 = :($a, :$b!); my $s2 = :($c, $d = 42); say Signature.new(:params(|$s1.params, |$s2.params)).WHAT 00:18
camelia (Signature)
atweiden_air-- m: my $sig-a = :(:a($)); my $sig-b = :(:b($)); my Signature $sig-c .= new(:params(|$sig-a.params, |$sig-b.params)); multi sub a('c', |c where $sig-c) { 'c' }; multi sub a('a') { 'a' }; a('a'); a('c'); 00:24
camelia (signal SEGV)
ugexe maybe we should turn our CI systems off and just save the electricity 00:26
they also dont fit well with a commit to master workflow 00:28
atweiden_air-- can one use raku macros yet to plainly paste syntax? 00:31
just need the ability to copy/paste in optional args
e.g. `macro opts-base() { quote {Str :opt1($)} }; macro opts-aux() { quote {Str :opt2($)} }` 00:32
00:34 ugexe left
moon-child drakonis: why would you need tco to implement a stack machine? 00:49
00:56 frost joined 00:57 atweiden_air-- left
drakonis mostly so i can do some recursive constructs 00:58
inside the stack machine, that is 00:59
might try to build something similar to factor or forth
moon-child you would like to build a threaded interpreter? 01:13
01:51 epony joined
drakonis hmm 01:56
idk, sure?
02:04 perlbot left, simcop2387 left 02:06 perlbot joined, simcop2387 joined
moon-child well, yes or no? And if yes, why? 02:08
anyway: you could do something like cps, but where you _return_ continuations to a main loop, which repeatedly calls them
cf: my &f = ...; loop { &f = f() }
drakonis hm, i'll look into it 02:13
guifa futhark-lang.org <-- saw the language name, got excited for writing code with Unicode ᚠᚢᚦᚨᚱᚲ-y goodness, then got disappointed when it wasn't that 02:39
03:06 evalable6 left 03:07 linkable6 left, evalable6 joined 03:08 linkable6 joined 03:15 guifa left 03:16 guifa joined 04:16 benchable6 left, bloatable6 left, evalable6 left, sourceable6 left, linkable6 left, greppable6 left, notable6 left, coverable6 left, shareable6 left, unicodable6 left, reportable6 left, committable6 left, quotable6 left, releasable6 left, statisfiable6 left, nativecallable6 left, bisectable6 left, bisectable6 joined, quotable6 joined 04:17 releasable6 joined, reportable6 joined, bloatable6 joined, benchable6 joined, greppable6 joined, coverable6 joined 04:18 notable6 joined, nativecallable6 joined 04:19 sourceable6 joined, statisfiable6 joined, evalable6 joined, linkable6 joined, unicodable6 joined, committable6 joined, shareable6 joined 05:08 grondilu joined
Geth ecosystem: a21deed99c | (Lucien Grondin)++ (committed using GitHub Web editor) | META.list
Update META.list

adding Ed25519 entry
05:10
grondilu oh I forgot I had rights on this repo. I hope it's fine. 05:11
06:00 mexen joined 06:01 abraxxa joined 06:06 reportable6 left 06:09 reportable6 joined 06:12 atweiden_air-- joined, abraxxa left
atweiden_air-- m: class ABC { has $.abc }; ABC.new(:xyasfdadsf) 06:13
camelia ( no output )
atweiden_air-- is there a way to make this fail, without writing a custom new/BUILD?
06:13 abraxxa joined
guifa atweiden_air--: no, default new / BUILD ignore unknown named parameters/attributes 06:22
but you could make it easier by writing a trait 06:23
trait could install a custom new that balks at unknown ones
CIAvash There are modules for that: raku.land/github:ufobat/StrictClass raku.land/github:tadzik/ClassX::St...onstructor 06:30
atweiden_air-- CIAvash: tvm 06:37
06:50 Sgeo left 07:05 dakkar joined 07:26 Summer left, Summer joined 07:28 jjido joined 07:37 merpader1 is now known as merpaderp 07:44 jjido left 07:56 atweiden_air-- left 08:24 leah2 left 08:25 casaca left 08:27 ilogger2 left, Geth left, Geth__ joined 08:28 tobs left, tobs joined 08:31 destroycomputers left 08:32 Geth__ left, Geth joined, destroycomputers joined
Nemokosch I remember grondilu from the ephemeral miniconf I think <:cameliathink:897316667653247057> 08:35
08:38 rypervenche left, leah2 joined, rypervenche joined 08:40 ilogger2 joined 08:42 synthmeat left 08:52 jjido joined 08:57 synthmeat joined 08:59 epony left 09:23 lichtkind joined 09:33 jjido left 09:49 neither joined
grondilu nah you must have me confused with someone else. I don't even know what the ephemeral miniconf is. 09:50
<@297037173541175296> nah you must have me confused with someone else. I don't even know what the ephemeral miniconf is. 09:52
09:54 discord-raku-bot left, discord-raku-bot joined
Nemokosch hm, then why are you so familiar 😄 10:00
lizmat weekly: blog.perl-academy.de/2022-04-06-be...kshop-2022 10:06
notable6 lizmat, Noted! (weekly)
10:21 wingfold joined
moon-child m: say 1 10:28
camelia 1
Geth doc: 0a7a2e5215 | (Elizabeth Mattijsen)++ | doc/Language/variables.pod6
Add $*RAT-OVERFLOW lemma to runtime variables

Also sort them in alphabetical order.
10:51
linkable6 Link: docs.raku.org/language/variables
10:56 razetime joined 11:04 frost left
Geth doc: 29a31b53cb | (Elizabeth Mattijsen)++ | doc/Language/variables.pod6
Fix typo

  MasterDuke++
11:12
linkable6 Link: docs.raku.org/language/variables
11:15 Geth left, Geth joined, Altai-man joined 11:23 jjido joined 11:38 Geth left, Geth joined
Geth doc: b95cdedbf8 | (Elizabeth Mattijsen)++ | doc/Type/Rat.pod6
Mention $*RAT-OVERFLOW in the Rat documentation

  mscha++ for nudging
11:46
linkable6 Link: docs.raku.org/type/Rat
12:08 reportable6 left 12:09 ggoebel left, ggoebel joined, reportable6 joined 12:12 frost joined 12:20 neither left 12:26 melezhik joined
melezhik . 12:26
12:29 melezhik left 12:42 casaca joined, Altai-man left 12:43 Altai-man joined 12:57 notna joined
guifa CIAVash: heh, yeah, I guess a role works just fine too in this case 13:06
13:09 frost left 13:10 razetime left 13:25 razetime joined 13:26 frost joined 13:29 jjido left 13:32 frost left 14:13 qorg11 left
Geth doc: 469a431464 | Coke++ | 2 files
prefer US english spelling
14:18
doc: c404ac279f | Coke++ | 2 files
new words
lizmat [Coke]++ 14:19
[Coke] lizmat++ for doc updates! 14:20
14:24 Sgeo joined 14:26 qorg11 joined 14:35 euandreh left 14:40 euandreh joined 14:41 grondilu left 15:06 razetime left 15:20 neither joined
[Coke] running the script to clean up the wordlist in doc after a long gap, seems like it's faster than I recall. 15:20
15:20 razetime joined
[Coke] (it deletes each word one at a time and runs the aspell test for any files that contained that fragment) 15:21
lizmat [Coke]: well, that's one of the things I'm trying to achieve with all of the CUR work atm :-) 15:25
making specifically CLI scripts faster because of faster loading
and faster compiling 15:26
15:28 [Coke] left 15:30 [Coke] joined 15:33 guifa left 15:35 djerius left 15:37 djerius joined, guifa joined
guifa [Coke] that reminds me I need to return to my work with spelling modules 15:37
Someone made a much cleaner version of Hunspell they've called Nuspell 15:40
15:41 dakkar left
perryprog oh? 15:44
what's worng with hunspell
16:00 razetime left, notna left
guifa did you try reading its code? hahhaa 16:11
It worked, but apparently Nuspell has managed to run about 4x faster with less overhead and better unicode support 16:12
Doing the spell check algorithm is super fast and easy. it's generating the suggestions that's a Hard problem 16:15
Nuspell works off of Hunspell dic/aff files (but doesn't do the part-of-speech stuff, which makes me sad since I was actually relying on that for a project) 16:16
16:17 guifa left 16:25 linkable6 left, morte_ joined 16:26 linkable6 joined 16:29 notna joined 16:30 eseyman left, notna left 16:46 eseyman joined 16:50 mexen left, ggoebel left 17:20 abraxxa left 17:21 zacts joined
perryprog I always found hunspells suggestions to be super good for libreoffice's dicts 17:24
17:27 guifa joined 17:37 Altai-man left 17:40 zacts left
Geth doc: 9dc7f760f8 | Coke++ | util/clean-spell
add debug output
17:43
doc: a120e1b92b | Coke++ | util/clean-spell
Make grep selection dumber.

Grep and aspell disagree about what a word is; 'compat', for example, isn't found by grep -wli, but is considered a word because it's separated by underscores.
It means we'll have to test more files to be sure we still need the entry, but removes a chance for false positives.
[Coke] was excited that we found some old words we could delete, but they turned out to still be needed. 17:44
Geth doc: 6db9535af1 | Coke++ | xt/pws/words.pws
remove unused word
17:47
[Coke] is there a way to write a regex that is "anything lexigraphically after 'foo'" ? 17:57
japhb [Coke]: Notionally capture what you want to compare, and then have an embedded block that does a "gt" comparison? 17:59
* between the thing you just captured and the word you want to compare to
Umm, that's not counting collation order issues, and though I know someone (samcv?) did work on that, I don't remember what needs to be done to make use of that code. 18:00
18:03 zacts joined
[Coke] I can do the capture, but doing the comparison is eluding me. 18:03
I have support in that script to only check words that match a regex, would be nice to use that to say "everything after the last word I know you processed" 18:04
(without having to write a new mechanism in the script, which i can also do)
18:05 reportable6 left 18:06 reportable6 joined
[Coke] ... but much easier to add the new mechanism in the script. :) 18:08
18:11 zacts left 18:18 Sgeo left 18:21 Sgeo joined
japhb m: my $words = 'abc foo quux xyzzy'; .say for $words ~~ m:g/ [« \w+ »] <?{ ~$/ gt 'foo' }> /; # [Coke] 18:29
m: my $words = 'abc foo quux xyzzy'; .say for $words ~~ m:g/ [« \w+ »] <?{ ~$/ gt 'foo' }> /; # [Coke] 18:30
camelia ï½¢quuxï½£
ï½¢xyzzyï½£
18:47 sena_kun left 18:48 sena_kun joined 19:12 wingfold left 19:28 epony joined 19:29 melezhik joined
melezhik .tell p6steve -  I fixed the issue with branches on sparkyci - now _any_ default branch changes will trigger a build ... 19:30
19:34 melezhik left 19:46 jjido joined 20:20 sena_kun left 20:21 sena_kun joined 20:49 guifa left 20:59 djerius left 21:01 djerius joined 21:03 jjido left 21:24 jgaz joined 21:26 lichtkind_ joined 21:29 lichtkind left 21:30 jgaz left 21:59 morte_ left 22:01 p6steve left 22:02 p6steve_ left 22:04 p6steve joined 22:06 p6steve_ joined 22:11 p6steve_ left, p6steve left 22:17 p6steve joined, p6steve_ joined 22:22 p6steve_ left 22:23 p6steve left 22:52 p6steve joined 22:53 p6steve_ joined 22:58 p6steve_ left, p6steve left, lichtkind_ left
[Coke] Anyone have thoughts on splitting the word lists in doc spell check into not just code snippets & everything else, but language feature names, code snippets, and everything else? 23:10
(it's probably not worth the effort) 23:11
23:25 p6steve joined, p6steve_ joined 23:29 p6steve left 23:30 p6steve_ left 23:42 p6steve joined 23:46 p6steve left 23:57 p6steve joined 23:58 p6steve_ joined