Changelog of @hackage/comfort-array 0.5.3

Change log for the comfort-array package

0.5

  • Array.Boxed.map, zipWith, toList: make lazy

  • add unified methods to Shape classes: unifiedSize, unifiedOffset, unifiedSizeOffset, uncheckedIndexFromOffset. They simplify to share code between checked and unchecked variants. Actually, many implementations of these methods recursively call themselves on part shapes. However, the default methods have changed.

  • Shape.:+: -> Shape.::+. This resolves the name clash with the :+: operator from tfp. It also highlights the right associativity and non-commutativity.

  • Shape.Simplex

0.4.1

  • use doctest-extract for tests

  • instance Shape Map

  • Shape.Cyclic

  • Shape.Square, Shape.Cube

0.4

  • fromAssocations: Make default value the first parameter. It is most oftenly zero and thus less variable than the array size.

  • Shape.DeferredIndex: Now uses the shape as the type parameter, not the index type.

0.3

  • Storable.Mutable.Array: Replace ForeignPtr by Array.Guarded.MutablePtr. In the last release we altered the arrays after initialization which corrupted the debugging by the guarded-allocation package. This should be fixed now.

  • Shape.sizeOffset: It does not return a single offset anymore but an offset computation function. This allows to cache a size computation across many offset computations.

0.2

  • Add a monad parameter to the mutable Storable array type and generalize functions to PrimMonads. This way the mutating functions can also be used in the ST monad.

0.1.2

  • Add immutable Boxed array type and mutable Storable array type.

0.1

  • Split Shape.C into Shape.C and Shape.Indexed.

0.0

  • Initial version featuring the Shape.C class with type function Index and the immutable Storable array type.