Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #53745
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail |
|---|---|
| From | Mild Shock <janburse@fastmail.fm> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Landin's Knot in Dogelog Player (Re: ANN: Dogelog Player 1.3.5 (Cyclic Terms)) |
| Date | Fri, 15 Aug 2025 19:57:28 +0200 |
| Message-ID | <107nse8$3cc5$4@solani.org> (permalink) |
| References | <106l4on$366q0$3@solani.org> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Fri, 15 Aug 2025 17:57:28 -0000 (UTC) |
| Injection-Info | solani.org; logging-data="110981"; mail-complaints-to="abuse@news.solani.org" |
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.21 |
| Cancel-Lock | sha1:3EwnV8vYAyQlxXa3qoO5b9AU30g= |
| In-Reply-To | <106l4on$366q0$3@solani.org> |
| X-User-ID | eJwNwoERACEIA7CVhLaA43Aq+4/wf4kQFicZCmo0fJsr8Xucg+fZW3GFQZdr65UdWMhLC6yWTYLZZs576wMlsRP0 |
| Xref | csiph.com comp.lang.java.programmer:53745 |
Show key headers only | View raw
Dogelog Player is a Prolog system written in 100% Prolog for the target platforms JavaScript, Python and Java. We recently introduced the display of cyclic terms in the top-level. As a next iteration we turned all built-ins upside down, gave it either a visitor pattern or union find, so that they can deal with cyclic terms. The final step is then to untie Landin's Knot. The new predicates term_decompose/2 and term_canonical/2 have found applications in library(sequence) and library(aggregate). The result is primarily a structural compare among cyclic terms, which the end-user can lift to a canonical compare. See also: Landin's Knot in Dogelog Player https://qiita.com/j4n_bur53/items/f096445f959998768316 Mild Shock schrieb: > Dear All, > > We are happy to announce a new edition > of the Dogelog player: > > - Enhanced Core: > We provide internally unify_cyclic() which implements > Hopcroft & Karp (1971) algorithm and can deal with > cyclic terms. It is accessible via the built-in > predicate (=)/2 and also used by the Prolog interpreter > for solving clauses. Similar there is an enhanced > (==)/2 available to the end-user. > > - Enhanced library(tools): > The debugger is now cyclic term aware and uses a term > factoring based on a new same_term/2 before printing > a goal. The display is simply a conjunction Equation_1, > .., Equation_n, Goal, where the equations are necessary > to break cycles. As before Prolog variables are still > printed by their serial number. > > - Enhanced library(session): > The answer display is now cyclic term aware and uses > the same term factoring as the debugger. Answer > substitutions and cycle breaking equations are > interspersed. We tried hard to not break old features, > such as fresh singleton variable names, fresh multiton > variable names and marked variables suppression. > > Have Fun! > > Jan Burse, https://www.herbrand.ai/ , 02.08.2025
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
ANN: Dogelog Player 1.3.5 (Cyclic Terms) Mild Shock <janburse@fastmail.fm> - 2025-08-02 15:44 +0200
Landin's Knot in Dogelog Player (Re: ANN: Dogelog Player 1.3.5 (Cyclic Terms)) Mild Shock <janburse@fastmail.fm> - 2025-08-15 19:57 +0200
Program Sharing in Dogelog Player (Re: ANN: Dogelog Player 1.3.5 (Cyclic Terms)) Mild Shock <janburse@fastmail.fm> - 2025-08-20 15:12 +0200
csiph-web