Hoogle Search
Within LTS Haskell 24.49 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
IO without any non-error, synchronous exceptions When you've caught all the exceptions that can be handled safely, this is what you're left with. It is intended that you use qualified imports with this library.
import UnexceptionalIO (UIO) import qualified UnexceptionalIO as UIO
You may also wish to investigate unexceptionalio-trans if you like monad transformers. Blog post: http://sngpl.ma/p4uT0 -
Extensible type-safe unions Extensible type-safe unions for Haskell with prisms using modern GHC features. Dual to vinyl records. Unions are also known as corecords or polymorphic variants. Neither requires a Typeable constraint nor uses unsafe coercions at the cost of linear time access (negligible in practice).
-
Solve simple simultaneous equations Solve a number of equations simultaneously. This is not Computer Algebra, better think of a kind of type inference algorithm or logic programming with only one allowed solution. Only one solution is computed. Simultaneous equations with multiple solutions are not allowed. However, variables may remain undefined. The solver may optionally check for consistency. It does not do so by default since with floating point numbers or symbolic expressions even simple rules may not be consistent. The modules ordered with respect to abstraction level are:
- UniqueLogic.ST.System: Construct and solve sets of functional dependencies. Example: assignment3 (+) a b c meaning dependency a+b -> c.
- UniqueLogic.ST.Rule: Combine functional dependencies to rules that can apply in multiple directions. Example: add a b c means relation a+b = c which resolves to dependencies a+b -> c, c-a -> b, c-b -> a. For an executable example see UniqueLogic.ST.Example.Rule.
- UniqueLogic.ST.Expression: Allows to write rules using arithmetic operators. It creates temporary variables automatically. Example: (a+b)*c =:= d resolves to a+b = x, x*c = d. For an executable example see UniqueLogic.ST.Example.Expression.
- UniqueLogic.ST.System.Simple: Provides specialised functions from UniqueLogic.ST.System for the case of a system without labels and consistency checks.
- UniqueLogic.ST.System.Label: Provides a custom constructor for variables. When creating a variable you decide whether and how an assignment to this variable shall be logged. There is an example that shows how to solve a logic system using symbolic expressions. The naming and logging allows us to observe shared intermediate results. For an executable example see UniqueLogic.ST.Example.Label.
- By using more sophisticated monad transformers, we can check the equations for consistency, report inconsistencies and how they arised. We demonstrate that in UniqueLogic.ST.Example.Verify.
-
Solve simple simultaneous equations Solve a number of equations simultaneously. This is not Computer Algebra nor SMT solving, better think of a kind of type inference algorithm or logic programming with only one allowed solution. Only one solution is computed. Simultaneous equations with multiple solutions are not allowed. However, variables may remain undefined. The solver may optionally check for consistency. It does not do so by default since with floating point numbers or symbolic expressions even simple rules may not be consistent. The modules ordered with respect to abstraction level are:
- UniqueLogic.ST.TF.System: Construct and solve sets of functional dependencies. Example: assignment3 (+) a b c means dependency a+b -> c.
- UniqueLogic.ST.TF.Rule: Combine functional dependencies to rules that can apply in multiple directions. Example: add a b c means relation a+b = c which resolves to dependencies a+b -> c, c-a -> b, c-b -> a. For an executable example see UniqueLogic.ST.TF.Example.Rule.
- UniqueLogic.ST.TF.Expression: Allows to write rules using arithmetic operators. It creates temporary variables automatically. Example: (a+b)*c =:= d resolves to a+b = x, x*c = d. For an executable example see UniqueLogic.ST.TF.Example.Expression.
- UniqueLogic.ST.TF.System.Simple: Provides specialised functions from UniqueLogic.ST.TF.System for the case of a system without labels and consistency checks.
- UniqueLogic.ST.TF.System.Label: Provides a custom constructor for variables. When creating a variable you decide whether and how an assignment to this variable shall be logged. There is an example that shows how to solve a logic system using symbolic expressions. The naming and logging allows us to observe shared intermediate results. For an executable example see UniqueLogic.ST.TF.Example.Label.
- By using more sophisticated monad transformers, we can check the equations for consistency, report inconsistencies and how they arised. We demonstrate that in UniqueLogic.ST.TF.Example.Verify.
-
Definitions for use with the units package This package provides system definitions for use with the separate units package. See the individual modules for details. User contributions to this package are strongly encouraged. Please submit pull requests!
-
A parser for units of measure The units-parser package provides a parser for unit expressions with F#-style syntax, to support the units package and other packages providing type-level units of measure.
package
universe-instances-extended Universe instances for types from selected extra packages A class for finite and recursively enumerable types and some helper functions for enumerating them defined in universe-base package:
class Universe a where universe :: [a] class Universe a => Finite a where universeF :: [a]; universeF = universe
-
Bidirectional JSON parsing and generation. Bidirectional JSON parsing and generation with automatic documentation support.
-
Unlifted and levity-polymorphic types Unlifted and levity-polymorphic variants of several types from base.
-
UnliftIO using well-typed Paths. UnliftIO using well-typed Paths.