O(n) Adds a character to the front of a Text. This function is more costly than its List counterpart because it requires copying a new array. Subject to fusion.
O(n) Adds a character to the front of a Text. This function is more costly than its List counterpart because it requires copying a new array. Subject to fusion. Performs replacement on invalid scalar values.
Gets the field labels of a constructor. The list of labels is returned in the same order as they were given in the original constructor declaration.
Gets the fixity of a constructor
Gets the index of a constructor (algebraic datatypes only)
Gets the public presentation of constructors
Gets the datatype of a constructor
This library provides an infrastructure to build command line programs. It provides the following features:
* declare any number of "commands" (modes of operation) of the program;
* declare options of these commands;
* collect options from a configuration file and the command line, and execute the proper command.
Examples of using this library may be found in the Examples directory in the package tarball.
It provides functionality similar to the cmdargs package. Main differences:
* console-program does not use unsafePerformIO, and tries to give a more haskellish, referentially transparent interface;
* it allows a full tree of commands, instead of a list, so a command can have subcommands;
* it parses a configuration file, in addition to the command line arguments.
This plugin evaluates constant math expressions at compile-time.
For details and full usage information, see;
To use it to compile foo.hs:
> $ cabal install const-math-ghc-plugin
> $ ghc -fplugin ConstMath.Plugin foo.hs
To use it to build a cabal package packagename:
> $ cabal install --ghc-options="-package const-math-ghc-plugin
> -fplugin ConstMath.Plugin" packagename
Math should run faster.
The package provides normal forms for monads and related structures, similarly to the Operational package. The difference is that we parameterise the normal forms on a constraint, and apply that constraint to all existential types within the normal form. This allows monad (and other) instances to be generated for underlying types that require constraints on their return-like and bind-like operations, e.g. Set.
This is documented in the following paper:
The Constrained-Monad Problem. Neil Sculthorpe and Jan Bracker and George Giorgidze and Andy Gill. 2013. http://www.ittc.ku.edu/~neil/papers_and_talks/constrained-monad-problem.pdf
The functionality exposed by this library is also used internally by the Set-Monad and RMonad packages.
Return a list of values of a datatype. Each value is one of the possible constructors of the datatype, populated with empty values.
The constructible reals are the subset of the real numbers that can be represented exactly using field operations (addition, subtraction, multiplication, division) and positive square roots. They support exact computations, equality comparisons, and ordering.
A library of algebra focusing mainly on commutative ring theory from a constructive point of view.
Classical structures are implemented without Noetherian assumptions. This means that it is not assumed that all ideals are finitely generated. For example, instead of principal ideal domains one gets Bezout domains which are integral domains in which all finitely generated ideals are principal (and not necessarily that all ideals are principal). This give a good framework for implementing many interesting algorithms.
Representation of constructors. Note that equality on constructors with different types may not work -- i.e. the constructors for False and Nothing may compare equal.
Show more results