> The real question is: what is your killer app? What application
> areas does this language address, that are not so well addressed
> by existing languages? Here are examples of the sort of answers
> I would give for some other languages.
Let me suggest 3 potential killer apps. I think a good FLP language would
have significant advantages over more conventional languages for these
applications.
1. Constraints.
This is already pretty much a killer app for LP. There is a great deal
of commercial activity involving CLP languages. So, in a sense, FLP
languages have missed the boat. But all the CLP languages are based on
Prolog which has lots of SE weaknesses, e.g. no type system. An
FLP language which supported sophisticated constraint solving
could have a big future here.
2. Machine learning.
This is another exploding area where LP has had a big impact. Currently
the action is in Inductive Logic Programming which does first order
learning based on Prolog. There are good arguments for moving to a
modern higher-order FLP language for this. In fact, this is the prime
intended application of the Escher system. A great deal of industrial and
commercial investment is being put into ML and the closely associated
field of Knowledge Discovery in Databses (KDD). We could have a big
future in these areas if we move fast.
3. Knowledge-based Internet applications.
The language of choice for the Internet is Java. It's nice but it isn't
the language one would want to use for a knowledge based application.
Such applications are rare now but as the Internet grows, they will
become increasingly important. (Imagine Web sites giving citizens advice
or information about welfare programmes, legislation, taxation
and so on. These will all need to access knowledge bases to answer
queries.) The idea here is that most of the application will be written
in Java but the key knowledge base part will be handled by an FLP language.
One can achieve this by making the FLP part a Java package, for example.
(I've already tried this by implementing the core of Escher in Java and
having a student play around with the Escher part embedded in a
Java application. It seems promising.) At the very least, Curry
must be Internet-ready!
Here is another good justification for our research.
Teaching programming.
I think we can make a real impact here. The current approach of
teaching FP and LP with separate languages is really silly.
We need an FLP language which is widely accepted by
both FPers and LPers in which we can teach *declarative* programming.
If we want declarative programming languages to make an impact in the
real world, we really must do a better job of teaching them to students
than we do now.
John
Received on Fr Jul 04 1997 - 04:26:00 CEST
This archive was generated by hypermail 2.3.0
: Do Feb 01 2024 - 07:15:04 CET