• ANN: Dogelog, Invitation to the Moon!

    From Mostowski Collapse@21:1/5 to All on Sat Dec 11 13:12:16 2021
    Dear All,

    The website http://www.xlog.ch/ is now open for
    newsletter registration. What are the plans for
    the next 10 years (sic!):

    - Past: 100% Java Prolog
    We had the Jekejeke Suite consisting of Runtime,
    Minlog and Debugger. The Runtime was initially
    100% Java, including things like consult and top-level.

    - Present: 100% Prolog Prolog
    This year in 2021 we managed to deliver a new breed
    of Prolog, with the Dogelog Player we demonstrated
    a Prolog system which had most of it written in Prolog itself.
    The Dogelog Player is available for JavaScript and Python.

    - Future:
    The goal is to produce a Dogelog Suite consisting
    of Runtime, Minlog and Debugger, all based on the new
    100% Prolog approach of the Dogelog Player. It is planned
    that Dogelog Suite will again cover Java, but we could
    also try novel targets such as Steel Bank Common Lisp (SBCL), etc..

    Disclaimer: It might take some time till the new website
    http://www.xlog.ch/ shows some binaries, since we have
    removed us from GitHub. We are working on it.

    Have Fun! #StaySafe
    Jan Burse, 11.12.2021

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to Mostowski Collapse on Sat Dec 18 13:10:01 2021
    Dear All,

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

    - Binary Release:
    The new version 0.9.7 of the Dogelog player
    now masters DCG. We have decided to upload the
    transpiled and compacted editions for the
    JavaScript and Python platforms to www.xlog.ch
    under the heading "Products".

    - Quelltexte:
    As an alternative to GitHub, we have now
    activated pages.xlog.ch. In addition to the
    source texts of the transpiler and the built-ins
    of the Dogelog player, this website also
    contains the manuals and the source texts of
    the tutorials. Both JavaScript and Python source
    code can be found.

    - Blogging:
    As an alternative to Gist, we are now reporting
    on medium.com/@janburse_2989 about the developments
    in the Dogelog player. We also use
    twitter.com/dogelogch and
    www.facebook.com/groups/dogelog for short messages.

    Have Fun! #StaySafe
    Jan Burse, 18.12.2021

    Mostowski Collapse schrieb:
    Dear All,

    The website http://www.xlog.ch/ is now open for
    newsletter registration. What are the plans for
    the next 10 years (sic!):

    - Past: 100% Java Prolog
    We had the Jekejeke Suite consisting of Runtime,
    Minlog and Debugger. The Runtime was initially
    100% Java, including things like consult and top-level.

    - Present: 100% Prolog Prolog
    This year in 2021 we managed to deliver a new breed
    of Prolog, with the Dogelog Player we demonstrated
    a Prolog system which had most of it written in Prolog itself.
    The Dogelog Player is available for JavaScript and Python.

    - Future:
    The goal is to produce a Dogelog Suite consisting
    of Runtime, Minlog and Debugger, all based on the new
    100% Prolog approach of the Dogelog Player. It is planned
    that Dogelog Suite will again cover Java, but we could
    also try novel targets such as Steel Bank Common Lisp (SBCL), etc..

    Disclaimer: It might take some time till the new website
    http://www.xlog.ch/ shows some binaries, since we have
    removed us from GitHub. We are working on it.

    Have Fun! #StaySafe
    Jan Burse, 11.12.2021


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to Mostowski Collapse on Tue Jan 4 09:23:47 2022
    Ok, here is a write-up of our christmas and newyears passtime:

    Prolog Barber Paradox in JavaScript/Python https://qiita.com/j4n_bur53/items/59128d9eeb61b86dd133

    Have Fun!

    Mostowski Collapse schrieb am Samstag, 18. Dezember 2021 um 13:10:13 UTC+1:
    Dear All,

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

    - Binary Release:
    The new version 0.9.7 of the Dogelog player
    now masters DCG. We have decided to upload the
    transpiled and compacted editions for the
    JavaScript and Python platforms to www.xlog.ch
    under the heading "Products".

    - Quelltexte:
    As an alternative to GitHub, we have now
    activated pages.xlog.ch. In addition to the
    source texts of the transpiler and the built-ins
    of the Dogelog player, this website also
    contains the manuals and the source texts of
    the tutorials. Both JavaScript and Python source
    code can be found.

    - Blogging:
    As an alternative to Gist, we are now reporting
    on medium.com/@janburse_2989 about the developments
    in the Dogelog player. We also use
    twitter.com/dogelogch and
    www.facebook.com/groups/dogelog for short messages.

    Have Fun! #StaySafe
    Jan Burse, 18.12.2021

    Mostowski Collapse schrieb:
    Dear All,

    The website http://www.xlog.ch/ is now open for
    newsletter registration. What are the plans for
    the next 10 years (sic!):

    - Past: 100% Java Prolog
    We had the Jekejeke Suite consisting of Runtime,
    Minlog and Debugger. The Runtime was initially
    100% Java, including things like consult and top-level.

    - Present: 100% Prolog Prolog
    This year in 2021 we managed to deliver a new breed
    of Prolog, with the Dogelog Player we demonstrated
    a Prolog system which had most of it written in Prolog itself.
    The Dogelog Player is available for JavaScript and Python.

    - Future:
    The goal is to produce a Dogelog Suite consisting
    of Runtime, Minlog and Debugger, all based on the new
    100% Prolog approach of the Dogelog Player. It is planned
    that Dogelog Suite will again cover Java, but we could
    also try novel targets such as Steel Bank Common Lisp (SBCL), etc..

    Disclaimer: It might take some time till the new website http://www.xlog.ch/ shows some binaries, since we have
    removed us from GitHub. We are working on it.

    Have Fun! #StaySafe
    Jan Burse, 11.12.2021


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to Mostowski Collapse on Fri Jan 21 06:21:09 2022
    We never put a ZIP with the tutorial examples on
    our website? This has now changed:

    Dogelog Tutorials locally in VS Code https://twitter.com/dogelogch/status/1484524851947782148

    Dogelog Tutorials locally in VS Code
    https://www.facebook.com/groups/dogelog

    Mostowski Collapse schrieb am Dienstag, 4. Januar 2022 um 18:23:51 UTC+1:
    Ok, here is a write-up of our christmas and newyears passtime:

    Prolog Barber Paradox in JavaScript/Python https://qiita.com/j4n_bur53/items/59128d9eeb61b86dd133

    Have Fun!
    Mostowski Collapse schrieb am Samstag, 18. Dezember 2021 um 13:10:13 UTC+1:
    Dear All,

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

    - Binary Release:
    The new version 0.9.7 of the Dogelog player
    now masters DCG. We have decided to upload the
    transpiled and compacted editions for the
    JavaScript and Python platforms to www.xlog.ch
    under the heading "Products".

    - Quelltexte:
    As an alternative to GitHub, we have now
    activated pages.xlog.ch. In addition to the
    source texts of the transpiler and the built-ins
    of the Dogelog player, this website also
    contains the manuals and the source texts of
    the tutorials. Both JavaScript and Python source
    code can be found.

    - Blogging:
    As an alternative to Gist, we are now reporting
    on medium.com/@janburse_2989 about the developments
    in the Dogelog player. We also use
    twitter.com/dogelogch and
    www.facebook.com/groups/dogelog for short messages.

    Have Fun! #StaySafe
    Jan Burse, 18.12.2021

    Mostowski Collapse schrieb:
    Dear All,

    The website http://www.xlog.ch/ is now open for
    newsletter registration. What are the plans for
    the next 10 years (sic!):

    - Past: 100% Java Prolog
    We had the Jekejeke Suite consisting of Runtime,
    Minlog and Debugger. The Runtime was initially
    100% Java, including things like consult and top-level.

    - Present: 100% Prolog Prolog
    This year in 2021 we managed to deliver a new breed
    of Prolog, with the Dogelog Player we demonstrated
    a Prolog system which had most of it written in Prolog itself.
    The Dogelog Player is available for JavaScript and Python.

    - Future:
    The goal is to produce a Dogelog Suite consisting
    of Runtime, Minlog and Debugger, all based on the new
    100% Prolog approach of the Dogelog Player. It is planned
    that Dogelog Suite will again cover Java, but we could
    also try novel targets such as Steel Bank Common Lisp (SBCL), etc..

    Disclaimer: It might take some time till the new website http://www.xlog.ch/ shows some binaries, since we have
    removed us from GitHub. We are working on it.

    Have Fun! #StaySafe
    Jan Burse, 11.12.2021


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to Mostowski Collapse on Fri Jan 28 19:28:43 2022
    We never put a ZIP with the full source of Dogelog player on
    our website, including the transpiler? This has changed now:

    Style Checks for Dogelog Player https://twitter.com/dogelogch/status/1487125950588506112

    Style Checks for Dogelog Player
    https://www.facebook.com/groups/dogelog

    Mostowski Collapse schrieb:
    We never put a ZIP with the tutorial examples on
    our website? This has now changed:

    Dogelog Tutorials locally in VS Code https://twitter.com/dogelogch/status/1484524851947782148

    Dogelog Tutorials locally in VS Code
    https://www.facebook.com/groups/dogelog

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to Mostowski Collapse on Wed Feb 2 03:49:50 2022
    The beauty of 3 valued logic! Or is it linear logic? Like the
    cut the new construct isn't commutative, but its implemented
    with extending true/false inside the Prolog trampoline. Was
    having a look at ECLiPSe Prolog engines.

    yield(+ToParent, -FromParent)
    Stop the running engine in the yielded-state, and wait for resume https://eclipseclp.org/docs/7.0/bips/kernel/engines/

    I made something simpler for Dogelog player, which
    can be used to bootstrap a lot of things:

    '$STOP'(R): Internal only
    The built-in stops the interpreter loop with return value R.

    This is a forever and ever stop! Can this be used for
    anything? Well here is a sleep/1 implementation,
    it is assumed that the integer return value is interpreted
    as the delay of a timeout promise:

    sleep(T) :- '$STOP'(T).
    sleep(_).

    Putting everything together and we get:

    Async/Await Prolog Console for JavaScript/Python https://twitter.com/dogelogch/status/1488831738348515334

    Async/Await Prolog Console for JavaScript/Python https://www.facebook.com/groups/dogelog

    With video recording!

    Mostowski Collapse schrieb am Freitag, 28. Januar 2022 um 19:28:49 UTC+1:
    We never put a ZIP with the full source of Dogelog player on
    our website, including the transpiler? This has changed now:

    Style Checks for Dogelog Player https://twitter.com/dogelogch/status/1487125950588506112

    Style Checks for Dogelog Player
    https://www.facebook.com/groups/dogelog

    Mostowski Collapse schrieb:
    We never put a ZIP with the tutorial examples on
    our website? This has now changed:

    Dogelog Tutorials locally in VS Code https://twitter.com/dogelogch/status/1484524851947782148

    Dogelog Tutorials locally in VS Code https://www.facebook.com/groups/dogelog

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to All on Thu Feb 17 08:28:20 2022
    Some people live in the past, but the future is now!
    For example I get for:

    retractall((factorial(_,_))).
    assertz((factorial(0,1) :- !)).
    assertz((factorial(N,X) :- M is N-1, factorial(M,Y), X is N*Y)). factorial(28,X).
    http://yieldprolog.sourceforge.net/queryEditor.html

    This result is a float and not a bigint:
    X = 3.0488834461171384e+29;

    So forget Yield Prolog, try Dogelog player,
    runs in Python and JavaScript:

    factorial(0,1) :- !.
    factorial(N,X) :- M is N-1, factorial(M,Y), X is N*Y.
    ?- factorial(28,X). http://www.xlog.ch/izytab/doclet/docs/18_live/10_reference/example01/package.html

    The result is bigint:
    X = 304888344611713860501504000000.

    BigInt has already 92% browser support:
    https://caniuse.com/bigint

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to All on Fri Feb 25 04:16:52 2022
    Dogelog Player has left behind the ISO core standard, and
    implements living standard Prolog. What is living standard
    Prolog? It aims at implementing a more flexible Prolog

    than what ISO core standard prescribes, a more flexible Prolog
    that reflects the reality of the majority of Prolog systems.
    For example I do now have in Dogelog player:

    ?- op(200,fy,!).
    true
    ?- X = foo(!).
    X = foo(!).
    ?- X = (foo :- !).
    X = (foo :- !).

    http://www.xlog.ch/izytab/doclet/docs/18_live/10_reference/example01/package.html

    Is this the behaviour of the majority of Prolog systems? Don't
    know. Only did a sample of a few Prolog systems. SWI-Prolog
    and Tau Prolog can parse the last query.

    GNU Prolog and Scryer Prolog cannot parse the last query.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to Mostowski Collapse on Fri Feb 25 13:36:58 2022
    It seems I must retract my hands clapping and tend now to
    be more agnostic what Tau Prolog does, and wouldn't care less
    what Scryer Prolog thinks Tau Prolog should do.

    I found a way to convert legacy Prolog text into Scryer Prolog
    format. The steps are relatively simple:

    1) Consult the Prolog text in SWI-Prolog

    2) Call listing/[0,1] in SWI-Prolog

    SWI-Prolog puts an additional parenthesis around operators,
    even when they were not there during input. Its the most crazy
    thing I have ever seen, that such a conversion step is necessary.

    But I don't want to start a war, must have been watching too
    much Putin Ukraine recently. Should those who feel appointed
    waste their time on GitHub issues and discussions. It seems

    50% of Prolog GitHub is filled with this madness.
    Thank god Dogelog player is not on GitHub.

    Mostowski Collapse schrieb am Freitag, 25. Februar 2022 um 13:17:04 UTC+1:
    Dogelog Player has left behind the ISO core standard, and
    implements living standard Prolog. What is living standard
    Prolog? It aims at implementing a more flexible Prolog

    than what ISO core standard prescribes, a more flexible Prolog
    that reflects the reality of the majority of Prolog systems.
    For example I do now have in Dogelog player:

    ?- op(200,fy,!).
    true
    ?- X = foo(!).
    X = foo(!).
    ?- X = (foo :- !).
    X = (foo :- !).

    http://www.xlog.ch/izytab/doclet/docs/18_live/10_reference/example01/package.html

    Is this the behaviour of the majority of Prolog systems? Don't
    know. Only did a sample of a few Prolog systems. SWI-Prolog
    and Tau Prolog can parse the last query.

    GNU Prolog and Scryer Prolog cannot parse the last query.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mostowski Collapse@21:1/5 to All on Fri Mar 4 15:38:09 2022
    Its quite confusing that SWI-PL 7.x WASM
    performs so different from SWI-PL 8.x Native.
    So we did some benchmarking also for

    the native platform, including formerly
    Jekejeke Prolog. This will be possibly our
    further setup to groom Dogelog Player:

    ECLiPSe: 1360 ms
    SWI: 2891 ms
    GNU: 3089 ms
    Jekejeke: 5130 ms
    Scryer (rebis-dev, WSL): 7452 ms
    Dogelog (node): 16981 ms

    Woa! We still beat Scryer Prolog although
    Scryer Prolog made big progress. But I guess
    it doesn't have multi-argument indexing yet,

    neither does Dogelog. So this will be quite
    a suspense, to see the further development
    framed by this new benchmark setting, provided

    we see the dawn of the next weeks.

    See also:

    Dogelog Player reaches Functionality Milestone https://twitter.com/dogelogch/status/1498983663924658176

    Dogelog Player reaches Functionality Milestone https://www.facebook.com/groups/dogelog

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