[net.lang.prolog] New Prolog Type Test

O'KeefeHPS@sri-unix.UUCP (09/06/84)

From:  O'Keefe HPS (on ERCC DEC-10)

I've often wished for a predicate which would tell me whether
a term was the kind of thing that could be given to call/1,
apply/2,  the mapping predicates, could serve as a C Prolog
database key, and so on.  The definition is

        callable(X) :-
                nonvar(X),
                functor(X, F, N),
                atom(F).

I've added this definition to APPLIC.PL and to C-Prolog
v1.5a.edai as a primitive.  Before I start telling people about
it, adding it to the draft proposed standard, and so on, does
anyone have a better name for it?

By the way, about the draft proposed standard.  Even if your
company or your military commanders don't want you to share
the fruits of your labour with the world and that's why you
can't put things in the Prolog library, surely they can see
some advantage to themselvesfrom having something like a standard?
I was expecting lots of mail saying "the idea of PLSTD.MSS is all
wet" or "PLSTD.MSS is all wet because ...".  The only mail I've
had is from Fernando on behalf of Quintus saying they like the
idea (despite it not being exactly what they've got at the moment)
but they're busy right now.  I *know* there are lots of holes in
it (E.g. callable/1, and assert & retract & friends aren't
described much).  The only conclusion I can come to is that nobody
*cares* about trying to produce a description of Prolog *not*
*favouring* *any* *one* *implementor*.  What a contrast
to C, eh?