package
Version:
v1.2.0
Opens a new window with list of versions in this module.
Published: Sep 14, 2025
License: MIT, MIT
Opens a new window with license information.
Imports: 3
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
Documentation
¶
Print a compact S-expression-like string for debugging.
type Fst struct{ P Term }
Fst and Snd projections.
type Global struct{ Name string }
Global refers to a globally named constant (post-elaboration).
Lam (λ) abstraction with optional type annotation on the binder for printing.
Let x = v : A in body. (Convenience; kernel may desugar away later.)
Level represents a universe level (Type^u).
Pi (Π) type with domain A and codomain B in a binder (x:A).B.
We keep the binder name only for pretty-printing; kernel uses de Bruijn.
type RApp struct{ T, U RTerm }
type RFst struct{ P RTerm }
type RGlobal struct{ Name string }
type RLet struct {
Binder string
Ann, Val, Body RTerm
}
type RPair struct{ Fst, Snd RTerm }
type RSnd struct{ P RTerm }
type RSort struct{ U Level }
Raw terms carry user-chosen names before resolution.
type RVar struct{ Name string }
type Snd struct{ P Term }
type Sort struct{ U Level }
Sort is a universe: Type^U.
IsZeroLevel returns true if this is Sort 0 (Type0).
Term is the interface for all core terms.
MkApps applies t to us left-associatively.
Resolve converts an RTerm to a core Term with respect to a scope and globals.
type Var struct{ Ix int }
Var is a de Bruijn variable: index (0 = innermost binder).
Source Files
¶
Click to show internal directories.
Click to hide internal directories.