6.2 KiB
6.2 KiB
layout, title, parent, ancestor
| layout | title | parent | ancestor |
|---|---|---|---|
| default | Generic | Abstraction | Funcons-beta |
Funcons-beta : Generic.cbs
Generic abstractions
[
Type abstractions
Funcon abstraction
Funcon closure
Funcon enact
]Type
abstractions(_:computation-types)Funcon
abstraction(_:T?=>T) : abstractions(T?=>T)The funcon abstraction(X) forms abstraction values from computations.
References to bindings of identifiers in X are dynamic.
The funcon closure(X) forms abstractions with static bindings.
Funcon
closure(_:T?=>T) : =>abstractions(T?=>T)closure(X) computes a closed abstraction from the computation X.
In contrast to abstraction(X), references to bindings of identifiers
in X are static. Moreover, closure(X) is not a value constructor,
so it cannot be used in pattern terms in rules.
Rule
environment(Rho) |- closure(X) ---> abstraction(closed(scope(Rho, X)))Funcon
enact(_:abstractions(T?=>T)) : T?=>Tenact(A) executes the computation of the abstraction A,
with access to all the current entities.
Rule
enact(abstraction(X)) ~> XFrom the PLanCompS Project | CBS-beta issues... | Suggest an improvement...