FsControl icon indicating copy to clipboard operation
FsControl copied to clipboard

Delay, Combine.

Open gusty opened this issue 10 years ago • 2 comments

It would be nice to allow other applications to create generic workflows. Currently a simple monad workflow is possible but in F# there are more operations available, some of them depends on the type, like Delay and Combine. So it worths exploring the possibility of adding Delay, Combine as method-classes and see what comes up. There is some potential inspiration here.

gusty avatar Oct 13 '15 17:10 gusty

This was implemented here. But note that the default definition uses the lazy signature let delay x = x() even for non-lazy monads like list or array which in theory should be defined as let delay x = x. By doing this we don't need to specify a special run for strict monads. At the moment I don't see a problem with this.

gusty avatar Dec 11 '16 06:12 gusty

After the merge with FSharpPlus this issue will be tracked here.

And now I see a problem with the always-delayed approach, see the code example there.

gusty avatar Jan 07 '17 10:01 gusty