Open cvogt opened 8 years ago
https://github.com/aztek/scala-workflow https://github.com/sbt/sbt/blob/0.13/util/appmacro/src/main/scala/sbt/appmacro/Instance.scala#L45 https://github.com/scala/async#what-is-async http://doc.akka.io/docs/akka/2.3-M1/scala/dataflow.html https://github.com/jedesah/computation-expressions#asyncawait https://github.com/pelotom/effectful
Here’s a couple more:
thanks for sharing. wow, each looks quite advanced already.
One awesome feature that is only present in scala-workflow (AFAIK) is the ability to use the least interface required. E.g. ~Some(1) + 1
will just use a map
/ Functor
, and ~Some(1) + ~Some(1)
will just use app
/ Applicative
instead of flatMap
/ Monad
.
Might be worthwhile to resurrect scala-workflow by replacing untyped macros with a postfix unwrap
operation, like it’s done in each and effectful. I tried macro-annotations a couple of years ago, but faced some problems there (see https://github.com/aztek/scala-workflow/issues/2). On the other hand, I don’t think scala-workflow supports all of the language features supported by each, e.g. try
, etc.
could you make this a separate issue? Worth thinking about. Thx!
We are definitely planning to add more optimizations of similar nature to this library but details of how are yet to be determined
I'm not sure what the generic name is for the programming concept of a scope that is suspendable for extraction and injection of values from an outside context. But here's a piece of related work, which eschews category-theoretic thinking: http://blog.paralleluniverse.co/2015/08/07/scoped-continuations/.
Interesting paper reference I got at the NYC Haskell meetup https://www.cs.umd.edu/~mwh/papers/swamy11monad.html
Lightweight Monadic Programming in ML - UMD Department of Computer Science
The talk was a out co effects which was very interesting and quite relevant this this as well http://tomasp.net/coeffects/
Ha, looks like other people had similar ideas in the past: https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.cl.cam.ac.uk/~dao29/drafts/codo-notation-orchard12.pdf&ved=0CB8QFjABahUKEwiqlr_xk-3IAhXGpB4KHfABDxY&usg=AFQjCNGgNwAa-zP749_cJ8btZS41MS_pEQ&sig2=m7OAfEFQf4CmFPwUa_UjLQ