Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
The bare-bones Asynchronous Rattus language. To program with streams, you can use AsyncRattus.Stream.
Synopsis
- module AsyncRattus.Primitives
- module AsyncRattus.Strict
- continuous :: Name -> Q [Dec]
- data AsyncRattus
- mapO :: Box (a -> b) -> O a -> O b
Asynchronous Rattus language primitives
module AsyncRattus.Primitives
Strict data types
module AsyncRattus.Strict
Derive class instance declarations
Annotation
data AsyncRattus Source #
By default all Async Rattus functions are checked for use of lazy
data types, since these may cause memory leaks. If any lazy data
types are used, a warning is issued. These warnings can be disabled
by annotating the module or the function with AllowLazyData
{-# ANN myFunction AllowLazyData #-} {-# ANN module AllowLazyData #-}
Async Rattus only allows guarded recursion, i.e. recursive calls
must occur in the scope of a tick. Structural recursion over strict
data types is safe as well, but is currently not checked. To
disable the guarded recursion check, annotate the module or
function with AllowRecursion
.
{-# ANN myFunction AllowRecursion #-} {-# ANN module AllowRecursion #-}