Home > Archive > Prolog > March 2004 > Re: mainstreaming Prolog
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Re: mainstreaming Prolog
|
|
| Paul Singleton 2004-03-27, 12:10 am |
| anders t wrote:
> Is there a true interest among Prolog theoreticists and practitioners to
> popularize Prolog and perhaps make it a mainstream language, like Java,
> C++, C#,
There's no consensus on how to "mainstream" Prolog, and
no evidence that Prologists would devote significant effort
to a common path rather than pursuing individual interests
which tend to fragment, rather than strengthen, Prolog as
a whole.
I find the Prolog FAQ depressing, with its list of proprietary
and idiosyncratic implementations and extensions of Prolog,
many of them dormant or defunct, with no viable way of
combining their innovations. Indeed I doubt that any of them
were developed with much regard to this: Prolog is currently
much less than the sum of its parts.
Sadly, most of the creative Prologists are associated with
exactly one (or other) of these implementations; perhaps
we need some other focus, e.g. a neutral working group to
develop APIs for embedding Prolog in other languages, in
IDEs, in web app servers etc. Any nominations?
If we look at what has made RDBMSs so widely used and usable,
a lot of it is not very sexy or theoretical, but mundane
and necessary stuff for transactions, recovery, APIs for
programmatic use etc, and it's not surprising that few want
to contribute such work to Prolog while there is neither
consensus on how this sort of stuff should be structured,
nor even consensus on it being worth having at all.
Nevertheless, I haven't quite given up hope :-)
Paul Singleton
| |
| Jan Wielemaker 2004-03-27, 12:10 am |
| In article <c34s3u$fi4$1$830fa79d@news.demon.co.uk>, Paul Singleton wrote:
> anders t wrote:
>
>
> There's no consensus on how to "mainstream" Prolog, and
> no evidence that Prologists would devote significant effort
> to a common path rather than pursuing individual interests
> which tend to fragment, rather than strengthen, Prolog as
> a whole.
This is a difficult topic with lots of different interrests. Commercial
vendors have an interest to lock users into their system and
non-commercial `vendors' have an interest in moving forward in terms of
scientific contribution and/or pure functionality. Despite the clear
common interrest of all maintainers of some implementation of the Prolog
language it is a very hard task to get anything going.
Possibly one problem is that realisation of a simple implementation of
the language is too easy, which let to too many of them :-)
I've tried to coordinate two attempts, but it turns out this really
requires a fulltime job which I, like many of us, cannot affort as well
as skills I do not posses. Standardisation should be at the top of our
priority list, but it requires either a very strong partner (like W3C
for the semantic web) or some sort of functioning decentralised
infrastructure.
<snip>
> Nevertheless, I haven't quite given up hope :-)
Good!
Enjoy --- Jan
| |
| Dr Andrew R. Verden 2004-03-27, 12:10 am |
| I think you should refer to the ISO standard for Prolog.
All "mainstream" Prologs: IF/Prolog, SICStus Prolog etc do
conform to this standard. There are a couple of industry exceptions
PDC Prolog and LPA Prolog (please correct me if latest versions are
now ISO conforming.)
The standard is a good one, it makes excellent definition of errors
be they type or runtime errors. It also defines a good subset of
predicates that provide all that you need.
Since the standard was completed there has been little or no need
to modify it. Extending it to include modules and constraints was
on the agenda, but never came to fruition.
Andrew Verden
| |
| Jan Wielemaker 2004-03-27, 12:10 am |
| In article <67ae2aa2.0403160036.3e894091@posting.google.com>,
Dr Andrew R. Verden wrote:
> I think you should refer to the ISO standard for Prolog.
It would have been nice to quote some text, so we know to what you are
refering.
> All "mainstream" Prologs: IF/Prolog, SICStus Prolog etc do
> conform to this standard. There are a couple of industry exceptions
> PDC Prolog and LPA Prolog (please correct me if latest versions are
> now ISO conforming.)
>
> The standard is a good one, it makes excellent definition of errors
> be they type or runtime errors. It also defines a good subset of
> predicates that provide all that you need.
There are many valid complaints on this standard. Nevertheless it is
indeed adopted by almost all todays implementations which is a very
good thing in itself. The trouble however is that its far too limited
and it is still extremely hard to write even a very trivial program
that runs on all these ISO compliant Prolog systems. What about
a language without an accepted module system? Without a standard
library? Without a standard interface to the outside world?
> Since the standard was completed there has been little or no need
> to modify it. Extending it to include modules and constraints was
> on the agenda, but never came to fruition.
Sadly ...
--- Jan
| |
| Dr Andrew R. Verden 2004-03-27, 12:10 am |
| For the ISO Standard definition to Prolog please see
www.iso.org search for Prolog.
There is also a modules definition which I think
is very close to what IF/Prolog implements, but
I am not 100% sure on this as I have not read the
document. I also think this modules document has
largely been ignored by the Prolog implementors and
suppliers!
Overall though I do not believe Prolog is good as a
mainstream language. It is very very good at modelling
problems in a declaratve way and search strategies and
compilers and parsing... In these areas it has been successful
to a certain mainstream extent and is still used for all
of these, even after some 20 years since the first commercial
Prologs became available.
Many products also support Java APIs through easy interface
definition or through auto-discovery. In any application
development it is worth separating the GUI from the engine,
and foreign API componenents should not be too deeply embedded
into an application. Clear interfaces and modules help an application
migrate through different platforms and GUIs and customers existing
software.
This ease of compatibility is what makes it worth buying a decent
Prolog system, in the same way one might buy a decent database. The
decent vendor (us especially :-)) will continue to supply the future
interfaces and try to stay one step ahead of what the users require.
It is not fair though to blame the Prolog langauge for its lack of
interfacability into mainstream applications. The problem of finding a
compatible set of componenets on compatible operating systems remains,
regardless of whether or not Prolog is in the equation.
The computer industry as a whole has moved away from standardisation,
at the expense of quality, and the benefit of speed to market. The ISO
Prolog standard took more than 10 years to formulate and is one of the
better standards, it actually re-used other standards usually
standards
have their own definition of an integer... see the C/C++ standard in
comparison.
|
|
|
|
|