Dear All,
We are happy to announce a new edition of
the Dogelog player:
- Monomorphic Cache:
New episode in creating a Prolog system with no
atom table and no datatype string, only atoms. Like
formerly Jekejeke Prolog our Dogelog player has only
a provables table and inline caches, whereas we
didn't need polymorphic, only monomorphic.
- Neck Forms:
We allow the Prolog system to treat neck deterministic
built-ins in a special way so as to avoid the costly
creation of sub-goals. Intriguingly even more speed-up
can be gained in that the built-ins decide on their
own how to interpret the Albufeira code arguments.
- AST-Machine:
We abandoned the idea that Albufeira code is an
array of op-codes. The result is a a data structure
which is a chimera of PLM molecules and WAM structures.
Judging from our bechmark suite, this is the final
killing blow to formerly Jekejeke Prolog.
For more details: Dogelog
Have Fun!
Jan Burse, 08.11.2023, http://www.xlog.ch/
Raymond Smullyan posed the Lion and the Unicorn riddle
inspired by a story about Alice from Lewis Carroll.
A Prolog solution was given in a Paper from 1986 about
VM/Prolog. The paper discussed theorem proving versus
logic programming with Prolog. We give a variant of
this solution and discuss the involved meta predicates.
We presented a solution based on a user defined meta
predicate contrary/2. Differences in negation of
failure made us curious how other Prolog systems
perform. Dogelog Player with a simple strategy for
meta predicates without sacrificing ISO core standard
compatibility, lands in the middle. Hence we could
demonstrate that one can have the cake and eat it too.
See also:
The Lion and the Unicorn met Dogelog https://twitter.com/dogelogch/status/1722612860306821386
The Lion and the Unicorn met Dogelog
https://www.facebook.com/groups/dogelog
Mild Shock schrieb am Mittwoch, 8. November 2023 um 23:38:53 UTC+1:
Dear All,
We are happy to announce a new edition of
the Dogelog player:
- Monomorphic Cache:
New episode in creating a Prolog system with no
atom table and no datatype string, only atoms. Like
formerly Jekejeke Prolog our Dogelog player has only
a provables table and inline caches, whereas we
didn't need polymorphic, only monomorphic.
- Neck Forms:
We allow the Prolog system to treat neck deterministic
built-ins in a special way so as to avoid the costly
creation of sub-goals. Intriguingly even more speed-up
can be gained in that the built-ins decide on their
own how to interpret the Albufeira code arguments.
- AST-Machine:
We abandoned the idea that Albufeira code is an
array of op-codes. The result is a a data structure
which is a chimera of PLM molecules and WAM structures.
Judging from our bechmark suite, this is the final
killing blow to formerly Jekejeke Prolog.
For more details: Dogelog
Have Fun!
Jan Burse, 08.11.2023, http://www.xlog.ch/
Dogelog Player is a Prolog system 100% written
in Prolog itself. We recently extended the Dogelog
Player to not only support JavaScript and Python,
but also Java as its target platform. For JavaScript
and Java, Dogelog Player approaches Prolog
atoms via wobbly Unicode.
We treat wobbly code points as first class citizen
and see to it that a conversion from wobbly pairs
to a steady points automatically happens, but the
reverse road is blocked. The results are encouraging
but support in other Prolog systems such as
SWI-Prolog is lacking.
See also:
Wobbly Unicode in Dogelog Player https://twitter.com/dogelogch/status/1727300173968162983
Wobbly Unicode in Dogelog Player
https://www.facebook.com/groups/dogelog
Mild Shock schrieb am Donnerstag, 9. November 2023 um 15:01:17 UTC+1:
Raymond Smullyan posed the Lion and the Unicorn riddle
inspired by a story about Alice from Lewis Carroll.
A Prolog solution was given in a Paper from 1986 about
VM/Prolog. The paper discussed theorem proving versus
logic programming with Prolog. We give a variant of
this solution and discuss the involved meta predicates.
We presented a solution based on a user defined meta
predicate contrary/2. Differences in negation of
failure made us curious how other Prolog systems
perform. Dogelog Player with a simple strategy for
meta predicates without sacrificing ISO core standard
compatibility, lands in the middle. Hence we could
demonstrate that one can have the cake and eat it too.
See also:
The Lion and the Unicorn met Dogelog https://twitter.com/dogelogch/status/1722612860306821386
The Lion and the Unicorn met Dogelog https://www.facebook.com/groups/dogelog
Mild Shock schrieb am Mittwoch, 8. November 2023 um 23:38:53 UTC+1:
Dear All,
We are happy to announce a new edition of
the Dogelog player:
- Monomorphic Cache:
New episode in creating a Prolog system with no
atom table and no datatype string, only atoms. Like
formerly Jekejeke Prolog our Dogelog player has only
a provables table and inline caches, whereas we
didn't need polymorphic, only monomorphic.
- Neck Forms:
We allow the Prolog system to treat neck deterministic
built-ins in a special way so as to avoid the costly
creation of sub-goals. Intriguingly even more speed-up
can be gained in that the built-ins decide on their
own how to interpret the Albufeira code arguments.
- AST-Machine:
We abandoned the idea that Albufeira code is an
array of op-codes. The result is a a data structure
which is a chimera of PLM molecules and WAM structures.
Judging from our bechmark suite, this is the final
killing blow to formerly Jekejeke Prolog.
For more details: Dogelog
Have Fun!
Jan Burse, 08.11.2023, http://www.xlog.ch/
Dogelog Player is a Prolog system 100% written
in Prolog itself. We recently extended the Dogelog
Player to not only support JavaScript and Python,
but also Java as its target platform. For JavaScript
and Java, Dogelog Player approaches Prolog
atoms via wobbly Unicode.
We treat wobbly code points as first class citizen
and see to it that a conversion from wobbly pairs
to a steady points automatically happens, but the
reverse road is blocked. The results are encouraging
but support in other Prolog systems such as
SWI-Prolog is lacking.
See also:
Wobbly Unicode in Dogelog Player https://twitter.com/dogelogch/status/1727300173968162983
Wobbly Unicode in Dogelog Player
https://www.facebook.com/groups/dogelog
Dogelog Player is a Prolog system for the
JavaScript, Python and Java platform. We
were facing some test cases that created
huge amounts of Prolog terms and in the
same time had a failure driven loop removing
them at once again. Can our garbage collector
deal with that?
Tri-color can be used to identify old and
new variables. We went on and implemented a
variant of David Ungars generation scavenging.
We could gain various benefits with a new
gc_minor() routine, and the winner was a
backtracking friendly heuristic when to
call it or not.
See also:
Generational GC for Dogelog Player https://twitter.com/dogelogch/status/1728641232413307092
Generational GC for Dogelog Player
https://www.facebook.com/groups/dogelog
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 376 |
Nodes: | 16 (2 / 14) |
Uptime: | 00:44:58 |
Calls: | 8,030 |
Calls today: | 9 |
Files: | 13,031 |
Messages: | 5,826,068 |
Posted today: | 1 |