Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Brain damage is all in your head. -- Karl Lehenbauer


devel / comp.lang.prolog / Request for comments, async ISO core standard I/O

SubjectAuthor
* Request for comments, async ISO core standard I/OMostowski Collapse
+* Request for comments, async ISO core standard I/OMostowski Collapse
|`* Request for comments, async ISO core standard I/OMostowski Collapse
| `* Request for comments, async ISO core standard I/OMostowski Collapse
|  `* Request for comments, async ISO core standard I/OMostowski Collapse
|   `* Request for comments, async ISO core standard I/OMostowski Collapse
|    `* Request for comments, async ISO core standard I/OMostowski Collapse
|     +* Request for comments, async ISO core standard I/OMostowski Collapse
|     |+* Request for comments, async ISO core standard I/OMostowski Collapse
|     ||`- Request for comments, async ISO core standard I/OMostowski Collapse
|     |+* Request for comments, async ISO core standard I/OMostowski Collapse
|     ||`* Request for comments, async ISO core standard I/OMostowski Collapse
|     || `* Request for comments, async ISO core standard I/OMostowski Collapse
|     ||  `* Request for comments, async ISO core standard I/OMostowski Collapse
|     ||   `* Request for comments, async ISO core standard I/OMostowski Collapse
|     ||    `* Request for comments, async ISO core standard I/OMostowski Collapse
|     ||     `- Request for comments, async ISO core standard I/OMostowski Collapse
|     |`* Request for comments, async ISO core standard I/OMostowski Collapse
|     | `* Request for comments, async ISO core standard I/OMostowski Collapse
|     |  `* Request for comments, async ISO core standard I/OMostowski Collapse
|     |   `* Request for comments, async ISO core standard I/OMostowski Collapse
|     |    `* Request for comments, async ISO core standard I/OMostowski Collapse
|     |     `* Request for comments, async ISO core standard I/OMostowski Collapse
|     |      `- Request for comments, async ISO core standard I/OMostowski Collapse
|     `* Request for comments, async ISO core standard I/OMostowski Collapse
|      `* Request for comments, async ISO core standard I/OMostowski Collapse
|       +* Request for comments, async ISO core standard I/OMostowski Collapse
|       |`* Request for comments, async ISO core standard I/OMostowski Collapse
|       | `* Request for comments, async ISO core standard I/OMostowski Collapse
|       |  `* Request for comments, async ISO core standard I/OMostowski Collapse
|       |   `* Request for comments, async ISO core standard I/OMostowski Collapse
|       |    `* Request for comments, async ISO core standard I/OMostowski Collapse
|       |     `* Request for comments, async ISO core standard I/OMostowski Collapse
|       |      `- Request for comments, async ISO core standard I/OMostowski Collapse
|       `* Request for comments, async ISO core standard I/OMostowski Collapse
|        `- Request for comments, async ISO core standard I/OMostowski Collapse
+* Re: Request for comments, async ISO core standard I/OMild Shock
|`- Re: Request for comments, async ISO core standard I/OMild Shock
+- Re: Request for comments, async ISO core standard I/OMild Shock
`* Re: Request for comments, async ISO core standard I/OMild Shock
 `* Re: Request for comments, async ISO core standard I/OMild Shock
  `* Re: Request for comments, async ISO core standard I/OMild Shock
   `- Re: Request for comments, async ISO core standard I/OMild Shock

Pages:12
Request for comments, async ISO core standard I/O

<7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2506&group=comp.lang.prolog#2506

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:7d11:0:b0:31e:d92e:296a with SMTP id g17-20020ac87d11000000b0031ed92e296amr22526220qtb.537.1660116521015;
Wed, 10 Aug 2022 00:28:41 -0700 (PDT)
X-Received: by 2002:a25:33c5:0:b0:67a:6950:c188 with SMTP id
z188-20020a2533c5000000b0067a6950c188mr23992157ybz.175.1660116520797; Wed, 10
Aug 2022 00:28:40 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 10 Aug 2022 00:28:40 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
Subject: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 10 Aug 2022 07:28:41 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2114
 by: Mostowski Collapse - Wed, 10 Aug 2022 07:28 UTC

Now I got an idea how to asyncify the ISO core standard I/O.
The idea is very simple and I try to solve one problem: How
can we make for example get_code/2 asyncified, without

sacrificing performance? I came up with this sketch:

get_code(S, C) :- get_code_buffered(S, C), !.
get_code(S, C) :- async_read_buffer(S), get_code(S, C).

There are some unresolved issues in the above code, like
how return end of file, i.e. -1 or how to deal with surrogate pairs.
But essentially the idea is that the stream S has a buffer

somewhere and that the fast path is to read from this buffer,
and we only need to yield when we replenish the buffer via
some I/O. This could give a quite fast asyncified get_code/2.

Is there any Prolog system that did already something like this?
I always see that get_code/2 is a primitive and was also folllowing
this approach in my systems so far. In the above I bootstrap it from two

other primitives, a synchronous one and a asynchronous one,
make it itself not anymore primitive. get_code_buffered/2 would
fail if it has reached the end of the buffer.

Re: Request for comments, async ISO core standard I/O

<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2507&group=comp.lang.prolog#2507

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a37:63ca:0:b0:6b9:57ea:3298 with SMTP id x193-20020a3763ca000000b006b957ea3298mr9080302qkb.659.1660116573567;
Wed, 10 Aug 2022 00:29:33 -0700 (PDT)
X-Received: by 2002:a81:d353:0:b0:31e:2888:93a1 with SMTP id
d19-20020a81d353000000b0031e288893a1mr26349533ywl.498.1660116573413; Wed, 10
Aug 2022 00:29:33 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 10 Aug 2022 00:29:33 -0700 (PDT)
In-Reply-To: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 10 Aug 2022 07:29:33 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3289
 by: Mostowski Collapse - Wed, 10 Aug 2022 07:29 UTC

But there is a lot of work to do, peek_code/2 needs a similar
treatment, and then in my system I have also get_atom/3, which
would need some treatment. Scryer Prolog would go for the

XXX_char predicates first, if they are present in a Prolog system
they would also need some treatment. Also the Python and the
JavaScript target might turn out different. In JavaScript there are

different fetch modes, chunked and non-chunked. In non-chunked
we might get the whole file in one go, a second call to async_read_buffer/1
would not exist. Chunked is related to what SWI-Prolog calls http

streaming. I don’t know the details yet. And then maybe it should
transparently choose something synchronous if asynchronous
behaviour is not demanded from the Prolog interpreter at all.

Mostowski Collapse schrieb am Mittwoch, 10. August 2022 um 09:28:41 UTC+2:
> Now I got an idea how to asyncify the ISO core standard I/O.
> The idea is very simple and I try to solve one problem: How
> can we make for example get_code/2 asyncified, without
>
> sacrificing performance? I came up with this sketch:
>
> get_code(S, C) :- get_code_buffered(S, C), !.
> get_code(S, C) :- async_read_buffer(S), get_code(S, C).
>
> There are some unresolved issues in the above code, like
> how return end of file, i.e. -1 or how to deal with surrogate pairs.
> But essentially the idea is that the stream S has a buffer
>
> somewhere and that the fast path is to read from this buffer,
> and we only need to yield when we replenish the buffer via
> some I/O. This could give a quite fast asyncified get_code/2.
>
> Is there any Prolog system that did already something like this?
> I always see that get_code/2 is a primitive and was also folllowing
> this approach in my systems so far. In the above I bootstrap it from two
>
> other primitives, a synchronous one and a asynchronous one,
> make it itself not anymore primitive. get_code_buffered/2 would
> fail if it has reached the end of the buffer.

Re: Request for comments, async ISO core standard I/O

<96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2508&group=comp.lang.prolog#2508

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:2a8b:b0:474:89bf:ca32 with SMTP id jr11-20020a0562142a8b00b0047489bfca32mr23368532qvb.43.1660119609731;
Wed, 10 Aug 2022 01:20:09 -0700 (PDT)
X-Received: by 2002:a0d:ea85:0:b0:31f:4a57:24e8 with SMTP id
t127-20020a0dea85000000b0031f4a5724e8mr26939753ywe.20.1660119609494; Wed, 10
Aug 2022 01:20:09 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 10 Aug 2022 01:20:09 -0700 (PDT)
In-Reply-To: <f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com> <f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 10 Aug 2022 08:20:09 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3823
 by: Mostowski Collapse - Wed, 10 Aug 2022 08:20 UTC

Concerning Scryer Prolog I find a mention of async here:

socket_server_accept/4 cannot be interrupted with Ctrl-c
https://github.com/mthom/scryer-prolog/issues/485

But this was already a while ago, like 2020.
And does Scryer Prolog have a yield instruction?

Mostowski Collapse schrieb am Mittwoch, 10. August 2022 um 09:29:34 UTC+2:
> But there is a lot of work to do, peek_code/2 needs a similar
> treatment, and then in my system I have also get_atom/3, which
> would need some treatment. Scryer Prolog would go for the
>
> XXX_char predicates first, if they are present in a Prolog system
> they would also need some treatment. Also the Python and the
> JavaScript target might turn out different. In JavaScript there are
>
> different fetch modes, chunked and non-chunked. In non-chunked
> we might get the whole file in one go, a second call to async_read_buffer/1
> would not exist. Chunked is related to what SWI-Prolog calls http
>
> streaming. I don’t know the details yet. And then maybe it should
> transparently choose something synchronous if asynchronous
> behaviour is not demanded from the Prolog interpreter at all.
> Mostowski Collapse schrieb am Mittwoch, 10. August 2022 um 09:28:41 UTC+2:
> > Now I got an idea how to asyncify the ISO core standard I/O.
> > The idea is very simple and I try to solve one problem: How
> > can we make for example get_code/2 asyncified, without
> >
> > sacrificing performance? I came up with this sketch:
> >
> > get_code(S, C) :- get_code_buffered(S, C), !.
> > get_code(S, C) :- async_read_buffer(S), get_code(S, C).
> >
> > There are some unresolved issues in the above code, like
> > how return end of file, i.e. -1 or how to deal with surrogate pairs.
> > But essentially the idea is that the stream S has a buffer
> >
> > somewhere and that the fast path is to read from this buffer,
> > and we only need to yield when we replenish the buffer via
> > some I/O. This could give a quite fast asyncified get_code/2.
> >
> > Is there any Prolog system that did already something like this?
> > I always see that get_code/2 is a primitive and was also folllowing
> > this approach in my systems so far. In the above I bootstrap it from two
> >
> > other primitives, a synchronous one and a asynchronous one,
> > make it itself not anymore primitive. get_code_buffered/2 would
> > fail if it has reached the end of the buffer.

Re: Request for comments, async ISO core standard I/O

<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2514&group=comp.lang.prolog#2514

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:4245:b0:6b9:9b7:11d with SMTP id w5-20020a05620a424500b006b909b7011dmr23053724qko.579.1660221680063;
Thu, 11 Aug 2022 05:41:20 -0700 (PDT)
X-Received: by 2002:a25:b9c3:0:b0:668:a418:13c with SMTP id
y3-20020a25b9c3000000b00668a418013cmr28234926ybj.498.1660221679771; Thu, 11
Aug 2022 05:41:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 11 Aug 2022 05:41:19 -0700 (PDT)
In-Reply-To: <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 11 Aug 2022 12:41:20 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2207
 by: Mostowski Collapse - Thu, 11 Aug 2022 12:41 UTC

'When a clown moves into a palace, he doesn't
become a king. The palace becomes a circus.'

-Turkish proverb

Now we have two ClownPrologs:

ClownProlog Nr. 1: Ciao Prolog:
This here looks like a Prolog terminal in the browser,
but doesn't behave like a Prolog terminal:
https://ciao-lang.org/playground/
Try read/1 etc.. Its documented that this is a limitation.

ClownProlog Nr. 2: SWI-Prolog:
Maybe inspired by Ciao Prolog playground, that they made
quickly a rip off? Its a little better off, one can abort a query.
https://dev.swi-prolog.org/wasm/shell
But try read/1 etc..

My proposal for async ISO core standard I/O could
adress this problem. But interestingly its also not top
priority for Dogelog. I just figured out that I need other

stuff first. But Dogelog does not try to present the illusion
of a terminal, when it does not yet have a terminal. None
of the examples try to provide such a illusion.

Re: Request for comments, async ISO core standard I/O

<a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2515&group=comp.lang.prolog#2515

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a0c:8bd2:0:b0:474:7d1a:eb5b with SMTP id a18-20020a0c8bd2000000b004747d1aeb5bmr27473742qvc.18.1660222377754;
Thu, 11 Aug 2022 05:52:57 -0700 (PDT)
X-Received: by 2002:a0d:d9cc:0:b0:329:848f:712d with SMTP id
b195-20020a0dd9cc000000b00329848f712dmr24184603ywe.38.1660222377490; Thu, 11
Aug 2022 05:52:57 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 11 Aug 2022 05:52:57 -0700 (PDT)
In-Reply-To: <b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 11 Aug 2022 12:52:57 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2799
 by: Mostowski Collapse - Thu, 11 Aug 2022 12:52 UTC

Since priorities are different, it will clearly take weeks
or months, for a demonstration. Also there are not
much shoulders to climb, at least I didn't find

a lot of precedents, and who wants to climb giant
morons? ClownProlog Nr. 2 is even not asyncified, they
even don't know what this is. ClownProlog Nr. 1 could

be better off, they seem to have a haze idea.

LoL

Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 14:41:20 UTC+2:
> 'When a clown moves into a palace, he doesn't
> become a king. The palace becomes a circus.'
>
> -Turkish proverb
>
> Now we have two ClownPrologs:
>
> ClownProlog Nr. 1: Ciao Prolog:
> This here looks like a Prolog terminal in the browser,
> but doesn't behave like a Prolog terminal:
> https://ciao-lang.org/playground/
> Try read/1 etc.. Its documented that this is a limitation.
>
> ClownProlog Nr. 2: SWI-Prolog:
> Maybe inspired by Ciao Prolog playground, that they made
> quickly a rip off? Its a little better off, one can abort a query.
> https://dev.swi-prolog.org/wasm/shell
> But try read/1 etc..
>
> My proposal for async ISO core standard I/O could
> adress this problem. But interestingly its also not top
> priority for Dogelog. I just figured out that I need other
>
> stuff first. But Dogelog does not try to present the illusion
> of a terminal, when it does not yet have a terminal. None
> of the examples try to provide such a illusion.

Re: Request for comments, async ISO core standard I/O

<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2516&group=comp.lang.prolog#2516

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a37:63ca:0:b0:6b9:57ea:3298 with SMTP id x193-20020a3763ca000000b006b957ea3298mr13597296qkb.659.1660224227620;
Thu, 11 Aug 2022 06:23:47 -0700 (PDT)
X-Received: by 2002:a81:349:0:b0:324:d932:1362 with SMTP id
70-20020a810349000000b00324d9321362mr31713273ywd.281.1660224227287; Thu, 11
Aug 2022 06:23:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 11 Aug 2022 06:23:47 -0700 (PDT)
In-Reply-To: <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 11 Aug 2022 13:23:47 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3873
 by: Mostowski Collapse - Thu, 11 Aug 2022 13:23 UTC

Why could be ClownProlog Nr. 1 better of.
They have an async facade, at least their file
says so ciao-async.js. Thats already a good

start, although it has the unholy combination
with a worker. ClownProlog Nr. 2 demonstrates
a solution without a worker. For ClownProlog Nr. 1

I am refering to this here:

Monaco Playground for Ciao Prolog
Madrid, Junio 2022 - Guillermo Garcia Pradales
https://oa.upm.es/71073/1/TFG_GUILLERMO_GARCIA_PRADALES.pdf

Pitty they are so closed. The tutorial application
mentioned in the PDF is nowhere seen. They are
similarly close like when they published this here:

Lightweight compilation of (C)LP to JavaScript
https://arxiv.org/pdf/1210.2864.pdf

It never made it into any Ciao distribution. Which is
anyway now obsolete, since Ciao WASM is faster
than Ciao JS. Ciao WASM is really brilliant!

Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 14:52:58 UTC+2:
> Since priorities are different, it will clearly take weeks
> or months, for a demonstration. Also there are not
> much shoulders to climb, at least I didn't find
>
> a lot of precedents, and who wants to climb giant
> morons? ClownProlog Nr. 2 is even not asyncified, they
> even don't know what this is. ClownProlog Nr. 1 could
>
> be better off, they seem to have a haze idea.
>
> LoL
> Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 14:41:20 UTC+2:
> > 'When a clown moves into a palace, he doesn't
> > become a king. The palace becomes a circus.'
> >
> > -Turkish proverb
> >
> > Now we have two ClownPrologs:
> >
> > ClownProlog Nr. 1: Ciao Prolog:
> > This here looks like a Prolog terminal in the browser,
> > but doesn't behave like a Prolog terminal:
> > https://ciao-lang.org/playground/
> > Try read/1 etc.. Its documented that this is a limitation.
> >
> > ClownProlog Nr. 2: SWI-Prolog:
> > Maybe inspired by Ciao Prolog playground, that they made
> > quickly a rip off? Its a little better off, one can abort a query.
> > https://dev.swi-prolog.org/wasm/shell
> > But try read/1 etc..
> >
> > My proposal for async ISO core standard I/O could
> > adress this problem. But interestingly its also not top
> > priority for Dogelog. I just figured out that I need other
> >
> > stuff first. But Dogelog does not try to present the illusion
> > of a terminal, when it does not yet have a terminal. None
> > of the examples try to provide such a illusion.

Re: Request for comments, async ISO core standard I/O

<6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2518&group=comp.lang.prolog#2518

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:7c44:0:b0:31f:3dc4:25db with SMTP id o4-20020ac87c44000000b0031f3dc425dbmr28833210qtv.612.1660231655595;
Thu, 11 Aug 2022 08:27:35 -0700 (PDT)
X-Received: by 2002:a5b:7c6:0:b0:670:6ba6:d046 with SMTP id
t6-20020a5b07c6000000b006706ba6d046mr29493942ybq.140.1660231655251; Thu, 11
Aug 2022 08:27:35 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 11 Aug 2022 08:27:35 -0700 (PDT)
In-Reply-To: <174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 11 Aug 2022 15:27:35 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 4846
 by: Mostowski Collapse - Thu, 11 Aug 2022 15:27 UTC

Rust struggles with Async, from the Chalk blog

Async cancellation: a case study of pub-sub in mini-redis
https://smallcultfollowing.com/babysteps/blog/2022/06/13/async-cancellation-a-case-study-of-pub-sub-in-mini-redis/

I wonder where he gets the nonsense from that
JavaScript does create tasks for async functions,
and that an async helper would even create a further

Task. Sounds pretty much FUD to me, trying to defend some
Rust alternative. Similar to the FUD that an asyncified WASM
has overhead and unfavorable footprint.

Thats just your humanly ape brain acceptance curve:
- Resistance
- Denial
- Exploration
- Commitment

Where are you on this timeline?

LMAO!

Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 15:23:48 UTC+2:
> Why could be ClownProlog Nr. 1 better of.
> They have an async facade, at least their file
> says so ciao-async.js. Thats already a good
>
> start, although it has the unholy combination
> with a worker. ClownProlog Nr. 2 demonstrates
> a solution without a worker. For ClownProlog Nr. 1
>
> I am refering to this here:
>
> Monaco Playground for Ciao Prolog
> Madrid, Junio 2022 - Guillermo Garcia Pradales
> https://oa.upm.es/71073/1/TFG_GUILLERMO_GARCIA_PRADALES.pdf
>
> Pitty they are so closed. The tutorial application
> mentioned in the PDF is nowhere seen. They are
> similarly close like when they published this here:
>
> Lightweight compilation of (C)LP to JavaScript
> https://arxiv.org/pdf/1210.2864.pdf
>
> It never made it into any Ciao distribution. Which is
> anyway now obsolete, since Ciao WASM is faster
> than Ciao JS. Ciao WASM is really brilliant!
> Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 14:52:58 UTC+2:
> > Since priorities are different, it will clearly take weeks
> > or months, for a demonstration. Also there are not
> > much shoulders to climb, at least I didn't find
> >
> > a lot of precedents, and who wants to climb giant
> > morons? ClownProlog Nr. 2 is even not asyncified, they
> > even don't know what this is. ClownProlog Nr. 1 could
> >
> > be better off, they seem to have a haze idea.
> >
> > LoL
> > Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 14:41:20 UTC+2:
> > > 'When a clown moves into a palace, he doesn't
> > > become a king. The palace becomes a circus.'
> > >
> > > -Turkish proverb
> > >
> > > Now we have two ClownPrologs:
> > >
> > > ClownProlog Nr. 1: Ciao Prolog:
> > > This here looks like a Prolog terminal in the browser,
> > > but doesn't behave like a Prolog terminal:
> > > https://ciao-lang.org/playground/
> > > Try read/1 etc.. Its documented that this is a limitation.
> > >
> > > ClownProlog Nr. 2: SWI-Prolog:
> > > Maybe inspired by Ciao Prolog playground, that they made
> > > quickly a rip off? Its a little better off, one can abort a query.
> > > https://dev.swi-prolog.org/wasm/shell
> > > But try read/1 etc..
> > >
> > > My proposal for async ISO core standard I/O could
> > > adress this problem. But interestingly its also not top
> > > priority for Dogelog. I just figured out that I need other
> > >
> > > stuff first. But Dogelog does not try to present the illusion
> > > of a terminal, when it does not yet have a terminal. None
> > > of the examples try to provide such a illusion.

Re: Request for comments, async ISO core standard I/O

<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2528&group=comp.lang.prolog#2528

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a37:43d4:0:b0:6b8:e3ba:ddfc with SMTP id q203-20020a3743d4000000b006b8e3baddfcmr2909563qka.192.1660312193545;
Fri, 12 Aug 2022 06:49:53 -0700 (PDT)
X-Received: by 2002:a25:c2c5:0:b0:682:2eda:b5ae with SMTP id
s188-20020a25c2c5000000b006822edab5aemr3369356ybf.466.1660312193232; Fri, 12
Aug 2022 06:49:53 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Fri, 12 Aug 2022 06:49:53 -0700 (PDT)
In-Reply-To: <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Fri, 12 Aug 2022 13:49:53 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2741
 by: Mostowski Collapse - Fri, 12 Aug 2022 13:49 UTC

Anyway why ask for permission to write enhancement
proposals (EPs), just write them? From the time of Paulo
Moura there are the most EPs. Prolog threads/messages

(October 28, 2008), Prolog global variables, what else? You
see the focus of his endeavours here, everything stalled
in the below forum in 2009, where did it go?

- Core Revision
- Definite Clause Grammars
- Globals and Arrays
- Multi-Threading
- Portable Operating-System Interface
- Unicode
https://www.prolog.logtalk.org/

What PEPs do you want to write? Did his focus match the
requirements of Web Prolog. I do see missing:

- Cooperative Multitasking
- Foreign Functions Calls
- Format and Protocolls
- Prolog Corouting & Attributed Variables
- What else?

Cooperative Multitasking would cover issues that recently
poped up in the WASM and non-WASM integration of
Prolog system into a HTML page, similarly Foreign Functions

Calls, like having a DOM event handler call Prolog, or manipulating
DOM by Prolog. The Format and Protocolls item can mean HTTP,
JSON, etc… The first 3 topics are somehow interconnected, so if you

botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<86baf0f9-6da5-4801-ac89-05c4f51b53e0n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2529&group=comp.lang.prolog#2529

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:d89:b0:479:6726:7f42 with SMTP id e9-20020a0562140d8900b0047967267f42mr3544638qve.20.1660312450174;
Fri, 12 Aug 2022 06:54:10 -0700 (PDT)
X-Received: by 2002:a25:3d45:0:b0:670:b35f:e4b1 with SMTP id
k66-20020a253d45000000b00670b35fe4b1mr3507993yba.38.1660312449910; Fri, 12
Aug 2022 06:54:09 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Fri, 12 Aug 2022 06:54:09 -0700 (PDT)
In-Reply-To: <36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <86baf0f9-6da5-4801-ac89-05c4f51b53e0n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Fri, 12 Aug 2022 13:54:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3321
 by: Mostowski Collapse - Fri, 12 Aug 2022 13:54 UTC

LoL, I guess somebody didn't update their servers:

[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483:
preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead

https://www.prolog.logtalk.org/ is producing nonsense now.

Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:49:54 UTC+2:
> Anyway why ask for permission to write enhancement
> proposals (EPs), just write them? From the time of Paulo
> Moura there are the most EPs. Prolog threads/messages
>
> (October 28, 2008), Prolog global variables, what else? You
> see the focus of his endeavours here, everything stalled
> in the below forum in 2009, where did it go?
>
> - Core Revision
> - Definite Clause Grammars
> - Globals and Arrays
> - Multi-Threading
> - Portable Operating-System Interface
> - Unicode
> https://www.prolog.logtalk.org/
>
> What PEPs do you want to write? Did his focus match the
> requirements of Web Prolog. I do see missing:
>
> - Cooperative Multitasking
> - Foreign Functions Calls
> - Format and Protocolls
> - Prolog Corouting & Attributed Variables
> - What else?
>
> Cooperative Multitasking would cover issues that recently
> poped up in the WASM and non-WASM integration of
> Prolog system into a HTML page, similarly Foreign Functions
>
> Calls, like having a DOM event handler call Prolog, or manipulating
> DOM by Prolog. The Format and Protocolls item can mean HTTP,
> JSON, etc… The first 3 topics are somehow interconnected, so if you
>
> botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<240df149-a0b9-496e-841e-da0c77febaa6n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2530&group=comp.lang.prolog#2530

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:4726:b0:6b6:2239:f5f7 with SMTP id bs38-20020a05620a472600b006b62239f5f7mr2983121qkb.96.1660312594300;
Fri, 12 Aug 2022 06:56:34 -0700 (PDT)
X-Received: by 2002:a25:2f53:0:b0:67c:26ee:2aff with SMTP id
v80-20020a252f53000000b0067c26ee2affmr3192813ybv.281.1660312593957; Fri, 12
Aug 2022 06:56:33 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Fri, 12 Aug 2022 06:56:33 -0700 (PDT)
In-Reply-To: <86baf0f9-6da5-4801-ac89-05c4f51b53e0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <86baf0f9-6da5-4801-ac89-05c4f51b53e0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <240df149-a0b9-496e-841e-da0c77febaa6n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Fri, 12 Aug 2022 13:56:34 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3691
 by: Mostowski Collapse - Fri, 12 Aug 2022 13:56 UTC

Try the text of a message:
https://www.prolog.logtalk.org/viewtopic.php?f=5&t=24

Empty, could be the bbcode.php error...

Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:54:11 UTC+2:
> LoL, I guess somebody didn't update their servers:
>
> [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483:
> preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
>
> https://www.prolog.logtalk.org/ is producing nonsense now.
> Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:49:54 UTC+2:
> > Anyway why ask for permission to write enhancement
> > proposals (EPs), just write them? From the time of Paulo
> > Moura there are the most EPs. Prolog threads/messages
> >
> > (October 28, 2008), Prolog global variables, what else? You
> > see the focus of his endeavours here, everything stalled
> > in the below forum in 2009, where did it go?
> >
> > - Core Revision
> > - Definite Clause Grammars
> > - Globals and Arrays
> > - Multi-Threading
> > - Portable Operating-System Interface
> > - Unicode
> > https://www.prolog.logtalk.org/
> >
> > What PEPs do you want to write? Did his focus match the
> > requirements of Web Prolog. I do see missing:
> >
> > - Cooperative Multitasking
> > - Foreign Functions Calls
> > - Format and Protocolls
> > - Prolog Corouting & Attributed Variables
> > - What else?
> >
> > Cooperative Multitasking would cover issues that recently
> > poped up in the WASM and non-WASM integration of
> > Prolog system into a HTML page, similarly Foreign Functions
> >
> > Calls, like having a DOM event handler call Prolog, or manipulating
> > DOM by Prolog. The Format and Protocolls item can mean HTTP,
> > JSON, etc… The first 3 topics are somehow interconnected, so if you
> >
> > botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2545&group=comp.lang.prolog#2545

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ad4:5ccf:0:b0:474:7201:6789 with SMTP id iu15-20020ad45ccf000000b0047472016789mr9523269qvb.75.1660466899591;
Sun, 14 Aug 2022 01:48:19 -0700 (PDT)
X-Received: by 2002:a0d:d9cc:0:b0:329:848f:712d with SMTP id
b195-20020a0dd9cc000000b00329848f712dmr9841966ywe.38.1660466899367; Sun, 14
Aug 2022 01:48:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 01:48:19 -0700 (PDT)
In-Reply-To: <36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 08:48:19 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3394
 by: Mostowski Collapse - Sun, 14 Aug 2022 08:48 UTC

Woa! Maybe make it priority a library(lists) standard?

- Lists

Poor LogNonsenseTalk had to implement everything on
its own. Doesn't this lead to some code bloat? If you have
a playground and WASM, you probably don't want this,

everything twice going over the wire:
https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:49:54 UTC+2:
> Anyway why ask for permission to write enhancement
> proposals (EPs), just write them? From the time of Paulo
> Moura there are the most EPs. Prolog threads/messages
>
> (October 28, 2008), Prolog global variables, what else? You
> see the focus of his endeavours here, everything stalled
> in the below forum in 2009, where did it go?
>
> - Core Revision
> - Definite Clause Grammars
> - Globals and Arrays
> - Multi-Threading
> - Portable Operating-System Interface
> - Unicode
> https://www.prolog.logtalk.org/
>
> What PEPs do you want to write? Did his focus match the
> requirements of Web Prolog. I do see missing:
>
> - Cooperative Multitasking
> - Foreign Functions Calls
> - Format and Protocolls
> - Prolog Corouting & Attributed Variables
> - What else?
>
> Cooperative Multitasking would cover issues that recently
> poped up in the WASM and non-WASM integration of
> Prolog system into a HTML page, similarly Foreign Functions
>
> Calls, like having a DOM event handler call Prolog, or manipulating
> DOM by Prolog. The Format and Protocolls item can mean HTTP,
> JSON, etc… The first 3 topics are somehow interconnected, so if you
>
> botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2546&group=comp.lang.prolog#2546

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:5ad1:0:b0:343:5e13:795d with SMTP id d17-20020ac85ad1000000b003435e13795dmr10869300qtd.625.1660487855107;
Sun, 14 Aug 2022 07:37:35 -0700 (PDT)
X-Received: by 2002:a25:9a47:0:b0:680:955c:1487 with SMTP id
r7-20020a259a47000000b00680955c1487mr9485973ybo.359.1660487854905; Sun, 14
Aug 2022 07:37:34 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 07:37:34 -0700 (PDT)
In-Reply-To: <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 14:37:35 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2761
 by: Mostowski Collapse - Sun, 14 Aug 2022 14:37 UTC

Mostlikely there will never be a Lists PEP, since the
Prolog systems are much to much ossified. A little chance
might have some newcomers, like for example:

- Tau Prolog
- Scryer Prolog
- Trealla Prolog
- Dogelog Player
- Ichiban Prolog
- What else?

But the old whales have possibly no chance to do something,
would require too much refactoring. Because most likely lists and
friends are used internally by the compiler and runtime.

What would have a chance maybe, if there were forks especially
for some playgrounds. Lets say such a fork were Ciao2. Then
there would be maybe a chance if we would see:

- Ciao2 Prolog
- GNU2 Prolog
- SICStus2 Prolog
- What else?

Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 10:48:20 UTC+2:
> Woa! Maybe make it priority a library(lists) standard?
>
> - Lists
>
> Poor LogNonsenseTalk had to implement everything on
> its own. Doesn't this lead to some code bloat? If you have
> a playground and WASM, you probably don't want this,
>
> everything twice going over the wire:
> https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Re: Request for comments, async ISO core standard I/O

<fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2547&group=comp.lang.prolog#2547

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:306:b0:343:416d:76ae with SMTP id q6-20020a05622a030600b00343416d76aemr10886987qtw.337.1660487908505;
Sun, 14 Aug 2022 07:38:28 -0700 (PDT)
X-Received: by 2002:a05:6902:70f:b0:67b:3301:790 with SMTP id
k15-20020a056902070f00b0067b33010790mr9305256ybt.245.1660487908253; Sun, 14
Aug 2022 07:38:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 07:38:28 -0700 (PDT)
In-Reply-To: <79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
<79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 14:38:28 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3520
 by: Mostowski Collapse - Sun, 14 Aug 2022 14:38 UTC

If I only pick substract/3 its already here:

- YAP Prolog
- ECLiPSe Prolog
- What else?

I cannot asses the YAP Prolog systems so easily. For example,
there is maybe a pretty printing problem. I see strange stuff
like this extra memberchk/0 and extra subtract/0:

subtract([], _, []) :- subtract.
subtract([E|T], D, R) :-
memberchk(E, D), memberchk,
subtract(T, D, R).
subtract([H|T], D, [H|R]) :-
subtract(T, D, R).
https://www.dcc.fc.up.pt/~vsc/yap/lists_8yap_source.html

Some broken pretty printer?

Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:37:35 UTC+2:
> Mostlikely there will never be a Lists PEP, since the
> Prolog systems are much to much ossified. A little chance
> might have some newcomers, like for example:
>
> - Tau Prolog
> - Scryer Prolog
> - Trealla Prolog
> - Dogelog Player
> - Ichiban Prolog
> - What else?
>
> But the old whales have possibly no chance to do something,
> would require too much refactoring. Because most likely lists and
> friends are used internally by the compiler and runtime.
>
> What would have a chance maybe, if there were forks especially
> for some playgrounds. Lets say such a fork were Ciao2. Then
> there would be maybe a chance if we would see:
>
> - Ciao2 Prolog
> - GNU2 Prolog
> - SICStus2 Prolog
> - What else?
> Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 10:48:20 UTC+2:
> > Woa! Maybe make it priority a library(lists) standard?
> >
> > - Lists
> >
> > Poor LogNonsenseTalk had to implement everything on
> > its own. Doesn't this lead to some code bloat? If you have
> > a playground and WASM, you probably don't want this,
> >
> > everything twice going over the wire:
> > https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Re: Request for comments, async ISO core standard I/O

<870a2444-aa66-4287-b97a-05cbf109c50bn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2548&group=comp.lang.prolog#2548

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ad4:5bad:0:b0:476:e202:32eb with SMTP id 13-20020ad45bad000000b00476e20232ebmr10352500qvq.3.1660487980043;
Sun, 14 Aug 2022 07:39:40 -0700 (PDT)
X-Received: by 2002:a25:ac46:0:b0:682:fb26:ea39 with SMTP id
r6-20020a25ac46000000b00682fb26ea39mr7690872ybd.91.1660487979792; Sun, 14 Aug
2022 07:39:39 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 07:39:39 -0700 (PDT)
In-Reply-To: <fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
<79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com> <fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <870a2444-aa66-4287-b97a-05cbf109c50bn@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 14:39:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4819
 by: Mostowski Collapse - Sun, 14 Aug 2022 14:39 UTC

Ulrich Neumerkel was invesitigating certain predicates in
the past. Like for example here. This seems be a kind of
updated, I see Ichiban Prolog column, must be newer:

https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length

If you append .html,v, you see the versions of this file:

1.23
date 2022.07.16.13.24.22

Whether somebody can jump into this role of Ulrich Neumerkel,
especially from academia, I doubt. They don’t have time
for that. They have other jobs to do. Maybe a better

automatization would help. I wrote a new version of a test
runner for Dogelog player. There are various test runners
included in various Prolog systems. Even Logtalk has

a test runner. For a continous integration / continous
deployment pipeline, that would do a kind of PEP assesment
across Prolog systems, that is visible together with the PEP,

somesuch could be a useful tool.

Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:38:29 UTC+2:
> If I only pick substract/3 its already here:
>
> - YAP Prolog
> - ECLiPSe Prolog
> - What else?
>
> I cannot asses the YAP Prolog systems so easily. For example,
> there is maybe a pretty printing problem. I see strange stuff
> like this extra memberchk/0 and extra subtract/0:
>
> subtract([], _, []) :- subtract.
> subtract([E|T], D, R) :-
> memberchk(E, D), memberchk,
> subtract(T, D, R).
> subtract([H|T], D, [H|R]) :-
> subtract(T, D, R).
> https://www.dcc.fc.up.pt/~vsc/yap/lists_8yap_source.html
>
> Some broken pretty printer?
> Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:37:35 UTC+2:
> > Mostlikely there will never be a Lists PEP, since the
> > Prolog systems are much to much ossified. A little chance
> > might have some newcomers, like for example:
> >
> > - Tau Prolog
> > - Scryer Prolog
> > - Trealla Prolog
> > - Dogelog Player
> > - Ichiban Prolog
> > - What else?
> >
> > But the old whales have possibly no chance to do something,
> > would require too much refactoring. Because most likely lists and
> > friends are used internally by the compiler and runtime.
> >
> > What would have a chance maybe, if there were forks especially
> > for some playgrounds. Lets say such a fork were Ciao2. Then
> > there would be maybe a chance if we would see:
> >
> > - Ciao2 Prolog
> > - GNU2 Prolog
> > - SICStus2 Prolog
> > - What else?
> > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 10:48:20 UTC+2:
> > > Woa! Maybe make it priority a library(lists) standard?
> > >
> > > - Lists
> > >
> > > Poor LogNonsenseTalk had to implement everything on
> > > its own. Doesn't this lead to some code bloat? If you have
> > > a playground and WASM, you probably don't want this,
> > >
> > > everything twice going over the wire:
> > > https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Re: Request for comments, async ISO core standard I/O

<b961c762-1afa-4346-be8d-f9f55d342dcen@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2549&group=comp.lang.prolog#2549

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:178e:b0:344:56a8:25da with SMTP id s14-20020a05622a178e00b0034456a825damr2400075qtk.375.1660488458224;
Sun, 14 Aug 2022 07:47:38 -0700 (PDT)
X-Received: by 2002:a5b:7c6:0:b0:670:6ba6:d046 with SMTP id
t6-20020a5b07c6000000b006706ba6d046mr8947889ybq.140.1660488457944; Sun, 14
Aug 2022 07:47:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 07:47:37 -0700 (PDT)
In-Reply-To: <870a2444-aa66-4287-b97a-05cbf109c50bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
<79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com> <fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>
<870a2444-aa66-4287-b97a-05cbf109c50bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b961c762-1afa-4346-be8d-f9f55d342dcen@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 14:47:38 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5939
 by: Mostowski Collapse - Sun, 14 Aug 2022 14:47 UTC

Unfortunately the test campaigns of Ulrich Neumerkel
don't have much merit. On the other hand he recently
raised a ticket about:

?- setof(t,(L=2;L=1),L).
uncaught exception: error(type_error(list,1),sort/2), unexpected.

slightly implying he wants not a type error? On the other
hand his latest length/2 test cases, are like 75% type
error and domain error tests of some output argument,

which in my opinion can be easily dropped from a certain
interpretation of the ISO core standard. It only causes
slowdown of the Prolog system. Among the Prolog systems

that pass these nonsense tests are also mostly Prolog
systems that are not the fastest. See for yourself:

https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length

Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:39:40 UTC+2:
> Ulrich Neumerkel was invesitigating certain predicates in
> the past. Like for example here. This seems be a kind of
> updated, I see Ichiban Prolog column, must be newer:
>
> https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length
>
> If you append .html,v, you see the versions of this file:
>
> 1.23
> date 2022.07.16.13.24.22
>
> Whether somebody can jump into this role of Ulrich Neumerkel,
> especially from academia, I doubt. They don’t have time
> for that. They have other jobs to do. Maybe a better
>
> automatization would help. I wrote a new version of a test
> runner for Dogelog player. There are various test runners
> included in various Prolog systems. Even Logtalk has
>
> a test runner. For a continous integration / continous
> deployment pipeline, that would do a kind of PEP assesment
> across Prolog systems, that is visible together with the PEP,
>
> somesuch could be a useful tool.
> Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:38:29 UTC+2:
> > If I only pick substract/3 its already here:
> >
> > - YAP Prolog
> > - ECLiPSe Prolog
> > - What else?
> >
> > I cannot asses the YAP Prolog systems so easily. For example,
> > there is maybe a pretty printing problem. I see strange stuff
> > like this extra memberchk/0 and extra subtract/0:
> >
> > subtract([], _, []) :- subtract.
> > subtract([E|T], D, R) :-
> > memberchk(E, D), memberchk,
> > subtract(T, D, R).
> > subtract([H|T], D, [H|R]) :-
> > subtract(T, D, R).
> > https://www.dcc.fc.up.pt/~vsc/yap/lists_8yap_source.html
> >
> > Some broken pretty printer?
> > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:37:35 UTC+2:
> > > Mostlikely there will never be a Lists PEP, since the
> > > Prolog systems are much to much ossified. A little chance
> > > might have some newcomers, like for example:
> > >
> > > - Tau Prolog
> > > - Scryer Prolog
> > > - Trealla Prolog
> > > - Dogelog Player
> > > - Ichiban Prolog
> > > - What else?
> > >
> > > But the old whales have possibly no chance to do something,
> > > would require too much refactoring. Because most likely lists and
> > > friends are used internally by the compiler and runtime.
> > >
> > > What would have a chance maybe, if there were forks especially
> > > for some playgrounds. Lets say such a fork were Ciao2. Then
> > > there would be maybe a chance if we would see:
> > >
> > > - Ciao2 Prolog
> > > - GNU2 Prolog
> > > - SICStus2 Prolog
> > > - What else?
> > > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 10:48:20 UTC+2:
> > > > Woa! Maybe make it priority a library(lists) standard?
> > > >
> > > > - Lists
> > > >
> > > > Poor LogNonsenseTalk had to implement everything on
> > > > its own. Doesn't this lead to some code bloat? If you have
> > > > a playground and WASM, you probably don't want this,
> > > >
> > > > everything twice going over the wire:
> > > > https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Re: Request for comments, async ISO core standard I/O

<cc5e5c8d-63c5-4dc5-8255-823ea458cf8bn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2550&group=comp.lang.prolog#2550

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:d82:b0:477:3d7c:1081 with SMTP id e2-20020a0562140d8200b004773d7c1081mr10335686qve.28.1660489172278;
Sun, 14 Aug 2022 07:59:32 -0700 (PDT)
X-Received: by 2002:a0d:cbd3:0:b0:32f:d9b6:f414 with SMTP id
n202-20020a0dcbd3000000b0032fd9b6f414mr4082278ywd.263.1660489171901; Sun, 14
Aug 2022 07:59:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 07:59:31 -0700 (PDT)
In-Reply-To: <b961c762-1afa-4346-be8d-f9f55d342dcen@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
<79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com> <fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>
<870a2444-aa66-4287-b97a-05cbf109c50bn@googlegroups.com> <b961c762-1afa-4346-be8d-f9f55d342dcen@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cc5e5c8d-63c5-4dc5-8255-823ea458cf8bn@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 14:59:32 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 6767
 by: Mostowski Collapse - Sun, 14 Aug 2022 14:59 UTC

In length/2 its easy to nevertheless support these errors,
since one can use a var/1 test in the second argument instead
of a ground/1 test in the first argument, when deciding the mode.

In as far I can offer this behaviour:

?- length([a,b,c],x).
error(type_error(integer, x), [user:1])
?- length([a,b,c],-1).
fail.
?- length(X,-1).
fail.

Isn’t the fail nice?

The fail is not on the agenda of Ulrich Neumerkel.

Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:47:39 UTC+2:
> Unfortunately the test campaigns of Ulrich Neumerkel
> don't have much merit. On the other hand he recently
> raised a ticket about:
>
> ?- setof(t,(L=2;L=1),L).
> uncaught exception: error(type_error(list,1),sort/2), unexpected.
>
> slightly implying he wants not a type error? On the other
> hand his latest length/2 test cases, are like 75% type
> error and domain error tests of some output argument,
>
> which in my opinion can be easily dropped from a certain
> interpretation of the ISO core standard. It only causes
> slowdown of the Prolog system. Among the Prolog systems
>
> that pass these nonsense tests are also mostly Prolog
> systems that are not the fastest. See for yourself:
>
> https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length
> Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:39:40 UTC+2:
> > Ulrich Neumerkel was invesitigating certain predicates in
> > the past. Like for example here. This seems be a kind of
> > updated, I see Ichiban Prolog column, must be newer:
> >
> > https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length
> >
> > If you append .html,v, you see the versions of this file:
> >
> > 1.23
> > date 2022.07.16.13.24.22
> >
> > Whether somebody can jump into this role of Ulrich Neumerkel,
> > especially from academia, I doubt. They don’t have time
> > for that. They have other jobs to do. Maybe a better
> >
> > automatization would help. I wrote a new version of a test
> > runner for Dogelog player. There are various test runners
> > included in various Prolog systems. Even Logtalk has
> >
> > a test runner. For a continous integration / continous
> > deployment pipeline, that would do a kind of PEP assesment
> > across Prolog systems, that is visible together with the PEP,
> >
> > somesuch could be a useful tool.
> > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:38:29 UTC+2:
> > > If I only pick substract/3 its already here:
> > >
> > > - YAP Prolog
> > > - ECLiPSe Prolog
> > > - What else?
> > >
> > > I cannot asses the YAP Prolog systems so easily. For example,
> > > there is maybe a pretty printing problem. I see strange stuff
> > > like this extra memberchk/0 and extra subtract/0:
> > >
> > > subtract([], _, []) :- subtract.
> > > subtract([E|T], D, R) :-
> > > memberchk(E, D), memberchk,
> > > subtract(T, D, R).
> > > subtract([H|T], D, [H|R]) :-
> > > subtract(T, D, R).
> > > https://www.dcc.fc.up.pt/~vsc/yap/lists_8yap_source.html
> > >
> > > Some broken pretty printer?
> > > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:37:35 UTC+2:
> > > > Mostlikely there will never be a Lists PEP, since the
> > > > Prolog systems are much to much ossified. A little chance
> > > > might have some newcomers, like for example:
> > > >
> > > > - Tau Prolog
> > > > - Scryer Prolog
> > > > - Trealla Prolog
> > > > - Dogelog Player
> > > > - Ichiban Prolog
> > > > - What else?
> > > >
> > > > But the old whales have possibly no chance to do something,
> > > > would require too much refactoring. Because most likely lists and
> > > > friends are used internally by the compiler and runtime.
> > > >
> > > > What would have a chance maybe, if there were forks especially
> > > > for some playgrounds. Lets say such a fork were Ciao2. Then
> > > > there would be maybe a chance if we would see:
> > > >
> > > > - Ciao2 Prolog
> > > > - GNU2 Prolog
> > > > - SICStus2 Prolog
> > > > - What else?
> > > > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 10:48:20 UTC+2:
> > > > > Woa! Maybe make it priority a library(lists) standard?
> > > > >
> > > > > - Lists
> > > > >
> > > > > Poor LogNonsenseTalk had to implement everything on
> > > > > its own. Doesn't this lead to some code bloat? If you have
> > > > > a playground and WASM, you probably don't want this,
> > > > >
> > > > > everything twice going over the wire:
> > > > > https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Re: Request for comments, async ISO core standard I/O

<c31a2ad2-702a-4d40-877e-0fdda120b759n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2551&group=comp.lang.prolog#2551

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:6b18:0:b0:343:6b3:60ff with SMTP id w24-20020ac86b18000000b0034306b360ffmr10992430qts.176.1660489960513;
Sun, 14 Aug 2022 08:12:40 -0700 (PDT)
X-Received: by 2002:a25:c2c5:0:b0:682:2eda:b5ae with SMTP id
s188-20020a25c2c5000000b006822edab5aemr8950942ybf.466.1660489960248; Sun, 14
Aug 2022 08:12:40 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 14 Aug 2022 08:12:40 -0700 (PDT)
In-Reply-To: <cc5e5c8d-63c5-4dc5-8255-823ea458cf8bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <cf213183-b46e-441c-924e-5d550c1ba8b8n@googlegroups.com>
<79a111b8-e844-44dd-998d-a10b15e50d3bn@googlegroups.com> <fe70780c-02eb-40ab-91d0-a49dd5d63375n@googlegroups.com>
<870a2444-aa66-4287-b97a-05cbf109c50bn@googlegroups.com> <b961c762-1afa-4346-be8d-f9f55d342dcen@googlegroups.com>
<cc5e5c8d-63c5-4dc5-8255-823ea458cf8bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c31a2ad2-702a-4d40-877e-0fdda120b759n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 14 Aug 2022 15:12:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 7389
 by: Mostowski Collapse - Sun, 14 Aug 2022 15:12 UTC

Also tests such as:
```
?- length([a|b], X).
ERROR: Type error: `list' expected, found `[a|b]' (a compound)
```
Are totally missing in the assesment page by Ulrich Neumerkel.
So what is the coverage?

Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:59:33 UTC+2:
> In length/2 its easy to nevertheless support these errors,
> since one can use a var/1 test in the second argument instead
> of a ground/1 test in the first argument, when deciding the mode.
>
> In as far I can offer this behaviour:
>
> ?- length([a,b,c],x).
> error(type_error(integer, x), [user:1])
> ?- length([a,b,c],-1).
> fail.
> ?- length(X,-1).
> fail.
>
> Isn’t the fail nice?
>
> The fail is not on the agenda of Ulrich Neumerkel.
> Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:47:39 UTC+2:
> > Unfortunately the test campaigns of Ulrich Neumerkel
> > don't have much merit. On the other hand he recently
> > raised a ticket about:
> >
> > ?- setof(t,(L=2;L=1),L).
> > uncaught exception: error(type_error(list,1),sort/2), unexpected.
> >
> > slightly implying he wants not a type error? On the other
> > hand his latest length/2 test cases, are like 75% type
> > error and domain error tests of some output argument,
> >
> > which in my opinion can be easily dropped from a certain
> > interpretation of the ISO core standard. It only causes
> > slowdown of the Prolog system. Among the Prolog systems
> >
> > that pass these nonsense tests are also mostly Prolog
> > systems that are not the fastest. See for yourself:
> >
> > https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length
> > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:39:40 UTC+2:
> > > Ulrich Neumerkel was invesitigating certain predicates in
> > > the past. Like for example here. This seems be a kind of
> > > updated, I see Ichiban Prolog column, must be newer:
> > >
> > > https://www.complang.tuwien.ac.at/ulrich/iso-prolog/length
> > >
> > > If you append .html,v, you see the versions of this file:
> > >
> > > 1.23
> > > date 2022.07.16.13.24.22
> > >
> > > Whether somebody can jump into this role of Ulrich Neumerkel,
> > > especially from academia, I doubt. They don’t have time
> > > for that. They have other jobs to do. Maybe a better
> > >
> > > automatization would help. I wrote a new version of a test
> > > runner for Dogelog player. There are various test runners
> > > included in various Prolog systems. Even Logtalk has
> > >
> > > a test runner. For a continous integration / continous
> > > deployment pipeline, that would do a kind of PEP assesment
> > > across Prolog systems, that is visible together with the PEP,
> > >
> > > somesuch could be a useful tool.
> > > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:38:29 UTC+2:
> > > > If I only pick substract/3 its already here:
> > > >
> > > > - YAP Prolog
> > > > - ECLiPSe Prolog
> > > > - What else?
> > > >
> > > > I cannot asses the YAP Prolog systems so easily. For example,
> > > > there is maybe a pretty printing problem. I see strange stuff
> > > > like this extra memberchk/0 and extra subtract/0:
> > > >
> > > > subtract([], _, []) :- subtract.
> > > > subtract([E|T], D, R) :-
> > > > memberchk(E, D), memberchk,
> > > > subtract(T, D, R).
> > > > subtract([H|T], D, [H|R]) :-
> > > > subtract(T, D, R).
> > > > https://www.dcc.fc.up.pt/~vsc/yap/lists_8yap_source.html
> > > >
> > > > Some broken pretty printer?
> > > > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 16:37:35 UTC+2:
> > > > > Mostlikely there will never be a Lists PEP, since the
> > > > > Prolog systems are much to much ossified. A little chance
> > > > > might have some newcomers, like for example:
> > > > >
> > > > > - Tau Prolog
> > > > > - Scryer Prolog
> > > > > - Trealla Prolog
> > > > > - Dogelog Player
> > > > > - Ichiban Prolog
> > > > > - What else?
> > > > >
> > > > > But the old whales have possibly no chance to do something,
> > > > > would require too much refactoring. Because most likely lists and
> > > > > friends are used internally by the compiler and runtime.
> > > > >
> > > > > What would have a chance maybe, if there were forks especially
> > > > > for some playgrounds. Lets say such a fork were Ciao2. Then
> > > > > there would be maybe a chance if we would see:
> > > > >
> > > > > - Ciao2 Prolog
> > > > > - GNU2 Prolog
> > > > > - SICStus2 Prolog
> > > > > - What else?
> > > > > Mostowski Collapse schrieb am Sonntag, 14. August 2022 um 10:48:20 UTC+2:
> > > > > > Woa! Maybe make it priority a library(lists) standard?
> > > > > >
> > > > > > - Lists
> > > > > >
> > > > > > Poor LogNonsenseTalk had to implement everything on
> > > > > > its own. Doesn't this lead to some code bloat? If you have
> > > > > > a playground and WASM, you probably don't want this,
> > > > > >
> > > > > > everything twice going over the wire:
> > > > > > https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/list.lgt

Re: Request for comments, async ISO core standard I/O

<5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2575&group=comp.lang.prolog#2575

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a0c:8e8d:0:b0:496:b53d:c775 with SMTP id x13-20020a0c8e8d000000b00496b53dc775mr9368242qvb.36.1660995715308;
Sat, 20 Aug 2022 04:41:55 -0700 (PDT)
X-Received: by 2002:a25:7455:0:b0:68e:e73f:5fd5 with SMTP id
p82-20020a257455000000b0068ee73f5fd5mr10877295ybc.20.1660995715005; Sat, 20
Aug 2022 04:41:55 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sat, 20 Aug 2022 04:41:54 -0700 (PDT)
In-Reply-To: <36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 20 Aug 2022 11:41:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3823
 by: Mostowski Collapse - Sat, 20 Aug 2022 11:41 UTC

Maybe a good start for Cooperative Multitasking would
be an engine API? Or a delimited continuation API?

Delimited continuation is sometimes favored to make
stare transformers. Here is a little benchmark from SWI-Prolog:

/* shift/1, warm run */
?- time(run_state(fib(28), 0, S)).
% 9,770,334 inferences, 2.437 CPU in 2.861 seconds (85% CPU, 4008342 Lips)
S = 514229 .

/* engine_yield/1, warm run */
?- time(run_state(fib(28), 0, S)).
% 3,599,612 inferences, 1.109 CPU in 1.177 seconds (94% CPU, 3244721 Lips)
S = 514229 .

Woa! engine_yield/1 was more than twice as fast as shift/1! Was using this
fibonacci with spurious choice points, as often found in pure DCG:

fib(0) :- inc(1).
fib(1) :- inc(1).
fib(N) :- N > 1, M is N-1, fib(M), J is M-1, fib(J).

Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:49:54 UTC+2:
> Anyway why ask for permission to write enhancement
> proposals (EPs), just write them? From the time of Paulo
> Moura there are the most EPs. Prolog threads/messages
>
> (October 28, 2008), Prolog global variables, what else? You
> see the focus of his endeavours here, everything stalled
> in the below forum in 2009, where did it go?
>
> - Core Revision
> - Definite Clause Grammars
> - Globals and Arrays
> - Multi-Threading
> - Portable Operating-System Interface
> - Unicode
> https://www.prolog.logtalk.org/
>
> What PEPs do you want to write? Did his focus match the
> requirements of Web Prolog. I do see missing:
>
> - Cooperative Multitasking
> - Foreign Functions Calls
> - Format and Protocolls
> - Prolog Corouting & Attributed Variables
> - What else?
>
> Cooperative Multitasking would cover issues that recently
> poped up in the WASM and non-WASM integration of
> Prolog system into a HTML page, similarly Foreign Functions
>
> Calls, like having a DOM event handler call Prolog, or manipulating
> DOM by Prolog. The Format and Protocolls item can mean HTTP,
> JSON, etc… The first 3 topics are somehow interconnected, so if you
>
> botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2576&group=comp.lang.prolog#2576

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:2889:b0:6b6:5410:b2c7 with SMTP id j9-20020a05620a288900b006b65410b2c7mr7859648qkp.697.1660995780295;
Sat, 20 Aug 2022 04:43:00 -0700 (PDT)
X-Received: by 2002:a0d:d5c2:0:b0:337:5d95:8bcb with SMTP id
x185-20020a0dd5c2000000b003375d958bcbmr9648486ywd.359.1660995779869; Sat, 20
Aug 2022 04:42:59 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sat, 20 Aug 2022 04:42:59 -0700 (PDT)
In-Reply-To: <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 20 Aug 2022 11:43:00 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4261
 by: Mostowski Collapse - Sat, 20 Aug 2022 11:42 UTC

Maybe an interesting experiment would be, whether SLG Tabling
can be implemented with engine_yield/1 instead of shift/1?

Mostowski Collapse schrieb am Samstag, 20. August 2022 um 13:41:56 UTC+2:
> Maybe a good start for Cooperative Multitasking would
> be an engine API? Or a delimited continuation API?
>
> Delimited continuation is sometimes favored to make
> stare transformers. Here is a little benchmark from SWI-Prolog:
>
> /* shift/1, warm run */
> ?- time(run_state(fib(28), 0, S)).
> % 9,770,334 inferences, 2.437 CPU in 2.861 seconds (85% CPU, 4008342 Lips)
> S = 514229 .
>
> /* engine_yield/1, warm run */
> ?- time(run_state(fib(28), 0, S)).
> % 3,599,612 inferences, 1.109 CPU in 1.177 seconds (94% CPU, 3244721 Lips)
> S = 514229 .
>
> Woa! engine_yield/1 was more than twice as fast as shift/1! Was using this
> fibonacci with spurious choice points, as often found in pure DCG:
>
> fib(0) :- inc(1).
> fib(1) :- inc(1).
> fib(N) :- N > 1, M is N-1, fib(M), J is M-1, fib(J).
> Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:49:54 UTC+2:
> > Anyway why ask for permission to write enhancement
> > proposals (EPs), just write them? From the time of Paulo
> > Moura there are the most EPs. Prolog threads/messages
> >
> > (October 28, 2008), Prolog global variables, what else? You
> > see the focus of his endeavours here, everything stalled
> > in the below forum in 2009, where did it go?
> >
> > - Core Revision
> > - Definite Clause Grammars
> > - Globals and Arrays
> > - Multi-Threading
> > - Portable Operating-System Interface
> > - Unicode
> > https://www.prolog.logtalk.org/
> >
> > What PEPs do you want to write? Did his focus match the
> > requirements of Web Prolog. I do see missing:
> >
> > - Cooperative Multitasking
> > - Foreign Functions Calls
> > - Format and Protocolls
> > - Prolog Corouting & Attributed Variables
> > - What else?
> >
> > Cooperative Multitasking would cover issues that recently
> > poped up in the WASM and non-WASM integration of
> > Prolog system into a HTML page, similarly Foreign Functions
> >
> > Calls, like having a DOM event handler call Prolog, or manipulating
> > DOM by Prolog. The Format and Protocolls item can mean HTTP,
> > JSON, etc… The first 3 topics are somehow interconnected, so if you
> >
> > botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2577&group=comp.lang.prolog#2577

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:23c6:b0:491:99e3:80ce with SMTP id hr6-20020a05621423c600b0049199e380cemr10178750qvb.111.1661019757806;
Sat, 20 Aug 2022 11:22:37 -0700 (PDT)
X-Received: by 2002:a25:2f8f:0:b0:68d:9cf4:1e4a with SMTP id
v137-20020a252f8f000000b0068d9cf41e4amr12984502ybv.38.1661019757512; Sat, 20
Aug 2022 11:22:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sat, 20 Aug 2022 11:22:37 -0700 (PDT)
In-Reply-To: <17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
<17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 20 Aug 2022 18:22:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4824
 by: Mostowski Collapse - Sat, 20 Aug 2022 18:22 UTC

Quite an amazing test case:

/* SWI-Prolog 8.5.14 */
?- time(run_state(fib(25), 0, S)).
% 2,306,455 inferences, 0.453 CPU in 0.499 seconds
(91% CPU, 5090108 Lips)
S = 121393 .

/* Scryer Prolog 0.9.0 */
?- time(run_state(fib(25), 0, S)).
% CPU time: 12.532s
S = 121393

Mostowski Collapse schrieb am Samstag, 20. August 2022 um 13:43:01 UTC+2:
> Maybe an interesting experiment would be, whether SLG Tabling
> can be implemented with engine_yield/1 instead of shift/1?
> Mostowski Collapse schrieb am Samstag, 20. August 2022 um 13:41:56 UTC+2:
> > Maybe a good start for Cooperative Multitasking would
> > be an engine API? Or a delimited continuation API?
> >
> > Delimited continuation is sometimes favored to make
> > stare transformers. Here is a little benchmark from SWI-Prolog:
> >
> > /* shift/1, warm run */
> > ?- time(run_state(fib(28), 0, S)).
> > % 9,770,334 inferences, 2.437 CPU in 2.861 seconds (85% CPU, 4008342 Lips)
> > S = 514229 .
> >
> > /* engine_yield/1, warm run */
> > ?- time(run_state(fib(28), 0, S)).
> > % 3,599,612 inferences, 1.109 CPU in 1.177 seconds (94% CPU, 3244721 Lips)
> > S = 514229 .
> >
> > Woa! engine_yield/1 was more than twice as fast as shift/1! Was using this
> > fibonacci with spurious choice points, as often found in pure DCG:
> >
> > fib(0) :- inc(1).
> > fib(1) :- inc(1).
> > fib(N) :- N > 1, M is N-1, fib(M), J is M-1, fib(J).
> > Mostowski Collapse schrieb am Freitag, 12. August 2022 um 15:49:54 UTC+2:
> > > Anyway why ask for permission to write enhancement
> > > proposals (EPs), just write them? From the time of Paulo
> > > Moura there are the most EPs. Prolog threads/messages
> > >
> > > (October 28, 2008), Prolog global variables, what else? You
> > > see the focus of his endeavours here, everything stalled
> > > in the below forum in 2009, where did it go?
> > >
> > > - Core Revision
> > > - Definite Clause Grammars
> > > - Globals and Arrays
> > > - Multi-Threading
> > > - Portable Operating-System Interface
> > > - Unicode
> > > https://www.prolog.logtalk.org/
> > >
> > > What PEPs do you want to write? Did his focus match the
> > > requirements of Web Prolog. I do see missing:
> > >
> > > - Cooperative Multitasking
> > > - Foreign Functions Calls
> > > - Format and Protocolls
> > > - Prolog Corouting & Attributed Variables
> > > - What else?
> > >
> > > Cooperative Multitasking would cover issues that recently
> > > poped up in the WASM and non-WASM integration of
> > > Prolog system into a HTML page, similarly Foreign Functions
> > >
> > > Calls, like having a DOM event handler call Prolog, or manipulating
> > > DOM by Prolog. The Format and Protocolls item can mean HTTP,
> > > JSON, etc… The first 3 topics are somehow interconnected, so if you
> > >
> > > botch one of the 3 topics, the overall result is not so good.

Re: Request for comments, async ISO core standard I/O

<17ecd837-c4c2-483f-95ad-4581a7308e13n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2578&group=comp.lang.prolog#2578

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:2889:b0:6b6:5410:b2c7 with SMTP id j9-20020a05620a288900b006b65410b2c7mr8704407qkp.697.1661019960149;
Sat, 20 Aug 2022 11:26:00 -0700 (PDT)
X-Received: by 2002:a81:d85:0:b0:334:f95f:e5c8 with SMTP id
127-20020a810d85000000b00334f95fe5c8mr13005964ywn.20.1661019959751; Sat, 20
Aug 2022 11:25:59 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sat, 20 Aug 2022 11:25:59 -0700 (PDT)
In-Reply-To: <3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
<17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com> <3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <17ecd837-c4c2-483f-95ad-4581a7308e13n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 20 Aug 2022 18:26:00 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2146
 by: Mostowski Collapse - Sat, 20 Aug 2022 18:25 UTC

Its both with shift/1 !

Mostowski Collapse schrieb am Samstag, 20. August 2022 um 20:22:38 UTC+2:
> Quite an amazing test case:
>
> /* SWI-Prolog 8.5.14 */
> ?- time(run_state(fib(25), 0, S)).
> % 2,306,455 inferences, 0.453 CPU in 0.499 seconds
> (91% CPU, 5090108 Lips)
> S = 121393 .
>
> /* Scryer Prolog 0.9.0 */
> ?- time(run_state(fib(25), 0, S)).
> % CPU time: 12.532s
> S = 121393

Re: Request for comments, async ISO core standard I/O

<36a41cb2-3d6c-44df-a20b-2502576c1f15n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2579&group=comp.lang.prolog#2579

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:14cd:b0:344:6cfa:42f9 with SMTP id u13-20020a05622a14cd00b003446cfa42f9mr11571615qtx.147.1661068664950;
Sun, 21 Aug 2022 00:57:44 -0700 (PDT)
X-Received: by 2002:a81:d85:0:b0:334:f95f:e5c8 with SMTP id
127-20020a810d85000000b00334f95fe5c8mr14841085ywn.20.1661068664794; Sun, 21
Aug 2022 00:57:44 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 21 Aug 2022 00:57:44 -0700 (PDT)
In-Reply-To: <17ecd837-c4c2-483f-95ad-4581a7308e13n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
<17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com> <3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>
<17ecd837-c4c2-483f-95ad-4581a7308e13n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <36a41cb2-3d6c-44df-a20b-2502576c1f15n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 21 Aug 2022 07:57:44 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2780
 by: Mostowski Collapse - Sun, 21 Aug 2022 07:57 UTC

Are the shift/1 solution and the engine_yield/1 solution
semantically equivalent at the moment. The answer is no!

/* shift/1 solution */
?- run_state((inc(1), (inc(2); inc(4))), 0, S).
S = 3 ;
S = 5.

/* engine_yield/1 solution */
?- run_state((inc(1), (inc(2); inc(4))), 0, S).
S = 3 ;
S = 7 ;
false.

Can we nevertheless possibly implement shift/reset
via engines? I wouldn't exclude this possibility, and

it might indeed give faster shift/reset.

Mostowski Collapse schrieb am Samstag, 20. August 2022 um 20:26:00 UTC+2:
> Its both with shift/1 !
> Mostowski Collapse schrieb am Samstag, 20. August 2022 um 20:22:38 UTC+2:
> > Quite an amazing test case:
> >
> > /* SWI-Prolog 8.5.14 */
> > ?- time(run_state(fib(25), 0, S)).
> > % 2,306,455 inferences, 0.453 CPU in 0.499 seconds
> > (91% CPU, 5090108 Lips)
> > S = 121393 .
> >
> > /* Scryer Prolog 0.9.0 */
> > ?- time(run_state(fib(25), 0, S)).
> > % CPU time: 12.532s
> > S = 121393

Re: Request for comments, async ISO core standard I/O

<cafec151-5885-4165-8265-6044168fe386n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2580&group=comp.lang.prolog#2580

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:1303:b0:343:4d9b:46de with SMTP id v3-20020a05622a130300b003434d9b46demr18049071qtk.498.1661221806445;
Mon, 22 Aug 2022 19:30:06 -0700 (PDT)
X-Received: by 2002:a25:8886:0:b0:695:7f2d:2d68 with SMTP id
d6-20020a258886000000b006957f2d2d68mr11943468ybl.281.1661221806180; Mon, 22
Aug 2022 19:30:06 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Mon, 22 Aug 2022 19:30:05 -0700 (PDT)
In-Reply-To: <36a41cb2-3d6c-44df-a20b-2502576c1f15n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
<17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com> <3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>
<17ecd837-c4c2-483f-95ad-4581a7308e13n@googlegroups.com> <36a41cb2-3d6c-44df-a20b-2502576c1f15n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cafec151-5885-4165-8265-6044168fe386n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 23 Aug 2022 02:30:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2674
 by: Mostowski Collapse - Tue, 23 Aug 2022 02:30 UTC

Pitty the CW631 paper here:
https://www.cs.kuleuven.be/publicaties/rapporten/cw/CW631.pdf

doesn’t show Felleisen prompt/control implemented with difference lists:

/* Vanilla conjunction list solve/1 extended to control/3 */
control([], none, []).
control([prompt(A)|B], A, B).
control([control(L, P, Q)|B], X, Y) :- control(L, P, Q), control(B, X, Y).
control([A|B], X, Y) :- rule(A,C,B), control(C, X, Y).

/* Difference List variant of clause/2 */
rule(sum(A+B),[prompt(ask(A)),prompt(ask(B))|R],R).
rule(with_list(G,P,Q),[control(G,T,C),with_list2(T,C,P,Q)|R],R).
rule(with_list2(none,_,P,P),R,R).
rule(with_list2(ask(X),C,[X|P],Q),[with_list(C,P,Q)|R],R).

Works fine:

?- control([with_list([sum(S)],[1,2,3],L)],_,_).
S = 1+2,
L = [3] .

Re: Request for comments, async ISO core standard I/O

<83b94e8c-5aca-4950-923e-7e7bf8159eean@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2581&group=comp.lang.prolog#2581

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:d82:b0:477:3d7c:1081 with SMTP id e2-20020a0562140d8200b004773d7c1081mr17943852qve.28.1661221893793;
Mon, 22 Aug 2022 19:31:33 -0700 (PDT)
X-Received: by 2002:a81:349:0:b0:324:d932:1362 with SMTP id
70-20020a810349000000b00324d9321362mr22965697ywd.281.1661221890148; Mon, 22
Aug 2022 19:31:30 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Mon, 22 Aug 2022 19:31:29 -0700 (PDT)
In-Reply-To: <cafec151-5885-4165-8265-6044168fe386n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
<36f283c7-88ae-488d-b43a-40b24fe9e7c0n@googlegroups.com> <5bbc42d6-7037-411c-a21c-0b78a6a7d49en@googlegroups.com>
<17a713d4-0eca-4cab-85c2-2014e53cda05n@googlegroups.com> <3f6a69db-d1ce-4bda-b74c-8a916cdf7daen@googlegroups.com>
<17ecd837-c4c2-483f-95ad-4581a7308e13n@googlegroups.com> <36a41cb2-3d6c-44df-a20b-2502576c1f15n@googlegroups.com>
<cafec151-5885-4165-8265-6044168fe386n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <83b94e8c-5aca-4950-923e-7e7bf8159eean@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 23 Aug 2022 02:31:33 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3630
 by: Mostowski Collapse - Tue, 23 Aug 2022 02:31 UTC

Its quite fast, since it does nothing with the continuation, just takes it as is,
which I suppose is the spirit of Felleisen. Here the good ole shift/reset:

/* SWI-Prolog 8.5.14 */
?- time(run_state(fib(25), 0, S)).
% 2,306,455 inferences, 0.453 CPU in 0.499 seconds (91% CPU, 5090108 Lips)
S = 121393 .
And here the prompt/control:

/* SWI-Prolog 8.5.14 */
?- time(control([run_state([fib(25)],0,S)],_,_)).
% 3,641,788 inferences, 0.891 CPU in 0.980 seconds (91% CPU, 4089025 Lips)
S = 121393 .

/* Jekejeke Prolog 1.5.4, only 512 MB allocated, JDK 16 */
?- time(control([run_state([fib(25)],0,S)],_,_)).
% Threads 1,656 ms, GC 404 ms, Up 2,086 ms (Current 08/23/22 04:19:56)
S = 121393

Mostowski Collapse schrieb am Dienstag, 23. August 2022 um 04:30:07 UTC+2:
> Pitty the CW631 paper here:
> https://www.cs.kuleuven.be/publicaties/rapporten/cw/CW631.pdf
>
> doesn’t show Felleisen prompt/control implemented with difference lists:
>
> /* Vanilla conjunction list solve/1 extended to control/3 */
> control([], none, []).
> control([prompt(A)|B], A, B).
> control([control(L, P, Q)|B], X, Y) :- control(L, P, Q), control(B, X, Y)..
> control([A|B], X, Y) :- rule(A,C,B), control(C, X, Y).
>
> /* Difference List variant of clause/2 */
> rule(sum(A+B),[prompt(ask(A)),prompt(ask(B))|R],R).
> rule(with_list(G,P,Q),[control(G,T,C),with_list2(T,C,P,Q)|R],R).
> rule(with_list2(none,_,P,P),R,R).
> rule(with_list2(ask(X),C,[X|P],Q),[with_list(C,P,Q)|R],R).
>
> Works fine:
>
> ?- control([with_list([sum(S)],[1,2,3],L)],_,_).
> S = 1+2,
> L = [3] .

Re: Request for comments, async ISO core standard I/O

<de49e8f1-1409-40b2-b60b-94aab4492e72n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2582&group=comp.lang.prolog#2582

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:389:b0:342:f779:ded8 with SMTP id j9-20020a05622a038900b00342f779ded8mr23280704qtx.111.1661346519256;
Wed, 24 Aug 2022 06:08:39 -0700 (PDT)
X-Received: by 2002:a81:349:0:b0:324:d932:1362 with SMTP id
70-20020a810349000000b00324d9321362mr29786119ywd.281.1661346518984; Wed, 24
Aug 2022 06:08:38 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 24 Aug 2022 06:08:38 -0700 (PDT)
In-Reply-To: <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.218.40.218; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 80.218.40.218
References: <7e154664-d8d9-46f2-ade4-9b9a7712a2den@googlegroups.com>
<f0f034db-50f8-46af-a371-6cfd8bae2908n@googlegroups.com> <96f858a4-3ce3-456d-bbf4-46b2adc950f5n@googlegroups.com>
<b2966bcc-e675-42c9-9d9b-5cbd2030a6f9n@googlegroups.com> <a028d3b8-ee06-43b4-8d2b-22f30bcfaa67n@googlegroups.com>
<174b4947-28ea-4f59-a2d9-f09b148270c0n@googlegroups.com> <6d1511ba-f0c5-4df9-be0e-ffa66d02ab2fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <de49e8f1-1409-40b2-b60b-94aab4492e72n@googlegroups.com>
Subject: Re: Request for comments, async ISO core standard I/O
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 24 Aug 2022 13:08:39 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2122
 by: Mostowski Collapse - Wed, 24 Aug 2022 13:08 UTC

Mostowski Collapse schrieb am Donnerstag, 11. August 2022 um 17:27:36 UTC+2:
> Thats just your humanly ape brain acceptance curve:
> - Resistance
> - Denial
> - Exploration
> - Commitment

If you are a slow thinker, you pass these quadrants slowly,
maybe you never reach the end. Here is an example of a
slow thinker, Ulrich Neumerkel, concerning Unicode:

bla bla bla TPTP and bla bla bla WG21/N3146
https://www.tptp.org/TPTP/SyntaxBNF.html#lower_alpha
https://github.com/mthom/scryer-prolog/issues/1515#issuecomment-1225242783
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3146.html

LoL

Pages:12
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor