-- | Multi-dimensional arrays module NumHask.Array ( -- * Imports -- $imports -- * Overview -- $overview module NumHask.Array.Shape, module NumHask.Array.Fixed, ) where import NumHask.Array.Fixed import NumHask.Array.Shape -- $imports -- -- > import NumHask.Array -- -- imports the fixed version of `NumHask.Array.Fixed.Array` and `Shape` -- -- In many situations, where shape is being tracked or otherwise only known at runtime, a clear module arrangement is: -- -- > import NumHask.Array.Shape -- > import qualified NumHask.Array.Fixed as F -- > import qualified NumHask.Array.Dynamic as D -- $overview -- -- 'Array's are higher-kinded numbers that can be indexed into with an @[Int]@. Higher-kinded numbers are things with a non-primitive type that we wish to use the usual numerical operators on: '+','-','*','/','abs','tan' and so on. -- -- The design of numhask-array: -- -- - allows shape to be specified at both the type and value level. -- -- - provides operators at value and type level to help manipulate shapes. -- -- - provides fixed and dynamic arrays with the same API.