Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 1.41 KB

RELEASE_NOTES.md

File metadata and controls

74 lines (55 loc) · 1.41 KB

Release Notes

8.0.0 - 2015.12.13

Hello to the version 8 release! The big changes in 8 are about simplification. This release also marks the release of the new dedicated Aether Site with guides, reference, etc.

Composition

The old multitude of functions for composition are now obsolete:

// Old
Compose.lensWithLens l1 l2
Compose.lensWithPrism l p
...

// New
Compose.lens l x
Compose.prism p x

Operators for composition have also been dramatically simplified, as they match the functions:

// Old
>--> // Compose.lensWithLens
>-?> // Compose.lensWithPrism
<--> // Compose.lensWithIsomorphism
... 

// New
>->  // Compose.lens
>?>  // Compose.prism

Operations

The old distinct sets of functions for operations, with different methods for lenses and prisms (previously called partial lenses) have been unified:

// Old
Lens.get
Lens.set
Lens.map

Prism.get
Prism.set
Prism.map

// (Even) Older
Lens.get
Lens.getPartial
...

// New
Optic.get
Optic.set
Optic.map

As with the composition functions, the operators have also been simplified:

// New
^. // Optic.get
^= // Optic.set
^% // Optic.map

Miscellaneous

Some provided lenses and prisms, etc. have been moved and corrected. The Reference on the Aether site has more on what's available within Aether.