Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.prolog > #14628

Haskell Lazy library(pio) has no problem (Was: More Cringe, even PEG is now better off than DCG)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Haskell Lazy library(pio) has no problem (Was: More Cringe, even PEG is now better off than DCG)
Date 2025-07-09 03:51 +0200
Message-ID <104khv5$1u7fs$1@solani.org> (permalink)
References <102kofc$q82v$1@solani.org> <104jaeh$1umr9$1@solani.org> <104jl4a$1utdo$1@solani.org> <104kgor$1vbjs$1@solani.org> <104khcr$1vbsb$1@solani.org>

Show all headers | View raw


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

Back to comp.lang.prolog | Previous | NextPrevious in thread | Find similar


Thread

Interview with an Emacs Enthusiast [Colorized] Mild Shock <janburse@fastmail.fm> - 2025-06-14 23:10 +0200
  Does a Prologer know web 1.0 from web 2.0? (Was: Interview with an Emacs Enthusiast [Colorized]) Mild Shock <janburse@fastmail.fm> - 2025-06-14 23:11 +0200
    Help my website is dry, need hydration (Was: Does a Prologer know web 1.0 from web 2.0?) Mild Shock <janburse@fastmail.fm> - 2025-06-14 23:13 +0200
      French philosophy professor showed Orgmode (Was: Help my website is dry, need hydration) Mild Shock <janburse@fastmail.fm> - 2025-06-14 23:15 +0200
    Re: Does a Prologer know web 1.0 from web 2.0? (Was: Interview with an Emacs Enthusiast [Colorized]) Tristan Wibberley <tristan.wibberley+netnews2@alumni.manchester.ac.uk> - 2025-11-20 18:38 +0000
  Founding an IDE business / Red Bull gives you Wings (Was: Interview with an Emacs Enthusiast [Colorized]) Mild Shock <janburse@fastmail.fm> - 2025-07-08 16:37 +0200
    The plugin seems to be from Switzerland. But it wasn’t me! (Was: Founding an IDE business / Red Bull gives you Wings) Mild Shock <janburse@fastmail.fm> - 2025-07-08 19:39 +0200
      gprolog not conforming by DCG miscarriage [ISO/IEC TS 13211-3:2025] (Was: The plugin seems to be from Switzerland. But it wasn’t me!) Mild Shock <janburse@fastmail.fm> - 2025-07-09 03:31 +0200
        More Cringe, even PEG is now better off than DCG (Was: gprolog not conforming by DCG miscarriage [ISO/IEC TS 13211-3:2025]) Mild Shock <janburse@fastmail.fm> - 2025-07-09 03:41 +0200
          Haskell Lazy library(pio) has no problem (Was: More Cringe, even PEG is now better off than DCG) Mild Shock <janburse@fastmail.fm> - 2025-07-09 03:51 +0200

csiph-web