[comp.lang.prolog] New Question Re: PDC prolog gripe/question

jgarland@kean.ucs.mun.ca (10/16/90)

In article <GARYM.90Oct14143102@cognos.uucp@uunet.uu.net>, garym@cognos.uuc> This project business has been with this prolog since the beginning.
> One one hand, it is commendable, as it does allow their WAM'ish
> compiler to easily attach to C language .LIB's and .OBJ's (unlike
> Arity et al where the interface is much more awkward), and it was one
> of the first prologs to address the 'flatness' of prolog predicate
> scope.  On the other hand, it totally destroys any chance of code-reuse
> through building .LIB's of predicates (unless all are declared to be
> 'language c').  Like everyone else, I don't like the 'project' declaration,
> but I really can't see any way they could have avoided it.

I have been thinking of implementing some of my own predicates and 
using TLIB to link them in to PROLOG.LIB (or a NEWPREDS.LIB) so they 
that could be called directly without going through the (admittedly 
pain in the neck--at the least) global predicate route.   The manual 
seems to imply you can do this.  Are you saying it won't work? 

John Garland

jgarland@mun                          Bitnet
jgarland@kean.ucs.mun.ca              Internet

garym@cognos.UUCP (Gary Murphy) (10/17/90)

You _can_ add predicates to the TurboProlog .LIB, but because of the
.SYM/project restriction, all .LIB predicates must be written in C!
I haven't tried, but you might get away with coding the predicates in
prolog and declaring them as global predicates with "language c", but
since you will want them in a module (not the root, which would have
the goal), and since modules require the "project" specification, I
would expect the .SYM to once again get in the way.