Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #124357 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2024-05-22 10:44 +0200 |
| Last post | 2024-07-22 10:14 +0200 |
| Articles | 8 — 1 participant |
Back to article view | Back to comp.lang.javascript
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
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-05-22 10:44 +0200 |
| Subject | ANN: 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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2024-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