Skip to content

Instantly share code, notes, and snippets.

Last active April 1, 2018 14:57
  • Star 17 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Task: A diverging design from Future and Scalaz Task
Copy link

@puffnfresh: 👍

Copy link

Hi all,

You might be interested to look at my matterhorn experiment:

It is basically a specialized interpreter for IO actions:

There is some tests and benchmarks showing how it work:

The approach to concurrency is to use a STM, I just did plug a library for having rapid prototyping.

Good luck

Copy link

@aloiscochard, @puffnfresh thanks, will take a look.

Copy link

scalaz.concurrent.Task is not very good. Using just a reasonable IO type, it should be possible to subsume Task's use cases with some uses of MVar-like atomic-references. For example:

I agree, and that is the route we are going with FS2's Task type (which I suppose could be renamed to 'IO'), which implements MVar-like references and then uses that to implement async (and lots of other operations, like parallelTraverse, as well as all the concurrent stream operations of FS2 itself):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment