[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)