diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1998-11-26 18:03:02 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1998-11-26 18:03:02 +0000 |
commit | 19c0dec231a46c679638c2dce0f3dcdddf25009e (patch) | |
tree | 434b52a8dc15190797274a24de732da259bec85d /libguile/objects.c | |
parent | 90184345a020b5abcd419f04c01d30185f0fb27b (diff) | |
download | guile-19c0dec231a46c679638c2dce0f3dcdddf25009e.tar.gz |
* objects.c, objects.h (scm_entity_p): New procedure. Together
with the predicates scm_procedure_p and scm_struct_p, this
predicate makes it possible to differ between structs, entities
and operators.
Diffstat (limited to 'libguile/objects.c')
-rw-r--r-- | libguile/objects.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libguile/objects.c b/libguile/objects.c index 3ce31179a..cbb6b4ca9 100644 --- a/libguile/objects.c +++ b/libguile/objects.c @@ -56,6 +56,16 @@ SCM scm_metaclass_standard; SCM scm_metaclass_operator; +SCM_PROC (s_entity_p, "entity?", 1, 0, 0, scm_entity_p); + +SCM +scm_entity_p (SCM obj) +{ + return (SCM_NIMP (obj) && SCM_STRUCTP (obj) && SCM_I_ENTITYP (obj) + ? SCM_BOOL_T + : SCM_BOOL_F); +} + SCM_PROC (s_set_object_procedure_x, "set-object-procedure!", 1, 0, 1, scm_set_object_procedure_x); SCM @@ -219,7 +229,7 @@ scm_init_objects () SCM et = scm_make_struct (mt, SCM_INUM0, SCM_LIST4 (el, SCM_BOOL_F, SCM_EOL, SCM_EOL)); - scm_sysintern ("<standard-class>", mt); + scm_sysintern ("<class>", mt); scm_metaclass_standard = mt; scm_sysintern ("<operator-class>", ot); scm_metaclass_operator = ot; |