09.07. Typ von Termen 2
Schreibe ein zweistelliges Prädikat termtype(+Term,?Type)
, das gelingt, wenn Type
der Typ des Terms Term
ist. Hierbei sollen alle Typen, zu denen der Term gehört, (beginnend mit dem spezifischsten) zurückgegeben werden:
?- termtype(Vincent,variable).
true.
?- termtype(mia,X).
X = atom ;
X = constant ;
X = simple_term ;
X = term ;
false.
?- termtype(dead(zed),X).
X = complex_term ;
X = term ;
false.
Mögliche Typen sind:
atom, atomic, complex_term, int, number, simple_term, term, variable