Dear All,
We are happy to announce a new edition of
the Dogelog Player:
- Enhanced core (IEEE Comparisons):
The special value 0rNaN received comparison
drawn from IEEE. The built-in (=\=)/2 now
implements not quiet, while the built-ins
(=:=)/2, (<)/2, etc. now implement quiet.
The built-ins (@<)/2, etc. now implement
quiet ordered, while the built-ins min/3
and max/3 now implement number.
- Goal Inlining/Outlining:
We noticed performance problems of negation
as failure (\+)/2 when the argument is a
complex goal. Many Prolog systems don't
suffer from this problem. We implemented
a form of goal expansion, but with reversibility,
so that rewritten (\+)/2 calls are seen
again in listing/[0,1] and trace/0.
- Just-in-Time Indexing:
The scope is currently MAX_INDEX = 2
indiscriminantly for static and dynamic
predicates. The system can dynamically
allocate 1st or 2nd argument indexes when
needed, and even create combined 1st+2nd
argument indexes. The enhancement comes
with a new jiti_list/[0,1] utilitiy.
Have Fun!
Jan Burse, https://www.herbrand.ai/ , 09.04.2026
Hi,
Our new library silkworm for predicate tabling tries
to do the same, as the library railgun for finite
domain constraints. Namely provide a portable library
that is only based on the ISO core standard. Due to
a series of recent improvements of Dogelog Player
the tabling directive is now competitive.
While we reach similar performance like SWI-Prolog
for Datalog examples, our system parallels the
XSB-Prolog performance for non-Datalog examples.
What is missing are non-wellfounded forms of
recursion and polymorphic adornments. We are
currently working on addressing both issues.
Bye
See also:
Tabling Directive for Dogelog Player
https://medium.com/2989/aa2f40a14b58
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition of
the Dogelog Player:
- Enhanced core (IEEE Comparisons):
The special value 0rNaN received comparison
drawn from IEEE. The built-in (=\=)/2 now
implements not quiet, while the built-ins
(=:=)/2, (<)/2, etc. now implement quiet.
The built-ins (@<)/2, etc. now implement
quiet ordered, while the built-ins min/3
and max/3 now implement number.
- Goal Inlining/Outlining:
We noticed performance problems of negation
as failure (\+)/2 when the argument is a
complex goal. Many Prolog systems don't
suffer from this problem. We implemented
a form of goal expansion, but with reversibility,
so that rewritten (\+)/2 calls are seen
again in listing/[0,1] and trace/0.
- Just-in-Time Indexing:
The scope is currently MAX_INDEX = 2
indiscriminantly for static and dynamic
predicates. The system can dynamically
allocate 1st or 2nd argument indexes when
needed, and even create combined 1st+2nd
argument indexes. The enhancement comes
with a new jiti_list/[0,1] utilitiy.
Have Fun!
Jan Burse, https://www.herbrand.ai/ , 09.04.2026
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,114 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 492508:38:45 |
| Calls: | 14,267 |
| Calls today: | 3 |
| Files: | 186,320 |
| D/L today: |
20,163 files (6,244M bytes) |
| Messages: | 2,518,305 |