Idris2Doc : Compiler.Separate

Compiler.Separate

(source)

Reexports

importpublic Core.FC
importpublic Core.Name
importpublic Core.Name.Namespace
importpublic Core.CompileExpr
importpublic Compiler.LambdaLift
importpublic Compiler.VMCode
importpublic Libraries.Data.Graph
importpublic Data.SortedMap
importpublic Data.SortedSet
importpublic Libraries.Data.StringMap

Definitions

recordCompilationUnitId : Type
Totality: total
Visibility: export
Constructor: 
CUID : Int->CompilationUnitId

Projection: 
.int : CompilationUnitId->Int

Hints:
EqCompilationUnitId
HashableCompilationUnitId
OrdCompilationUnitId
recordCompilationUnit : Type->Type
  A compilation unit is a set of namespaces.

The record is parameterised by the type of the definition,
which makes it reusable for various IRs provided by getCompileData.

Totality: total
Visibility: public export
Constructor: 
MkCompilationUnit : CompilationUnitId->List1Namespace->SortedSetCompilationUnitId->List (Name, def) ->CompilationUnitdef

Projections:
.definitions : CompilationUnitdef->List (Name, def)
  The definitions belonging into this compilation unit.
.dependencies : CompilationUnitdef->SortedSetCompilationUnitId
  Other units that this unit depends on.
.id : CompilationUnitdef->CompilationUnitId
  Unique identifier of a compilation unit within a CompilationUnitInfo record.
.namespaces : CompilationUnitdef->List1Namespace
  Namespaces contained within the compilation unit.

Hint: 
Hashabledef=>Hashable (CompilationUnitdef)
.id : CompilationUnitdef->CompilationUnitId
  Unique identifier of a compilation unit within a CompilationUnitInfo record.

Visibility: public export
id : CompilationUnitdef->CompilationUnitId
  Unique identifier of a compilation unit within a CompilationUnitInfo record.

Visibility: public export
.namespaces : CompilationUnitdef->List1Namespace
  Namespaces contained within the compilation unit.

Visibility: public export
namespaces : CompilationUnitdef->List1Namespace
  Namespaces contained within the compilation unit.

Visibility: public export
.dependencies : CompilationUnitdef->SortedSetCompilationUnitId
  Other units that this unit depends on.

Visibility: public export
dependencies : CompilationUnitdef->SortedSetCompilationUnitId
  Other units that this unit depends on.

Visibility: public export
.definitions : CompilationUnitdef->List (Name, def)
  The definitions belonging into this compilation unit.

Visibility: public export
definitions : CompilationUnitdef->List (Name, def)
  The definitions belonging into this compilation unit.

Visibility: public export
interfaceHasNamespaces : Type->Type
Parameters: a
Methods:
nsRefs : a->SortedSetNamespace
  Return the set of namespaces mentioned within

Implementations:
HasNamespacesNamedCExp
HasNamespacesNamedConAlt
HasNamespacesNamedConstAlt
HasNamespacesNamedDef
HasNamespaces (Liftedvars)
HasNamespaces (LiftedConAltvars)
HasNamespaces (LiftedConstAltvars)
HasNamespacesLiftedDef
HasNamespacesVMInst
HasNamespacesVMDef
HasNamespacesa=>HasNamespaces (FC, a)
nsRefs : HasNamespacesa=>a->SortedSetNamespace
  Return the set of namespaces mentioned within

Visibility: public export
recordCompilationUnitInfo : Type->Type
  Output of the codegen separation algorithm.
Should contain everything you need in a separately compiling codegen.

Totality: total
Visibility: public export
Constructor: 
MkCompilationUnitInfo : List (CompilationUnitdef) ->SortedMapCompilationUnitId (CompilationUnitdef) ->SortedMapNamespaceCompilationUnitId->CompilationUnitInfodef

Projections:
.byId : CompilationUnitInfodef->SortedMapCompilationUnitId (CompilationUnitdef)
  Mapping from ID to CompilationUnit.
.compilationUnits : CompilationUnitInfodef->List (CompilationUnitdef)
  Compilation units computed from the given definitions,
ordered topologically, starting from units depending on no other unit.
.namespaceMap : CompilationUnitInfodef->SortedMapNamespaceCompilationUnitId
  Maps each namespace to the compilation unit that contains it.
.compilationUnits : CompilationUnitInfodef->List (CompilationUnitdef)
  Compilation units computed from the given definitions,
ordered topologically, starting from units depending on no other unit.

Visibility: public export
compilationUnits : CompilationUnitInfodef->List (CompilationUnitdef)
  Compilation units computed from the given definitions,
ordered topologically, starting from units depending on no other unit.

Visibility: public export
.byId : CompilationUnitInfodef->SortedMapCompilationUnitId (CompilationUnitdef)
  Mapping from ID to CompilationUnit.

Visibility: public export
byId : CompilationUnitInfodef->SortedMapCompilationUnitId (CompilationUnitdef)
  Mapping from ID to CompilationUnit.

Visibility: public export
.namespaceMap : CompilationUnitInfodef->SortedMapNamespaceCompilationUnitId
  Maps each namespace to the compilation unit that contains it.

Visibility: public export
namespaceMap : CompilationUnitInfodef->SortedMapNamespaceCompilationUnitId
  Maps each namespace to the compilation unit that contains it.

Visibility: public export
getCompilationUnits : HasNamespacesdef=>List (Name, def) ->CompilationUnitInfodef
  Group the given definitions into compilation units for separate code generation.

Visibility: export