9 comments

[ 3.8 ms ] story [ 29.5 ms ] thread
I actually asked Dr Colmerauer once if the original program code had survived, but sadly he did not believe any of it was still around.
I discovered Prolog in my youth, and logic has been something of an addiction ever since - not always, I suspect, a particularly useful one.

Lately, though, I have found what may be an antidote in Emacs, Lisp, and functional programming.

Then again, perhaps I have merely traded one elegant addiction for another.

Interesting that Prolog grew out of an NLP project in Marseille rather than a logic-programming research agenda — SLD resolution got attached to it afterward, not the other way round.
Programming in Prolog back in the 1980s was a pleasant experience. I wrote some useful programs with Prolog but as I remember that era, the language made a brief splash and soon relegated to niche settings.

Nowadays I enjoy programming in Scheme, which I'd guess is chosen by developers about as often as Prolog. Using Scheme stirs up memories of my Prolog experience. Intuitively it seems like these PLs require or stimulate a similar thinking process that appeals to some of us. I haven't pursued this idea, but it lingers in my brain.

Curiously both PLs were developed in the early 1970s and first official versions released in 1975. Is it possible the authors of Scheme knew about and were influenced by Prolog? Not too likely, but Prolog's creators did spend some time at MIT, the birthplace of Scheme, so the odds are a bit better than 0.

Prolog (and common lisp) were all the rage for NLP in the 1990s, HPSG systems, le dernier cri, were implemented in them.

what confused me back then and still does is the strict determinism, the fact that program code order defines the output, not the fastest to prove valid binding.

I hoped for sth that would instead be driven by sth like A* guided by probabilities, learned from corpora...

in the early 2000s I then saw research doing exactly that, a* guided search guiding the unification algorithm. I wonder what has become of these approaches. (didn't find the specific paper any more, which to me was one of these sacred moments of reading something hard and useful being well explained, if I find it I'll update. I _believe_ it was from Stanford)

One of my favourite languages, I even took part in a logic programming competition between universities.
Prolog is strange. On the one hand it makes sense. On the other hand it seems to just be not a very practical language. People don't seem to stay with Prolog whereas they stay, say, in python.
Prolog was weirdly simple to make, once you managed to grasp the concept in its wholeness. Yes I made one in 1982 in Osborne-1. I even managed to include all numbers in the machine into search space, meaning 0 to 0xFFFF -- which real Prologs do not do.
I'm not sure why but Prolog seems to have more misinformation circulated about it than any other programming language I've ever seen. I'd take a lot of the information in these comments with a grain of salt. If anyone is interested in authoritative and accurate modern information about the language, please see Power of Prolog[1][2].

[1]: https://www.metalevel.at/prolog

[2]:https://www.youtube.com/@ThePowerOfProlog