Skip to content

7.0.0 M9

Lars Hupel edited this page Mar 21, 2013 · 17 revisions

Note: This is the final milestone of scalaz 7.0.0. The next release will be a release candidate.

Known issues

  • not building against Scala 2.9.3 (missing dependency) and 2.10.1 yet (#296)

New features

  • additions to scalaz-concurrent (41beb18764...c3f67b9aa8, 4618124773...94952fda23)
    • Futures: trampolined computations that may include asynchronous steps
    • Tasks: wrapper around Future with more convenient error handling
    • Catchable type class: a context in which exceptions can be caught and thrown
    • Nondeterminism type class: a context supporting nondeterministic choice
  • traverseU and sequenceU available on the Traversable class (previously: only available as part of Traversable syntax) (9894733dc8)
  • scalaz-effect: put and putLn functions to print values using Show type class (07b4372495)
  • continuation monad (#303)
  • alias get for init in MonadState (#306)
  • scalaz-effect: using method resembling C#, Resource instances for java.io.Reader and java.io.Writer (#309, #310)
  • scalaz-typelevel: aliases for type class composition (fd87e97b0c)

Changed features

  • replace last remaining occurences of scala.Either by \/ (#218, 9a7c0e56b5)
  • improved error handling in flatMap and filter on Promise (aba7634ccf, see also #267)
  • move traverseS_ and sequenceS_ from Traverse to Foldable (no code changes required, but you might want to review your imports and context bounds) (#290)
  • fix endless loop in EitherT.||| (#291)
  • implement foldLeft for Stream and List instances in terms of Scala standard library (#292, 34b91191db)
  • MonadTell does not require a Monoid any longer; providing this instance is up to implementing classes (no code changes required) (#293)
  • alternative implementation of Actor to minimize latency and maximizing throughput of message passing (#299)

Incompatible changes

  • MonadWriter becomes MonadTell, ListenableMonadWriter becomes MonadListen (#293)

    Migration strategy: rename imports and classes

  • new abbreviation Nel for (abbreviation for NonEmptyList, used to be NEL) (#295, #298)

    Migration strategy: replace occurrences of NEL by Nel in your code

    grep -rl NEL . | xargs sed -i 's/NEL/Nel/g'
  • scalaz-effect: putOut removed (inconsistent naming, used Object#toString) (07b4372495)

    Migration strategy: use putStr or put instead

  • removed TypeClass type class (d447a77771)

    Migration strategy: use shapeless-contrib

Clone this wiki locally