Scheme interpreter types (for Erlang types and specs)
. __Authors:__ Joseph Wayne Norton ([`[email protected]`](mailto:[email protected])).
arg() = exp()
body() = dexec()
denv() = scmi_env:env()
dng() = fun((exp()) -> no_return())
eof() = '?EOF'
?EOF
error() = error_user() | error_read() | error_file()
error_file() = #error_file{val = exp()}
error_read() = #error_read{val = exp()}
error_user() = #error_user{val = [exp(), ...]}
exp() = scm_any()
expander() = #expander{val = sexec()}
f0() = fun(() -> exp())
fn() = fun((...) -> exp())
fun((arg(),...) -> exp()).
fnv() = fun((...) -> exp())
fun((arg(),...,vargs()) -> exp()).
iodev() = scmi_iodev:iodev()
lip0() = #lip0{val = l0()}
lipnv() = #lipnv{val = lnv()}
lipv() = #lipv{val = lv()}
nip0() = #nip0{val = f0()}
nipnv() = #nipnv{val = fnv()}
nipv() = #nipv{val = fv()}
param() = var()
params() = [param()]
senv() = scmi_analyze:senv()
sexec() = fun((exp(), senv()) -> expander() | dexec())
src() = fun(() -> [exp()])
var() = scm_symbol() | reference()
vargs() = [arg()]
xfn() = fun((...) -> exp())
fun((arg(),... ,denv(), dok(), dng()) -> exp()).
xfnv() = fun((...) -> exp())
fun((arg(),... ,vargs(), denv(), dok(), dng()) -> exp()).
xnip0() = #xnip0{val = xf0()}
xnipnv() = #xnipnv{val = xfnv()}
xnipv() = #xnipv{val = xfv()}