Hoogle Search
Within LTS Haskell 24.40 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
hslua-packaging HsLua.Packaging.UDType A property or method which may be available in some instances but not in others.
-
hslua-packaging HsLua.Packaging.UDType the exponentiation (^) operation. Behavior similar to the addition operation.
-
hslua-packaging HsLua.Packaging.UDType A read- and writable property on a UD object.
class StM m a ~ a =>
Pure (m :: Type -> Type) alifted-async Control.Concurrent.Async.Lifted.Safe Most of the functions in this module have Forall (Pure m) in their constraints, which means they require the monad m satisfies StM m a ~ a for all a.
type
PreCFunction = State -> IO NumResultslua Lua Type of Haskell functions that can be turned into C functions. This is the same as a dereferenced CFunction.
-
Haskell bindings to Lua C API functions. The exposed functions correspond closely to the respective C Lua API functions. However, C API functions which can throw Lua errors are not exported directly, as any errors would crash the program. Non-error throwing hslua_ versions are provided instead. The hslua ersatz functions have worse performance than the original. Some of the Lua functions may, directly or indirectly, call a Haskell function, and trigger garbage collection, rescheduling etc. These functions are always imported safely (i.e., with the safe keyword). However, all function can trigger garbage collection. If that can lead to problems, then the package should be configured without flag allow-unsafe-gc.
type
PreCFunction = State -> IO NumResultslua Lua.Types Type of Haskell functions that can be turned into C functions. This is the same as a dereferenced CFunction.
type
PreWarnFunction = Ptr () -> CString -> LuaBool -> IO ()lua Lua.Types Type of Haskell functions that can be turned into a WarnFunction. This is the same as a dereferenced WarnFunction.
-
massiv Data.Massiv.Array.Manifest Class of types supporting primitive array operations. This includes interfacing with GC-managed memory (functions suffixed with ByteArray#) and interfacing with unmanaged memory (functions suffixed with Addr#). Endianness is platform-dependent.
-
massiv Data.Massiv.Array.Stencil Padding of the source array before stencil application.
Examples
In order to see the affect of padding we can simply apply an identity stencil to an array:>>> import Data.Massiv.Array as A >>> a = computeAs P $ resize' (Sz2 2 3) (Ix1 1 ... 6) >>> applyStencil noPadding idStencil a Array DW Seq (Sz (2 :. 3)) [ [ 1, 2, 3 ] , [ 4, 5, 6 ] ] >>> applyStencil (Padding (Sz2 1 2) (Sz2 3 4) (Fill 0)) idStencil a Array DW Seq (Sz (6 :. 9)) [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] , [ 0, 0, 1, 2, 3, 0, 0, 0, 0 ] , [ 0, 0, 4, 5, 6, 0, 0, 0, 0 ] , [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] , [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] , [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] ]
It is also a nice technique to see the border resolution strategy in action:>>> applyStencil (Padding (Sz2 2 3) (Sz2 2 3) Wrap) idStencil a Array DW Seq (Sz (6 :. 9)) [ [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ] , [ 4, 5, 6, 4, 5, 6, 4, 5, 6 ] , [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ] , [ 4, 5, 6, 4, 5, 6, 4, 5, 6 ] , [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ] , [ 4, 5, 6, 4, 5, 6, 4, 5, 6 ] ] >>> applyStencil (Padding (Sz2 2 3) (Sz2 2 3) Edge) idStencil a Array DW Seq (Sz (6 :. 9)) [ [ 1, 1, 1, 1, 2, 3, 3, 3, 3 ] , [ 1, 1, 1, 1, 2, 3, 3, 3, 3 ] , [ 1, 1, 1, 1, 2, 3, 3, 3, 3 ] , [ 4, 4, 4, 4, 5, 6, 6, 6, 6 ] , [ 4, 4, 4, 4, 5, 6, 6, 6, 6 ] , [ 4, 4, 4, 4, 5, 6, 6, 6, 6 ] ] >>> applyStencil (Padding (Sz2 2 3) (Sz2 2 3) Reflect) idStencil a Array DW Seq (Sz (6 :. 9)) [ [ 6, 5, 4, 4, 5, 6, 6, 5, 4 ] , [ 3, 2, 1, 1, 2, 3, 3, 2, 1 ] , [ 3, 2, 1, 1, 2, 3, 3, 2, 1 ] , [ 6, 5, 4, 4, 5, 6, 6, 5, 4 ] , [ 6, 5, 4, 4, 5, 6, 6, 5, 4 ] , [ 3, 2, 1, 1, 2, 3, 3, 2, 1 ] ] >>> applyStencil (Padding (Sz2 2 3) (Sz2 2 3) Continue) idStencil a Array DW Seq (Sz (6 :. 9)) [ [ 1, 3, 2, 1, 2, 3, 2, 1, 3 ] , [ 4, 6, 5, 4, 5, 6, 5, 4, 6 ] , [ 1, 3, 2, 1, 2, 3, 2, 1, 3 ] , [ 4, 6, 5, 4, 5, 6, 5, 4, 6 ] , [ 1, 3, 2, 1, 2, 3, 2, 1, 3 ] , [ 4, 6, 5, 4, 5, 6, 5, 4, 6 ] ]