🦋 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. |
|||
moon-child | hmm, why can't you atomic-fetch, atomic-assign, or cas non-ints? | 00:02 | |
00:02
reportable6 left
|
|||
patrickb | moon-child: The atomic ops are directly wired to a hardware functionality of the CPU, and that requires ints to work. | 00:03 | |
00:04
reportable6 joined
|
|||
moon-child | patrickb: you can atomically store, load, or cas any word. The CPU doesn't care if that word represents a pointer or an integer at the language level | 00:04 | |
ugexe | yeah a MWSR using atomic int or cas was my initial thought | 00:05 | |
patrickb | moon-child: What other native word size things do you have in mind that atomic ops would be useful on? | 00:06 | |
moon-child | patrickb: raku objects have identity; and they are boxed, so they are represented by a pointer, that is a word | 00:07 | |
patrickb | What semantic should modifying an object pointer in Raku have? | 00:09 | |
moon-child | same as assignment... | 00:12 | |
ugexe | github.com/Raku/roast/blob/dffc2a4....t#L22-L24 | ||
moon-child | ah, that works! Docs are out of date | 00:13 | |
00:14
lizmat_ joined
00:18
lizmat left
|
|||
ugexe | github.com/jnthn/p6-concurrent-sta.../Stack.pm6 is also a good example | 00:23 | |
patrickb | I'm off to bed. Thanks so far for everyone having a look. I'll backlog tomorrow, so please write, should you have another idea / comment. | 00:32 | |
moon-child | night! | 00:33 | |
00:34
patrickb left
00:40
tejr left,
tejr joined
01:15
Colt left,
Colt joined
|
|||
moon-child | m: sub f (--> Int) {}; say f | 01:16 | |
camelia | Nil | ||
moon-child | why? | ||
01:24
frost joined
|
|||
[Coke] | you didn't return anything, so Nil? | 01:29 | |
m: sub f() {} ; say f | |||
camelia | Nil | ||
moon-child | but I specified that the result should be an Int. So I would expect either an error or an Int type object | 01:30 | |
[Coke] | Yes. Nil is special. | ||
m: sub f(-->Int) {"hi"} ; say f | |||
camelia | Type check failed for return value; expected Int but got Str ("hi") in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
[Coke] | docs.raku.org/type/Nil | 01:31 | |
"The value Nil may be used to fill a spot where a value would normally go, and in so doing, explicitly indicate that no value is present." | |||
the first few paragraphs cover your question, I think. | 01:32 | ||
esp: "Along with Failure, Nil and its subclasses may always be returned from a routine even when the routine specifies a particular return type. " | |||
moon-child | ahh, ok! | 01:35 | |
[Coke] | m: Nil.is.a.special.value.say | 01:43 | |
camelia | Nil | ||
lucs | This looks a bit complicated, can it be simplified?: | 02:13 | |
m: my $t = DateTime.now; my $s = $t.second; note $t.posix + ($s - $s.truncate) | 02:14 | ||
camelia | 1637201640.9526284 | ||
moon-child | hmm, I could have sworn there was a function called 'frac' or some such to replace $s - $s.truncate, but apparently not | 02:21 | |
02:24
linkable6 left,
evalable6 left
02:27
linkable6 joined
|
|||
lucs | Oh, rereading the DateTime doc page, there is an Instant method that does it right off the bat | 02:32 | |
m: note DateTime.now.Instant; | |||
camelia | Instant:1637202801.88565274 | ||
lucs | *phew* | 02:33 | |
m: note DateTime.now.Instant.Num | 02:36 | ||
camelia | 1637203042.7485209 | ||
moon-child | m: say now.Num | 02:39 | |
camelia | 1637203182.772122 | ||
lucs | Fair enough :) | 02:45 | |
moon-child | :) | 02:46 | |
lucs | I love this language. | 02:47 | |
03:27
evalable6 joined
03:33
bruceAxtens joined
|
|||
bruceAxtens | > 'ACTU'.split("").Array.map(-> $v { $v.ord }) gives me (Nil 65 67 84 85 Nil) | 03:43 | |
Where are the Nil values coming from and how do I not get them | |||
03:45
RavingCodRoller joined
03:47
bruceAxtens left
|
|||
kjp | There is "nothing" before the "A", so the string is split there, giving the first Nil, and similarly at the end. | 04:02 | |
Generally in raku, if you want to specify what you want to keep, then use comb rather than split, so something like 'ACTU'.comb('.') would do. | 04:03 | ||
m: 'ACTU'.comb('.') | 04:04 | ||
camelia | ( no output ) | ||
Xliff | m: 'ACTU'.comb('.').gist.say | ||
camelia | () | ||
kjp | m: 'ACTU'.comb('.').say | ||
camelia | () | ||
Xliff | m: 'ACTU'.comb(/./).gist.say | ||
camelia | (A C T U) | ||
kjp | m: 'ACTU'.comb(/./).say | ||
camelia | (A C T U) | ||
elcaro | the `/./` is not necessary if you just want chars | 04:29 | |
m: say 'ACTU'.comb | |||
camelia | (A C T U) | ||
elcaro | m: say 'ACTU'.comb».ord | ||
camelia | (65 67 84 85) | ||
elcaro | m: say 'ACTU'.ords # or just this if you want ords | 04:30 | |
camelia | (65 67 84 85) | ||
04:36
RavingCodRoller left
|
|||
Xliff | Anyone interesetd in TUS? | 05:08 | |
tus.io/protocols/resumable-upload.html | |||
05:15
RavingCodRoller joined
05:33
RavingCodRoller left
05:42
Xliff left
05:43
swaggboi left
05:52
Xliff joined
05:56
swaggboi joined
06:02
reportable6 left
06:04
djerius left,
djerius joined
06:28
Xliff left,
Xliff_ joined
07:23
parv joined
07:27
seednode left
07:28
seednode joined
07:32
Manifest0 left
07:40
abraxxa joined
07:45
abraxxa left,
abraxxa joined
08:04
reportable6 joined
08:44
Sgeo left
09:05
jrjsmrtn left
09:08
jrjsmrtn joined
09:22
parv left
09:32
RakuIRCLogger left,
Geth left
09:33
Geth joined,
lizmat_ left,
lizmat joined
09:35
abraxxa left
09:55
abraxxa joined
10:10
squashable6 left
10:47
Manifest0 joined
10:49
Manifest0 left
10:50
Manifest0 joined
10:53
Manifest0 left
11:13
squashable6 joined
|
|||
tbrowder | m: my $doy=132;my $y=2021;my $t=Date.new(:year($y).later(:days($doy-1);say $t.day-of-year | 11:21 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use variable $t in declaration to initialize itself at <tmp>:1 ------> 3.new(:year($y).later(:days($doy-1);say $7⏏5t.day-of-year expecting any of: argument list … |
||
tbrowder | m: my $d=25;my $y=2021;my $t = Date.new(:year($y)).later(:days($d-1));say $t.day-of-year | 11:24 | |
camelia | 25 | ||
tbrowder | .tell lizmat i'm not sure Date.new from year, year-day is justifiable ^^^ | 11:26 | |
tellable6 | tbrowder, I'll pass your message to lizmat | ||
lizmat | tbrowder: yes, I was aware of that, and it's even simpler (code wise) | 11:45 | |
tellable6 | 2021-11-18T11:26:37Z #raku <tbrowder> lizmat i'm not sure Date.new from year, year-day is justifiable ^^^ | ||
lizmat | m: dd Date.new(:year(2021)) - 1 + 45 # the 45th day of the year 2021 | ||
camelia | Date.new(2021,2,14) | ||
11:51
hi joined,
hi left
12:02
reportable6 left
12:03
reportable6 joined
|
|||
lizmat | m: sub yearday($year, $day) { Date.new($year - 1, 12,31) + $day } # tbrowder probably the most efficient | 12:08 | |
camelia | ( no output ) | ||
12:12
discord-raku-bot left
12:13
discord-raku-bot joined
12:17
frost left
|
|||
lizmat | meh, still 18 submissions to go for the Advent Calendar: github.com/Raku/advent/blob/master...authors.md | 12:59 | |
13:17
evalable6 left,
linkable6 left
13:19
evalable6 joined
13:20
linkable6 joined
13:25
Manifest0 joined
|
|||
lizmat | PSA: logs.liz.nl now running on refactored IRC::Log and many other improvements, using less CPU and less memory | 13:30 | |
now on to using Cro 0.8.7 :-) | 13:32 | ||
13:43
Colt left
13:48
gordonfish- joined
13:49
gordonfish left
|
|||
tib | The ephemeral miniconf is going LIVE NOW: us02web.zoom.us/j/81869065466?pwd=...dPaTFuZz09 | 13:51 | |
13:52
MoC joined
|
|||
MasterDuke | oh, i thought i would be able to attend, but turns out i have a bunch of stuff already scheduled. will the presentations be recorded? | 13:54 | |
tib | JJ Merelo speaking right now | 14:16 | |
MasterDuke yes but not all | |||
14:17
MoC left
|
|||
Nemokosch | is JJ Merelo Spanish? | 14:20 | |
MasterDuke | yes | 14:21 | |
Nemokosch | Nice 😄 | 14:23 | |
[Coke] | m: dd "ABCD".split('', :skip-empty) | 14:31 | |
camelia | ("A", "B", "C", "D").Seq | ||
[Coke] | .comb is usually better for this use case, but you can use split. | 14:32 | |
14:54
ProperN[out] joined
|
|||
RaycatWhoDat | When making a grammar, what is the correct way to look for delimited block if the delimiters are on separate lines? | 14:54 | |
14:57
ProperN[out] left,
ProperN[out] joined,
ProperN[out] is now known as ProperNoun
15:06
jess joined
|
|||
tbrowder | lizmat: thnx, i didn't know Date could be incremented like that. i think i was confusing incrementing DateTime by duration of seconds. yr method is very handy. | 15:18 | |
15:25
sm2 joined
15:36
patrickb joined
|
|||
tib | (I will run a very small Raku quiz after jjatria QAs at the ephemeral mininconf) | 15:39 | |
15:53
gordonfish- is now known as gordonfish
|
|||
tib | (sjn won) | 15:55 | |
El_Che | sjn, damn that guy, he's just too nice ;) | 16:12 | |
sjn | pfft | 16:14 | |
I won because Kahoot is a made by a Norwegian country, so I get a "home advantage" :D | |||
s/country/company/ | 16:15 | ||
El_Che | you were in kahoot with them! | ||
s | |||
sjn | exactly! :-D | ||
16:19
suman joined
|
|||
suman | say $_ if $_~~ /regex/ for "file".IO.lines gives the line that match the regex. | 16:19 | |
How to get the line immediately after the match? | |||
16:24
andrea[m] left,
AlexDaniel left,
demostanis[m] left,
happy-dude left,
CIAvash left
16:35
bdju left
|
|||
sjn reads certitude.consulting/blog/en/invis...-backdoor/ | 16:36 | ||
16:36
CIAvash joined,
Maylay left,
chronon left
|
|||
sjn | Would it be sensible that the parser warns if it detects invisible/nonprintable characters in the code? | 16:36 | |
16:36
AlexDaniel joined,
happy-dude joined
16:37
demostanis[m] joined,
andrea[m] joined,
bdju joined
|
|||
sjn | (maybe this should be in #raku-dev) | 16:37 | |
16:37
sm2 left,
chronon joined
16:39
sm1 joined,
abraxxa left,
patterner_ left,
ecocode__ left,
leont left,
skaji left,
SmokeMachine left,
tbrowder left
16:40
mjgardner left,
kawaii_ left,
pjlsergeant left
16:41
Maylay joined,
pjlsergeant joined
16:42
ecocode__ joined,
PotatoGim left,
leont joined,
mjgardner joined,
SmokeMachine joined,
patterner_ joined
16:43
kawaii_ joined
16:44
PotatoGim joined,
skaji joined
16:45
tbrowder joined
16:49
suman left
16:50
suman joined
16:59
happy-dude left
17:01
AlexDaniel left
17:06
tejr left
17:07
tejr joined
17:14
sm1 left
|
|||
El_Che | weekly: github.com/dha twitter.com/GinaRSnape/status/1460...9101740033 both raku and perl community passed away | 17:32 | |
notable6 | El_Che, Noted! (weekly) | ||
17:32
AlexDaniel joined,
happy-dude joined
17:39
suman left
|
|||
Nemokosch | rip | 17:44 | |
17:46
lizmat_ joined
17:47
lizmat_ left,
lizmat_ joined
17:49
lizmat left,
lizmat_ left,
lizmat joined
17:53
patrickb left
18:03
reportable6 left
18:04
reportable6 joined
18:20
patrickb joined
18:41
dextercd joined
19:06
ajr joined
19:38
linkable6 left
20:23
sm1 joined
|
|||
daxim | raku job jobs.perl.org/job/21831 | 20:47 | |
El_Che | Desired skills: - German language :) | ||
daxim | could be worse | ||
El_Che | if I squint a little I can read it, I speak dutch :) | 20:48 | |
daxim | I have visited nl about a dozen times and will reflect that notion 🤝 | 20:51 | |
El_Che | when there keep driving south and you'll meet my blend of dutch (Belgium, Flanders) | ||
I sould like lizmat, but more polite :P | 20:52 | ||
lizmat | but less direct :-) | 20:56 | |
El_Che | :P | ||
21:02
ajr left
21:13
ajr joined
21:18
ajr left
21:24
sm1 left
21:34
jrjsmrtn left
21:36
jrjsmrtn joined,
jrjsmrtn left
21:37
jrjsmrtn joined
21:43
ajr joined
|
|||
Xliff_ | What does this error mean? "const_n32 NYI" | 22:16 | |
El_Che | not yet implemented? | 22:17 | |
moon-child | load of literal/constant 32-bit [floating-point] number is not yet implemented | ||
[Coke] | github.com/MoarVM/MoarVM/blob/mast...erp.c#L220 | 22:19 | |
22:23
ircuser left,
ircuser joined
|
|||
[Coke] | how did you trigger it, OOC? | 22:24 | |
(wondering how hard it would be to implement MVM_BC_get_N32) | |||
Xliff_ | Um. There is a problem. | 22:26 | |
Global value set in package is NOT equivalent to said value in INIT block. | 22:27 | ||
22:41
linkable6 joined
|
|||
MasterDuke | that kind of error usually means memory corruption | 22:42 | |
Geth | doc: cd32380ab4 | (Marc Chantreux)++ | doc/Language/5to6-nutshell.pod6 simpler explanation of $RAKULIB also remove reference to $PERL6LIB. |
23:01 | |
linkable6 | Link: docs.raku.org/language/5to6-nutshell | ||
23:07
Sgeo joined
23:51
dextercd left
|