My favorites | Sign in
Project Home Wiki
Search
for
Scalaz6  
What's new in Scalaz 6.0
Updated Jan 22, 2012 by jzaugg

Introduction

Scalaz 6.0 adds new data structures and type classes. The overall structure is largely the same as in version 5.0.

Migration 6.0.1 to 6.0.2

See the Release notes

Migration 5.x to 6.0

You will need to recompile your code against this release.

The Monad instance for Validation has been moved out of the implicit scope, to avoid accidental fail-fast semantics when error accumulation is desired. Details

scalaz.Cofunctor was renamed to scalaz.Contravariant.

If you find further issues, please email the mailing list, and we can help.

Obtaining

You can download the full of the distribution from Scala Tools repository scalaz-full_2.9.1-6.0.4.jar , or you can obtain the individual modules with Maven or SBT from the Scala Tools repository. Note that the Group ID is now "org.scalaz".

Documentation

API Documentation and Examples are available online:

What's New

  • Iteratee implementation
  • Lenses and API -- putting coalgebra in yo costate comonad
  • Type-system effect-tracking with IO and ST type constructors (scalaz.effects)
  • List and Stream monad transformers implemented using step
  • Fix  issue 14  https://github.com/scalaz/scalaz/issues/14
  • A lazy option data type
  • Logger -- a specialised WriterT
  • OptionT monad transformer
  • More APIs for WriterT monad transformer
  • Removed a few of the unicode aliases
  • Resource handling API
  • A lifted getOrElse called fromMaybeM that is lazy in its second argument  Issue 24  http://code.google.com/p/scalaz/issues/detail?id=24
  • Removed DList because it is not stack-friendly. Scalaz 7 has surprises in store here!
  • General composition of functors and applicative functors
  • Semigroup instances for First and Last Option value
  • List functions such as scanr and unzip
  • Stack friendly Traversable implementation of Traverse
  • EphemeralStream for a garbage-collector-friendly lazy cons list
  • Generalized category, Leibniz and Liskov
  • Liskov substitution (a better <:<) with category instance to compose
  • Leibniz equality (a better =:=) with category instance to compose
  • Groupoids
  • Cofree and generalized recursion
  • Fixed stack overflow in Endo(morphism) semigroup
  • List zipper
  • Equal, Show, and Order instances for scala.Symbol
  • Multi-way tree and zipper
  • Concatenation list (rope)
  • Use of Type Lambdas rather than PartialApplyNofM traits
  • Name / Need / Value: data types to represent call-by-name, call-by-need, and strict evaluation
  • Heap: An efficient, asymptotically optimal, implementation of priority queues extended with support for efficient size

Fixes in Scalaz 6.0.1

See the commit log for the bug fixes between Scalaz 6.0 and 6.0.1.

Fixes in Scalaz 6.0.2

Release Notes

Diff

Fixes in Scalaz 6.0.3

Release Notes

Diff

Fixes in Scalaz 6.0.4

Release Notes

Diff


Sign in to add a comment
Powered by Google Project Hosting