• Pure I/O in Dogelog Player (Re: ANN: Dogelog Player 1.3.3 (Dark Mode))

    From Mild Shock@21:1/5 to Mild Shock on Thu Jun 26 01:19:00 2025
    Dogelog Player is a Prolog system mainly written
    in Prolog itself. A library(pio) for Pure I/O is
    not part of this Prolog systems. Herein we report
    a successful experiment of implementing such a
    library. The library has a Web 2.0 realization
    since the streams can even originate from URLs.

    Instead of going with memory mapping or attributed
    variables, our main idea is to use ā€˜C’/3 to
    detect Haskell lazy and realize it with change_arg/3.
    The grammar backtracking is potentially unlimited.
    There is a separation of concern into a get_lazy/3
    and the unit need not be codes.

    See also:

    Pure I/O in Dogelog Player
    https://medium.com/@janburse_2989/1dc0afb9dcae

    Mild Shock schrieb:
    Dear All,

    We are happy to announce a new edition
    of the Dogelog Player:

    - Output Flags:
    The output streams now carry flags. The mask
    0x00000004 indicates that the end-user wants
    some fancy output. The Prolog core offers a
    hook on sys_print_error/2, so that errors and
    warnings can be styled. Works seemless for the
    browser and the console via library(markup).

    - Write Option:
    The write routine now offers an additional option.
    The Prolog core offers a hook for put_atom/2,
    so that the output tokens produced by the predicate
    write_term/2 can be run through a pygmentation
    routine. When using class names instead of color
    values, style sheets in the browser allow color
    switching between dark and light mode.

    - Improved Top-Level:
    To reduce footprint and startup time in scripting
    mode, the top-level has been refactored into an
    optional separate Prolog text library(session).
    The Prolog text offers print error and put atom
    hooks, and as well as some logic so that the
    listing predicate listing/[0,1] and answer
    substitutions (?-)/1 deliver fancy output if
    the output stream desires so.

    Have Fun!

    Jan Burse, 19.06.2025, https://www.herbrand.ai/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to All on Mon Jun 30 17:59:43 2025
    Dogelog Player is a Prolog system that is written
    in 100% Prolog. Formerly Jekejeke Prolog was a
    Prolog system that was written in 100% Java. We
    created a new version of Jekejeke Prolog that
    has 50% Prolog from Dogelog Player and is
    still multi-threaded.

    We trashed everything beyond the core of Jekejeke
    Prolog and adopted the Dogelog Player libraries
    and top-level, even library(markup) works! The
    new Jekejeke Prolog is significantly slower than
    Dogelog Player, almost a factor two. But it can still
    serve for some cherry picking.

    See also:

    Dogelog Player goes Multi Threading https://medium.com/@janburse_2989/6720695470fe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Wed Jul 2 03:30:37 2025
    We recently started porting formerly Jekejeke
    Prolog to the 100% Prolog Novacore from Dogelog
    Player. The current state is that formerly Jekejeke
    Prolog is now 50% Prolog, and we are continuing
    the transformation.

    Formerly Jekejeke Prolog did have a natively
    written Interactive Debugger. Dogelog Player
    does not yet have an Interactive Debugger. So we
    started an experiment of writing a non-native
    Interactive Debugger.

    Our pathological examination of formerly Jekejeke
    Prolog lead to an Internative Debugger that can
    handle cuts, but that is also smart enough to
    switch from 4-Port model to 2-Port model. We will
    mostlikely ship it, despite some loose ends like
    hiding system and library details.

    See also:

    Prolog Necronomicon: Write an Interactive Debugger! https://qiita.com/j4n_bur53/items/909e114b8362ab9f3545


    Mild Shock schrieb:

    Dogelog Player is a Prolog system that is written
    in 100% Prolog. Formerly Jekejeke Prolog was a
    Prolog system that was written in 100% Java. We
    created a new version of Jekejeke Prolog that
    has 50% Prolog from Dogelog Player and is
    still multi-threaded.

    We trashed everything beyond the core of Jekejeke
    Prolog and adopted the Dogelog Player libraries
    and top-level, even library(markup) works! The
    new Jekejeke Prolog is significantly slower than
    Dogelog Player, almost a factor two. But it can still
    serve for some cherry picking.

    See also:

    Dogelog Player goes Multi Threading https://medium.com/@janburse_2989/6720695470fe


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