Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14789
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Entering the Age of Rational Trees (2025) (Was: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) |
| Date | 2025-08-16 13:02 +0200 |
| Message-ID | <107pofb$474d$1@solani.org> (permalink) |
| References | <105vr4s$2r116$1@solani.org> <1067djv$2tsqp$1@solani.org> |
> I like your vibe, clearing the mind of > everything existing has a touch of a mystic > human being living an eremitic solitary > vocation on a far out mountain top. It is not accidential that there is a resemblage to the ivory tower of academics. Which might create incestual orthodoxical knowledge, with very less value. Prolog systems development is especially susceptible to this fallacy, since it has a long tradition going always the same paths, like WAM, etc.. etc.. The pointer swizzling algorithms of SWI-Prolog, in connection with cyclic terms are a little problematic. What if a Prolog term sits in a read-only memory, or is shared among multiple threads. How do you do pointer swizzling of ROM and not RAM? We might indeed see the The End of Deutsch-Schorr-Waite, although it made it still into Scryer Prolog: > **cycle_detection.rs** Use the pointer reversal technique of the Deutsch-Schorr- Waite algorithm to detect cycles in Prolog terms. https://github.com/mthom/scryer-prolog/blob/master/src/machine/cycle_detection.rs To enter the age of rational trees, it is probably advisable to arm oneself not only with Fuzzy Testing, but unlike the dislike of @kuniaki.mukai , one needs to probably also study all the goodies from 1970's computer science. But add a salt of scepticism, since hardware and programming languages look different now. Its not ALGOL anymore. Mild Shock schrieb: > Hi, > > Assume that we live in a world where we > have excess memory. So we can afford stacks! > And then make the crucial observation, > > we can use the stack of the Prolog engine, > no need to create an artificial stack in C, > or use the native stack of C. > > I guess SWI-Prolog has already groked the > first we can "afford stacks". But did anybody > already grok the "100% Prolog" idea? > > Well we are not yet there 100% Prolog > has still an overhead. Here is a little > test acyclic_term/2: > > /* SWI-Prolog 9.3.26, C Stacks and/or Agendas */ > ?- time((between(1,30,_), acyclic2, fail; true)). > % 330,150 inferences, 0.016 CPU in 0.023 seconds > (69% CPU, 21129600 Lips) > true. > > /* Trealla Prolog 2.79.6, ?? */ > ?- time((between(1,30,_), acyclic2, fail; true)). > % Time elapsed 0.063s, 643413 Inferences, 10.166 MLips > true. > > /* Dogelog Player 1.3.5, 100% Prolog */ > ?- time((between(1,30,_), acyclic2, fail; true)). > % Zeit 115 ms, GC 0 ms, Lips 11803904, Uhr 28.07.2025 10:03 > true. > > /* Scryer Prolog 0.9.4-417, Deutsch-Schorr-Waite */ > ?- time((between(1,30,_), acyclic2, fail; true)). > % CPU time: 0.130s, 626_829 inferences > true. > > Bye
Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Novacore goes Bisimulation: Scryer Prolog is Slow! Mild Shock <janburse@fastmail.fm> - 2025-07-25 13:51 +0200
Is Mild Shock going rogue? (Was: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:07 +0200
Is Mostowski Collapse a professional mathematician (Was: Is Mild Shock going rogue?) Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:16 +0200
New Project Name: NovaCore becomes VibeCore (Re: Is Mostowski Collapse a professional mathematician) Mild Shock <janburse@fastmail.fm> - 2025-07-25 14:42 +0200
Nice Printing Error Scryer Prolog (Was: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-26 21:33 +0200
Dynamic unify_with_occurs_check/2 speed-up (Was: Nice Printing Error Scryer Prolog) Mild Shock <janburse@fastmail.fm> - 2025-07-26 21:37 +0200
The End of Deutsch-Schorr-Waite [cycle_detection.rs] (Was: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-28 10:50 +0200
Backtracking Branching Association List (Re: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Mild Shock <janburse@fastmail.fm> - 2025-07-28 11:02 +0200
Do it like in acyclic_decompose/3 (Re: Backtracking Branching Association List) Mild Shock <janburse@fastmail.fm> - 2025-07-28 11:38 +0200
Cache-Trashing vs Cache-Friendly [Code Example] (Re: Do it like in acyclic_decompose/3) Mild Shock <janburse@fastmail.fm> - 2025-07-28 17:27 +0200
Entering the Age of Rational Trees (2025) (Was: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Mild Shock <janburse@fastmail.fm> - 2025-08-16 13:02 +0200
The End of Debray Allocator (Was: The End of Deutsch-Schorr-Waite [cycle_detection.rs]) Mild Shock <janburse@fastmail.fm> - 2025-08-24 14:44 +0200
The pairs are nasty, otherwise not always slow! (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-30 14:45 +0200
It was painful for my GC, but fixed now (Re: The pairs are nasty, otherwise not always slow!) Mild Shock <janburse@fastmail.fm> - 2025-07-30 14:51 +0200
Scryer Prolog has the most useless max_depth (Re: Novacore goes Bisimulation: Scryer Prolog is Slow!) Mild Shock <janburse@fastmail.fm> - 2025-08-02 13:43 +0200
Novacore goes native (=)/2 and (==)/2 bisimulation (Was: Scryer Prolog has the most useless max_depth) Mild Shock <janburse@fastmail.fm> - 2025-08-02 14:45 +0200
csiph-web