Idris2Doc : Language.Reflection.Compat

Language.Reflection.Compat

(source)
This module contains copies of the pre-overhaul definitions of the `elab-util` library and/or code derived from these copies
(the overhaul is this one: https://github.com/stefan-hoeck/idris2-elab-util/pull/56).
This is done due to be able to migrate to the newer `elab-util` slowly, using both old and new definitions.

This copying is done with the permission of Stefan Höck, the author and copyright holder of the `elab-util` library.

Reexports

importpublic Data.List.Quantifiers
importpublic Data.List1
importpublic Data.String
importpublic Data.Vect
importpublic Language.Reflection
importpublic Language.Reflection.Syntax
importpublic Language.Reflection.Syntax.Ops

Definitions

recordCon : Type
  Constructor of a data type

Totality: total
Visibility: public export
Constructor: 
MkCon : Name->ListArg->TTImp->Con

Projections:
.args : Con->ListArg
.name : Con->Name
.type : Con->TTImp

Hint: 
LogPositionCon
.name : Con->Name
Totality: total
Visibility: public export
name : Con->Name
Totality: total
Visibility: public export
.args : Con->ListArg
Totality: total
Visibility: public export
args : Con->ListArg
Totality: total
Visibility: public export
.type : Con->TTImp
Totality: total
Visibility: public export
type : Con->TTImp
Totality: total
Visibility: public export
getCon : Elaborationm=>Name->mCon
  Tries to lookup a constructor by name.

Totality: total
Visibility: export
recordTypeInfo : Type
  Information about a data type

@name : Name of the data type
Note: There is no guarantee that the name will be fully
qualified
@args : Type arguments of the data type
@cons : List of data constructors

Totality: total
Visibility: public export
Constructor: 
MkTypeInfo : Name->ListArg->ListCon->TypeInfo

Projections:
.argNames : (ti : TypeInfo) -> {auto0_ : AllTyArgsNamedti} ->ListName
.args : TypeInfo->ListArg
.cons : TypeInfo->ListCon
.decl : TypeInfo->Decl
  Generate a declaration from TypeInfo
.name : TypeInfo->Name

Hint: 
LogPositionTypeInfo
.name : TypeInfo->Name
Totality: total
Visibility: public export
name : TypeInfo->Name
Totality: total
Visibility: public export
.args : TypeInfo->ListArg
Totality: total
Visibility: public export
args : TypeInfo->ListArg
Totality: total
Visibility: public export
.cons : TypeInfo->ListCon
Totality: total
Visibility: public export
cons : TypeInfo->ListCon
Totality: total
Visibility: public export
getInfo' : Elaborationm=>Name->mTypeInfo
  Tries to get information about the data type specified
by name. The name need not be fully qualified, but
needs to be unambiguous.

Totality: total
Visibility: export
getInfo : Name->ElabTypeInfo
  macro version of `getInfo'`

Totality: total
Visibility: export
dataConArgsNamed : Con->Type
Totality: total
Visibility: public export
Constructor: 
TheyAreNamed : AllIsNamedArgars->ConArgsNamed (MkConnmarsty)
areConArgsNamed : (con : Con) ->Dec (ConArgsNamedcon)
Totality: total
Visibility: public export
0conArgsNamed : {auto0_ : ConArgsNamedc} ->AllIsNamedArg (c.args)
Totality: total
Visibility: public export
dataAllTyArgsNamed : TypeInfo->Type
Totality: total
Visibility: public export
Constructor: 
TheyAllAreNamed : AllIsNamedArgars->AllConArgsNamedcns->AllTyArgsNamed (MkTypeInfonmarscns)
areAllTyArgsNamed : (ty : TypeInfo) ->Dec (AllTyArgsNamedty)
Totality: total
Visibility: public export
0.tyArgsNamed : (0_ : AllTyArgsNamedt) ->AllIsNamedArg (t.args)
Totality: total
Visibility: public export
0.tyConArgsNamed : (0_ : AllTyArgsNamedt) ->AllConArgsNamed (t.cons)
Totality: total
Visibility: public export
.tyName : TypeInfo->Name
Totality: total
Visibility: public export
.tyArgs : TypeInfo->ListArg
Totality: total
Visibility: public export
.tyCons : TypeInfo->ListCon
Totality: total
Visibility: public export
.conArgs : Con->ListArg
Totality: total
Visibility: public export