-
Notifications
You must be signed in to change notification settings - Fork 63
Labels
Milestone
Description
Currently, we keep adding each new AnomaLib function as a builtin. Each time, this requires compiler modification, and the number of builtins has grown unreasonably. AnomaLib functions should not be compiler builtin operations, but just external callable functions.
I propose general syntax of the form:
extern kind {attribs}
f : Nat -> Nat;
The kind indicates the kind of external definition, e.g., anomalib. attribs are attributes specific to kind.
For example,
extern anomalib {path := 2131}
listDelta : List Action -> Delta;