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


Groups > comp.lang.prolog > #15927

MADV_HAWAII: Decomposing the Ouroboros Road (Was: MADV_HAWAII: Aloha from the 300ms Abyss)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject MADV_HAWAII: Decomposing the Ouroboros Road (Was: MADV_HAWAII: Aloha from the 300ms Abyss)
Date 2026-09-20 18:30 +0200
Message-ID <118p1ml$shf$1@solani.org> (permalink)
References <107cdg8$3ok7g$1@solani.org> <10p44s1$16ps$1@solani.org> <114cv6j$kb0c$1@solani.org> <117v88c$1n4v$1@solani.org> <1188q5d$8isq$1@solani.org>

Show all headers | View raw


Hi,

Can your Prolog system solves this riddle:

% Clue 1: 3 creatures in 3 houses live on Ouroboros Ring Road
% Clue 2: The Baskerville Hound guards from the first house
% Clue 3: Sherlock Holmes has the Stack Cache
% Clue 4: Watson is immediately to the left of the Phosphorus Toad
% Clue 5: Cyclic Terms is immediately to the left of the Baskerville Hound
% Clue 6: The P(doom) doomer loops back into the Deep Stack house
% Clue 7: Cthulhu Pup is immediately to the left of the Deep Stack

And how does your Prolog system show a solution?
This is a preview, we could just close a longstanding
ticket about clutter in the answer substitution:

/* Dogelog Player 2.3.2 */
?- solve(H1, H2, H3).
H1 = house(watson, baskerville_hound, deep_stack, H2),
H2 = house(sherlock, phosphorus_toad, stack_cache, H3),
H3 = house(p_doom_doomer, cthulhu_pup, cyclic_terms, H1);
fail.

Hava Fun!

Bye

Mild Shock schrieb:
> Hi,
> 
> Kuniakis Automatons, or who ever wrote it and
> braught it to SWI-Prolog are pretty cool,
> My Dogelog Player currently cannot scale
> 
> that high. Here is a SWI-Prolog example:
> 
> /* SWI-Prolog 10.1.14-55-g8d24500be */
> ?- between(1,5,J), N is J*1000000, hydra(N,_X), 
> time(term_minimal(_X,_)), fail; true.
> % -1 inferences, 0.141 CPU in 0.243 seconds (58% CPU, -7 Lips)
> % -1 inferences, 0.203 CPU in 0.193 seconds (105% CPU, -5 Lips)
> % -1 inferences, 0.547 CPU in 0.622 seconds (88% CPU, -2 Lips)
> % -1 inferences, 0.719 CPU in 0.816 seconds (88% CPU, -1 Lips)
> % -1 inferences, 0.375 CPU in 0.485 seconds (77% CPU, -3 Lips)
> true.
> 
> But why is time not monotonic? Some chaotic
> GC effect, especially the array buffers? And what
> are the -7 LIPS, a new take on safe AI?
> 
> Well I don't go backward with my LIPS, and its a
> smooth and tranquille life in Dogelog Player land.
> Look how beautiful my boy is:
> 
> /* Dogelog Player 2.3.1 for Java */
> ?- between(300,305,N), hydra(N,_X), time(sys_term_canonical(_X,_)), 
> fail; true.
> % Zeit 109.402 ms, Benutzer 100 %, Lips 1690 k
> % Zeit 105.561 ms, Benutzer 100 %, Lips 1763 k
> % Zeit 103.305 ms, Benutzer 100 %, Lips 1813 k
> % Zeit 106.643 ms, Benutzer 100 %, Lips 1768 k
> % Zeit 106.890 ms, Benutzer 100 %, Lips 1776 k
> % Zeit 106.227 ms, Benutzer 100 %, Lips 1798 k
> true.
> 
> Bye
> 
> P.S.: What about using canonical/minimal for the
> top-level. I got these two different outcomes:
> 
> /* SWI-Prolog 10.1.14-55-g8d24500be */
> ?- X = f(f(X)).
> X = f(f(X)).
> 
> /* Dogelog Player 2.3.1 for Java */
> ?- X = f(f(X)).
> X = f(X).
> 
> Its not an extremly new feature in Dogelog Player.
> Maybe 1-2 years old already?
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Finally unlimited catch/throw arrived in Dogelog
>> Player. We do not anymore depend on the Java native
>> stack. The handling got a little bit slower, working
>>
>> on to get back the same speed. But its pretty robust
>> already and takes a 1'000'000 catch/3 without problems.
>> Here some testing results:
>>
>> /* Dogelog Player 2.3.1 for Java */
>> % ?- between(1,3,_), time(test), fail; true.
>> % % Zeit 315.037 ms, Benutzer 100 %, Lips 22224 k
>> % % Zeit 379.011 ms, Benutzer 100 %, Lips 18473 k
>> % % Zeit 207.902 ms, Benutzer 100 %, Lips 33682 k
>> % true.
>>
>> /* Trealla Prolog 3.9.40 */
>> % ?- between(1,3,_), time(test), fail; true.
>> % % Execution aborted
>> % % CPU elapsed 2.141s, 4_000_323 inferences, 1.869 MLips
>>
>> /* Scryer Prolog 0.10.0 */
>> % ?- between(1,3,_), time(test), fail; true.
>> %    % CPU time: 0.281s, 3_000_059 inferences
>> %    % CPU time: 0.281s, 3_000_059 inferences
>> %    % CPU time: 0.281s, 3_000_059 inferences
>> %    true.
>>
>> /* SWI-Prolog 10.1.14 */
>> % ?- between(1,3,_), time(test), fail; true.
>> % % 3,000,007 inferences, 0.281 CPU in 0.389 seconds
>> % % 3,000,007 inferences, 0.062 CPU in 0.064 seconds
>> % % 3,000,007 inferences, 0.062 CPU in 0.063 seconds
>> % true.
>>
>> What is SWI doing in the first run? Does it
>> send the throw ball to Hawaii and back?
>>
>> Bye
>>
>> BTW: This was the test case:
>>
>> deep(0,G) :- !, G.
>> deep(N,G) :- M is N-1, catch(deep(M,G),foo,true).
>>
>> test :- catch(deep(1000000,throw(bar)),_,true).
>>
>> Mild Shock schrieb:
>>> Hi,
>>>
>>> Usual question:
>>>
>>>  > Why implement both pre-emptive threading
>>> AND cooperative tasks/engines?
>>>
>>> I had implemented the ISO proposal in formerly Jekejeke
>>> Prolog, you find the ISO proposal here:
>>>
>>> ISO/IEC DTR 13211–5:2007
>>> Prolog multi-threading support
>>> https://logtalk.org/plstd/threads.pdf
>>>
>>> But the ISO proposal doesn't match modern WebGPU APIs,
>>> where your logical threads can live remotely in a dedicated GPU
>>>
>>> in the VRAM there, and where you would have launch
>>> parameters that say: Hey please run 4096 compute
>>>
>>> shaders for me, that have independet thread state. Using
>>> cooperative multi-tasking as the orchestrator works well.
>>>
>>> Bye
>>
> 

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


Thread

VIP0909: VibeCore Improvement Proposal Mild Shock <janburse@fastmail.fm> - 2025-08-11 11:35 +0200
  VIP0111: Does a Map have a Constructor? (Was: VIP0909: VibeCore Improvement Proposal) Mild Shock <janburse@fastmail.fm> - 2026-03-14 18:11 +0100
    100% Prolog Hash map beats SWI C Trie (Was: VIP0111: Does a Map have a Constructor?) Mild Shock <janburse@fastmail.fm> - 2026-03-17 04:07 +0100
    AI Accelerators and ISO Prolog multi-threading (Was: VIP0111: Does a Map have a Constructor?) Mild Shock <janburse@fastmail.fm> - 2026-07-29 15:28 +0200
      Actor/Erlang is dead, no Thread and Mailbox conflation [golang channels] (Was: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-07-29 15:41 +0200
        Summer Challenge: libSQL = Prolog+Modes [VDBE versus π-WAM] (Was: Actor/Erlang is dead, no Thread and Mailbox conflation [golang channels]) Mild Shock <janburse@fastmail.fm> - 2026-07-30 11:22 +0200
          Work slicing can simulate AbortController (Was: Summer Challenge: libSQL = Prolog+Modes [VDBE versus π-WAM]) Mild Shock <janburse@fastmail.fm> - 2026-08-01 13:23 +0200
      Introducing an asm/1 statement in a Prolog system (Was: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-08-09 20:21 +0200
      Introducing an asm/1 statement in a Prolog system (Re: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-08-09 20:25 +0200
      MADV_HAWAII: Aloha from the 300ms Abyss [Exception Handling in Prolog] (Re: AI Accelerators and ISO Prolog multi-threading) Mild Shock <janburse@fastmail.fm> - 2026-09-10 23:42 +0200
        MADV_HAWAII: Aloha from Minimal Terms (Was: MADV_HAWAII: Aloha from the 300ms Abyss) Mild Shock <janburse@fastmail.fm> - 2026-09-14 14:43 +0200
          MADV_HAWAII: Decomposing the Ouroboros Road (Was: MADV_HAWAII: Aloha from the 300ms Abyss) Mild Shock <janburse@fastmail.fm> - 2026-09-20 18:30 +0200
    Food for thought: Schwartzian Transform (Was: VIP0111: Does a Map have a Constructor?) Mild Shock <janburse@fastmail.fm> - 2026-09-23 22:01 +0200
      Food for thought: Bayesian Experimental Designer (Was: Food for thought: Schwartzian Transform) Mild Shock <janburse@fastmail.fm> - 2026-09-24 14:32 +0200
        What will microsoft say, will they buy it? (Was: Food for thought: Bayesian Experimental Designer) Mild Shock <janburse@fastmail.fm> - 2026-09-24 15:34 +0200
          The recursive AI bottom line (Was: What will microsoft say, will they buy it?) Mild Shock <janburse@fastmail.fm> - 2026-09-24 15:38 +0200

csiph-web