Safe Haskell | None |
---|---|
Language | Haskell2010 |
C manifest data structure and serialisation to JSON.
A manifest contains machine-readable information about the API of the compiled Futhark program. Specifically which entry points are available, which types are exposed, and what their C names are.
Synopsis
- data Manifest = Manifest {}
- data Input = Input {}
- data Output = Output {
- outputType :: Text
- outputUnique :: Bool
- data EntryPoint = EntryPoint {
- entryPointCFun :: Text
- entryPointOutputs :: [Output]
- entryPointInputs :: [Input]
- data Type
- data ArrayOps = ArrayOps {
- arrayFree :: Text
- arrayShape :: Text
- arrayValues :: Text
- arrayNew :: Text
- data OpaqueOps = OpaqueOps {
- opaqueFree :: Text
- opaqueStore :: Text
- opaqueRestore :: Text
- manifestToJSON :: Manifest -> Text
Documentation
A manifest for a compiled program.
Manifest | |
|
Manifest info for an entry point parameter.
Manifest info for an entry point return value.
Output | |
|
data EntryPoint Source #
Manifest info for an entry point.
EntryPoint | |
|
Instances
Eq EntryPoint Source # | |
Defined in Futhark.CodeGen.Backends.GenericC.Manifest (==) :: EntryPoint -> EntryPoint -> Bool # (/=) :: EntryPoint -> EntryPoint -> Bool # | |
Ord EntryPoint Source # | |
Defined in Futhark.CodeGen.Backends.GenericC.Manifest compare :: EntryPoint -> EntryPoint -> Ordering # (<) :: EntryPoint -> EntryPoint -> Bool # (<=) :: EntryPoint -> EntryPoint -> Bool # (>) :: EntryPoint -> EntryPoint -> Bool # (>=) :: EntryPoint -> EntryPoint -> Bool # max :: EntryPoint -> EntryPoint -> EntryPoint # min :: EntryPoint -> EntryPoint -> EntryPoint # | |
Show EntryPoint Source # | |
Defined in Futhark.CodeGen.Backends.GenericC.Manifest showsPrec :: Int -> EntryPoint -> ShowS # show :: EntryPoint -> String # showList :: [EntryPoint] -> ShowS # |
Manifest info for a non-scalar type. Scalar types are not part of the manifest for a program.
The names of the C functions implementing the operations on some array type.
ArrayOps | |
|
The names of the C functions implementing the operations on some opaque type.
OpaqueOps | |
|
manifestToJSON :: Manifest -> Text Source #
Serialise a manifest in JSON format, so it can be read from other tools. The schema supposed to be at https://futhark-lang.org/manifest.schema.json.