CSLisp icon indicating copy to clipboard operation
CSLisp copied to clipboard

Asynchronous Processing like f# Mailboxprocessor

Open furesoft opened this issue 4 years ago • 8 comments

An C# Implementation exits so we could use this

furesoft avatar Apr 21 '21 14:04 furesoft

I know nothing about that, but it sounds interesting.

Are you interested in implementing something like that? Also, please provide more info.

rzubek avatar Apr 22 '21 02:04 rzubek

I can do it.

The concept is really easy. You put messages on a message queue and a message processor process one message at a time. so you prevent that a ressource is shared over threads.

furesoft avatar Apr 22 '21 05:04 furesoft

And all is asynchronous

furesoft avatar Apr 22 '21 05:04 furesoft

Sounds useful. Can you please post some links to more info about this? (And especially the existing C# implementation.)

rzubek avatar Apr 26 '21 01:04 rzubek

https://github.com/kthompson/Actress

https://www.codemag.com/Article/1707051/Writing-Concurrent-Programs-Using-F

furesoft avatar Apr 26 '21 16:04 furesoft

Thanks for these!

There's one constraint: one main design goal for CSLisp is "Easy to embed and use in C# / .NET - no extra dependencies" (see Readme). The main dll only references .Net Standard and no other third-party code.

So if you're considering integrating an existing implementation, that wouldn't be a good fit for this project. (But you can fork it and add the integration to your version.)

rzubek avatar Apr 27 '21 03:04 rzubek

But we can write our own implementation, then its depdendency free or we add an extra package that can be included

furesoft avatar Apr 27 '21 05:04 furesoft

Yes, writing a new implementation that's free of dependencies would be great!

Basically the goal is to avoid adding extra dependencies.

rzubek avatar Apr 29 '21 17:04 rzubek