Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
The plugin to make it all work.
Synopsis
- plugin :: Plugin
- data AsyncRattus
Documentation
Use this to enable Asynchronous Rattus' plugin, either by supplying the option
-fplugin=AsyncRattus.Plugin
directly to GHC, or by including the
following pragma in each source file:
{-# OPTIONS -fplugin=AsyncRattus.Plugin #-}
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 #-}