home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   sci.math.symbolic      Symbolic algebra discussion      10,432 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 10,413 of 10,432   
   Mild Shock to Mild Shock   
   Lean CLP for Dogelog Player (Re: ANN: Do   
   28 Nov 25 14:22:44   
   
   From: janburse@fastmail.fm   
      
   Hi,   
      
   Many existing and evolving constraint logic   
   programming projects resemble some ancient   
   invention of gunpowder. For example SWI-Prologs   
   9.3.35 corouting for delayed goals is mainly   
   based on unify hooks. We show how verify hooks,   
   already used in formerly Jekejeke Prolog, can   
   be braught to Dogelog Player in a 100% Prolog fashion.   
      
   Since the recent version of Dogelog Player   
   supports cyclic terms, we could let the Jini   
   out of the bottle, and provide the experimental   
   library(edge/railgun) to model delayed goals with   
   nothing else than Alain Colmerauers rational trees.   
   The result is a Lean CLP of ca. 100 lines of code,   
   that already provides a simple constraint (#\=)/2   
   and a global constraint all_different/1.   
      
   The results are encouraging. For problems that   
   are not over constrained, Dogelog Player leaves   
   existing Prolog systems clearly behind, showing   
   a 2-3x times speed-up against SWI-Prolog and a   
   20-30x times speed-up against Trealla Prolog.   
   For more constrained problems we suggest ommiting   
   forward checking in favor of a form of ahead of   
   time (AOT) variable ordering. With this approach   
   and for Sudoku problems we are then in the midfield   
   between SWI-Prolog and Trealla Prolog.   
      
   Bye   
      
   See also:   
      
   Lean CLP for Dogelog Player   
   https://qiita.com/j4n_bur53/items/addf1fc86856dd682dcb   
      
   Mild Shock schrieb:   
   > Dear All,   
   >   
   > We are happy to announce a new edition   
   > of the Dogelog Player:   
   >   
   > - Dot Notation:   
   > We borrowed from formerly Jekejeke Prolog   
   > optionable custom binary forms. An operator   
   > declaration such as op(100, yfx, '.') does   
   > now parse and unparse the dot notation A.B   
   > as '$DOT'(A,B). Avoiding a functor clash   
   > with the consing notation [A|B]. The   
   > implementation is 100% Prolog, and thus   
   > uniformly available for the JavaScript,   
   > Python and Java target.   
   >   
   > - Arrow Notation:   
   > We borrowed from formerly Jekejeke Prolog   
   > optionable custom variadic forms. An operator   
   > declaration such as op(700, xfx, '=>') does   
   > now parse and unparse the arrow notation   
   > (P => G) as '$ANON'(H,K,B,...). Compared to   
   > library(lambda), it leads to more efficient   
   > single step reductions inside the new   
   > library(arrow). Again uniformly available   
   > for the JavaScript, Python and Java target.   
   >   
   > - DCG phrase/3:   
   > This was a gap that slipped our attention.   
   > It turns out that Dogelog Player didn't have   
   > DCG phrase/3, although it had already   
   > DCG (-->)/2. Luckily the step from (-->)/2   
   > to phrase/3 is relatively small and this   
   > release features this predicate. Turns out it   
   > can be used for Strudel style music coding.   
   >   
   > Have Fun!   
   >   
   > Jan Burse, https://www.herbrand.ai/ , 24.11.2025   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca