killer apps

From: John Lloyd <jwl_at_cs.bris.ac.uk>
Date: Fri, 4 Jul 1997 02:24:52 +0100 (BST)

> 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