hydra.haskell.environment module

Environment types for Haskell code generation.

class hydra.haskell.environment.HaskellModuleMetadata(uses_byte_string: Annotated[bool, 'Whether the module uses Data.ByteString (B.ByteString)'], uses_int: Annotated[bool, 'Whether the module uses Data.Int (I.Int8, I.Int16, I.Int64)'], uses_map: Annotated[bool, 'Whether the module uses Data.Map (M.Map, M.fromList, M.empty)'], uses_set: Annotated[bool, 'Whether the module uses Data.Set (S.Set, S.fromList, S.empty)'], uses_void: Annotated[bool, 'Whether the module uses Data.Void (Void)'])

Bases: object

Metadata used to determine which standard imports are needed in a generated Haskell module.

class Builder(_uses_byte_string: 'bool' = None, _uses_int: 'bool' = None, _uses_map: 'bool' = None, _uses_set: 'bool' = None, _uses_void: 'bool' = None)

Bases: object

build()
uses_byte_string(uses_byte_string)
uses_int(uses_int)
uses_map(uses_map)
uses_set(uses_set)
uses_void(uses_void)
TYPE_ = Name(value='hydra.haskell.environment.HaskellModuleMetadata')
USES_BYTE_STRING = Name(value='usesByteString')
USES_INT = Name(value='usesInt')
USES_MAP = Name(value='usesMap')
USES_SET = Name(value='usesSet')
USES_VOID = Name(value='usesVoid')
static builder()
uses_byte_string: Annotated[bool, 'Whether the module uses Data.ByteString (B.ByteString)']
uses_int: Annotated[bool, 'Whether the module uses Data.Int (I.Int8, I.Int16, I.Int64)']
uses_map: Annotated[bool, 'Whether the module uses Data.Map (M.Map, M.fromList, M.empty)']
uses_set: Annotated[bool, 'Whether the module uses Data.Set (S.Set, S.fromList, S.empty)']
uses_void: Annotated[bool, 'Whether the module uses Data.Void (Void)']
with_uses_byte_string(uses_byte_string)
with_uses_int(uses_int)
with_uses_map(uses_map)
with_uses_set(uses_set)
with_uses_void(uses_void)