• =?UTF-8?Q?ANN:_Dogelog_Player_2.2.4_=28Parallel_=cf=80-WAM=29?=

    From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Tue Jul 28 00:24:06 2026
    From Newsgroup: comp.lang.javascript

    Dear All,

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

    - Syntax Errors:
    Using some generic object access API across
    JavaScript, Python and Java, we could extract
    an error line and an error caret from an
    input stream in 100% Prolog, and add it to
    the display of syntax errors. The feature is
    open source, might serve human programmers
    and coder agents brain food alike.

    - Parallel Emulation:
    The emulate/1 predicate for -C-WAM got a
    brother emulate/2 that accepts an option list,
    that we can extend in future releases. The
    emulator itself has been extended to perform
    a parallel simulation by using interleaved
    synchronized emulation in 100% Prolog and
    recognizes a size/1 option for the number
    of logical threads.

    - Parallel Execution:
    There now exists also a CPU backend that
    complements the Dogelog Player cooperative
    multitasking by preemptive multithreading
    accepting -C-WAM code via the newly introduced
    execute/2 predicate. This predicate additionally
    recognizes a group/1 option for the number of
    logical threads that are bundled onto
    a physical thread.

    Have Fun!

    Jan Burse, July 27, 2026, https://www.herbrand.ai/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Mon Aug 3 12:12:23 2026
    From Newsgroup: comp.lang.javascript

    Hi,

    We recently got a little excited seeing the
    figures of a budget AI laptop experiment running
    -C-WAM on its silicon integrated GPU. Meanwhile
    we could contain ourselves, and brought the
    prototype into production via the library(edge/
    furryhaze). A first experience report.

    We try to find 0xCAFFEE in enumerating 4 6-bit
    digits and the baseline is Dogelog Player VM in
    a browser. The CPU backend with 64 logical threads
    is already 20 times faster, partly due to its
    32-bit specialization. The GPU backend with 4096
    logical threads boosts a further factor of 7 times.

    Bye

    See also:

    GPU Backend: Find 0xCAFFEE with -C-WAM
    https://medium.com/2989/8890efd3503c

    Mild Shock schrieb:
    Dear All,

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

    - Syntax Errors:
    Using some generic object access API across
    JavaScript, Python and Java, we could extract
    an error line and an error caret from an
    input stream in 100% Prolog, and add it to
    the display of syntax errors. The feature is
    open source, might serve human programmers
    and coder agents brain food alike.

    - Parallel Emulation:
    The emulate/1 predicate for -C-WAM got a
    brother emulate/2 that accepts an option list,
    that we can extend in future releases. The
    emulator itself has been extended to perform
    a parallel simulation by using interleaved
    synchronized emulation in 100% Prolog and
    recognizes a size/1 option for the number
    of logical threads.

    - Parallel Execution:
    There now exists also a CPU backend that
    complements the Dogelog Player cooperative
    multitasking by preemptive multithreading
    accepting -C-WAM code via the newly introduced
    execute/2 predicate. This predicate additionally
    recognizes a group/1 option for the number of
    logical threads that are bundled onto
    a physical thread.

    Have Fun!

    Jan Burse, July 27, 2026, https://www.herbrand.ai/

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Wed Aug 5 14:29:19 2026
    From Newsgroup: comp.lang.javascript

    Hi,

    While ADA RendezVous is often depicted as
    tied to a leading task that initiate the
    exchange and responder task that completes
    the exchange. The exchange mechanism itself
    can be extracted into a channel object. We do
    so using busy-wait in 100% Prolog to
    extend the -C-WAM emulator.

    To obtain channel objects, we could straight
    forward realize the offer/poll from Doug LearCOs
    SynchronousQueue using the Prolog dynamic
    database. The test case with emulated MPMC
    queues worked like a charm. We plan further
    benchmarking of physically grouped logical threads.

    Bye

    See also:

    Emulating ADA RendezVous in -C-WAM
    https://medium.com/2989/11ad1908dbcf

    Mild Shock schrieb:
    Hi,

    We recently got a little excited seeing the
    figures of a budget AI laptop experiment running
    -C-WAM on its silicon integrated GPU. Meanwhile
    we could contain ourselves, and brought the
    prototype into production via the library(edge/
    furryhaze). A first experience report.

    We try to find 0xCAFFEE in enumerating 4 6-bit
    digits and the baseline is Dogelog Player VM in
    a browser. The CPU backend with 64 logical threads
    is already 20 times faster, partly due to its
    32-bit specialization. The GPU backend with 4096
    logical threads boosts a further factor of 7 times.

    Bye

    See also:

    GPU Backend: Find 0xCAFFEE with -C-WAM
    https://medium.com/2989/8890efd3503c

    Mild Shock schrieb:
    Dear All,

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

    - Syntax Errors:
    Using some generic object access API across
    JavaScript, Python and Java, we could extract
    an error line and an error caret from an
    input stream in 100% Prolog, and add it to
    the display of syntax errors. The feature is
    open source, might serve human programmers
    and coder agents brain food alike.

    - Parallel Emulation:
    The emulate/1 predicate for -C-WAM got a
    brother emulate/2 that accepts an option list,
    that we can extend in future releases. The
    emulator itself has been extended to perform
    a parallel simulation by using interleaved
    synchronized emulation in 100% Prolog and
    recognizes a size/1 option for the number
    of logical threads.

    - Parallel Execution:
    There now exists also a CPU backend that
    complements the Dogelog Player cooperative
    multitasking by preemptive multithreading
    accepting -C-WAM code via the newly introduced
    execute/2 predicate. This predicate additionally
    recognizes a group/1 option for the number of
    logical threads that are bundled onto
    a physical thread.

    Have Fun!

    Jan Burse, July 27, 2026, https://www.herbrand.ai/


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Fri Aug 7 17:53:13 2026
    From Newsgroup: comp.lang.javascript

    Hi,

    We recently demonstrated a Prolog emulator for
    ADA RendezVous without ACK and NACK. This is basically
    a bounded buffer with max_size=1. We now went on and
    implemented this kind of fire and forget channel
    object natively for JavaScript, Java and Python.
    Some results.

    Our 100 producers and 100 consumers, that communicate
    10000 packets through a single channel, is the camel
    to go through the eye of a needle test case. Both
    -C-WAM and SWI-Prolog can do it below a second using
    different means, but -C-WAM beats SWI-Prolog here
    by a factor of ca. 1.5x.

    Bye

    See also:

    -C-WAM Contest: 1 Million Packets with Prolog https://medium.com/2989/ec3e91551773

    Mild Shock schrieb:
    Hi,

    While ADA RendezVous is often depicted as
    tied to a leading task that initiate the
    exchange and responder task that completes
    the exchange. The exchange mechanism itself
    can be extracted into a channel object. We do
    so using busy-wait in 100% Prolog to
    extend the -C-WAM emulator.

    To obtain channel objects, we could straight
    forward realize the offer/poll from Doug LearCOs
    SynchronousQueue using the Prolog dynamic
    database. The test case with emulated MPMC
    queues worked like a charm. We plan further
    benchmarking of physically grouped logical threads.

    Bye

    See also:

    Emulating ADA RendezVous in -C-WAM
    https://medium.com/2989/11ad1908dbcf

    Mild Shock schrieb:
    Hi,

    We recently got a little excited seeing the
    figures of a budget AI laptop experiment running
    -C-WAM on its silicon integrated GPU. Meanwhile
    we could contain ourselves, and brought the
    prototype into production via the library(edge/
    furryhaze). A first experience report.

    We try to find 0xCAFFEE in enumerating 4 6-bit
    digits and the baseline is Dogelog Player VM in
    a browser. The CPU backend with 64 logical threads
    is already 20 times faster, partly due to its
    32-bit specialization. The GPU backend with 4096
    logical threads boosts a further factor of 7 times.

    Bye

    See also:

    GPU Backend: Find 0xCAFFEE with -C-WAM
    https://medium.com/2989/8890efd3503c

    Mild Shock schrieb:
    Dear All,

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

    - Syntax Errors:
    Using some generic object access API across
    JavaScript, Python and Java, we could extract
    an error line and an error caret from an
    input stream in 100% Prolog, and add it to
    the display of syntax errors. The feature is
    open source, might serve human programmers
    and coder agents brain food alike.

    - Parallel Emulation:
    The emulate/1 predicate for -C-WAM got a
    brother emulate/2 that accepts an option list,
    that we can extend in future releases. The
    emulator itself has been extended to perform
    a parallel simulation by using interleaved
    synchronized emulation in 100% Prolog and
    recognizes a size/1 option for the number
    of logical threads.

    - Parallel Execution:
    There now exists also a CPU backend that
    complements the Dogelog Player cooperative
    multitasking by preemptive multithreading
    accepting -C-WAM code via the newly introduced
    execute/2 predicate. This predicate additionally
    recognizes a group/1 option for the number of
    logical threads that are bundled onto
    a physical thread.

    Have Fun!

    Jan Burse, July 27, 2026, https://www.herbrand.ai/



    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Sun Aug 9 19:39:16 2026
    From Newsgroup: comp.lang.javascript

    Hi,

    What Hamelt is to English language, is Hack to
    Compiler Construction. The playbook of Hack contains
    every drama that a Compiler Construction will face.
    In the following we show how we realized Project 6:
    Assembler from the Nand to Tetris journey via
    a little Prolog DSL.

    Our initial quick and dirty prototype deploys
    double buffering to determine code lengths and
    is brittle in examples such as between/3. Our
    assembly DSL does without symbol tables but with
    Prolog logical variables only. We could fix the
    between/3 glitch and give a first disjunction
    (;)/2 prototype.

    Bye

    See also:

    -C-WAM Assembly: Comfortable Labels and Goto https://medium.com/2989/1a11dd512813

    Mild Shock schrieb:
    Hi,

    We recently demonstrated a Prolog emulator for
    ADA RendezVous without ACK and NACK. This is basically
    a bounded buffer with max_size=1. We now went on and
    implemented this kind of fire and forget channel
    object natively for JavaScript, Java and Python.
    Some results.

    Our 100 producers and 100 consumers, that communicate
    10000 packets through a single channel, is the camel
    to go through the eye of a needle test case. Both
    -C-WAM and SWI-Prolog can do it below a second using
    different means, but -C-WAM beats SWI-Prolog here
    by a factor of ca. 1.5x.

    Bye

    See also:

    -C-WAM Contest: 1 Million Packets with Prolog https://medium.com/2989/ec3e91551773
    --- Synchronet 3.22a-Linux NewsLink 1.2