85 YAPAtom(
const char * s) { a = Yap_LookupAtom( s ); }
87 YAPAtom(
const wchar_t * s) { CACHE_REGS a = UTF32ToAtom( s PASS_REGS ); }
91 YAPAtom(
const char * s,
size_t len) { a = Yap_LookupAtomWithLength( s, len ); }
93 const char *getName(
void);
95 inline const char *
text(
void) {
return getName(); } ;
147 inline YAPFunctor(
const char *s, uintptr_t arity,
bool isutf8 =
true) {
148 f = Yap_MkFunctor(Yap_LookupAtom(s), arity);
157 CACHE_REGS f = Yap_MkFunctor(UTF32ToAtom(s PASS_REGS), arity);
167 inline arity_t
arity() {
return ArityOfFunctor(f); };
YAPModule A YAPModule describes a bare module, which in YAP is just a name.
YAPModuleProp A YAPModuleProp controls access to a module property.
YAPAtom(const wchar_t *s)
construct new YAPAtom from UTF-8 string
YAPAtom(const char *s, size_t len)
construct new YAPAtom from wide string
arity_t arity()
Getter: extract arity of functor as an unsigned integer.
Functor fun()
Getter: extract the C functor.
YAPFunctor(YAPAtom at, uintptr_t arity)
Constructor: receives name as an atom, plus arity.
const char * text(void)
get name of (other way)
virtual ~YAPProp()
get name of property virtual YAPAtom name();
YAPAtom(const char *s)
construct new YAPAtom from UTF-8 string
YAPAtom name()
Getter: extract name of functor as an atom.
YAPFunctor(const wchar_t *s, uintptr_t arity)
Constructor: receives name as a wide string plus arity.
Prop getProp(PropTag tag)
get prop of type
YAPFunctor(const char *s, uintptr_t arity, bool isutf8=true)
Constructor: receives name as a string plus arity.
Atom A YAP data-base is a collection of atoms, where each atom has a name and a set of Properties.
YAPFunctor represents Prolog functors Name/Arity.
Prop A YAP Propery is ameta-class for everything one can in a atom.
@ TRANSLATION_TAG
map the atom to an integer
@ BLACKBOARD_TAG
the original SICStus blackboard
@ OPERATOR_TAG
Prolog operator,.
@ ARRAY_TAG
A typed array, may be in-db or in-stack deped.
@ GLOBAL_VAR_TAG
Demoen's proposal for gkobal variables.
@ ARITHMETIC_PROPERTY_TAG
arithmetic function
@ HOLD_TAG
ensure the atom may not be garbafe colected
@ FUNCTOR_TAG
generic functor, may include sub-properties
@ VALUE_TAG
associate an atomic value with the atom
@ DB_TAG
db key, may be associated with a functor
@ BLOB_TAG
SWI-STYLE ATOM Extension.
YAP Engine: takes care of the execution environment where we can go executing goals.
Atom Term Term Representation of an Atom.