Package0.4.0Prelude
linear-base
Standard library for linear types.
- Version0.4.0
- CategoryPrelude
- LicenceMIT
- AuthorTweag
- Maintainerarnaud.spiwack@tweag.io
- Homepagegithub.com/tweag/linear-base#README
- Pinned byhackage linear-base 0.4.0
- Sourcehackage.haskell.org/package/linear-base-0.4.0
Modules
89 modules- Control.Functor.Linear45The control functor hierarchy The functors in this module are called control functors, which
- Control.Monad.IO.Class.Linear1
- Control.Optics.Linear2This module provides linear optics. Documentation for specific optics (lenses, prisms, traversals and
- Control.Optics.Linear.Iso7This module provides linear isomorphisms. An Iso a b s t is equivalent to a (s %1-> a, b %1-> t). In the simple
- Control.Optics.Linear.Lens14This module provides linear lenses. A Lens s t a b is equivalent to a (s %1-> (a,b %1-> t). It is a way to
- Control.Optics.Linear.Prism11This module provides linear prisms. A Prism s t a b is equivalent to (s %1-> Either a t, b %1-> t) for some
- Control.Optics.Linear.Traversal9This module provides linear traversals. Traversals provides a means of accessing several as organized in some
- Data.Arity.Linear6This module provides type-level helpers and classes to deal with n-ary
- Data.Array.Destination9This module provides destination arrays What are destination arrays? What are they good for? Destination arrays are write-only arrays tha…
- Data.Array.Mutable.Linear18This module provides a pure linear interface for arrays with in-place
- Data.Array.Mutable.Unlifted.Linear13This module provides an unlifted mutable array with a pure
- Data.Array.Polarized2This module documents polarized arrays and top-level conversions What are polarized arrays and what are they good for? Polarized arrays a…
- Data.Array.Polarized.Pull16This module provides pull arrays. These are part of a larger framework for controlling when memory is
- Data.Array.Polarized.Push8This module provides push arrays. These are part of a larger framework for controlling when memory is
- Data.Bifunctor.Linear2This module provides Bifunctor and related classes. Bifunctor Use a bifunctor instance to map functions over data structures
- Data.Bool.Linear5This module provides linear functions on the standard Bool type.
- Data.Either.Linear7This module contains useful functions for working with Eithers.
- Data.Functor.Linear15The data functor hierarchy This module defines the data functor library. Unlike in the case of
- Data.HashMap.Mutable.Linear22This module provides mutable hashmaps with a linear interface. It is implemented with Robin Hood hashing which has amortized
- Data.List.Linear60Linear versions of Data.List functions. This module only contains minimal amount of documentation; consult the
- Data.Maybe.Linear6This module provides linear functions on the standard Maybe type.
- Data.Monoid.Linear0This module provides linear versions of Monoid and related classes.
- Data.Num.Linear13This module provides a linear Num class with instances.
- Data.Ord.Linear0
- Data.Profunctor.Kleisli.Linear2This module provides (linear) Kleisli and CoKleisli arrows This module is meant to be imported qualified, perhaps as below. import qualif…
- Data.Profunctor.Linear7This module provides profunctor classes and instances. Please import this module qualified. Some of the definitions in this module are he…
- Data.Replicator.Linear13This module defines a stream-like type named Replicator, which is
- Data.Set.Mutable.Linear11This module defines linear mutable sets. The underlying implementation uses Data.HashMap.Linear, so it inherits
- Data.Tuple.Linear5This module provides linear functions commonly used on tuples.
- Data.Tuple.Linear.Compat2
- Data.Unrestricted.Linear18This module provides essential tools for doing non-linear things
- Data.V.Linear17This module defines vectors of known length which can hold linear values. Having a known length matters with linear types, because many c…
- Data.Vector.Mutable.Linear24Mutable vectors with a linear API. Vectors are arrays that grow automatically, that you can append to with
- Debug.Trace.Linear11A thin wrapper on top of Debug.Trace, providing linear versions of
- Foreign.Marshal.Pure8This module introduces primitives to safely allocate and discard system
- Prelude.Linear83This module provides a replacement for Prelude with
- Prelude.Linear.GenericUtil3FixupMetaData a g copies the metadata from the
- Prelude.Linear.Generically2
- Prelude.Linear.Unsatisfiable3An ergonomic class for unsatisfiable constraints. This is based on
- Streaming.Linear34
- Streaming.Prelude.Linear0The names exported by this module are closely modeled on those in Prelude and Data.List,
- System.IO.Linear10This module redefines IO with linear types. To use this IO, do the following: use main = withLinearIO $ do ... pull in any safe non-lin…
- System.IO.Resource.Linear23This module defines an IO monad for linearly working with system resources
- Unsafe.Linear6Unsafe coercions for linearly typed code. Use this module to coerce non-linear functions to be linear or values
Internal modules · 45
- Control.Functor.Linear.Internal.Class14This module contains all the classes eventually exported by
- Control.Functor.Linear.Internal.Instances1
- Control.Functor.Linear.Internal.Kan6A few things lifted from kan-extensions and lens for generic deriving of
- Control.Functor.Linear.Internal.MonadTrans1
- Control.Functor.Linear.Internal.Reader12
- Control.Functor.Linear.Internal.State18
- Control.Optics.Linear.Internal40
- Data.Arity.Linear.Internal6
- Data.Array.Destination.Internal9
- Data.Array.Mutable.Linear.Internal18
- Data.Array.Polarized.Pull.Internal12
- Data.Bifunctor.Linear.Internal.Bifunctor1
- Data.Bifunctor.Linear.Internal.SymmetricMonoidal1
- Data.Functor.Linear.Internal.Applicative3
- Data.Functor.Linear.Internal.Functor4
- Data.Functor.Linear.Internal.Traversable9
- Data.HashMap.Mutable.Linear.Internal40
- Data.Monoid.Linear.Internal.Monoid3This module provides linear versions of Monoid. To learn about how these classic monoids work, go to this school of haskell
- Data.Monoid.Linear.Internal.Semigroup11This module provides a linear version of Semigroup.
- Data.Ord.Linear.Internal.Eq1This module provides a linear Eq class for testing equality between
- Data.Ord.Linear.Internal.Ord4
- Data.Replicator.Linear.Internal14
- Data.Replicator.Linear.Internal.Instances0
- Data.Replicator.Linear.Internal.ReplicationStream7
- Data.Set.Mutable.Linear.Internal11
- Data.Unrestricted.Linear.Internal.Consumable5
- Data.Unrestricted.Linear.Internal.Dupable9
- Data.Unrestricted.Linear.Internal.Instances2This module exports instances of Consumable, Dupable and Movable We export instances in this module to avoid a circular dependence
- Data.Unrestricted.Linear.Internal.Movable3
- Data.Unrestricted.Linear.Internal.Ur4
- Data.Unrestricted.Linear.Internal.UrT4UrT creates non-linear monads from linear monads.
- Data.V.Linear.Internal17
- Data.V.Linear.Internal.Instances0This module contains all instances for V
- Data.Vector.Mutable.Linear.Internal30
- Foreign.Marshal.Pure.Internal19
- Prelude.Linear.Internal12This is a very very simple prelude, which doesn't depend on anything else
- Prelude.Linear.Internal.Generically54Prior to GHC 9.4, linear-base defined its own versions of Generically and
- Prelude.Linear.Internal.TypeEq1As of GHC 9.4, ~ is a type operator exported from Data.Type.Equality
- Streaming.Linear.Internal.Consume41This module provides all functions that take input streams
- Streaming.Linear.Internal.Interop1This module contains functions for interoperating with other
- Streaming.Linear.Internal.Many15This module contains all functions that do something with
- Streaming.Linear.Internal.Process59This module provides functions that take one input
- Streaming.Linear.Internal.Produce27This module provides all functions which produce a
- Streaming.Linear.Internal.Type2
- System.IO.Resource.Linear.Internal24
Description
Please see README.md.
Depends on
10 packages- base-4.20.2.0with GHC
- containers-0.7with GHC
- ghc-prim-0.12.0with GHC
- hashable-1.4.7.0in this set
- linear-generics-0.2.3in this set
- primitive-0.9.1.0in this set
- storable-tuple-0.1in this set
- text-2.1.3with GHC
- transformers-0.6.1.1with GHC
- vector-0.13.2.0in this set