ALAIN COLMERAUER L'AVENTURE PROLOG
Prolog Heritage0 HN recommenders · 2022–2023
7K views · documentary · evergreen · Uploaded 2022-04-11
A French-language documentary on the history of Prolog, created in Marseille by Alain Colmerauer in the early 1970s, with interviews of many people involved. It traces the origins of logic programming and later developments of the language.
Cited in Prolog threads as a rare documentary on the language's origins, with proper subtitles despite being in French.
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
28:03AT&T Archives: Similiarities of Wave Behavior (Bonus Edition)
AT&T Tech Channel
1:24:13Micro Men - 720p (2009)
gimpymoo
1:21:22Light Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
41:53Mechanical Computer (All Parts) - Basic Mechanisms In Fire Control Computers
Excelsior10000
56:09Project Code Rush - The Beginnings of Netscape / Mozilla Documentary
The Documentary Network
32:56Bret Victor The Future of Programming
Joey Reid
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
Metosin
4 comments from Hacker News
Prolog is brilliantly useful for text processing and reasoning about strings, mostly due to its built-in grammar formalism called Definite Clause Grammars (DCGs). In fact, Prolog originates from Q-systems which were specifically designed to process language via grammar rules: [LINK] The "Q" stands for Québec, where Alain Colmerauer developed this formalism which eventually led to Prolog. A recently released documentary talks a bit about these developments: [VIDEO] It is interesting that the very first Prolog systems, Prolog 0 and Marseille Prolog, represented strings as lists of characters, then the Edinburgh tradition used lists of codes (in the implementation defined encoding), and all Prolog systems that have become available in the last 5 years (Scryer Prolog, Tau Prolog, Trealla Prolog and ichiban/prolog) are again using lists of characters to make string processing as convenient and readable as originally intended. For example, we can use definite clause grammars in Scryer Prolog to find occurrences of the same character twice in immediate succession in a string: ?- phrase((...,[C,C],...), "Hello, world!"). C = l ; false. In this string, the character 'l' is the only such letter.
> [VIDEO] Bon jour, the doc is en Francais. However, it does have legit subtitles (i.e. not auto-generated).
Thanks for trying to correct me, if I'm wrong (but thanks anyway). What I write is the impression I've formed after reading various sources on the history of Prolog, over the years. Some of them are even by Kowalski himself and my impression that he was the "neat" and Colmerauer the "scruffy" comes from his comments on their relation. I certainly could have misunderstood his comments, or be misremembering them. Unfortunately it will take me some time to dig out the specific sources and check my assumptions [1]. One such recent source is this documentary (in French) about Alain Colmerauer by a lady who shares his surname (a relative, I'm guessing): [VIDEO] I've pointed the link to just before the start of an interview with Kowalski where he says (in English) what I transfer above, that Colmerauer was more practically minded and coming from a computer science side point of view while he (Kowalski) was more theoretically minded and coming from a mathematical logic point of view, and also that this tension created an "alchemy" that would not have transpired otherwise. I watched this documentary very recently and I guess it coloured my comment above. More generally, it's easy to find discussion of the "pure" subset of Prolog and about its purported advantages compared to the rest. I'd have to go back to those textbooks to be sure, but I think I first encountered this idea in The Art of Prolog (O'Keefe) or "The Craft of Prolog" (Sterling & Shapiro), or probably both. And I have hea
Nice! >> As I understand it, Prolog itself is CLP(H), that is CLP over the Herbrand terms (that is, atoms and functors and stuff). That's an interesting way to see it. Quite an unorthodox one, mind. I learned recently that it was Alain Colmerauer, co-creator of Prolog, who also came up with the idea of Constraint Logic Programming, specifically to address Prolog's er difficulties with numbers and arithmetic. See: [VIDEO] I was recently asked a question about the use of Peano notation in some stuff I was working on. I didn't think of it that way at the time, but one big advantage of Peano notation compared to is/2 is that it is... well, in a nutshell it's declarative integer arithmetic, just like CLP(FD). Boy I hate saying jargon-y things like that. But Peano numbers as Prolog terms in predicate's heads can be backtracked-over, and unwound when recursion unwinds, just like you do in your rle2/2 above. The downside is that they get hard to read once they get too big. Then again, you can easily do this sort of thing: %! peano(?Arabic,?Peano) is nondet. % % Convert between Arabic and Peano number notations. % % Use this program to quickly convert between Peano notation and % Arabic notation. % % Accepted modes are (+,-) and (-,+). In mode (?,?) this predicate % returns only 0 deterministically. % % Examples: % == % ?- peano(1,P). % P = s(0). % % ?- peano(I,s(0)). % I = 1. % % ?- peano(N,P). % N = P, P = 0. % == % peano(N,P):- peano(P,0,N). peano(0,N,N):- !. peano(s(P),N,Acc):- su