☰

*ON THIS PAGE*# Extra-logical properties for typing

**Author(s):** Daniel Cabeza, Manuel Hermenegildo.## Usage and interface

## Documentation on exports

**Other properties:** `var(X)`
`var(X)`
`var(X)`
`var(X)`
**Other properties:** `nonvar(X)`
`nonvar(X)`
`nonvar(T)`
`nonvar(T)`
**Other properties:** `atom(X)`
`atom(X)`
`atom(X)`
`atom(T)`
**Other properties:** `integer(X)`
`integer(X)`
`integer(X)`
`integer(T)`
**Other properties:** `float(X)`
`float(X)`
`float(X)`
`float(T)`
**Other properties:** `number(X)`
`number(X)`
`number(X)`
`number(T)`
**Other properties:** `atomic(T)`
`atomic(X)`
`atomic(X)`
`atomic(T)`
**Other properties:** `ground(X)`
`ground(X)`
`ground(X)`
`ground(X)`
`ground(X)`
**Other properties:** `type(X,Y)`
`type(X,Y)`
## Documentation on imports

This module has the following direct dependencies:

This library contains traditional Prolog predicates for testing types. They depend on the state of instantiation of their arguments, thus being of extra-logical nature.

PROPERTYvar/1

Usage:`var(X)`

X is a free variable.

*The following properties hold globally:*

(`basic_props:native/2`)This predicate is understood natively by CiaoPP as free(X).

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form var(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

(`basic_props:sideff/2`)var(X) is side-effect free.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)var(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)var(X) is equivalent to fail.

*If the following properties hold at call time:*

(`term_typing:var/1`)X is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)var(X) is equivalent to true.

PROPERTYnonvar/1

Usage:`nonvar(X)`

X is currently a term which is not a free variable.

*The following properties hold globally:*

(`basic_props:native/2`)This predicate is understood natively by CiaoPP as not_free(X).

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form nonvar(Arg1) are deterministic.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)nonvar(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)nonvar(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)T is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)nonvar(T) is equivalent to fail.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)T is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)nonvar(T) is equivalent to true.

PROPERTYatom/1

Usage:`atom(X)`

X is currently instantiated to an atom.

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:atm/1`)X is an atom.

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form atom(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)atom(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)atom(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)T is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)atom(T) is equivalent to fail.

PROPERTYinteger/1

Usage:`integer(X)`

X is currently instantiated to an integer.

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:int/1`)X is an integer.

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form integer(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)integer(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)integer(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)T is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)integer(T) is equivalent to fail.

PROPERTYfloat/1

Usage:`float(X)`

X is currently instantiated to a float.

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:flt/1`)X is a float.

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form float(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)float(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)float(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)T is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)float(T) is equivalent to fail.

PROPERTYnumber/1

Usage:`number(X)`

X is currently instantiated to a number.

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:num/1`)X is a number.

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form number(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)number(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)number(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)T is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)number(T) is equivalent to fail.

PROPERTYatomic/1

Usage:`atomic(X)`

X is currently instantiated to an atom or a number.

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:constant/1`)T is an atomic term (an atom or a number).

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form atomic(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)atomic(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)atomic(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)T is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)atomic(T) is equivalent to fail.

PROPERTYground/1

Usage:`ground(X)`

X is currently ground (it contains no variables).

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:gnd/1`)X is ground.

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form ground(Arg1) are deterministic.

(`native_props:test_type/2`)Indicates the type of test that a predicate performs. Required by the nonfailure analyisis.

*The following properties hold globally:*

(`basic_props:not_further_inst/2`)X is not further instantiated.

(`basic_props:sideff/2`)ground(X) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:ground/1`)X is currently ground (it contains no variables).*then the following properties hold globally:*

(`basic_props:eval/1`)ground(X) is evaluable at compile-time.

*If the following properties hold at call time:*

(`term_typing:var/1`)X is a free variable.*then the following properties hold globally:*

(`basic_props:equiv/2`)ground(X) is equivalent to fail.

*If the following properties hold at call time:*

(`term_typing:ground/1`)X is currently ground (it contains no variables).*then the following properties hold globally:*

(`basic_props:equiv/2`)ground(X) is equivalent to true.

PROPERTYtype/2

Usage:`type(X,Y)`

X is internally of type Y (`var`, `attv`, `float`, `integer`, `structure`, `atom` or `list`).

*The following properties hold globally:*

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*The following properties hold upon exit:*

(`basic_props:atm/1`)Y is an atom.

*The following properties hold globally:*

(`native_props:is_det/1`)All calls of the form type(Arg1,Arg2) are deterministic.

*The following properties hold globally:*

(`basic_props:sideff/2`)type(Arg1,Arg2) is side-effect free.

(`basic_props:native/1`)This predicate is understood natively by CiaoPP.

*If the following properties hold at call time:*

(`term_typing:nonvar/1`)X is currently a term which is not a free variable.*then the following properties hold globally:*

(`basic_props:eval/1`)type(X,Y) is evaluable at compile-time.

*System library modules:*`native_props`.*Packages:*`prelude`,`initial`,`condcomp`,`assertions`,`assertions/assertions_basic`,`nortchecks`,`nativeprops`,`isomodes`.

Generated with LPdoc using Ciao