Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.prolog > #14636

Shocking Revelation: No eGovernment can trust Prolog! (Was: Observed while watching FAIL/REDO ports)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Shocking Revelation: No eGovernment can trust Prolog! (Was: Observed while watching FAIL/REDO ports)
Date 2025-07-10 13:26 +0200
Message-ID <104o81r$20hbm$1@solani.org> (permalink)
References <104o5kc$20fno$1@solani.org> <104o5mr$20fno$2@solani.org>

Show all headers | View raw


Hi,

Shocking revelation, I found two significant
bugs in my age old indexer code base yesterday.
How can an eGovernment ever trust any Prolog
system? These were bugs that typically go

unnoticed by lets say a Rust type system.
Would possibly require deep axiomatization
or heavy fuzzy testing of the code, or a
combination of both.

LoL

Bye

Mild Shock schrieb:
> I made the observation while looking at
> debugger traces, choice point elimination,
> driven by indexes, also determines what
> FAIL/REDO ports a debugger shows.
> 
> What is amazing Scryer Prolog, which has
> a tamer version of multi-argument indexing, a
> kind of skip indexing, they describe
> it on their GitHub homepage, can do it:
> 
> /* Scryer Prolog 0.9.4-415 */
> ?- app(X,Y,[1]).
>     X = [], Y = [1]
> ;  X = [1], Y = [].
> 
> And the ghost from my cabinet, formerly
> Jekejeke Prolog, which does a little bit more
> than skip indexing, but still not the same deep
> indexing as in SWI-Prolog can also do it:
> 
> /* Jekejeke Runtime 1.7.3 */
> ?- app(X,Y,[1]).
> X = [], Y = [1];
> X = [1], Y = [].
> 
> Mild Shock schrieb:
>> I am currently doing a re-evaluation of an old
>> Prolog system, checking what features I could adopt.
>> This is unlike the current trend where people have
>> turned their focus on GUIs, like XPCE,
>>
>> or a are stuck in an endless loop of parser
>> problems, like in Trealla. But I would nevertheless
>> share my finding. Take this simple example of
>> a list append:
>>
>> app([], X, X).
>> app([X|Y], Z, [X|T]) :- app(Y, Z, T).
>>
>> ECLiPSe Prolog gives me, only one redo question
>> in the top-level:
>>
>> /* ECLiPSe Prolog 7.1beta #13 */
>> [eclipse 2]: app(X,Y,[1]).
>>
>> X = []
>> Y = [1]
>> Yes (0.00s cpu, solution 1, maybe more) ? ;
>>
>> X = [1]
>> Y = []
>> Yes (0.00s cpu, solution 2)
>>
>> In SWI-Prolog I find, two redo questions
>> in the top.level:
>>
>> /* SWI-Prolog 9.3.25 */
>> ?- app(X,Y,[1]).
>> X = [],
>> Y = [1] ;
>> X = [1],
>> Y = [] ;
>> false.
>>
>> I know SWI-Prolog handles lists differently
>> than other Prolog terms during indexing. Could
>> this be the reason? Or maybe that the call is
>> not “hot” enough, so it doesn’t get JIT-ed.
>>
>> ECLiPSe Prolog does it on the very first call,
>> and I assume its due to a kind of index on
>> the 3rd argument.
>>
> 

Back to comp.lang.prolog | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

The Ghosts in my Cabinet: Indexing Mild Shock <janburse@fastmail.fm> - 2025-07-10 12:45 +0200
  Observed while watching FAIL/REDO ports (Was: The Ghosts in my Cabinet: Indexing) Mild Shock <janburse@fastmail.fm> - 2025-07-10 12:46 +0200
    Shocking Revelation: No eGovernment can trust Prolog! (Was: Observed while watching FAIL/REDO ports) Mild Shock <janburse@fastmail.fm> - 2025-07-10 13:26 +0200
      Easier certification with 100% Prolog Prolog? (Was: Shocking Revelation: No eGovernment can trust Prolog!) Mild Shock <janburse@fastmail.fm> - 2025-07-10 14:05 +0200
        Doing a Prolog system without any iterator API (Was: Easier certification with 100% Prolog Prolog?) Mild Shock <janburse@fastmail.fm> - 2025-07-10 14:14 +0200
          The headache with JIT indexing: Native -> Prolog (Was: Doing a Prolog system without any iterator API) Mild Shock <janburse@fastmail.fm> - 2025-07-10 14:40 +0200
            Just lets burn another candle for Barty Boy (Was: The headache with JIT indexing: Native -> Prolog) Mild Shock <janburse@fastmail.fm> - 2025-07-10 18:13 +0200
              Physics PhDs might never have heard of Quantifier Eliminations (Re: Just lets burn another candle for Barty Boy) Mild Shock <janburse@fastmail.fm> - 2025-07-10 18:33 +0200
                How long willl I piss on Bart Demoen (Was: Physics PhDs might never have heard of Quantifier Eliminations) Mild Shock <janburse@fastmail.fm> - 2025-07-10 18:39 +0200
                But I shouldn't waste too much time (Was: How long willl I piss on Bart Demoen) Mild Shock <janburse@fastmail.fm> - 2025-07-10 19:13 +0200
  DCG is easily affected (Was: The Ghosts in my Cabinet: Indexing) Mild Shock <janburse@fastmail.fm> - 2025-07-11 09:38 +0200
    The headache an eGovernment might get from Prolog (Was: DCG is easily affected) Mild Shock <janburse@fastmail.fm> - 2025-07-15 15:20 +0200
      Wait till they find out about compare/3 (Was: The headache an eGovernment might get from Prolog) Mild Shock <janburse@fastmail.fm> - 2025-07-15 15:24 +0200
        Corr. (Was: Wait till they find out about compare/3) Mild Shock <janburse@fastmail.fm> - 2025-07-15 15:28 +0200
          eGovernements will need AGI to survive (Was: Corr. (Was: Wait till they find out about compare/3)) Mild Shock <janburse@fastmail.fm> - 2025-07-15 18:41 +0200
            Having 2544 issues is probably a bad sign (Re: eGovernements will need AGI to survive) Mild Shock <janburse@fastmail.fm> - 2025-07-15 18:41 +0200
              The Signal Collapse gives us System Uncertainty (Re: Having 2544 issues is probably a bad sign) Mild Shock <janburse@fastmail.fm> - 2025-07-15 19:02 +0200
                Rename GitHub, to TurdPit, and make Amber Heard their CEO (Was: The Signal Collapse gives us System Uncertainty) Mild Shock <janburse@fastmail.fm> - 2025-07-15 19:52 +0200
            Humans are just overwhelmed by computers (Was: eGovernements will need AGI to survive) Mild Shock <janburse@fastmail.fm> - 2025-07-16 18:59 +0200
              Fishy 🐟 in Scryer Prolog and SWI-Prolog (Was: Humans are just overwhelmed by computers) Mild Shock <janburse@fastmail.fm> - 2025-07-16 20:08 +0200
                So we are essentially all using Trojan Horses 🐎 daily? (Re: Fishy 🐟 in Scryer Prolog and SWI-Prolog) Mild Shock <janburse@fastmail.fm> - 2025-07-17 10:57 +0200
                Strudel Rust gives Scryer Frust 💩: Try C+20 Pipes (Was: Fishy 🐟 in Scryer Prolog and SWI-Prolog( Mild Shock <janburse@fastmail.fm> - 2025-11-25 22:55 +0100
              SWI-Prolog as a Test Bed for Copilots (Was: Humans are just overwhelmed by computers) Mild Shock <janburse@fastmail.fm> - 2025-07-20 14:36 +0200
                Mathematics currently hates Computer Science because of AI (Re: SWI-Prolog as a Test Bed for Copilots) Mild Shock <janburse@fastmail.fm> - 2025-07-20 15:13 +0200

csiph-web