Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #124357 > unrolled thread

ANN: Dogelog Player 1.2.0 (Binary Streams)

Started byMild Shock <janburse@fastmail.fm>
First post2024-05-22 10:44 +0200
Last post2024-07-22 10:14 +0200
Articles 8 — 1 participant

Back to article view | Back to comp.lang.javascript


Contents

  ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-05-22 10:44 +0200
    Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-05-29 09:09 +0200
      Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-05-31 09:00 +0200
        Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-06-01 16:29 +0200
      Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-06-01 22:31 +0200
    Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-06-19 02:12 +0200
      Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-07-08 07:34 +0200
        Re: ANN: Dogelog Player 1.2.0 (Binary Streams) Mild Shock <janburse@fastmail.fm> - 2024-07-22 10:14 +0200

#124357 — ANN: Dogelog Player 1.2.0 (Binary Streams)

FromMild Shock <janburse@fastmail.fm>
Date2024-05-22 10:44 +0200
SubjectANN: Dogelog Player 1.2.0 (Binary Streams)
Message-ID<v2kb9s$kakr$3@solani.org>
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/

[toc] | [next] | [standalone]


#124358

FromMild Shock <janburse@fastmail.fm>
Date2024-05-29 09:09 +0200
Message-ID<v36kbk$tfhj$3@solani.org>
In reply to#124357
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/

[toc] | [prev] | [next] | [standalone]


#124359

FromMild Shock <janburse@fastmail.fm>
Date2024-05-31 09:00 +0200
Message-ID<v3bsi6$10ckm$1@solani.org>
In reply to#124358
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/
> 

[toc] | [prev] | [next] | [standalone]


#124360

FromMild Shock <janburse@fastmail.fm>
Date2024-06-01 16:29 +0200
Message-ID<v3fb8q$12a1h$1@solani.org>
In reply to#124359
Changed the garbeg colection strategy,
works now even on new iPad Pro 2024 M4.
Holy cow this thing is fast.

Mild Shock schrieb:
> 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/
>>
> 

[toc] | [prev] | [next] | [standalone]


#124361

FromMild Shock <janburse@fastmail.fm>
Date2024-06-01 22:31 +0200
Message-ID<v3g0ee$12l8n$3@solani.org>
In reply to#124358
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

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/
> 

[toc] | [prev] | [next] | [standalone]


#124362

FromMild Shock <janburse@fastmail.fm>
Date2024-06-19 02:12 +0200
Message-ID<v4t7q0$1rd2b$3@solani.org>
In reply to#124357
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/

[toc] | [prev] | [next] | [standalone]


#124368

FromMild Shock <janburse@fastmail.fm>
Date2024-07-08 07:34 +0200
Message-ID<v6ftof$appo$3@solani.org>
In reply to#124362
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

Mild Shock schrieb:
> 
> 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/
> 

[toc] | [prev] | [next] | [standalone]


#124369

FromMild Shock <janburse@fastmail.fm>
Date2024-07-22 10:14 +0200
Message-ID<v7l4d8$64kc$3@solani.org>
In reply to#124368
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

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.javascript


csiph-web