🦋 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
|