record TcFunction : Type A (toplevel) function in a group of mutually tail recursive functions.
Totality: total
Visibility: public export
Constructor: MkTcFunction : Name -> Int -> List Name -> NamedCExp -> TcFunction
Projections:
.args : TcFunction -> List Name Argument list
.exp : TcFunction -> NamedCExp Function's definition
.index : TcFunction -> Int Function's index in its tail call group
This is used to decide on which branch to choose in
the next iteration
.name : TcFunction -> Name Function's name
.name : TcFunction -> Name Function's name
Visibility: public exportname : TcFunction -> Name Function's name
Visibility: public export.index : TcFunction -> Int Function's index in its tail call group
This is used to decide on which branch to choose in
the next iteration
Visibility: public exportindex : TcFunction -> Int Function's index in its tail call group
This is used to decide on which branch to choose in
the next iteration
Visibility: public export.args : TcFunction -> List Name Argument list
Visibility: public exportargs : TcFunction -> List Name Argument list
Visibility: public export.exp : TcFunction -> NamedCExp Function's definition
Visibility: public exportexp : TcFunction -> NamedCExp Function's definition
Visibility: public exportrecord TcGroup : Type A group of mutually tail recursive toplevel functions.
Totality: total
Visibility: public export
Constructor: MkTcGroup : Int -> SortedMap Name TcFunction -> TcGroup
Projections:
.functions : TcGroup -> SortedMap Name TcFunction Set of mutually recursive functions.
.index : TcGroup -> Int Index of the group. This is used to generate a uniquely
named tail call optimized toplevel function.
.index : TcGroup -> Int Index of the group. This is used to generate a uniquely
named tail call optimized toplevel function.
Visibility: public exportindex : TcGroup -> Int Index of the group. This is used to generate a uniquely
named tail call optimized toplevel function.
Visibility: public export.functions : TcGroup -> SortedMap Name TcFunction Set of mutually recursive functions.
Visibility: public exportfunctions : TcGroup -> SortedMap Name TcFunction Set of mutually recursive functions.
Visibility: public exportrecord Function : Type- Totality: total
Visibility: public export
Constructor: MkFunction : Name -> List Name -> NamedCExp -> Function
Projections:
.args : Function -> List Name .body : Function -> NamedCExp .name : Function -> Name
.name : Function -> Name- Visibility: public export
name : Function -> Name- Visibility: public export
.args : Function -> List Name- Visibility: public export
args : Function -> List Name- Visibility: public export
.body : Function -> NamedCExp- Visibility: public export
body : Function -> NamedCExp- Visibility: public export
functions : Name -> List (Name, (FC, NamedDef)) -> List Function Converts a list of toplevel definitions (potentially
several groups of mutually tail-recursive functions)
to a new set of tail-call optimized function definitions.
Only `MkNmFun`s are converted. Other constructors of `NamedDef`
are ignored and silently dropped.
Visibility: export