šŸ¦‹ 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