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?