• Interview with an Emacs Enthusiast [Colorized]

    From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Sat Jun 14 23:10:06 2025
    From Newsgroup: comp.lang.prolog

    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized] https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye


    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Sat Jun 14 23:11:46 2025
    From Newsgroup: comp.lang.prolog


    I have the feeling people think that library(markup)
    is there to read and process markup. Whereas its only
    a fusion of html//1 and print_html/1 without the blocking
    restriction and with some smarts to also support ASCII

    escape output as well. In as far it doesn’t belong to
    web 1.0, which deals more with static content. People
    were limited to passively viewing content. It rather
    belongs to web 2.0, and is substantially different

    from prior Web technologies, although the notion is
    challenged by Tim Berners-Lee original vision
    of a collaborative medium.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized] https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye



    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Sat Jun 14 23:13:13 2025
    From Newsgroup: comp.lang.prolog


    Just a note about x-markup.js here, interesting “electron” variant:

    https://ridgeworks.github.io/clpBNR/CLP_BNR_Guide/CLP_BNR_Guide.html

    But a little dry, could use some hydration? But I am really not
    sure whether such topics can be discussed here, since for
    web 1.0 its fine. Might belong to a topic of web 2.0 that

    one might want a web page to incrementally appear,
    similar like the browsers in 1995 were faced with slow
    land lines and could progressively render a graphic image.

    Now the delay is induced by workers doing some work

    Mild Shock schrieb:

    I have the feeling people think that library(markup)
    is there to read and process markup. Whereas its only
    a fusion of html//1 and print_html/1 without the blocking
    restriction and with some smarts to also support ASCII

    escape output as well. In as far it doesn’t belong to
    web 1.0, which deals more with static content. People
    were limited to passively viewing content. It rather
    belongs to web 2.0, and is substantially different

    from prior Web technologies, although the notion is
    challenged by Tim Berners-Lee original vision
    of a collaborative medium.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized]
    https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye




    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Sat Jun 14 23:15:01 2025
    From Newsgroup: comp.lang.prolog


    Well there was this french philosophy professor
    who showed me his orgmode. I told him I am only
    interested in web 2.0. I guess the approach is
    the same like 1995 where

    graphic images had to be specially “compiled”
    server side to be able to progressively render.
    Basically storing different increments of the
    same content on the server.

    Hydration refers to various techniques reviving
    the same idea but for text markup forms I guess.
    Or you can also draw inspiration in the game DOOM,
    and mess around with the

    scrolling of web pages.

    Mild Shock schrieb:

    Just a note about x-markup.js here, interesting “electron” variant:

    https://ridgeworks.github.io/clpBNR/CLP_BNR_Guide/CLP_BNR_Guide.html

    But a little dry, could use some hydration? But I am really not
    sure whether such topics can be discussed here, since for
    web 1.0 its fine. Might belong to a topic of web 2.0 that

    one might want a web page to incrementally appear,
    similar like the browsers in 1995 were faced with slow
    land lines and could progressively render a graphic image.

    Now the delay is induced by workers doing some work

    Mild Shock schrieb:

    I have the feeling people think that library(markup)
    is there to read and process markup. Whereas its only
    a fusion of html//1 and print_html/1 without the blocking
    restriction and with some smarts to also support ASCII

    escape output as well. In as far it doesn’t belong to
    web 1.0, which deals more with static content. People
    were limited to passively viewing content. It rather
    belongs to web 2.0, and is substantially different

    from prior Web technologies, although the notion is
    challenged by Tim Berners-Lee original vision
    of a collaborative medium.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized]
    https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye





    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Tue Jul 8 16:37:06 2025
    From Newsgroup: comp.lang.prolog

    Hi,

    Wanna found an IDE business. Well the Editor
    is only the Tip of the Ice Berg. What gives
    you wings like red bull, is this:

    - Instant editing:
    Files don’t really have a modified status,
    they get directly written. Typically the MVC
    is buffer based there. But for instant editing,
    buffers are written when an application switch happens.

    - Local File Content History:
    IntelliJ keeps a local file content history.
    This compensates the dangers of instant editing.
    Instant editing is very useful for tool interaction,
    like interacting with a Prolog system. Through local
    file content history I can view local changes and
    undo them across IDE starts.

    - CVS Integration:
    IntelliJ has CVS integration, like SVN, GIT, etc..
    through their local history. You can freely choose
    what to commit or not. And you can also receive
    changes from a repo.

    - File System Operation Integration:
    Local File Content History and CVS Integration are
    in sync with refactoring. So when I move a file, this
    is a move on the file system. But File Content History
    and CVS don’t get confused by a move. The simply show it
    in their history as well.

    - File Content Index:
    The IDE also maintains a global text index, and
    this text index gets notified by external changes and
    internal changes. They pretty well have it always accurate,
    including file moves, lengthy re-indexing of a whole
    repository happens rarely.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized] https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye



    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Tue Jul 8 19:39:23 2025
    From Newsgroup: comp.lang.prolog

    If you have a suitable Prolog plugin,
    you can do all kind of search,

    Currently the marketplace shows me only one Prolog
    plugin, but it rather adresses gprolog than SWI-Prolog.
    Strange I think there were more. But if plugins don’t

    get maintained they often become incompatible.
    I didn’t try the below yet, seems to be new!

    https://plugins.jetbrains.com/plugin/20982-prologcode

    So only I Prolog tries to tap into a company like
    JetBrains that has profit of at least 200 million USD
    per year, with a growth of 5 - 7% per year.

    Prologers are all communists I guess.

    P.S.: The plugin seems to be from Switzerland.
    But it wasn’t me! PrologCode is a plugin for IntelliJ
    IDEA that provides support for the Prolog language.

    Specifically, it provides:

    Prolog syntax highlighting
    Prolog code completion
    Prolog code folding
    Prolog code navigation

    Three different ways to run a GNU Prolog REPL
    Real-time background syntax checking.

    Initially, this plugin was developed as part of
    a project for the course “Programmation
    logique” at HEIA-FR.

    https://www.heia-fr.ch/

    Mild Shock schrieb:
    Hi,

    Wanna found an IDE business. Well the Editor
    is only the Tip of the Ice Berg. What gives
    you wings like red bull, is this:

    - Instant editing:
      Files don’t really have a modified status,
      they get directly written. Typically the MVC
      is buffer based there. But for instant editing,
      buffers are written when an application switch happens.

    - Local File Content History:
      IntelliJ keeps a local file content history.
      This compensates the dangers of instant editing.
      Instant editing is very useful for tool interaction,
      like interacting with a Prolog system. Through local
      file content history I can view local changes and
      undo them across IDE starts.

    - CVS Integration:
      IntelliJ has CVS integration, like SVN, GIT, etc..
      through their local history. You can freely choose
      what to commit or not. And you can also receive
      changes from a repo.

    - File System Operation Integration:
      Local File Content History and CVS Integration are
      in sync with refactoring. So when I move a file, this
      is a move on the file system. But File Content History
      and CVS don’t get confused by a move. The simply show it
      in their history as well.

    - File Content Index:
      The IDE also maintains a global text index, and
      this text index gets notified by external changes and
      internal changes. They pretty well have it always accurate,
      including file moves, lengthy re-indexing of a whole
      repository happens rarely.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized]
    https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye




    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Wed Jul 9 03:31:08 2025
    From Newsgroup: comp.lang.prolog

    Hi,

    If I take this DCG miscarriage:

    Implementations conforming to this TS shall
    not define or use a predicate (\+)/3. http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dcgs/dcgsdraft-2023-08-14.pdf

    Possibly the same as here, but who pays
    98 CHF for such a nonsense?

    ISO/IEC TS 13211-3:2025
    https://www.iso.org/standard/83635.html

    I must believe gprolog is not conforming.

    LoL

    Bye

    P.S.: You can check yourself, it fully supports (\+)/3:

    /* GNU Prolog 1.5.0 (64 bits) */
    p --> \+ q, r.
    p --> \+ q.

    And then:

    /* GNU Prolog 1.5.0 (64 bits) */
    ?- listing.
    p(A, B) :-
    \+ q(A, _),
    r(A, B).
    p(A, B) :-
    \+ q(A, _),
    A = B.

    Mild Shock schrieb:
    If you have a suitable Prolog plugin,
    you can do all kind of search,

    Currently the marketplace shows me only one Prolog
    plugin, but it rather adresses gprolog than SWI-Prolog.
    Strange I think there were more. But if plugins don’t

    get maintained they often become incompatible.
    I didn’t try the below yet, seems to be new!

    https://plugins.jetbrains.com/plugin/20982-prologcode

    So only I Prolog tries to tap into a company like
    JetBrains that has profit of at least 200 million USD
    per year, with a growth of 5 - 7% per year.

    Prologers are all communists I guess.

    P.S.: The plugin seems to be from Switzerland.
    But it wasn’t me! PrologCode is a plugin for IntelliJ
    IDEA that provides support for the Prolog language.

    Specifically, it provides:

    Prolog syntax highlighting
    Prolog code completion
    Prolog code folding
    Prolog code navigation

    Three different ways to run a GNU Prolog REPL
    Real-time background syntax checking.

    Initially, this plugin was developed as part of
    a project for the course “Programmation
    logique” at HEIA-FR.

    https://www.heia-fr.ch/

    Mild Shock schrieb:
    Hi,

    Wanna found an IDE business. Well the Editor
    is only the Tip of the Ice Berg. What gives
    you wings like red bull, is this:

    - Instant editing:
       Files don’t really have a modified status,
       they get directly written. Typically the MVC
       is buffer based there. But for instant editing,
       buffers are written when an application switch happens.

    - Local File Content History:
       IntelliJ keeps a local file content history.
       This compensates the dangers of instant editing.
       Instant editing is very useful for tool interaction,
       like interacting with a Prolog system. Through local
       file content history I can view local changes and
       undo them across IDE starts.

    - CVS Integration:
       IntelliJ has CVS integration, like SVN, GIT, etc..
       through their local history. You can freely choose
       what to commit or not. And you can also receive
       changes from a repo.

    - File System Operation Integration:
       Local File Content History and CVS Integration are
       in sync with refactoring. So when I move a file, this
       is a move on the file system. But File Content History
       and CVS don’t get confused by a move. The simply show it
       in their history as well.

    - File Content Index:
       The IDE also maintains a global text index, and
       this text index gets notified by external changes and
       internal changes. They pretty well have it always accurate,
       including file moves, lengthy re-indexing of a whole
       repository happens rarely.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized]
    https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye





    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Wed Jul 9 03:41:47 2025
    From Newsgroup: comp.lang.prolog

    Hi,

    More cringe incoming:

    Implementations conforming to this TS shall not
    define or use a predicate !/2. http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dcgs/dcgsdraft-2023-08-14.pdf


    LoL

    Guess what DCG gets almost rendered totally
    useless without (\+)/3 and (!)/2. Especially
    for efficient and intelligent parsing.

    With (\+)/3 and (!)/2 its gets close to PEG:

    Parsing expression grammar (PEG) https://en.wikipedia.org/wiki/Parsing_expression_grammar

    PEG doesn't shy away from Not-predicate: !e, here an example:

    C ← Begin N* End
    Begin ← '(*'
    End ← '*)'
    N ← C / (!Begin !End .)

    Homework: do it in Prolog.

    Bye

    P.S.: Check out gprolog, its very easy:

    /* GNU Prolog 1.5.0 (64 bits) */
    p --> q, !, r.
    p --> q, !.

    And then:

    /* GNU Prolog 1.5.0 (64 bits) */
    ?- listing.
    p(A, B) :-
    q(A, C), !,
    r(C, B).
    p(A, B) :-
    q(A, C), !,
    C = B.

    Mild Shock schrieb:
    Hi,

    If I take this DCG miscarriage:

    Implementations conforming to this TS shall
    not define or use a predicate (\+)/3. http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dcgs/dcgsdraft-2023-08-14.pdf


    Possibly the same as here, but who pays
    98 CHF for such a nonsense?

    ISO/IEC TS 13211-3:2025
    https://www.iso.org/standard/83635.html

    I must believe gprolog is not conforming.

    LoL

    Bye

    P.S.: You can check yourself, it fully supports (\+)/3:

    /* GNU Prolog 1.5.0 (64 bits) */
    p --> \+ q, r.
    p --> \+ q.

    And then:

    /* GNU Prolog 1.5.0 (64 bits) */
    ?- listing.
    p(A, B) :-
        \+ q(A, _),
        r(A, B).
    p(A, B) :-
        \+ q(A, _),
        A = B.

    Mild Shock schrieb:
    If you have a suitable Prolog plugin,
    you can do all kind of search,

    Currently the marketplace shows me only one Prolog
    plugin, but it rather adresses gprolog than SWI-Prolog.
    Strange I think there were more. But if plugins don’t

    get maintained they often become incompatible.
    I didn’t try the below yet, seems to be new!

    https://plugins.jetbrains.com/plugin/20982-prologcode

    So only I Prolog tries to tap into a company like
    JetBrains that has profit of at least 200 million USD
    per year, with a growth of 5 - 7% per year.

    Prologers are all communists I guess.

    P.S.: The plugin seems to be from Switzerland.
    But it wasn’t me! PrologCode is a plugin for IntelliJ
    IDEA that provides support for the Prolog language.

    Specifically, it provides:

    Prolog syntax highlighting
    Prolog code completion
    Prolog code folding
    Prolog code navigation

    Three different ways to run a GNU Prolog REPL
    Real-time background syntax checking.

    Initially, this plugin was developed as part of
    a project for the course “Programmation
    logique” at HEIA-FR.

    https://www.heia-fr.ch/

    Mild Shock schrieb:
    Hi,

    Wanna found an IDE business. Well the Editor
    is only the Tip of the Ice Berg. What gives
    you wings like red bull, is this:

    - Instant editing:
       Files don’t really have a modified status,
       they get directly written. Typically the MVC
       is buffer based there. But for instant editing,
       buffers are written when an application switch happens.

    - Local File Content History:
       IntelliJ keeps a local file content history.
       This compensates the dangers of instant editing.
       Instant editing is very useful for tool interaction,
       like interacting with a Prolog system. Through local
       file content history I can view local changes and
       undo them across IDE starts.

    - CVS Integration:
       IntelliJ has CVS integration, like SVN, GIT, etc..
       through their local history. You can freely choose
       what to commit or not. And you can also receive
       changes from a repo.

    - File System Operation Integration:
       Local File Content History and CVS Integration are
       in sync with refactoring. So when I move a file, this
       is a move on the file system. But File Content History
       and CVS don’t get confused by a move. The simply show it
       in their history as well.

    - File Content Index:
       The IDE also maintains a global text index, and
       this text index gets notified by external changes and
       internal changes. They pretty well have it always accurate,
       including file moves, lengthy re-indexing of a whole
       repository happens rarely.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized]
    https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye






    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Mild Shock@janburse@fastmail.fm to comp.lang.prolog on Wed Jul 9 03:51:33 2025
    From Newsgroup: comp.lang.prolog

    Hi,

    BTW: A Haskell Lazy library(pio) has no problem
    with (\+)/3 and (!)/2. If this was the reason
    for restricting DCG , then good night.

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

    Bye

    Mild Shock schrieb:
    Hi,

    More cringe incoming:

    Implementations conforming to this TS shall not
    define or use a predicate !/2. http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dcgs/dcgsdraft-2023-08-14.pdf


    LoL

    Guess what DCG gets almost rendered totally
    useless without (\+)/3 and (!)/2. Especially
    for efficient and intelligent parsing.

    With (\+)/3 and (!)/2 its gets close to PEG:

    Parsing expression grammar (PEG) https://en.wikipedia.org/wiki/Parsing_expression_grammar

    PEG doesn't shy away from Not-predicate: !e, here an example:

    C     ← Begin N* End
    Begin ← '(*'
    End   ← '*)'
    N     ← C / (!Begin !End .)

    Homework: do it in Prolog.

    Bye

    P.S.: Check out gprolog, its very easy:

    /* GNU Prolog 1.5.0 (64 bits) */
    p --> q, !, r.
    p --> q, !.

    And then:

    /* GNU Prolog 1.5.0 (64 bits) */
    ?- listing.
    p(A, B) :-
        q(A, C), !,
        r(C, B).
    p(A, B) :-
        q(A, C), !,
        C = B.

    Mild Shock schrieb:
    Hi,

    If I take this DCG miscarriage:

    Implementations conforming to this TS shall
    not define or use a predicate (\+)/3.
    http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dcgs/dcgsdraft-2023-08-14.pdf


    Possibly the same as here, but who pays
    98 CHF for such a nonsense?

    ISO/IEC TS 13211-3:2025
    https://www.iso.org/standard/83635.html

    I must believe gprolog is not conforming.

    LoL

    Bye

    P.S.: You can check yourself, it fully supports (\+)/3:

    /* GNU Prolog 1.5.0 (64 bits) */
    p --> \+ q, r.
    p --> \+ q.

    And then:

    /* GNU Prolog 1.5.0 (64 bits) */
    ?- listing.
    p(A, B) :-
         \+ q(A, _),
         r(A, B).
    p(A, B) :-
         \+ q(A, _),
         A = B.

    Mild Shock schrieb:
    If you have a suitable Prolog plugin,
    you can do all kind of search,

    Currently the marketplace shows me only one Prolog
    plugin, but it rather adresses gprolog than SWI-Prolog.
    Strange I think there were more. But if plugins don’t

    get maintained they often become incompatible.
    I didn’t try the below yet, seems to be new!

    https://plugins.jetbrains.com/plugin/20982-prologcode

    So only I Prolog tries to tap into a company like
    JetBrains that has profit of at least 200 million USD
    per year, with a growth of 5 - 7% per year.

    Prologers are all communists I guess.

    P.S.: The plugin seems to be from Switzerland.
    But it wasn’t me! PrologCode is a plugin for IntelliJ
    IDEA that provides support for the Prolog language.

    Specifically, it provides:

    Prolog syntax highlighting
    Prolog code completion
    Prolog code folding
    Prolog code navigation

    Three different ways to run a GNU Prolog REPL
    Real-time background syntax checking.

    Initially, this plugin was developed as part of
    a project for the course “Programmation
    logique” at HEIA-FR.

    https://www.heia-fr.ch/

    Mild Shock schrieb:
    Hi,

    Wanna found an IDE business. Well the Editor
    is only the Tip of the Ice Berg. What gives
    you wings like red bull, is this:

    - Instant editing:
       Files don’t really have a modified status,
       they get directly written. Typically the MVC
       is buffer based there. But for instant editing,
       buffers are written when an application switch happens.

    - Local File Content History:
       IntelliJ keeps a local file content history.
       This compensates the dangers of instant editing.
       Instant editing is very useful for tool interaction,
       like interacting with a Prolog system. Through local
       file content history I can view local changes and
       undo them across IDE starts.

    - CVS Integration:
       IntelliJ has CVS integration, like SVN, GIT, etc..
       through their local history. You can freely choose
       what to commit or not. And you can also receive
       changes from a repo.

    - File System Operation Integration:
       Local File Content History and CVS Integration are
       in sync with refactoring. So when I move a file, this
       is a move on the file system. But File Content History
       and CVS don’t get confused by a move. The simply show it
       in their history as well.

    - File Content Index:
       The IDE also maintains a global text index, and
       this text index gets notified by external changes and
       internal changes. They pretty well have it always accurate,
       including file moves, lengthy re-indexing of a whole
       repository happens rarely.

    Mild Shock schrieb:
    Hi,

    The average Prologer in 2025:

    Interview with an Emacs Enthusiast [Colorized]
    https://www.youtube.com/watch?v=urcL86UpqZc

    What happens when a Prolog does a web server?

    You end up with the PiLLoW framework,
    with nonsense such as html//1 and print_html/1.
    This is the worst "milestone" ever in Prolog.

    https://cliplab.org/Software/pillow/pillow.html

    Bye







    --- Synchronet 3.21a-Linux NewsLink 1.2