Foreign.Hoppy.Generator.Spec

Interfaces

data Interface

type ErrorMsg

data InterfaceOptions

defaultInterfaceOptions

interface

interface'

interfaceName

interfaceModules

interfaceNamesToModules

interfaceHaskellModuleBase

interfaceDefaultHaskellModuleBase

interfaceAddHaskellModuleBase

interfaceHaskellModuleImportNames

interfaceExceptionHandlers

interfaceCallbacksThrow

interfaceSetCallbacksThrow

interfaceExceptionClassId

interfaceExceptionSupportModule

interfaceSetExceptionSupportModule

C++ includes

data Include

includeStd

includeLocal

includeToString

Modules

data Module

moduleName

moduleHppPath

moduleCppPath

moduleExports

moduleReqs

moduleExceptionHandlers

moduleCallbacksThrow

moduleSetCallbacksThrow

moduleAddendum

moduleHaskellName

makeModule

moduleModify

moduleModify'

moduleSetHppPath

moduleSetCppPath

moduleAddExports

moduleAddHaskellName

Requirements

data Reqs

reqsIncludes

reqInclude

class HasReqs a

addReqs

addReqIncludes

Names and exports

data ExtName

toExtName

isValidExtName

fromExtName

class HasExtNames a

getAllExtNames

data FnName name

class IsFnName t a

data Operator

data OperatorType

operatorPreferredExtName

operatorPreferredExtName'

operatorType

data Export

exportAddendum

data Identifier

identifierParts

data IdPart

idPartBase

idPartArgs

ident

ident'

ident1

ident2

ident3

ident4

ident5

identT

identT'

ident1T

ident2T

ident3T

ident4T

ident5T

Basic types

data Type

normalizeType

stripConst

Variables

data Variable

makeVariable

varIdentifier

varExtName

varType

varReqs

varIsConst

varGetterExtName

varSetterExtName

Enums

data CppEnum

makeEnum

enumIdentifier

enumExtName

enumValueNames

enumReqs

enumValuePrefix

enumSetValuePrefix

Bitspaces

data Bitspace

makeBitspace

bitspaceExtName

bitspaceType

bitspaceValueNames

bitspaceEnum

bitspaceAddEnum

bitspaceCppTypeIdentifier

bitspaceFromCppValueFn

bitspaceToCppValueFn

bitspaceAddCppType

bitspaceReqs

bitspaceValuePrefix

bitspaceSetValuePrefix

Functions

data Purity

data Function

makeFn

fnCName

fnExtName

fnPurity

fnParams

fnReturn

fnReqs

fnExceptionHandlers

Classes

data Class

makeClass

classIdentifier

classExtName

classSuperclasses

classEntities

classAddEntities

classVariables

classCtors

classMethods

classDtorIsPublic

classSetDtorPrivate

classConversion

classReqs

classEntityPrefix

classSetEntityPrefix

classIsMonomorphicSuperclass

classSetMonomorphicSuperclass

classIsSubclassOfMonomorphic

classSetSubclassOfMonomorphic

classIsException

classMakeException

data ClassEntity

class IsClassEntity a

classEntityExtName

classEntityForeignName

classEntityForeignName'

data ClassVariable

makeClassVariable

makeClassVariable_

mkClassVariable

mkClassVariable_

mkStaticClassVariable

mkStaticClassVariable_

classVarCName

classVarExtName

classVarType

classVarStatic

classVarGettable

classVarGetterExtName

classVarGetterForeignName

classVarSetterExtName

classVarSetterForeignName

data Ctor

makeCtor

makeCtor_

mkCtor

mkCtor_

ctorExtName

ctorParams

ctorExceptionHandlers

data Method

data MethodImpl

data MethodApplicability

data Constness

constNegate

data Staticness

makeMethod

makeMethod_

makeFnMethod

makeFnMethod_

mkMethod

mkMethod_

mkMethod'

mkMethod'_

mkConstMethod

mkConstMethod_

mkConstMethod'

mkConstMethod'_

mkStaticMethod

mkStaticMethod_

mkStaticMethod'

mkStaticMethod'_

data Prop

mkProp

mkProp_

mkStaticProp

mkStaticProp_

mkBoolIsProp

mkBoolIsProp_

mkBoolHasProp

mkBoolHasProp_

methodImpl

methodExtName

methodApplicability

methodPurity

methodParams

methodReturn

methodExceptionHandlers

methodConst

methodStatic

Conversion to and from foreign values

data ClassConversion

classConversionNone

classModifyConversion

classSetConversion

data ClassHaskellConversion

classHaskellConversionNone

classSetHaskellConversion

Callbacks

data Callback

makeCallback

callbackExtName

callbackParams

callbackReturn

callbackThrows

callbackReqs

callbackSetThrows

Exceptions

data ExceptionId

exceptionCatchAllId

data ExceptionHandler

data ExceptionHandlers

class HandlesExceptions a

handleExceptions

Addenda

data Addendum

class HasAddendum a

addAddendumHaskell

Haskell imports

type HsModuleName

data HsImportSet

data HsImportKey

data HsImportSpecs

type HsImportName

data HsImportVal

hsWholeModuleImport

hsQualifiedImport

hsImport1

hsImport1'

hsImports

hsImports'

hsImportSetMakeSource

Internal to Hoppy

interfaceAllExceptionClasses

classFindCopyCtor

Haskell imports

makeHsImportSet

getHsImportSet

hsImportForBits

hsImportForException

hsImportForInt

hsImportForWord

hsImportForForeign

hsImportForForeignC

hsImportForMap

hsImportForPrelude

hsImportForRuntime

hsImportForSystemPosixTypes

hsImportForTypeable

hsImportForUnsafeIO

Error messages

objToHeapTWrongDirectionErrorMsg

tToGcInvalidFormErrorMessage

toGcTWrongDirectionErrorMsg

Advanced class conversions

classSetConversionToHeap

classSetConversionToGc