[comp.lang.prolog] When to use Prolog?

ntm1169@dsacg1.UUCP (Mott Given) (03/11/88)

  
  I would like to know when Prolog is better suited for building an expert
  system application than a conventional expert system shell like M.1 from
  Teknowledge?  I would also like to know when it is better to use a tool
  like M.1 than Prolog?

ok@quintus.UUCP (Richard A. O'Keefe) (03/11/88)

In article <382@dsacg1.UUCP>, ntm1169@dsacg1.UUCP (Mott Given) writes:
>   I would like to know when Prolog is better suited for building an expert
>   system application than a conventional expert system shell like M.1 from
>   Teknowledge?  I would also like to know when it is better to use a tool
>   like M.1 than Prolog?

In all seriousness, the answer is "wear the shoes that fit".
If your application fits into the mould/straitjacket provided by a particular
shell, then that's the thing to use.  The trouble is, what do you do if when
your application stops fitting?  Using Lisp is like running up a steep hill.
Using Prolog is like running up a slightly less steep hill.  Using a shell
is like running along level ground until wham! you hit a brick wall.

You would be well advised to start trying to write down the "knowledge" for
your application _before_ you select a shell or programming language.  Try
to isolate a small chunk of this that you expect to get going with a usable
tool in about a week, and then ask around the vendors to see who will give
you an evaluation copy for a week or a month, and see how hard it really is
to get the small chunk working.  Ask the vendors whether there is someone
using their product for a similar application who would be willing to talk
to you.  (They may not know, of course, but if there _is_ someone like that
it's a big help.)

You may even find that it is a good idea to write a small prototype in a
cheap shell and experiment with it for a while, then write the real
application in Prolog.

ok@quintus.UUCP (Richard A. O'Keefe) (03/12/88)

In article <759@cresswell.quintus.UUCP>, ok@quintus.UUCP I wrote:
> Using Prolog is like running up a slightly less steep hill.  Using a shell
> is like running along level ground until wham! you hit a brick wall.

I should have made it clear that I had in mind shells like EMYCIN,
not programming languages like M.1.