Discussion:
ANN: Dogelog Player 1.2.0 (Binary Streams)
(too old to reply)
Mild Shock
2024-05-22 08:44:14 UTC
Permalink
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/
Mild Shock
2024-06-01 20:30:34 UTC
Permalink
Dogelog Player is a Prolog system 100% written
in Prolog itself. This goal cannot always be
sustained, especially when one wants to keep up
with the competition. We show how a native
implementation of sort/2 and keysort/2 lead us
to a new take on our garbage collection.

In the presence of native sort our trigger GC
becomes blind resulting in a memory overflow. We
therefore abandoned the corresponding bureaucracy
and opted for a simpler metronome GC. The approach
seems to work and we can demonstrate competitiveness.

See also:

Metronome GC for Dogelog Player
https://twitter.com/dogelogch/status/1797000216849039827

Metronome GC for Dogelog Player
https://www.facebook.com/groups/dogelog
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.
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
Post by Mild Shock
Dear All,
We are happy to announce a new edition
   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.
   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.
   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/
Mild Shock
2024-06-19 00:12:18 UTC
Permalink
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
Post by Mild Shock
Dear All,
We are happy to announce a new edition
  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.
  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.
  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/
Mild Shock
2024-07-08 05:33:28 UTC
Permalink
We have retracted our simple λμ-calculus blog
post until we have explored its model and proof
theory more thoroughly. Meanwhile we made a
little tool that finds counter models for
propositional formulas in a couple of
intermediate logics between minimal logic
and classical logic.

The easy part was McCunes Mace4 model finder
and standard translation for propositional modal
logic K and modal logic S4. We then opted for
Segerbergs translation instead of Gödels translation,
and could build model finders for minimal logic,
Peirce’s logic and intuitionistic logic.

See also:

Segerberg Models in Dogelog Player
https://twitter.com/dogelogch/status/1810177721239998611

Segerberg Models in Dogelog Player
https://www.facebook.com/groups/dogelog
Post by Mild Shock
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.
Simple λμ-Calculus in Dogelog Player
https://twitter.com/dogelogch/status/1803200066066456876
Simple λμ-Calculus in Dogelog Player
https://www.facebook.com/groups/dogelog
Post by Mild Shock
Dear All,
We are happy to announce a new edition
   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.
   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.
   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/
Mild Shock
2024-07-09 19:40:37 UTC
Permalink
We have retracted our simple λμ-calculus blog
post until we have explored its model and proof
theory more thoroughly. Some of the model theory
has already been complete in a post on medium.com .
We here report on a puzzle stone in proof theory.

With the help of combinatorial logic,
unify_with_occurs_check/2 and a meta-interpreter
we can solve the type inhabitation problem brute
force in Prolog. This method is powerful enough
to assist us in a direct proof of Segerbergs 1968
result that JE = JP.

See also:

Segerberg Proofs in Dogelog Player
https://twitter.com/dogelogch/status/1810747113791442952

Segerberg Proofs in Dogelog Player
https://www.facebook.com/groups/dogelog
Post by Mild Shock
We have retracted our simple λμ-calculus blog
post until we have explored its model and proof
theory more thoroughly. Meanwhile we made a
little tool that finds counter models for
propositional formulas in a couple of
intermediate logics between minimal logic
and classical logic.
The easy part was McCunes Mace4 model finder
and standard translation for propositional modal
logic K and modal logic S4. We then opted for
Segerbergs translation instead of Gödels translation,
and could build model finders for minimal logic,
Peirce’s logic and intuitionistic logic.
Segerberg Models in Dogelog Player
https://twitter.com/dogelogch/status/1810177721239998611
Segerberg Models in Dogelog Player
https://www.facebook.com/groups/dogelog
Post by Mild Shock
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.
Simple λμ-Calculus in Dogelog Player
https://twitter.com/dogelogch/status/1803200066066456876
Simple λμ-Calculus in Dogelog Player
https://www.facebook.com/groups/dogelog
Post by Mild Shock
Dear All,
We are happy to announce a new edition
   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.
   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.
   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/
Mild Shock
2024-07-22 08:14:18 UTC
Permalink
Dogelog Player is a Prolog system available for
JavaScript. Our original idea was to replicate
Knuth’s idea of literate programming for the web.
Diverting slightly from the batch processing
approach, we recently arrived at a new more online
approach of lite notebooks. We show Musser’s shuffling.

We carried over all the features of our old
literate programming notebooks. This includes
loading libraries, processing input text and
generating output text. Running Musser’s shuffling
doesn’t require a makefile or server roundtrips
and is as easy as pointing the browser to a HTML page.

See also:

Musser’s Shuffling as a Dogelog Notebook
https://twitter.com/dogelogch/status/1815296573506482526

Musser’s Shuffling as a Dogelog Notebook
https://www.facebook.com/groups/dogelog

Loading...