š¦ 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: ... | Logs can be inspected at colabti.org/irclogger/irclogger_log/raku Set by lizmat on 1 May 2021. |
|||
canbenshanlo | take-while doesn't | 00:00 | |
codesections | m: say gather for [3, 5, 1, 2, 3] { $_ !%% 2 ?? .take !! last } | 00:01 | |
camelia | (3 5 1) | ||
ugexe | grep can work lazily | ||
gfldex | m: say [3,5,1,2,3].grep(* !%% 2).unique; | 00:02 | |
camelia | (3 5 1) | ||
00:02
reportable6 left
|
|||
ugexe | oh i misunderstood what you meant by evaluate the whole list | 00:03 | |
canbenshanlo | codesections: thanks, 'last' is the piece that i was missing | ||
gfldex | m: my \l := [3,5,1,2,3].grep({say 'lazy'; $_ !%% 2}).unique; say l[^2];Ā¶ | 00:04 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus statement at <tmp>:1 ------> 3ay 'lazy'; $_ !%% 2}).unique; say l[^2];7ā5Ā¶ expecting any of: prefix term |
||
gfldex | m: my \l := [3,5,1,2,3].grep({say 'lazy'; $_ !%% 2}).unique; say l[^2]; | ||
00:04
reportable6 joined
|
|||
camelia | lazy lazy (3 5) |
00:04 | |
ugexe | gfldex: it needs to be a grep that stops once it sees an even number | 00:05 | |
canbenshanlo | gfldex: sure, but i don't know in advance how many items i will need | ||
actual problem involves 200mil combinations, picking the front while a certain condition applies | |||
gfldex | there are always Exceptions to deal with exceptional control flow | 00:06 | |
codesections | m: say [3, 5, 1, 2, 3].map: { $_ !%% 2 ?? $_ !! last } # last also works with map | 00:07 | |
camelia | (3 5 1) | ||
moon-child | the grep solution doesn't have the correct behaviour | 00:08 | |
m: sub odd($i) { $i !%% 2 }; say [3, 5, 1, 2, 7].grep(&odd).unique | 00:09 | ||
camelia | (3 5 1 7) | ||
canbenshanlo | gfldex: is take-while really exceptional for a hundred-year multi-paradigm lang supporting other similar functional constructs? | ||
moon-child | 7 shouldn't show up in the output | ||
gfldex | m: say [3, 5, 1, 2, 7].map: { $_ !%% 2 or last } | 00:10 | |
camelia | (True True True) | ||
gfldex | m: say [3, 5, 1, 2, 7].grep: { $_ !%% 2 or last } | ||
camelia | (3 5 1) | ||
canbenshanlo | or last is elegant, thanks! | 00:11 | |
moon-child | gfldex: ooh, nice | ||
gfldex | last fires a control exception, so my argument still stands :) | 00:12 | |
codesections | I mean, I think &last technically throws a control exception under the hood. (a control exception, CX::Last) | ||
00:37
b2gills joined
00:57
marcusr left
00:58
marcusr joined
01:29
reach_satori left
01:33
kvw_5_ joined,
canbenshanlo left
01:37
kvw_5 left
02:02
clarjon1 left
02:04
rindolf joined
02:25
DiffieHellman left
02:26
DiffieHellman joined
03:26
squashable6 left,
sourceable6 left,
shareable6 left,
reportable6 left,
nativecallable6 left,
bloatable6 left,
unicodable6 left,
committable6 left,
releasable6 left,
quotable6 left,
statisfiable6 left,
linkable6 left,
tellable6 left,
greppable6 left,
evalable6 left,
bisectable6 left,
coverable6 left,
benchable6 left,
notable6 left,
benchable6 joined,
tellable6 joined,
evalable6 joined,
quotable6 joined,
statisfiable6 joined
03:27
coverable6 joined,
sourceable6 joined,
greppable6 joined
03:28
bisectable6 joined,
linkable6 joined,
shareable6 joined,
notable6 joined,
unicodable6 joined,
committable6 joined,
reportable6 joined,
squashable6 joined,
bloatable6 joined
03:29
nativecallable6 joined,
releasable6 joined
03:44
DiffieHellman left
03:55
DiffieHellman joined
03:58
lucasb left
04:47
dotdotdot left
04:48
rindolf left
04:53
dotdotdot joined
05:40
parabolize left
05:44
wamba joined
05:45
rindolf joined
06:02
reportable6 left,
aluaces left
06:03
reportable6 joined
06:06
ufobat joined
06:18
brtastic joined
06:38
aluaces joined
06:39
stoned75 joined
06:49
wamba left
06:53
pecastro joined
06:56
abraxxa joined
07:03
abraxxa left
07:04
abraxxa joined
07:14
asymptotically joined
07:15
Sgeo left
07:32
brtastic1 joined,
brtastic left,
brtastic1 is now known as brtastic
|
|||
japhb | šāšāšā v0.1.2 has been released and is uploaded to fez/zef! Now with higher performance, CBOR serialization, many more docs, and many bug fixes! See github.com/Raku-MUGS/MUGS/blob/mai.../v0.1.2.md for details. :-) | 07:47 | |
To be precise, that's *MUGS* 0.1.2. (oops) | 07:48 | ||
07:53
tejr left
07:57
tejr joined
08:03
Altai-man_ joined
08:04
sena_kun left
08:07
abraxxa left
08:14
Altai-man_ left
08:16
sena_kun joined
08:27
wamba joined
08:37
AlexDaniel` left
08:38
ServerStatsDisco left
08:40
AlexDaniel` joined
08:44
ServerStatsDisco joined
09:23
eseyman left
09:28
eseyman joined
09:40
pecastro left
09:48
cpage left
09:52
pecastro joined
10:01
canbenshanlo joined
10:11
cgfbee left
10:26
mowcat joined
10:29
wingfold left
11:03
sftp left
11:15
mowcat left
11:24
aborazmeh joined
11:27
__jrjsmrtn__ left
11:28
__jrjsmrtn__ joined
11:31
mowcat joined
11:40
aborazmeh left
11:43
yacatuco joined
11:48
stoned75 left
|
|||
tbrowder | m: my @a=<cc bb aa c b a>; @a.append(<dd d>).sort | 11:50 | |
camelia | ( no output ) | ||
tbrowder | m: my @a=<cc bb c b>; @a.=append(<aa a>).sort; say @a | 11:52 | |
camelia | [cc bb c b aa a] | ||
tbrowder | m: my @a=<aa a>; say @a.sort | 11:53 | |
camelia | (a aa) | ||
tbrowder | m: my @a; @a.=append(<b a>).sort; say @a | 11:55 | |
camelia | [b a] | ||
tbrowder | hi, all. why doesn't the chained sort work on the array? | 11:56 | |
m; my @a; @a.=append(<b a>); @a.=sort; say @a | 11:58 | ||
arg | |||
m: my @a; @a.=append(<b a>); @a.=sort; say @a | 11:59 | ||
camelia | [a b] | ||
12:02
reportable6 left
|
|||
tbrowder | is it because the .= operator negates any chaining? if not, wouldn't a warning be appropriate? | 12:02 | |
Altreus | I'm into this sort of question | ||
I was trying to see the obvious answer but you'd assume it would translate into @a = @a.append(<b a>).sort | 12:03 | ||
tbrowder | Altreus: good day! | ||
Altreus | hallo | ||
12:03
reportable6 joined
|
|||
Altreus | m: my @a = <c d>; @a = @a.append(<b a>).sort; say @a | 12:04 | |
camelia | [a b c d] | ||
tbrowder | i ran into the issue while building some tests and being lazy. i also got bit by another nit on arrays | ||
Altreus | m: my @a = <c d>; @a .= append(<b a>).sort; say @a | ||
camelia | [c d b a] | ||
Altreus | My assumption is it is parsed as (@a .= append(<b a>)).sort | 12:05 | |
i.e. the sort is sunk | |||
tbrowder | weird! it's not just me | ||
let me try to show another unexpected thingy... | |||
m: my @a=<a>; say @a; my @b = @a.append(<b>); say @b; say @a | 12:07 | ||
camelia | [a] [a b] [a b] |
||
tbrowder | weird! | ||
12:08
stoned75 joined
|
|||
tbrowder | bugs? | 12:08 | |
Altreus | that seems right; append mutates the array and returns the new array | ||
still feels like programming culture is sitting on the fence between mutable and immutable | 12:09 | ||
tbrowder | but i can see that if i had enclosed the @a.append in parens | 12:10 | |
Altreus | not sure I'm following, sorry | ||
exempli gratia? | 12:11 | ||
tbrowder | @b = (@a.append(<b>)) | ||
Altreus | I don't think that is substantially different | 12:12 | |
tbrowder | ok, i think i see. thnx | 12:13 | |
Altreus | m: my @a = <a>; say @a.append(<b>); | 12:17 | |
camelia | [a b] | ||
Altreus | is return value of append that goes into @b | ||
tbrowder | i understand that, but shouldn't the chained sort example also affect the first example? | 12:20 | |
Altreus | I think the append example definitely lends credence to your expectations from the sort example | 12:26 | |
append definitely returns the correct data to then be sorted | 12:27 | ||
.= must therefore bind more tightly than . | |||
hmm | |||
m: my @a = <c d>; @a .= (append(<b a>).sort); say @a | |||
camelia | Cannot call 'append' on an immutable 'List' in block <unit> at <tmp> line 1 |
||
Altreus | grumble | 12:28 | |
wait what | |||
now that makes no sense :D | |||
raydiak | . and .= are equal precedence, left associative | 12:29 | |
m: my @a; append @a, 1; say @a; # it thinks this is what you're asking for, but <b a> is not mutable | 12:31 | ||
camelia | [1] | ||
Altreus | oh | 12:32 | |
tbrowder | i just stepped away and i think i know where i was going wrong... | ||
Altreus | you left perl5 for pastures green? | ||
tbrowder | you said the clue, too: sink | ||
Altreus | what are you sinking about | 12:33 | |
tbrowder | yes, but i was reading the chain order the wrong way... | ||
Altreus patiently awaits m example :) | 12:34 | ||
raydiak | m: my @a=<cc bb c b>; @a.append(<aa a>).=sort; say @a | ||
camelia | [a aa b bb c cc] | ||
Altreus | O_o | 12:35 | |
that is unintuitive | |||
lizmat | why? the return value of @a.append is @a | ||
Altreus | hold up, is sort a mutator or an adapter? | ||
that's exactly why it's unintuitive | 12:36 | ||
lizmat | adapter | ||
but .= sort makes it a mutator | |||
Altreus | or rather it's unintuitive that the *other* thing didn't work | ||
It's also unintuitive that append and sort work differently | 12:37 | ||
the language is equally imperative but the semantics are different | |||
tbrowder | m: my @a=<a>; my @b=<b>; say @a;say @b; @b.=.sort.append(<f e>); say @b | 12:38 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing required term after infix at <tmp>:1 ------> 3y @a=<a>; my @b=<b>; say @a;say @b; @b.=7ā5.sort.append(<f e>); say @b expecting any of: dotty method or postfix |
||
tbrowder | well barf | ||
Altreus | too many dots? | 12:39 | |
I love the use of the eject symbol in Raku errors | |||
so much better than perl5 just complaining about a line somewhere in the vicinity | |||
tbrowder | m: my @b; @b.=sort.append(<b a>); say @b | ||
camelia | [b a] | ||
Altreus | at least that makes sense | 12:40 | |
tbrowder | ah, well, at least i know what not to try :-D | ||
raydiak | basically what's confusing here is that sort returns a sorted copy of the array, while append mutates the array and returns it. append is similar to p5 push in that it requires an actual mutable array, and sort is similar to p5 sort, which can sort any list even if it's not in an array. | 12:50 | |
which is why append is a method of Array, and sort is a method of List | |||
tbrowder | ah, i should read (and understand) the docs on types more! thnx | 12:52 | |
raydiak | yw :) | 12:56 | |
13:08
evalable6 left,
linkable6 left
13:09
linkable6 joined
13:10
evalable6 joined
13:11
PimDaniel joined
|
|||
PimDaniel | \o Hi. | 13:11 | |
What is a Seq? | 13:12 | ||
sienet_ja_LSD[m] | it's a thing you loop over | ||
lizmat | m: dd <a b c>.map( *.succ } | 13:13 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3dd <a b c>.map( *.succ 7ā5} |
||
lizmat | m: dd <a b c>.map( *.succ ) | ||
camelia | ("b", "c", "d").Seq | ||
lizmat | m: dd <a b c>.map( { last if $_ eq "b"; .succ }) | 13:14 | |
camelia | ("b",).Seq | ||
PimDaniel | Ok so a list is a Seq? | ||
Or a Seq is a List? | 13:15 | ||
lizmat | m: dd Seq ~~ List | ||
camelia | Bool::False | ||
lizmat | m: dd List ~~ Seq | ||
camelia | Bool::False | ||
lizmat | m: dd List ~~ Iterable | ||
camelia | Bool::True | ||
lizmat | m: dd Seq ~~ Iterable | ||
camelia | Bool::True | ||
stoned75 | have a look the the fine documentation "Lists, sequences and array" docs.raku.org/language/list | ||
lizmat | m: dd List ~~ Positional | ||
camelia | Bool::True | ||
stoned75 | *arrays | ||
lizmat | m: dd Seq ~~ Positional | ||
camelia | Bool::False | ||
PimDaniel | All theses types are very confused to me and are hard to learn. Seq Array List Positionnal :/ | 13:17 | |
sienet_ja_LSD[m] | A sequence, Seq , knows how to make a future List . Itās similar to a List but itās lazy. | ||
It knows where its values will come from and defers producing them until you | |||
actually need them. | |||
PimDaniel | The problem with the reference documentation is you do not know where to search what you need. | 13:18 | |
sienet_ja_LSD[m] | perl 6 book and think perl 6 are also nice | 13:19 | |
13:19
asymptotically left
|
|||
PimDaniel | sienet_ja_LSD is Perl 6 book sold? Where may we have it? | 13:21 | |
lizmat | afk for a few hours& | ||
PimDaniel | Thank all of you for your help. | 13:22 | |
sienet_ja_LSD[m] | PimDaniel: github.com/Raku/book | ||
lizmat | sienet_ja_LSD[m]: that's pretty out of date | 13:23 | |
greenteapress.com/wp/think-perl-6/ | |||
allows you to download as PDF | 13:24 | ||
sienet_ja_LSD[m] | aye that one | ||
PimDaniel | sienet_ja_LSD[m] It does NOT build because : where does this module come from : Pod::PseudoPod::LaTeX ? And what is it? Thank you! | 13:27 | |
sienet_ja_LSD It does NOT build because : where does this module come from : Pod::PseudoPod::LaTeX ? And what is it? Thank you! | 13:28 | ||
sienet_ja_LSD[m] | it looks like a perl5 module | 13:29 | |
cpan Pod::PseudoPod::LaTeX | |||
PimDaniel | sienet_ja_LSD Could NOT build raku book because : where does this module come from : Pod::PseudoPod::LaTeX ? And what is it? Thank you! | 13:32 | |
sienet_ja_LSD Could NOT build raku book because where does this module come from : Pod::PseudoPod::LaTeX ? And what is it? Thank you! | |||
sienet_ja_LSD[m] | it is a perl5 module | 13:33 | |
PimDaniel | sienet_ja_LSD Could NOT build raku book because where does this module come from Pod/seudoPod/LaTeX ? And what is it? Thank you! | ||
sienet_ja_LSD[m] | you need to use cpan to install it | ||
PimDaniel | what | ||
13:33
PimDaniel left,
PimDaniel joined,
yacatuco left
13:34
Sgeo joined
|
|||
PimDaniel | sienet_ja_LSD Could NOT build raku book because where does this module come from Pod/PseudoPod/LaTeX.pm ? And what is it? Thank you! | 13:34 | |
I've not it in Debian i think! | |||
sienet_ja_LSD[m] | this is probably a better resource that gives the same info than the book you are trying to build greenteapress.com/wp/think-perl-6/ | 13:35 | |
PimDaniel | Well now 2 questions: | 13:40 | |
1 transform a word into it's letters list. | 13:41 | ||
How can we do that? | |||
m: my @lst = "Interview".split(''); @lst.raku.say | 13:45 | ||
stoned75 | m: "hello".comb | ||
camelia | ["", "I", "n", "t", "e", "r", "v", "i", "e", "w", ""] | ||
( no output ) | |||
stoned75 | m: "hello".comb.say | ||
camelia | (h e l l o) | ||
PimDaniel | stoned75 this is still a reference search problem : how could i know a .comb method did what i searched. :( | 13:46 | |
stoned75 Thank You! | 13:47 | ||
stoned75 | :) and you're welcome | 13:48 | |
PimDaniel | thank's and the second questions is resolved. | 13:50 | |
sienet_ja_LSD I could download the pdf raku book here greenteapress.com/wp/think-perl-6/ , thank you. | 13:54 | ||
14:02
parabolize joined
14:21
PimDaniel left
14:24
wamba left
14:29
thundergnat joined
14:36
ufobat_ joined
14:39
ufobat left
14:40
thundergnat left
15:14
brtastic left
15:20
ufobat_ left
15:35
jmerelo joined,
epony left
16:11
epony joined,
Black_Ribbon joined
16:34
PimDaniel joined
|
|||
PimDaniel | \o | 16:34 | |
How to delete values into a list : i've allready do that but i do not remenber. | 16:35 | ||
This time it is a list of Int : my Int @numbrs = ( 1,8,9,33,2); want to delete 8 and 33, how? thank you! | 16:37 | ||
16:39
kaun_ joined
16:40
kaun_ left
|
|||
tonyo | PimDaniel: cpan is in debian by default | 16:41 | |
lizmat | m: my Int @numbrs = ( 1,8,9,33,2 ); say @numbrs.grep( { ! ($_ ~~ 8|33) } ) # PimDaniel: a way to do it | 16:42 | |
camelia | (1 9 2) | ||
lizmat | sometimes I think we need a :negate or so named for .grep | 16:43 | |
then you could write that as: | |||
stoned75 | .grep:v() ;-) | ||
.grep:-v() ;-) | |||
lizmat | m: my Int @numbrs = ( 1,8,9,33,2 ); say @numbrs.grep( 8|33, :negate ) | 16:44 | |
camelia | Unexpected adverb 'negate' passed to grep on '@numbrs'. in block <unit> at <tmp> line 1 |
||
lizmat | stoned75: yeah, but :v is already taken | ||
stoned75 | indeed | ||
or a .reject() | |||
lizmat | m: my Int @numbrs = ( 1,8,9,33,2 ); say @numbrs.grep( 8|33 ) | ||
camelia | (8 33) | ||
stoned75 | or .grep-v() | 16:45 | |
tonyo | .grep:É () | ||
stoned75 | gah... Real, Real.Bridge, and methods .Int, .Rat, .Num in classes which do Real have me confused | 16:47 | |
PimDaniel | Yeah! that's even more than i expected! thank you , stoned75 i like the .grep:-v but where are datas exactly ? you meant @newlist := @numbrs.grep:-v(8,33)? | 16:49 | |
canbenshanlo | m: say (1,8,9,33,2).grep(none 8 | 9) | ||
camelia | (1 33 2) | ||
stoned75 | PimDaniel: ah sorry grep:-v() does not exist :-} | ||
go for what lizmat said | |||
or rather suggested | 16:50 | ||
PimDaniel | stoned75: Ok, no problem! You'r welcome! | ||
m: my Int @numbrs = ( 1,8,9,33,2); say @numbrs.grep( { ! ($_ ~~ 8|33) } ) | 16:51 | ||
camelia | (1 9 2) | ||
lizmat | m: say (1,8,9,33,2).grep(none(8,9)) | 16:53 | |
camelia | (1 33 2) | ||
lizmat | canbenshanlo's version is also pretty good :-) | 16:54 | |
canbenshanlo | ruby's .reject is still better ;) | ||
PimDaniel | lizmat less tricky syntax | ||
canbenshanlo i do not know ruby but i agree that even Raku syntax is often heavy | 16:55 | ||
It thought it would be one of the things to resolve in Raku. :( | 16:56 | ||
*I thought it would be... | |||
and if i remenber it was one of the goal when Perl6 occured... do not wanna blame because it is powerfull for many things but... | 16:58 | ||
lizmat | well, fwiw, .grep is one of the things that were more or less taken verbatim from Perl :-) | 16:59 | |
PimDaniel | lizmat I agree this kind of thing @numbrs.grep( { ! ($_ ~~ 8|33) } ) ressemble to Perl | ||
lizmat | 8|33, :reject | ||
would have been clearer :-) | |||
still: none(8.33) is also pretty clear I's day ? | 17:00 | ||
*none(8,33) | |||
*I'd say :-) | |||
17:01
aluaces left
|
|||
PimDaniel | I'll be clear enought for me. | 17:01 | |
17:02
clarjon1 joined
|
|||
codesections | relatedly, is there any particular reason we don't have an operator for .none? It's the only junction without one | 17:06 | |
17:06
swaggboi left
|
|||
lizmat | codesections: ran out of easy memorizable symbols ? | 17:06 | |
codesections | ha, fair | ||
canbenshanlo | "powerfull for many things" -- it really is. need multi-sort just today and was glad that raku has me covered on that front via .sort({ -.value, .key }) | 17:07 | |
needed* | |||
17:08
PimDaniel left
|
|||
canbenshanlo | say, where do discussions regarding new operators and functions for inclusion into the stdlib happen? kinda lost with all these different raku repos on github. | 17:10 | |
17:11
swaggboi joined
|
|||
canbenshanlo | or is it just a matter of someone writing up a PR for the test suite and it either gets merged or rejected? | 17:11 | |
codesections | m: say ((1,8,9,33,2) (-) (8,33)).keys # Also works, if you don't mind the parens | ||
camelia | (1 9 2) | ||
canbenshanlo | already gone | 17:12 | |
17:13
PimDaniel joined
17:14
PimDaniel left
17:19
aluaces joined
|
|||
lizmat | canbenshanlo the latter | 17:31 | |
canbenshanlo | kk, i see, thanks | 17:32 | |
[Coke] | ran "zef update" and it showed 3 urls as updating/updated... and now is just sitting there. | 17:37 | |
(top shows it using most of a CPU) | |||
tonyo | it's mining bitcoins | 17:40 | |
Altreus | hallelujah | 17:41 | |
17:43
MasterDuke joined
17:50
sftp joined
|
|||
[Coke] | still running... | 17:50 | |
(it's also using up 7% of the memory on the box) | 17:51 | ||
17:51
jmerelo left
|
|||
[Coke] | (and leaking) | 17:53 | |
ugexe: any diagnostics I can run on this that would be helpful or should I just kill it and re-run? | 17:54 | ||
tonyo | [Coke]: is there a curl or wget process running under zef? | 17:55 | |
might be timing out on a url | 17:56 | ||
[Coke] | more like not timing out | 17:57 | |
wouldn't be chewing a CPU at that point, I don't think. | 17:58 | ||
also, based on output, it has fetched the 3 urls it was working on | |||
ugexe | i'd just kill and rerun | 18:00 | |
18:02
reportable6 left
18:03
reportable6 joined
|
|||
[Coke] | ok. quickly got through "updated" on all 3 urls... | 18:06 | |
now using 1.5 CPUs and 2% memory | |||
(and growing) | 18:07 | ||
yup, just froze again. | 18:32 | ||
2/3 CPU, 7.1% MEM | |||
18:34
wamba joined
18:35
wamba left
|
|||
[Coke] just goes on to do the upgrade he was trying to do | 18:36 | ||
ugexe | the only thing i can think of is the ~/.zef getting too big and somehow causing an issue | ||
so `zef nuke RootDir` | |||
`zef update --/cached` would also work to test it without deleting the dir | 18:38 | ||
[Coke] | .zef is 4.9G | 18:40 | |
the nuke command expected to be slow? | 18:42 | ||
(should I just rm -rf ~/.zef ?) | 18:43 | ||
ugexe | `rm -rf ~/.zef` is the same thing, but without iterating over everything | 18:44 | |
[Coke] | ok. removed, reran 'zef update', and it finished in (about) 10s instead. | 18:46 | |
ugexe++ | |||
ugexe | it was taking all that time building that table at the end | ||
but for the cache | |||
codesections | [Coke]: Out of curiosity, how did you wind up with a ~5 gig .zef? I just checked mine, and it's sitting at ~200 mb | 18:47 | |
[Coke] | is there a threshold where maybe we suggest users run the nuke or otherwise cleanup? | ||
codesections: I've been using zef since it was released and didn't realize I had to clean it up? | |||
codesections | and I haven't really been restrained :D | ||
[Coke] | ugexe: or maybe silently clean up stuff older than <x> ? | 18:48 | |
codesections | fair, I guess I haven't had it quite as long. And I did --nuke it once (to clean up user error) | ||
19:00
aluaces left
|
|||
ugexe | well technically the cache is an ecosystem. just a local one | 19:02 | |
so suggesting to delete seems alright, but im not sure about silently deleting things | |||
[Coke] | the suggestion is fine; just a rough thing to sit for 30 minutes waiting. | 19:15 | |
codesections: after nuking it and upgrading MUGS, I'm already at 335M | 19:16 | ||
tonyo | my dir is a year or so old and 48M | 19:24 | |
japhb | OK, loving that your test was upgrading MUGS, [Coke]. :-) | 19:40 | |
21:09
wamba joined
21:40
wamba left
21:43
aluaces joined
21:51
Xliff joined
|
|||
Xliff | \o | 21:52 | |
Can someone tell me why this isn't outputting <a b c d e f>? | |||
replit.com/join/pvfzblor-xliff | |||
moon-child | Xliff: I apparently need to register for a service to read that, can you post it somewhere else? | 21:54 | |
Xliff | Is there another online Raku REPL? | ||
moon-child | I don't know. But you can just paste the source code by itself, no? | 21:55 | |
Xliff | Hmm... try TIO? | ||
tio.run/##fY/bCoJAFEXf5ys2UVAQQtcH...1mPRl1DKJw | |||
That's an obnoxious link.... | 21:56 | ||
moon-child | nextwith isn't a regular function call, it _switches_ to the next candidate | 21:59 | |
so B.keys transfers control to A.keys, and A.keys returns directly to the top level | |||
try callwith | |||
(or callsame, which I think is clearer though it doesn't make a difference in this case) | |||
Xliff | LOL! I keep forgetting that. | 22:00 | |
gfldex | Xliff: glot.io/new/raku does not need a registration | 22:01 | |
moon-child wonders why there is no samesame | |||
I guess for pure functions it would always cause an infinite loop. But who needs purity? | 22:02 | ||
Xliff | gfldex: Thanks! | ||
OK, TIO updated. Is there a way this can be done without the for? | 22:03 | ||
gfldex | moon-child: german brewers, see: www.youtube.com/watch?v=o8eOribA6qI | ||
moon-child | making the whole function body be '|%addresses.keys, |callsame' should work | ||
gfldex: what? | 22:04 | ||
codesections | there's actually a whole bunch of code sandboxes that support Raku www.reddit.com/r/rakulang/comments...orts_raku/ | ||
gfldex | you asked who needs purity. German brewers are mandated by law to purity. | ||
moon-child | lol | 22:05 | |
Xliff | moon-child++ | 22:15 | |
canbenshanlo | i have a few bots communicating through channels. given these heavily reduced examples, any ideas why the second version blocks forever while the first one finishes eventually? am i missing something fundamental about raku's channels? | 22:35 | |
start { my $x = $c.receive; my $y = $c.receive; sort($x, $y) } | |||
start { sort($c.receive, $c.receive) } | |||
22:36
xelxebar left
22:37
xelxebar joined
|
|||
moon-child | canbenshanlo: I don't really know, but a couple of ideas: what type are $x and $y? What happens if you change the first version to sort($y, $x)? What if you change the second version to sort({$c.receive}(), {$c.receive}())? | 22:41 | |
canbenshanlo | just regular Ints | 22:42 | |
no difference | 22:43 | ||
hm, guess i'll will recheck first thing in the morning with a fresh mind. | 22:45 | ||
prolly overlooking something stupid | 22:46 | ||
22:46
aluaces left
|
|||
raydiak | m: my $c = Channel.new; my $p = start { sort $c.receive, $c.receive }; $c.send: 2; $c.send: 1; say $p.result; | 23:11 | |
camelia | (1 2) | ||
raydiak | seems to work | ||
gfldex | canbenshanlo: the 1th version is slower and that gives wiggle room for the scheduler. If you starve the scheduler, you should get the race condition in both cases. | ||
canbenshanlo: see: gfldex.wordpress.com/2020/07/24/aw...-a-bugfix/ | 23:12 | ||
canbenshanlo | hm, interesting. yeah, i'm hammering the scheduler, starting hundreds of the above blocks while reading from a file. will take another look tomorrow morning. thanks for the link! | 23:16 | |
23:46
linkable6 left,
evalable6 left
23:48
linkable6 joined
23:49
evalable6 joined
23:59
pecastro left
|