Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Lisp Users: Due to the holiday next Monday, there will be no garbage collection.


devel / comp.lang.prolog / Re: 50 Years of Prolog Nonsense

SubjectAuthor
* 50 Years of Prolog NonsenseMild Shock
`* 50 Years of Prolog NonsenseMild Shock
 `* 50 Years of Prolog NonsenseMild Shock
  `* 50 Years of Prolog NonsenseMild Shock
   `- 50 Years of Prolog NonsenseMild Shock

1
Re: 50 Years of Prolog Nonsense

<e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:1869:b0:63c:f7eb:470 with SMTP id eh9-20020a056214186900b0063cf7eb0470mr16656qvb.11.1690631834097;
Sat, 29 Jul 2023 04:57:14 -0700 (PDT)
X-Received: by 2002:a05:6870:a8a8:b0:1bb:6267:9c42 with SMTP id
eb40-20020a056870a8a800b001bb62679c42mr6321559oab.0.1690631833755; Sat, 29
Jul 2023 04:57:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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: Sat, 29 Jul 2023 04:57:13 -0700 (PDT)
In-Reply-To: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Sat, 29 Jul 2023 11:57:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2187
 by: Mild Shock - Sat, 29 Jul 2023 11:57 UTC

Can SWI-Prolog lean back concerning multi-threading? The
Python store looks like a nice piece of darwinism. So there is some
evolutionary pressure through some selection mechanism:

> Allen Goodman, author of CellProfiler and staff engineer at
Prescient Design and Genentech, describes how the GIL makes
biological methods research more difficult in Python.

So basically Python starts lacking behind as the datascience language.
Oh the irony. But I would not blame it so much on the GIL. Deep down many
programming languages have still a GIL,

for example in malloc(). I don’t know whether SWI-Prologs tcmalloc() integration
even squeezes the lemon. From >JDK 9 Java had a slower GC single-threaded
because they started optimizing their virtual machine for multi-threaded.

Such optiminzations do not only consists of removing the GIL, you
need optimize malloc(). Some approaches uses thread affine memory
areas, but this is also tricky, since not all objects have a clear thread affinity.

Re: 50 Years of Prolog Nonsense

<8f3f24d1-7258-4572-9b81-596f2139546bn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:14a:b0:403:b12b:881d with SMTP id v10-20020a05622a014a00b00403b12b881dmr20687qtw.4.1690632658742;
Sat, 29 Jul 2023 05:10:58 -0700 (PDT)
X-Received: by 2002:a05:6808:300f:b0:3a4:1e93:8988 with SMTP id
ay15-20020a056808300f00b003a41e938988mr9303442oib.10.1690632658441; Sat, 29
Jul 2023 05:10:58 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sat, 29 Jul 2023 05:10:58 -0700 (PDT)
In-Reply-To: <e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com> <e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8f3f24d1-7258-4572-9b81-596f2139546bn@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Sat, 29 Jul 2023 12:10:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mild Shock - Sat, 29 Jul 2023 12:10 UTC

In as far, concerning thread affinity, one has to also watch what happens
concerning JavaScript Worker concept adoptions in Python. Multi-threading
can be optimized even more If you have such isolation concepts.

In this respect there is also PEP 683 – Immortal Objects, which on the
surface might not be related, but it also relates to the effort to better handle
strings and make a GIL per-interpreter, the later could underly Workers.

Mild Shock schrieb am Samstag, 29. Juli 2023 um 13:57:15 UTC+2:
> Can SWI-Prolog lean back concerning multi-threading? The
> Python store looks like a nice piece of darwinism. So there is some
> evolutionary pressure through some selection mechanism:
>
> > Allen Goodman, author of CellProfiler and staff engineer at
> Prescient Design and Genentech, describes how the GIL makes
> biological methods research more difficult in Python.
>
> So basically Python starts lacking behind as the datascience language.
> Oh the irony. But I would not blame it so much on the GIL. Deep down many
> programming languages have still a GIL,
>
> for example in malloc(). I don’t know whether SWI-Prologs tcmalloc() integration
> even squeezes the lemon. From >JDK 9 Java had a slower GC single-threaded
> because they started optimizing their virtual machine for multi-threaded.
>
> Such optiminzations do not only consists of removing the GIL, you
> need optimize malloc(). Some approaches uses thread affine memory
> areas, but this is also tricky, since not all objects have a clear thread affinity.

Re: 50 Years of Prolog Nonsense

<ua3vjm$g8th$1@solani.org>

  copy mid

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

  copy link   Newsgroups: comp.lang.prolog
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.prolog
Subject: Re: 50 Years of Prolog Nonsense
Date: Sat, 29 Jul 2023 23:16:37 +0200
Message-ID: <ua3vjm$g8th$1@solani.org>
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com>
<8f3f24d1-7258-4572-9b81-596f2139546bn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 29 Jul 2023 21:16:38 -0000 (UTC)
Injection-Info: solani.org;
logging-data="533425"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17
Cancel-Lock: sha1:a79j8ln/u/ZkKNkKrI9rZNMS2ow=
X-User-ID: eJwFwYEBwDAEBMCVIvxjnBL2H6F3UArbjaBhsTLn5qY1qzbkLYiq47djxtw/P6CXaGiPpo1I33xsTL/c/QFVABXY
In-Reply-To: <8f3f24d1-7258-4572-9b81-596f2139546bn@googlegroups.com>
 by: Mild Shock - Sat, 29 Jul 2023 21:16 UTC

There are a couple of non-GIL Pythons already
around. For example Jython 2.7.3. But they are
currently busy with migrating from Python 2 to Python 3.

For example I cannot use it, it didn’t understand
the “async” keyword. Async/await was introduced in
Python version 3.5. There are more such no-GIL Pythons,

like IronPython (for CLR) and GraalVM Python (for JVM).
GraalVM Python is farther ahead, it supports Python 3.8,
but is slower than PyPy. But with IronPython, one would

also have less luck, its only Python 3.4 now.

Mild Shock schrieb:
> In as far, concerning thread affinity, one has to also watch what happens
> concerning JavaScript Worker concept adoptions in Python. Multi-threading
> can be optimized even more If you have such isolation concepts.
>
> In this respect there is also PEP 683 – Immortal Objects, which on the
> surface might not be related, but it also relates to the effort to better handle
> strings and make a GIL per-interpreter, the later could underly Workers.
>
> Mild Shock schrieb am Samstag, 29. Juli 2023 um 13:57:15 UTC+2:
>> Can SWI-Prolog lean back concerning multi-threading? The
>> Python store looks like a nice piece of darwinism. So there is some
>> evolutionary pressure through some selection mechanism:
>>
>>> Allen Goodman, author of CellProfiler and staff engineer at
>> Prescient Design and Genentech, describes how the GIL makes
>> biological methods research more difficult in Python.
>>
>> So basically Python starts lacking behind as the datascience language.
>> Oh the irony. But I would not blame it so much on the GIL. Deep down many
>> programming languages have still a GIL,
>>
>> for example in malloc(). I don’t know whether SWI-Prologs tcmalloc() integration
>> even squeezes the lemon. From >JDK 9 Java had a slower GC single-threaded
>> because they started optimizing their virtual machine for multi-threaded.
>>
>> Such optiminzations do not only consists of removing the GIL, you
>> need optimize malloc(). Some approaches uses thread affine memory
>> areas, but this is also tricky, since not all objects have a clear thread affinity.

Re: 50 Years of Prolog Nonsense

<5cc272c3-80cf-4a20-9ae2-ac80aa91c65dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ad4:551a:0:b0:63d:30b8:ff8b with SMTP id pz26-20020ad4551a000000b0063d30b8ff8bmr25620qvb.13.1690718767411;
Sun, 30 Jul 2023 05:06:07 -0700 (PDT)
X-Received: by 2002:a9d:6198:0:b0:6b9:dc90:e351 with SMTP id
g24-20020a9d6198000000b006b9dc90e351mr9066590otk.6.1690718767119; Sun, 30 Jul
2023 05:06:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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: Sun, 30 Jul 2023 05:06:06 -0700 (PDT)
In-Reply-To: <ua3vjm$g8th$1@solani.org>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com> <8f3f24d1-7258-4572-9b81-596f2139546bn@googlegroups.com>
<ua3vjm$g8th$1@solani.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5cc272c3-80cf-4a20-9ae2-ac80aa91c65dn@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Sun, 30 Jul 2023 12:06:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4552
 by: Mild Shock - Sun, 30 Jul 2023 12:06 UTC

Whats quite interesting, is that PyPy, one of the fastest Pythons,
isn’t based on ARC LLVM. i.e. Automatic Reference Counting (ARC).
One effect is that dead objects, might be detected a little later

than via reference counting, so it is recommended to explicitly
close resources such as files, and not rely on reference counting.
Having no reference counting, does also help multi-threading.

So in PyPy there is no PL_register_atom or PL_unregister_atom.
Memory systems without reference counting are usually associated
with tracing garbage collectors, based on two color mark sweep.

But I guess they get more bang out of it, if incremental garbage
collection is deployed and if some escape analysis of the code
is performed as well. Have to find a paper.

Mild Shock schrieb am Samstag, 29. Juli 2023 um 23:16:41 UTC+2:
> There are a couple of non-GIL Pythons already
> around. For example Jython 2.7.3. But they are
> currently busy with migrating from Python 2 to Python 3.
>
> For example I cannot use it, it didn’t understand
> the “async” keyword. Async/await was introduced in
> Python version 3.5. There are more such no-GIL Pythons,
>
> like IronPython (for CLR) and GraalVM Python (for JVM).
> GraalVM Python is farther ahead, it supports Python 3.8,
> but is slower than PyPy. But with IronPython, one would
>
> also have less luck, its only Python 3.4 now.
>
> Mild Shock schrieb:
> > In as far, concerning thread affinity, one has to also watch what happens
> > concerning JavaScript Worker concept adoptions in Python. Multi-threading
> > can be optimized even more If you have such isolation concepts.
> >
> > In this respect there is also PEP 683 – Immortal Objects, which on the
> > surface might not be related, but it also relates to the effort to better handle
> > strings and make a GIL per-interpreter, the later could underly Workers..
> >
> > Mild Shock schrieb am Samstag, 29. Juli 2023 um 13:57:15 UTC+2:
> >> Can SWI-Prolog lean back concerning multi-threading? The
> >> Python store looks like a nice piece of darwinism. So there is some
> >> evolutionary pressure through some selection mechanism:
> >>
> >>> Allen Goodman, author of CellProfiler and staff engineer at
> >> Prescient Design and Genentech, describes how the GIL makes
> >> biological methods research more difficult in Python.
> >>
> >> So basically Python starts lacking behind as the datascience language.
> >> Oh the irony. But I would not blame it so much on the GIL. Deep down many
> >> programming languages have still a GIL,
> >>
> >> for example in malloc(). I don’t know whether SWI-Prologs tcmalloc() integration
> >> even squeezes the lemon. From >JDK 9 Java had a slower GC single-threaded
> >> because they started optimizing their virtual machine for multi-threaded.
> >>
> >> Such optiminzations do not only consists of removing the GIL, you
> >> need optimize malloc(). Some approaches uses thread affine memory
> >> areas, but this is also tricky, since not all objects have a clear thread affinity.

Re: 50 Years of Prolog Nonsense

<fb1ad6c6-5e41-4c21-94ac-994698a0200en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ad4:4f10:0:b0:635:db2e:e9d9 with SMTP id fb16-20020ad44f10000000b00635db2ee9d9mr44044qvb.6.1690877359080;
Tue, 01 Aug 2023 01:09:19 -0700 (PDT)
X-Received: by 2002:a05:6830:12c1:b0:6b9:a422:9f with SMTP id
a1-20020a05683012c100b006b9a422009fmr13755736otq.1.1690877358706; Tue, 01 Aug
2023 01:09:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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: Tue, 1 Aug 2023 01:09:18 -0700 (PDT)
In-Reply-To: <5cc272c3-80cf-4a20-9ae2-ac80aa91c65dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<e5616850-37a8-46fd-b2a8-e3ca252b8a5an@googlegroups.com> <8f3f24d1-7258-4572-9b81-596f2139546bn@googlegroups.com>
<ua3vjm$g8th$1@solani.org> <5cc272c3-80cf-4a20-9ae2-ac80aa91c65dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fb1ad6c6-5e41-4c21-94ac-994698a0200en@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Tue, 01 Aug 2023 08:09:19 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1760
 by: Mild Shock - Tue, 1 Aug 2023 08:09 UTC

Why will this never fly?

https://www.swi-prolog.org/howto/http/

Because its too static. For example the
recent SVG example:

reply_html_page(title('SVG circle'),
Etc...

Looks a little pointless to me. Since its static,
You could store an `.svg` file on the server.
How do you draw 12 circles into SVG?

Computed into a grid of 3 x 4 via Prolog?
Make the number of columns and rows
a parameter to a Prolog predicate.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor