• Founding an IDE business / Red Bull gives you Wings (Was: Interview with an Emacs Enthusiast [Colorized])

    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 donrCOt 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 donrCOt 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 donrCOt

    get maintained they often become incompatible.
    I didnrCOt 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 wasnrCOt 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 rCLProgrammation
    logiquerCY 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:
    -a Files donrCOt really have a modified status,
    -a they get directly written. Typically the MVC
    -a is buffer based there. But for instant editing,
    -a buffers are written when an application switch happens.

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

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

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

    - File Content Index:
    -a The IDE also maintains a global text index, and
    -a this text index gets notified by external changes and
    -a internal changes. They pretty well have it always accurate,
    -a including file moves, lengthy re-indexing of a whole
    -a 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 donrCOt

    get maintained they often become incompatible.
    I didnrCOt 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 wasnrCOt 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 rCLProgrammation
    logiquerCY 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:
    -a-a Files donrCOt really have a modified status,
    -a-a they get directly written. Typically the MVC
    -a-a is buffer based there. But for instant editing,
    -a-a buffers are written when an application switch happens.

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

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

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

    - File Content Index:
    -a-a The IDE also maintains a global text index, and
    -a-a this text index gets notified by external changes and
    -a-a internal changes. They pretty well have it always accurate,
    -a-a including file moves, lengthy re-indexing of a whole
    -a-a 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 raE Begin N* End
    Begin raE '(*'
    End raE '*)'
    N raE 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) :-
    -a-a-a-a\+ q(A, _),
    -a-a-a-ar(A, B).
    p(A, B) :-
    -a-a-a-a\+ q(A, _),
    -a-a-a-aA = 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 donrCOt

    get maintained they often become incompatible.
    I didnrCOt 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 wasnrCOt 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 rCLProgrammation
    logiquerCY 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:
    -a-a Files donrCOt really have a modified status,
    -a-a they get directly written. Typically the MVC
    -a-a is buffer based there. But for instant editing,
    -a-a buffers are written when an application switch happens.

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

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

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

    - File Content Index:
    -a-a The IDE also maintains a global text index, and
    -a-a this text index gets notified by external changes and
    -a-a internal changes. They pretty well have it always accurate,
    -a-a including file moves, lengthy re-indexing of a whole
    -a-a 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-a-a-a-a raE Begin N* End
    Begin raE '(*'
    End-a-a raE '*)'
    N-a-a-a-a raE 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) :-
    -a-a-a-aq(A, C), !,
    -a-a-a-ar(C, B).
    p(A, B) :-
    -a-a-a-aq(A, C), !,
    -a-a-a-aC = 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) :-
    -a-a-a-a-a\+ q(A, _),
    -a-a-a-a-ar(A, B).
    p(A, B) :-
    -a-a-a-a-a\+ q(A, _),
    -a-a-a-a-aA = 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 donrCOt

    get maintained they often become incompatible.
    I didnrCOt 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 wasnrCOt 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 rCLProgrammation
    logiquerCY 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:
    -a-a Files donrCOt really have a modified status,
    -a-a they get directly written. Typically the MVC
    -a-a is buffer based there. But for instant editing,
    -a-a buffers are written when an application switch happens.

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

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

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

    - File Content Index:
    -a-a The IDE also maintains a global text index, and
    -a-a this text index gets notified by external changes and
    -a-a internal changes. They pretty well have it always accurate,
    -a-a including file moves, lengthy re-indexing of a whole
    -a-a 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