• Current Work Around: ASCII <-> Browser Cycle (Was: Creating a [Web] Deb

    From Mild Shock@21:1/5 to Mild Shock on Sun Nov 24 01:21:46 2024
    Hi,

    The current work around is to first develop
    the application with an ascii interface,
    and debug it with lets say SWI-Prolog like here:

    Prolog code for the tic-tac-toe game. [ASCII Console Version] https://www.dogelog.ch/littab/doclet/docs/15_sources/basic/example01/console.html

    If you have done this cross development you
    can bring it to the web, like here:

    Prolog code for the tic-tac-toe game. [Browser Version] https://www.dogelog.ch/littab/doclet/docs/15_sources/basic/example03/board.html

    You have still all the options to debug it web-ish,
    like opening the chrome development tools, watch
    all the things there, you can also use break points

    there and stop event handlers and foreign functions
    that access the web browser. So basically debugging
    of the web GUI part happens mainly via:

    Chrome DevTools is a set of web developer tools built
    directly into the Google Chrome browser. DevTools lets
    you edit pages on-the-fly and diagnose problems quickly,
    which helps you build better websites, faster. https://developer.chrome.com/docs/devtools

    Mild Shock schrieb:
    Hi,

    Do you mean the idea to create a debugger
    for Dogelog Player? You want to fork it and
    then add the following:

    BTW, any plans to implement a library like SWI's prolog_trace? <https://www.swi-prolog.org/pldoc/man?section=prologtrace>
    I am finding that quite useful for debugging.

    I don't know whether it is allowed. The
    typical scenario is rather to write a Tic Tac Toe,
    and put it on the web. That is allowed by my

    license. You could also ask for money from
    end-users when they are using the Tic Tac Toe. About
    the debugger I am not sure, my license has a clause:

    Provided the programs add significant and
    primary functionality. Not to be distributed
    with additional software intended to
    replace components.

    So Tic Tac Toe as a primary functionality is
    of course fine. About a debugger I don't know.
    You might get a written permission from me.

    A debugger is not included because how for
    example should a web client application have
    a debugger? Its not that SWI-Prologs prologtrace

    trace automatically gives a Debug Adapter Protocol
    (DAP) that would integrate into Chrome? So for Web 2.0/3.0
    one has to anyway rethink debugging. I did this

    rethinking already for formerly Jekejeke Prolog, and
    might bring up some of the ideas again. But a Debug
    Adapter Protocol (DAP) could be also prototyped with

    SWI-Prolog. Like can you have SWI Prolog server and
    start debugging. The stance there is even not think
    about creating a DAP, but instead to go through

    the normal terminal and the normal top-level
    debugging commands, since SWI-Prolog includes
    an SSH server. See here:

    Using SSH to debug services and embedded Prolog https://www.swi-prolog.org/blog/sshd.md

    But for Web 2.0/3.0 I don't whether this works as well.

    Bye

    Julio Di Egidio schrieb:
    On 24/11/2024 00:30, Mild Shock wrote:

    If you want something with a GNU license,
    there is GNU Prolog:

    I gave my rationale and asked for yours or any plans.

    Anyway, thanks, I'll take that as your answer.

    -Julio



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sun Nov 24 01:30:25 2024
    Hi,

    The recent version of library(misc/markup) allows
    also to preview in ASCII what you would dynamically
    insert into the Web Browser DOM.

    But maybe I should more blog about these things.
    But I am currently stuck with other problems. So
    didn't have time to explain these debugging

    methods in detail. But since relase 1.2.3 the
    test case report generator also uses library(misc/markup).
    So its already hardened more or less.

    But these improvements of in library(misc/markup)
    are there to support the ASCII <-> Browser Cycle.
    For example you can inspect a prover HTML output in

    ASCII via node.js and then go to the web, you even
    don't need to change a single line of code.

    Bye

    Mild Shock schrieb:
    Hi,

    The current work around is to first develop
    the application with an ascii interface,
    and debug it with lets say SWI-Prolog like here:

    Prolog code for the tic-tac-toe game. [ASCII Console Version] https://www.dogelog.ch/littab/doclet/docs/15_sources/basic/example01/console.html


    If you have done this cross development you
    can bring it to the web, like here:

    Prolog code for the tic-tac-toe game. [Browser Version] https://www.dogelog.ch/littab/doclet/docs/15_sources/basic/example03/board.html


    You have still all the options to debug it web-ish,
    like opening the chrome development tools, watch
    all the things there, you can also use break points

    there and stop event handlers and foreign functions
    that access the web browser. So basically debugging
    of the web GUI part happens mainly via:

    Chrome DevTools is a set of web developer tools built
    directly into the Google Chrome browser. DevTools lets
    you edit pages on-the-fly and diagnose problems quickly,
    which helps you build better websites, faster. https://developer.chrome.com/docs/devtools

    Mild Shock schrieb:
    Hi,

    Do you mean the idea to create a debugger
    for Dogelog Player? You want to fork it and
    then add the following:

    BTW, any plans to implement a library like SWI's prolog_trace?
    <https://www.swi-prolog.org/pldoc/man?section=prologtrace>
    I am finding that quite useful for debugging.

    I don't know whether it is allowed. The
    typical scenario is rather to write a Tic Tac Toe,
    and put it on the web. That is allowed by my

    license. You could also ask for money from
    end-users when they are using the Tic Tac Toe. About
    the debugger I am not sure, my license has a clause:

    Provided the programs add significant and
    primary functionality. Not to be distributed
    with additional software intended to
    replace components.

    So Tic Tac Toe as a primary functionality is
    of course fine. About a debugger I don't know.
    You might get a written permission from me.

    A debugger is not included because how for
    example should a web client application have
    a debugger? Its not that SWI-Prologs prologtrace

    trace automatically gives a Debug Adapter Protocol
    (DAP) that would integrate into Chrome? So for Web 2.0/3.0
    one has to anyway rethink debugging. I did this

    rethinking already for formerly Jekejeke Prolog, and
    might bring up some of the ideas again. But a Debug
    Adapter Protocol (DAP) could be also prototyped with

    SWI-Prolog. Like can you have SWI Prolog server and
    start debugging. The stance there is even not think
    about creating a DAP, but instead to go through

    the normal terminal and the normal top-level
    debugging commands, since SWI-Prolog includes
    an SSH server. See here:

    Using SSH to debug services and embedded Prolog
    https://www.swi-prolog.org/blog/sshd.md

    But for Web 2.0/3.0 I don't whether this works as well.

    Bye

    Julio Di Egidio schrieb:
    On 24/11/2024 00:30, Mild Shock wrote:

    If you want something with a GNU license,
    there is GNU Prolog:

    I gave my rationale and asked for yours or any plans.

    Anyway, thanks, I'll take that as your answer.

    -Julio




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Sun Nov 24 01:34:58 2024
    Hi,

    That you have all Chrome DevTools options like here:

    Chrome DevTools is a set of web developer tools built
    directly into the Google Chrome browser. DevTools lets
    you edit pages on-the-fly and diagnose problems quickly,
    which helps you build better websites, faster. https://developer.chrome.com/docs/devtools

    Since Dogelog Player is written in JavaScript and also
    some of the libraries have usage of JavaScript written
    foreign functions, you will not see any assembler.

    This is unlike WASM Prolog systems where you will
    probably see assembly instructions? This carries also
    over if your write your own libraries and use JavaScript.

    Bye

    Mild Shock schrieb:
    Hi,

    The recent version of library(misc/markup) allows
    also to preview in ASCII what you would dynamically
    insert into the Web Browser DOM.

    But maybe I should more blog about these things.
    But I am currently stuck with other problems. So
    didn't have time to explain these debugging

    methods in detail. But since relase 1.2.3 the
    test case report generator also uses library(misc/markup).
    So its already hardened more or less.

    But these improvements of in library(misc/markup)
    are there to support the ASCII <-> Browser Cycle.
    For example you can inspect a prover HTML output in

    ASCII via node.js and then go to the web, you even
    don't need to change a single line of code.

    Bye

    Mild Shock schrieb:
    Hi,

    The current work around is to first develop
    the application with an ascii interface,
    and debug it with lets say SWI-Prolog like here:

    Prolog code for the tic-tac-toe game. [ASCII Console Version]
    https://www.dogelog.ch/littab/doclet/docs/15_sources/basic/example01/console.html


    If you have done this cross development you
    can bring it to the web, like here:

    Prolog code for the tic-tac-toe game. [Browser Version]
    https://www.dogelog.ch/littab/doclet/docs/15_sources/basic/example03/board.html


    You have still all the options to debug it web-ish,
    like opening the chrome development tools, watch
    all the things there, you can also use break points

    there and stop event handlers and foreign functions
    that access the web browser. So basically debugging
    of the web GUI part happens mainly via:

    Chrome DevTools is a set of web developer tools built
    directly into the Google Chrome browser. DevTools lets
    you edit pages on-the-fly and diagnose problems quickly,
    which helps you build better websites, faster.
    https://developer.chrome.com/docs/devtools

    Mild Shock schrieb:
    Hi,

    Do you mean the idea to create a debugger
    for Dogelog Player? You want to fork it and
    then add the following:

    BTW, any plans to implement a library like SWI's prolog_trace?
    <https://www.swi-prolog.org/pldoc/man?section=prologtrace>
    I am finding that quite useful for debugging.

    I don't know whether it is allowed. The
    typical scenario is rather to write a Tic Tac Toe,
    and put it on the web. That is allowed by my

    license. You could also ask for money from
    end-users when they are using the Tic Tac Toe. About
    the debugger I am not sure, my license has a clause:

    Provided the programs add significant and
    primary functionality. Not to be distributed
    with additional software intended to
    replace components.

    So Tic Tac Toe as a primary functionality is
    of course fine. About a debugger I don't know.
    You might get a written permission from me.

    A debugger is not included because how for
    example should a web client application have
    a debugger? Its not that SWI-Prologs prologtrace

    trace automatically gives a Debug Adapter Protocol
    (DAP) that would integrate into Chrome? So for Web 2.0/3.0
    one has to anyway rethink debugging. I did this

    rethinking already for formerly Jekejeke Prolog, and
    might bring up some of the ideas again. But a Debug
    Adapter Protocol (DAP) could be also prototyped with

    SWI-Prolog. Like can you have SWI Prolog server and
    start debugging. The stance there is even not think
    about creating a DAP, but instead to go through

    the normal terminal and the normal top-level
    debugging commands, since SWI-Prolog includes
    an SSH server. See here:

    Using SSH to debug services and embedded Prolog
    https://www.swi-prolog.org/blog/sshd.md

    But for Web 2.0/3.0 I don't whether this works as well.

    Bye

    Julio Di Egidio schrieb:
    On 24/11/2024 00:30, Mild Shock wrote:

    If you want something with a GNU license,
    there is GNU Prolog:

    I gave my rationale and asked for yours or any plans.

    Anyway, thanks, I'll take that as your answer.

    -Julio





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