Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/
Dogelog Player is a Prolog system 100% written
in Prolog itself. It is unique among Prolog systems
in that it does not have a concept of a stack frame,
so a DEC10 ancestor/1 built-in or even error
backtraces are not available by design.
We were interested in a larger example to see whether
this design pays off. In the following we show an
implementation of Linear Conflict A* Search to
solve 8-puzzles and compare with newer Prolog
systems such as Scryer Prolog and Trealla Prolog.
One gets an itch more heuristic power by adding
on top of Manhattan distance a goal conflict
measure. Performance wise SWI-Prolog still
leads the pack, but we leave behind both Scryer-Prolog
and Trealla Prolog. Interestingly we are also
not bugged by some break out in the 2nd test.
See also:
Linear Conflict A* Search in Dogelog Player https://www.facebook.com/groups/dogelog
Linear Conflict A* Search in Dogelog Player https://twitter.com/dogelogch/status/1795710383682118115
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/
Ok, thats a little sad that nodeJS has
most likely a memory leak or garbage
collection overrun in sort().
Easy enough to replicate holistically,
on both DOS and WSL2, with both 22.2.0
and 20.14.0.
Doesn't happen in Chrome Brower.
Mild Shock schrieb:
Dogelog Player is a Prolog system 100% written
in Prolog itself. It is unique among Prolog systems
in that it does not have a concept of a stack frame,
so a DEC10 ancestor/1 built-in or even error
backtraces are not available by design.
We were interested in a larger example to see whether
this design pays off. In the following we show an
implementation of Linear Conflict A* Search to
solve 8-puzzles and compare with newer Prolog
systems such as Scryer Prolog and Trealla Prolog.
One gets an itch more heuristic power by adding
on top of Manhattan distance a goal conflict
measure. Performance wise SWI-Prolog still
leads the pack, but we leave behind both Scryer-Prolog
and Trealla Prolog. Interestingly we are also
not bugged by some break out in the 2nd test.
See also:
Linear Conflict A* Search in Dogelog Player
https://www.facebook.com/groups/dogelog
Linear Conflict A* Search in Dogelog Player
https://twitter.com/dogelogch/status/1795710383682118115
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/
Dogelog Player is a Prolog system 100% written
in Prolog itself. It is unique among Prolog systems
in that it does not have a concept of a stack frame,
so a DEC10 ancestor/1 built-in or even error
backtraces are not available by design.
We were interested in a larger example to see whether
this design pays off. In the following we show an
implementation of Linear Conflict A* Search to
solve 8-puzzles and compare with newer Prolog
systems such as Scryer Prolog and Trealla Prolog.
One gets an itch more heuristic power by adding
on top of Manhattan distance a goal conflict
measure. Performance wise SWI-Prolog still
leads the pack, but we leave behind both Scryer-Prolog
and Trealla Prolog. Interestingly we are also
not bugged by some break out in the 2nd test.
See also:
Linear Conflict A* Search in Dogelog Player https://www.facebook.com/groups/dogelog
Linear Conflict A* Search in Dogelog Player https://twitter.com/dogelogch/status/1795710383682118115
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/
Dogelog Player is a Prolog system that supports
JavaScript, Python and Java in its targets. We
show how the JavaScript support can be used to
perform some proof search and proof rendering
directly in the browser. A versatile format for
proof objects are λμ-expressions.
We explored proof searches dubbed Dragalin and
Fitting, whereas the later outperforms the former.
The extracted λμ-expressions are used to display
Gentzen and Fitch style proofs. The Fitch style
proofs turn out to be more compact, but we are
still investigating some further reductions.
See also:
Simple λμ-Calculus in Dogelog Player https://twitter.com/dogelogch/status/1803200066066456876
Simple λμ-Calculus in Dogelog Player https://www.facebook.com/groups/dogelog
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition
of the Dogelog player:
- Quasi-Parallel Loader:
The Prolog text loader is now task aware.
Although tasks are only quasi-parallel, issues
of mutex might appear, which have been solved
by using the meta call shield/1 which temporarly
disables auto-yield. Back traces showing the
current file loading chain are now task local.
- Binary Files:
As before the target platforms JavaScript
nodeJS, Python and Java support file system
access. A new open option type/1 has been added,
which can have the values 'text' or 'binary' and
which defaults to 'text'. 'binary' is simply
treated as 'text' with latin1 encoding instead of utf8.
- Binary HTTP:
To give the benefit of a simple binary
treatment to the HTTP protocol as well, i.e. no
extra get_byte/[1,2] builtins and no extra byte
array datatype, since codes and atoms can be used
as before, we braught the type/1 option to the
APIs of the HTTP clients and the HTTP servers.
Have Fun!
Jan Burse, 22.05.2024, http://www.xlog.ch/
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 991 |
Nodes: | 10 (0 / 10) |
Uptime: | 180:05:52 |
Calls: | 12,940 |
Files: | 186,574 |
Messages: | 3,262,537 |