• ANN: Dogelog Player 1.2.0 (Binary Streams)

    From Mild Shock@21:1/5 to All on Wed May 22 10:44:44 2024
    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/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Wed May 29 09:09:40 2024
    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/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Fri May 31 09:00:22 2024
    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/


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sat Jun 1 16:29:47 2024
    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/



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sat Jun 1 22:31:11 2024
    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/


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Wed Jun 19 02:12:47 2024
    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/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Mon Jul 8 07:34:07 2024
    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/


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to All on Mon Jul 22 10:14:33 2024
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)