Thanks again Andrew for your answer (and to every one else that
replied to my message).
> > I am trying to quickly determine which of the two environments
> > (lisp, prolog) is better suited for my needs.
>
> It would be better if you told me what your needs consist of.
> And BTW what prog environments do you have ready for use for
> both of these langs?
Here are more details about the problem
The problem domain:
The system I have to develop is a rule based control system.
It uses a variation of the backward chaining algorithm
and other inference algorithms as well (e.g. a variation on
forward chaining). The different inference algorithms all operate on
the same rules and facts. The system also involves other types of
searches through the rules and facts.
The rule base is very large.
Since I use more than one inference technique on the same rules
I must program by changing inference algorithms and not the
knowledge base.
Further more, I have to use the same rule base with many
different intantiations of the facts base. This can be easily
done by using classes and objects. I know CLOS is a pretty
standard OO solution under Lisp, I haven�t seen any similar
solution in Prolog, is there one ? Is there a better/different way
of achiving the same result without objects ?
The development environment:
This project is not intended for academic purposes. My intention is
to develop a prototype (in 3, 4 month) and once the concept is proven,
to continue further development.
I therefor want to start developing on a free or very cheap
development environment for a PC (preferably Windows95, but Linux would
do) and then purchase a commercial tool for further development.
I do not want to have a 'Catholic wedding' with a specific development
tool. I want to be able to easily change a tool if I run into problems.
This means that I don't want to use any vendor specific
extensions or extremely unique and non standard features, languages
or tools.
Further I know that if I develop the system bottom upwards, Prolog
will get me up to speed quicker by using it's inherent pattern
matching and backward inference. I wonder though if I will not
encounter difficulties once I want to expand to multiple
instantiations of fact bases (OO as mentioned above).
{ One more note to news readers. The last thing I want to do is
start a flame (which I might already have done). I am looking for
a real solution to a specific problem, not a "who's God is stronger"
flame.}
Yours truly
Gary
You could try looking at the flex expert system toolkit (available from
LPA and other Prolog vendors), which aims to address this type of
problem in a similar way as Goldworks does for Lisp; i.e. provides
forward/backward-chaining support and frames/objects with inheritance on
top of the underlying power of the relevant symbolic language.
Both are commercially available and proved popular in introducing
symolic programming languages to industry in the shape of Expert Systems
tools.
clive spenser
marketing director
lpa ltd
studio 4, rvpb, http://www.lpa.co.uk
trinity road, london fax: +44 (0) 181 874 0449
sw18 3sx, england tel: +44 (0) 181 871 2016