Skip to content

Foreign Function Interface #3418

@lukaszcz

Description

@lukaszcz

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;

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions