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.