Skip to content

Work in progress: Simpler and more powerful alternative to Scala's built-in for-comprehension syntax

License

Notifications You must be signed in to change notification settings

cvogt/flow-comprehensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is still very much in development, but we are publishing builds to JCenter.

You can try a work-in-progress version by adding the following to your build.sbt:

libraryDependencies += "org.scala-comprehensions" %% "flow-comprehensions" % "0.0.3"

For sbt 0.13.11+, also add:

useJCenter := true

Scala flow-comprehensions are a simpler and more powerful alternative to Scala's built-in for-comprehension syntax.

Scala:

for{
  i <- List(1,2,3)
  j <- List(2,3,4)
} yield i*j

Flow:

sequence[List]{
  val i = ~List(1,2,3)
  val j = ~List(2,3,4)
  i*j
}

Scala:

for{
  i <- List(1,2,3)
  j <- List(2,3,4)
  if i > 2
} yield i*j

Flow:

sequence[List]{
  val i = List(1,2,3).value
  val j = List(2,3,4).value
  i*j
}

Related work

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

About

Work in progress: Simpler and more powerful alternative to Scala's built-in for-comprehension syntax

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages