File: comp-cstr.el.html

Constraint library in use by the native compiler.

In LIMPLE each non immediate value is represented by a comp-mvar. The part concerning the set of all values the comp-mvar can assume is described into its constraint comp-cstr. Each constraint consists in a triplet: type-set, value-set, range-set. This file provide set operations between constraints (union intersection and negation) plus routines to convert from and to a CL like type specifier.

Defined variables (4)

comp--all-builtin-typesLikewise like ‘cl--all-builtin-types’ but with t as common supertype.
comp--typeof-typesLike ‘cl--typeof-types’ but with t as common supertype.
comp-cstr-oneRepresent the integer immediate one.
comp-cstr-tRepresent the superclass t.

Defined functions (103)

comp-common-supertype(&rest TYPES)
comp-common-supertype-2(TYPE1 TYPE2)
comp-cstr-<(DST OLD-DST SRC)
comp-cstr-<=(DST OLD-DST SRC)
comp-cstr-=(DST OP1 OP2)
comp-cstr->(DST OLD-DST SRC)
comp-cstr->=(DST OLD-DST SRC)
comp-cstr-add(DST SRCS)
comp-cstr-add-2(DST SRC1 SRC2)
comp-cstr-cons-p(CSTR)
comp-cstr-copy(CSTR)
comp-cstr-ctxt-common-supertype-mem(CL-X)
comp-cstr-ctxt-common-supertype-mem--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-ctxt-intersection-mem(CL-X)
comp-cstr-ctxt-intersection-mem--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-ctxt-p(CL-X)
comp-cstr-ctxt-p--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-ctxt-subtype-p-mem(CL-X)
comp-cstr-ctxt-subtype-p-mem--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-ctxt-union-1-mem-no-range(CL-X)
comp-cstr-ctxt-union-1-mem-no-range--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-ctxt-union-1-mem-range(CL-X)
comp-cstr-ctxt-union-1-mem-range--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-ctxt-union-typesets-mem(CL-X)
comp-cstr-ctxt-union-typesets-mem--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-empty-p(CSTR)
comp-cstr-f-args(CL-X)
comp-cstr-f-args--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-f-p(CL-X)
comp-cstr-f-p--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-f-ret(CL-X)
comp-cstr-f-ret--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-fixnum-p(CSTR)
comp-cstr-greatest-in-range(RANGE)
comp-cstr-imm(CSTR)
comp-cstr-imm-vld-p(CSTR)
comp-cstr-intersection(DST &rest SRCS)
comp-cstr-intersection-homogeneous(DST &rest SRCS)
comp-cstr-intersection-make(&rest SRCS)
comp-cstr-intersection-no-hashcons(DST &rest SRCS)
comp-cstr-intersection-no-mem(&rest SRCS)
comp-cstr-neg(CL-X)
comp-cstr-neg--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-negation(DST SRC)
comp-cstr-negation-make(SRC)
comp-cstr-null-p(CSTR)
comp-cstr-p(CL-X)
comp-cstr-p--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-range(CL-X)
comp-cstr-range--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-set-cmp-range(DST OLD-DST EXT-RANGE)
comp-cstr-set-range-for-arithm(DST SRC1 SRC2 &rest RANGE-BODY)
comp-cstr-shallow-copy(ARG)
comp-cstr-smallest-in-range(RANGE)
comp-cstr-sub(DST SRCS)
comp-cstr-sub-2(DST SRC1 SRC2)
comp-cstr-symbol-p(CSTR)
comp-cstr-to-type-spec(CSTR)
comp-cstr-typeset(CL-X)
comp-cstr-typeset--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-union(DST &rest SRCS)
comp-cstr-union-1(RANGE DST &rest SRCS)
comp-cstr-union-1-no-mem(RANGE &rest SRCS)
comp-cstr-union-homogeneous(RANGE DST &rest SRCS)
comp-cstr-union-homogeneous-no-range(DST &rest SRCS)
comp-cstr-union-make(&rest SRCS)
comp-cstr-union-no-range(DST &rest SRCS)
comp-cstr-valset(CL-X)
comp-cstr-valset--cmacro(CL-WHOLE-ARG CL-X)
comp-cstr-value-negation(DST SRC)
comp-cstrs-homogeneous(CSTRS)
comp-intersect-two-typesets(T1 T2)
comp-intersect-typesets(&rest TYPESETS)
comp-intersection-valsets(&rest VALSETS)
comp-irange-to-cstr(IRANGE)
comp-normalize-typeset(TYPESET)
comp-normalize-valset(VALSET)
comp-range-+(X Y)
comp-range--(X Y)
comp-range-1+(X)
comp-range-1-(X)
comp-range-<(X Y)
comp-range-intersection(&rest RANGES)
comp-range-negation(RANGE)
comp-range-union(&rest RANGES)
comp-split-pos-neg(CSTRS)
comp-star-or-num-p(X)
comp-subtype-p(TYPE1 TYPE2)
comp-supertypes(TYPE)
comp-type-spec-to-cstr(TYPE-SPEC &optional FN)
comp-type-to-cstr(TYPE)
comp-union-typesets(&rest TYPESETS)
comp-union-valsets(&rest VALSETS)
comp-value-to-cstr(VALUE)
copy-comp-cstr-ctxt(ARG)
copy-comp-cstr-f(ARG)
make-comp-cstr
make-comp-cstr--cmacro
make-comp-cstr-ctxt
make-comp-cstr-ctxt--cmacro
make-comp-cstr-f
make-comp-cstr-f--cmacro
with-comp-cstr-accessors(&rest BODY)

Defined faces (0)