cons
Constant function.
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.
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)
Public representation of constructors
Gets the public presentation of constructors
Gets the datatype of a constructor
O(1) cons is analogous to '(:)' for lists.
O(n) cons is analogous to (:) for lists, but of different complexity, as it requires a memcpy.
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.
O(1) cons is analogous to '(:)' for lists.
O(n) cons is analogous to (:) for lists, but of different complexity, as it requires a memcpy.
O(1) Unlike cons, 'cons\'' is strict in the ByteString that we are consing onto. More precisely, it forces the head and the first chunk. It does this because, for space efficiency, it may coalesce the new byte onto the first 'chunk' rather than starting a new 'chunk'.
So that means you can't use a lazy recursive contruction like this:
> let xs = cons\' c xs in xs
You can however use cons, as well as repeat and cycle, to build infinite lazy ByteStrings.
O(1) Unlike cons, 'cons\'' is strict in the ByteString that we are consing onto. More precisely, it forces the head and the first chunk. It does this because, for space efficiency, it may coalesce the new byte onto the first 'chunk' rather than starting a new 'chunk'.
So that means you can't use a lazy recursive contruction like this:
> let xs = cons\' c xs in xs
You can however use cons, as well as repeat and cycle, to build infinite lazy ByteStrings.
This library provides an infrastructure to build command line programs. It provides the following features:
* declare any number of "actions" (commands, or modes of operation, of the program);
* declare options of the program;
* collect options and actions from a configuration file and the command line, and execute the proper action.
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 "modes", instead of a list, so a command can have subcommands;
* it parses a configuration file, in addition to the command line arguments.
Version 0.2.0.1
Constant functor.
Constraint manipulation
Version 0.3.0.1
Return a list of values of a datatype. Each value is one of the possible constructors of the datatype, populated with empty values.
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.
Version 0.3.0
Useful for building parsing type operations on top of a list of elements
Version 1.2
The constant functor.
NB. the contents of this module are only available on Windows.
Installing Win32 console handlers.
Gets the constructors of an algebraic datatype
Show more results