[HN Gopher] Extending C with Prolog (1994)
___________________________________________________________________
Extending C with Prolog (1994)
Author : Antibabelic
Score : 57 points
Date : 2026-02-22 16:10 UTC (2 days ago)
(HTM) web link (www.amzi.com)
(TXT) w3m dump (www.amzi.com)
| vintagedave wrote:
| > We recently installed Gateway multi-media kits on our PCs, but
| found the installation less than trivial because of conflicts in
| our interrupt (IRQ) channels. A simple expert system could have
| helped to resolve those IRQ conflicts. ... The sample program is
| set up to allow installation of two different devices, a 'Sound
| Blaster' and a 'Mitsumi CD- ROM'.
|
| This was a real blast from the past. I wonder why more systems
| today don't have this kind of logic solving built in. Possibly,
| too many complex behaviours that are not cleanly quantified.
| krzyk wrote:
| Is this the time of year when we try to force redditors to stay
| away by posting about Prolog?
|
| I see three stories already.
| Davidbrcz wrote:
| Refreshing stories between all the AI ones (and crypto/web3
| before that)
| linguae wrote:
| Ironically, once upon a time Prolog and logic programming in
| general were part of the cutting-edge of AI. There's quite a
| fascinating history of Japan's fifth-generation computing
| efforts in the 1980s when Japan focused on logic programming
| and massively parallel computing. My former manager, who is
| from Japan, earned his PhD in the 1990s in a topic related to
| constraint logic programming.
| fc417fc802 wrote:
| Even now NEC makes some cool massively parallel chips and
| accelerators that I wish were more mainstream because they
| look like they'd be fun to play with.
| copx wrote:
| I remember when so-called "expert systems" written in
| Prolog or LISP were supposed to replace doctors. Then came
| the (first) AI winter after people realized how unrealistic
| that was.
|
| Nowadays LLMs are supposed to replace doctors.. and that
| makes even less sense given that LLMs are error-prone by
| design. They _will_ hallucinate, you cannot fix that
| because of their probabilistic nature, yet all the money in
| the world is thrown at people who preach LLMs will
| eventually be able to do every human job.
|
| The second AI winter cannot come soon enough.
| thesz wrote:
| You said AI: https://github.com/stassa/louise
| Louise (Patsantzis & Muggleton 2021) is a machine learning
| system that learns Prolog programs. Louise is a
| Meta-Interpretive Learning (MIL) system. MIL (Muggleton et
| al. 2014), (Muggleton et al. 2015), is a new setting for
| Inductive Logic Programming (ILP) (Muggleton, 1991). ILP is a
| form of weakly-supervised machine learning of logic programs
| from examples of program behaviour (meaning examples of the
| inputs and outputs of the programs to be learned). Unlike
| conventional, statistical machine learning algorithms, ILP
| approaches do not need to see examples of programs to learn
| new programs and instead rely on background knowledge, a
| library of pre-existing logic programs that they reuse to
| compose new programs.
|
| This is what was done by Douglas Lenat from late 1970-s on
| [1]. He did his work using Lisp, this thing does something
| close using Prolog.
|
| [1] https://en.wikipedia.org/wiki/Eurisko
| dgxyz wrote:
| Well at least it's not clojure or scheme.
| Antibabelic wrote:
| What's the third one? I see this one and the Lambda Prolog one.
| rramadass wrote:
| We need more.
|
| In case you weren't aware, people are using Prolog with LLMs;
|
| https://news.ycombinator.com/item?id=42039527
|
| https://news.ycombinator.com/item?id=45712934
| HexDecOctBin wrote:
| I often wonder what a Prolog implemented as an Objective-C like
| extension to C would look like. Since WAM has proper stack and
| heap IIRC, it might be possible to plug that in through some
| region-based memory management on C side. Is there some prior art
| like this?
| sprior wrote:
| I started using Prolog in my self written home automation system
| over 20 years ago. At first I was using CORBA and I linked
| ACE/Tao into SWI-Prolog so that Prolog could catch and send CORBA
| messages. That worked for years but was too annoying to add new
| message types since a wrapper had to be written for each, plus
| threading had to be coordinated between C++ and Prolog.
| Eventually I ditched the CORBA stuff and switched to MQTT, but
| instead of binding the C++ and Prolog together I found and
| extended MQTT support for Prolog directly, actually I've mostly
| replaced the C++ parts of my HA system with Java. The Prolog is
| pretty nice the way I can now specify predicates for MQTT topic
| paths, and I use shared topics for scalability. Now all of this
| is running deployed in k3s.
| justinhj wrote:
| This sounds really cool and I am glad that Prolog has outlived
| CORBA
| mcswell wrote:
| FWIW (not much), around the time of that article, I reversed
| this: I used Arity Prolog for a morphological parsing program,
| with C calls for the bit fiddling (because I needed 64 bits, and
| the Prolog I was using only handled 16 bit strings).
| ofrzeta wrote:
| Related: Using Prolog in Windows NT Network Configuration (1996)
| https://news.ycombinator.com/item?id=36821871
| buescher wrote:
| There's another updated version of that prolog here along with
| some links, including an archived article from Microsoft Research
| on how it was (once upon a time) used in Windows NT network
| configuration: https://github.com/opless/small-prolog
| crustycoder wrote:
| Things have moved on since 1994, not only can you still embed it
| in C and a load of other languages, you can even run it directly
| in your browser as there's a WASM port.
|
| https://www.swi-prolog.org/pldoc/man?section=wasm-version
___________________________________________________________________
(page generated 2026-02-24 23:00 UTC)