Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

If you think the system is working, ask someone who's waiting for a prompt.


devel / comp.lang.javascript / Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

SubjectAuthor
* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
`* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
 `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Julio Di Egidio
  `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Julio Di Egidio
   `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
    `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
     `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
      `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
       `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)John Harris
        `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
         `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
          `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
           `* Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse
            `- Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)Mostowski Collapse

1
Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<shnpjj$kq$1@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17261&group=comp.lang.javascript#17261

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!rocksolid2!news.neodome.net!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mostowski Collapse)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
Date: Mon, 13 Sep 2021 17:09:41 +0200
Message-ID: <shnpjj$kq$1@solani.org>
References: <s6n47e$k2i$1@solani.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 13 Sep 2021 15:09:39 -0000 (UTC)
Injection-Info: solani.org;
logging-data="666"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9
Cancel-Lock: sha1:o4MNsi4X6SVTDlFGZEO5dbpfICU=
X-User-ID: eJwFwQkBwDAIA0BLpQSayeH1L2F3pi5eD24OW9sYn9HseziNJbLKwD3I5rH81pq0G7GSKGrKkw31bikGfn6pFn8=
In-Reply-To: <s6n47e$k2i$1@solani.org>
 by: Mostowski Collapse - Mon, 13 Sep 2021 15:09 UTC

Meanwhile maintaining a JavaScript and
Python version in parallel.

The Standard Python version of Dogelog runtime
is annoyingly slow. So we gave it a try with
andother Python, and it was 6x times faster.

We could test GraalVM. We worked around the missing
match in Python 3.8 by replacing it with if-then-else.
Performance is a little better, we find:

/* Standard Python Version, Warm Run */
?- time(fibo(23,X)).
% Wall 3865 ms, gc 94 ms, 71991 lips
X = 46368.

/* GraalVM Python Version, Warm Warm Run */
?- time(fibo(23,X)).
% Wall 695 ms, gc 14 ms, 400356 lips
X = 46368.

See also:

JDK 1.8 GraalVM Python is 6x faster than Standard Python
https://twitter.com/dogelogch/status/1437395917167112193

JDK 1.8 GraalVM Python is 6x faster than Standard Python
https://www.facebook.com/groups/dogelog

Mostowski Collapse wrote:
> Dear All,
>
> Ok a simple mark and sweep works, and
> a simple trigger mechanism does the job:
>
> ANN: Dogelog Runtime, Prolog to the Moon (2021)
> https://qiita.com/j4n_bur53/items/17f86429745426bd14fd
>
> And we are 10x times faster than TauProlog! LoL
>
> Best Regards

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<shsuur$88u$6@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17262&group=comp.lang.javascript#17262

  copy link   Newsgroups: comp.lang.javascript
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 (Mostowski Collapse)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
Date: Wed, 15 Sep 2021 16:11:39 +0200
Message-ID: <shsuur$88u$6@solani.org>
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 15 Sep 2021 14:11:40 -0000 (UTC)
Injection-Info: solani.org;
logging-data="8478"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:60.0)
Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.9
X-User-ID: eJwFwYERACEIA7CV4EqrPw4V3X+ETwilzipRxccHVlXwZvh8+ArN4cjYaU3u6CuEe7zfuhhweh1PWVo2fj3DFbE=
In-Reply-To: <shnpjj$kq$1@solani.org>
Cancel-Lock: sha1:WYv048hFmMTcGZOfPr0BgcQLCF0=
 by: Mostowski Collapse - Wed, 15 Sep 2021 14:11 UTC

I am not testing this use-case. But a related
use-case might highlight why speed did never
hurt anybody.

Lets say you program a flying drone with Python,
and the measurement is from the drone sensor
and communication systems.

Lets say you are using the idle time between
measurements for some complex planning. It
is then not true that you have anyway

to wait for the measurement.

Hope this helps!

BTW: If somebody knows another Python implementation
I am happy to test this implementation as well.
I am assuming that the standard Python python.exe

I tested amounts to CPython? Not sure. And the
GraalVM is practically the same as JPython? Not
sure either.

> Opinion: Anyone who is counting on Python for truly fast compute
speed is probably using Python for the wrong purpose. Here, we use
Python to control Test Equipment, to set up the equipment and ask for a
measurement, get it, and proceed to the next measurement; and at the end
produce a nice formatted report. If we wrote the test script in C or
Rust or whatever it could not run substantially faster because it is
communicating with the test equipment, setting it up and waiting for
responses, and that is where the vast majority of the time goes.
Especially if the measurement result requires averaging it can take a
while. In my opinion this is an ideal use for Python, not just because
the speed of Python is not important, but also because we can easily
find people who know Python, who like coding in Python, and will join
the company to program in Python ... and stay with us.
> --- Joseph S.

Mostowski Collapse schrieb:
> Meanwhile maintaining a JavaScript and
> Python version in parallel.
>
> The Standard Python version of Dogelog runtime
> is annoyingly slow. So we gave it a try with
> andother Python, and it was 6x times faster.
>
> We could test GraalVM. We worked around the missing
> match in Python 3.8 by replacing it with if-then-else.
> Performance is a little better, we find:
>
> /* Standard Python Version, Warm Run */
> ?- time(fibo(23,X)).
> % Wall 3865 ms, gc 94 ms, 71991 lips
> X = 46368.
>
> /* GraalVM Python Version, Warm Warm Run */
> ?- time(fibo(23,X)).
> % Wall 695 ms, gc 14 ms, 400356 lips
> X = 46368.
>
> See also:
>
> JDK 1.8 GraalVM Python is 6x faster than Standard Python
> https://twitter.com/dogelogch/status/1437395917167112193
>
> JDK 1.8 GraalVM Python is 6x faster than Standard Python
> https://www.facebook.com/groups/dogelog
>
> Mostowski Collapse wrote:
>> Dear All,
>>
>> Ok a simple mark and sweep works, and
>> a simple trigger mechanism does the job:
>>
>> ANN: Dogelog Runtime, Prolog to the Moon (2021)
>> https://qiita.com/j4n_bur53/items/17f86429745426bd14fd
>>
>> And we are 10x times faster than TauProlog! LoL
>>
>> Best Regards
>

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17263&group=comp.lang.javascript#17263

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:ac8:58d0:: with SMTP id u16mr452157qta.189.1631720770766;
Wed, 15 Sep 2021 08:46:10 -0700 (PDT)
X-Received: by 2002:aca:a984:: with SMTP id s126mr228971oie.150.1631720770491;
Wed, 15 Sep 2021 08:46:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Wed, 15 Sep 2021 08:46:10 -0700 (PDT)
In-Reply-To: <shsuur$88u$6@solani.org>
Injection-Info: google-groups.googlegroups.com; posting-host=93.41.98.174; posting-account=F3H0JAgAAADcYVukktnHx7hFG5stjWse
NNTP-Posting-Host: 93.41.98.174
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org> <shsuur$88u$6@solani.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: julio@diegidio.name (Julio Di Egidio)
Injection-Date: Wed, 15 Sep 2021 15:46:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 16
 by: Julio Di Egidio - Wed, 15 Sep 2021 15:46 UTC

On Wednesday, 15 September 2021 at 16:11:48 UTC+2, Mostowski Collapse wrote:

> > Opinion: Anyone who is counting on Python for truly fast compute
> speed is probably using Python for the wrong purpose.

You just don't know anything about this environment: those who need fast computation rather use *libraries* where all the performance critical parts are written in native code... and that's pretty customary in Python.

That doesn't mean Python is flawless, indeed (IMO) it isn't in so many ways: to the point that, for more professional solutions in the maths/statistics realms in particular, people rather use R: yet, the primary reason is not so not so much performance but really the solidity/structure of the language per se...

Julio

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17264&group=comp.lang.javascript#17264

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:a0c:9146:: with SMTP id q64mr371898qvq.38.1631720942020;
Wed, 15 Sep 2021 08:49:02 -0700 (PDT)
X-Received: by 2002:aca:a80a:: with SMTP id r10mr226008oie.119.1631720941725;
Wed, 15 Sep 2021 08:49:01 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Wed, 15 Sep 2021 08:49:01 -0700 (PDT)
In-Reply-To: <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=93.41.98.174; posting-account=F3H0JAgAAADcYVukktnHx7hFG5stjWse
NNTP-Posting-Host: 93.41.98.174
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: julio@diegidio.name (Julio Di Egidio)
Injection-Date: Wed, 15 Sep 2021 15:49:02 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 23
 by: Julio Di Egidio - Wed, 15 Sep 2021 15:49 UTC

On Wednesday, 15 September 2021 at 17:46:15 UTC+2, Julio Di Egidio wrote:
> On Wednesday, 15 September 2021 at 16:11:48 UTC+2, Mostowski Collapse wrote:
>
> > > Opinion: Anyone who is counting on Python for truly fast compute
> > speed is probably using Python for the wrong purpose.
> You just don't know anything about this environment: those who need fast computation rather use *libraries* where all the performance critical parts are written in native code... and that's pretty customary in Python.
>
> That doesn't mean Python is flawless, indeed (IMO) it isn't in so many ways: to the point that, for more professional solutions in the maths/statistics realms in particular, people rather use R: yet, the primary reason is not so not so much performance but really the solidity/structure of the language per se...

Good grief, I thought we were in comp-lang-python... You are indeed just *off-topic* here: I mean, an announcement for a JS-based engine is welcome, but you posting your Python implementation diary in this group is as off-topic as it can be.

*Plonk*

Julio

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<sht860$8mn$1@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17265&group=comp.lang.javascript#17265

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!news.swapon.de!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mostowski Collapse)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
Date: Wed, 15 Sep 2021 18:49:06 +0200
Message-ID: <sht860$8mn$1@solani.org>
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org>
<774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 15 Sep 2021 16:49:04 -0000 (UTC)
Injection-Info: solani.org;
logging-data="8919"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9
Cancel-Lock: sha1:WkWmBj+iwIxDT9ohajY8pBx7qIM=
In-Reply-To: <ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com>
X-User-ID: eJwFwQkBwDAIA0BL0BBW5PAU/xJ2R7h6f+Z043ItWI0KmcGsSOmIGe+RyFx/QEeib/mM5DmKCGohHz2j5gdVlhWr
 by: Mostowski Collapse - Wed, 15 Sep 2021 16:49 UTC

I am having a cross language problem.

I really wonder why my Python implementation
is a factor 40 slower than my JavaScript implementation.
Structurally its the same code.

You can check yourself:

Python Version:
https://github.com/jburse/dogelog-moon/blob/main/devel/runtimepy/machine.py

JavaScript Version:
https://github.com/jburse/dogelog-moon/blob/main/devel/runtime/machine.js

Its the same while, if-then-else, etc.. its the same
classes Variable, Compound etc.. Maybe I could speed
it up by some details. For example to create an array
of length n, I use in Python:

temp = [NotImplemented] * code[pos]
pos += 1

Whereas in JavaScript I use, also
in exec_build2():

temp = new Array(code[pos++]);

So I hear Guido doesn't like ++. So in Python I use +=
and a separate statement as a workaround. But otherwise,
what about the creation of an array,

is the the idiom [_] * _ slow? I am assuming its
compiled away. Or does it really first create an
array of size 1 and then enlarge it?

Julio Di Egidio wrote:
> On Wednesday, 15 September 2021 at 17:46:15 UTC+2, Julio Di Egidio wrote:
>> On Wednesday, 15 September 2021 at 16:11:48 UTC+2, Mostowski Collapse wrote:
>>
>>>> Opinion: Anyone who is counting on Python for truly fast compute
>>> speed is probably using Python for the wrong purpose.
>> You just don't know anything about this environment: those who need fast computation rather use *libraries* where all the performance critical parts are written in native code... and that's pretty customary in Python.
>>
>> That doesn't mean Python is flawless, indeed (IMO) it isn't in so many ways: to the point that, for more professional solutions in the maths/statistics realms in particular, people rather use R: yet, the primary reason is not so not so much performance but really the solidity/structure of the language per se...
>
> Good grief, I thought we were in comp-lang-python... You are indeed just *off-topic* here: I mean, an announcement for a JS-based engine is welcome, but you posting your Python implementation diary in this group is as off-topic as it can be.
>
> *Plonk*
>
> Julio
>

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17266&group=comp.lang.javascript#17266

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:ac8:4111:: with SMTP id q17mr7091367qtl.264.1631824057209;
Thu, 16 Sep 2021 13:27:37 -0700 (PDT)
X-Received: by 2002:a05:6808:150c:: with SMTP id u12mr1325841oiw.136.1631824056876;
Thu, 16 Sep 2021 13:27:36 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Thu, 16 Sep 2021 13:27:36 -0700 (PDT)
In-Reply-To: <sht860$8mn$1@solani.org>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 16 Sep 2021 20:27:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 70
 by: Mostowski Collapse - Thu, 16 Sep 2021 20:27 UTC

A friend just sent me a Web Sudoku made with Dogelog Runtime
https://gist.github.com/jburse/c85297e97091caf22d306dd8c8be12fe#gistcomment-3895696

LoL

Mostowski Collapse schrieb am Mittwoch, 15. September 2021 um 18:49:11 UTC+2:
> I am having a cross language problem.
>
> I really wonder why my Python implementation
> is a factor 40 slower than my JavaScript implementation.
> Structurally its the same code.
>
> You can check yourself:
>
> Python Version:
> https://github.com/jburse/dogelog-moon/blob/main/devel/runtimepy/machine.py
>
> JavaScript Version:
> https://github.com/jburse/dogelog-moon/blob/main/devel/runtime/machine.js
>
> Its the same while, if-then-else, etc.. its the same
> classes Variable, Compound etc.. Maybe I could speed
> it up by some details. For example to create an array
> of length n, I use in Python:
>
> temp = [NotImplemented] * code[pos]
> pos += 1
>
> Whereas in JavaScript I use, also
> in exec_build2():
>
> temp = new Array(code[pos++]);
>
> So I hear Guido doesn't like ++. So in Python I use +=
> and a separate statement as a workaround. But otherwise,
> what about the creation of an array,
>
> is the the idiom [_] * _ slow? I am assuming its
> compiled away. Or does it really first create an
> array of size 1 and then enlarge it?
> Julio Di Egidio wrote:
> > On Wednesday, 15 September 2021 at 17:46:15 UTC+2, Julio Di Egidio wrote:
> >> On Wednesday, 15 September 2021 at 16:11:48 UTC+2, Mostowski Collapse wrote:
> >>
> >>>> Opinion: Anyone who is counting on Python for truly fast compute
> >>> speed is probably using Python for the wrong purpose.
> >> You just don't know anything about this environment: those who need fast computation rather use *libraries* where all the performance critical parts are written in native code... and that's pretty customary in Python.
> >>
> >> That doesn't mean Python is flawless, indeed (IMO) it isn't in so many ways: to the point that, for more professional solutions in the maths/statistics realms in particular, people rather use R: yet, the primary reason is not so not so much performance but really the solidity/structure of the language per se...
> >
> > Good grief, I thought we were in comp-lang-python... You are indeed just *off-topic* here: I mean, an announcement for a JS-based engine is welcome, but you posting your Python implementation diary in this group is as off-topic as it can be.
> >
> > *Plonk*
> >
> > Julio
> >

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17267&group=comp.lang.javascript#17267

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:ac8:43d6:: with SMTP id w22mr7211926qtn.92.1631828901149;
Thu, 16 Sep 2021 14:48:21 -0700 (PDT)
X-Received: by 2002:a05:6830:1213:: with SMTP id r19mr6772168otp.373.1631828900933;
Thu, 16 Sep 2021 14:48:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Thu, 16 Sep 2021 14:48:20 -0700 (PDT)
In-Reply-To: <06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 16 Sep 2021 21:48:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 90
 by: Mostowski Collapse - Thu, 16 Sep 2021 21:48 UTC

The new release 0.9.6 is quite speedy:

"Maailman vaikein"
850002400720000009004000000000107002305000900040000000000080070017000000000036040
time(solve(Puzzle))
% Wall 41354 ms, gc 520 ms, 3143029 lips
in Browser

See also:

Preview: New para/1 instruction for Dogelog runtime. (Jekejeke)
https://twitter.com/dogelogch/status/1438586282502983682

Preview: New para/1 instruction for Dogelog runtime. (Jekejeke)
https://www.facebook.com/groups/dogelog

Mostowski Collapse schrieb am Donnerstag, 16. September 2021 um 22:27:41 UTC+2:
> A friend just sent me a Web Sudoku made with Dogelog Runtime
> https://gist.github.com/jburse/c85297e97091caf22d306dd8c8be12fe#gistcomment-3895696
>
> LoL
> Mostowski Collapse schrieb am Mittwoch, 15. September 2021 um 18:49:11 UTC+2:
> > I am having a cross language problem.
> >
> > I really wonder why my Python implementation
> > is a factor 40 slower than my JavaScript implementation.
> > Structurally its the same code.
> >
> > You can check yourself:
> >
> > Python Version:
> > https://github.com/jburse/dogelog-moon/blob/main/devel/runtimepy/machine.py
> >
> > JavaScript Version:
> > https://github.com/jburse/dogelog-moon/blob/main/devel/runtime/machine.js
> >
> > Its the same while, if-then-else, etc.. its the same
> > classes Variable, Compound etc.. Maybe I could speed
> > it up by some details. For example to create an array
> > of length n, I use in Python:
> >
> > temp = [NotImplemented] * code[pos]
> > pos += 1
> >
> > Whereas in JavaScript I use, also
> > in exec_build2():
> >
> > temp = new Array(code[pos++]);
> >
> > So I hear Guido doesn't like ++. So in Python I use +=
> > and a separate statement as a workaround. But otherwise,
> > what about the creation of an array,
> >
> > is the the idiom [_] * _ slow? I am assuming its
> > compiled away. Or does it really first create an
> > array of size 1 and then enlarge it?
> > Julio Di Egidio wrote:
> > > On Wednesday, 15 September 2021 at 17:46:15 UTC+2, Julio Di Egidio wrote:
> > >> On Wednesday, 15 September 2021 at 16:11:48 UTC+2, Mostowski Collapse wrote:
> > >>
> > >>>> Opinion: Anyone who is counting on Python for truly fast compute
> > >>> speed is probably using Python for the wrong purpose.
> > >> You just don't know anything about this environment: those who need fast computation rather use *libraries* where all the performance critical parts are written in native code... and that's pretty customary in Python.
> > >>
> > >> That doesn't mean Python is flawless, indeed (IMO) it isn't in so many ways: to the point that, for more professional solutions in the maths/statistics realms in particular, people rather use R: yet, the primary reason is not so not so much performance but really the solidity/structure of the language per se...
> > >
> > > Good grief, I thought we were in comp-lang-python... You are indeed just *off-topic* here: I mean, an announcement for a JS-based engine is welcome, but you posting your Python implementation diary in this group is as off-topic as it can be.
> > >
> > > *Plonk*
> > >
> > > Julio
> > >

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17274&group=comp.lang.javascript#17274

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:ac8:5887:: with SMTP id t7mr18454052qta.0.1632083297528;
Sun, 19 Sep 2021 13:28:17 -0700 (PDT)
X-Received: by 2002:a4a:d794:: with SMTP id c20mr17054050oou.23.1632083297339;
Sun, 19 Sep 2021 13:28:17 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Sun, 19 Sep 2021 13:28:17 -0700 (PDT)
In-Reply-To: <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com> <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 19 Sep 2021 20:28:17 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 38
 by: Mostowski Collapse - Sun, 19 Sep 2021 20:28 UTC

Do you say Python should not be used to implement
such things? In my opinion, Python has a high potential
to implement Prolog, because it has also ast.parse()

and compile(). But I do not yet have a showcase that uses
these features of Python to compile Prolog. I dont work 24/7
and I cannot clone myself. Currently the Prolog code is interpreted.

I have a prototype where Prolog code is compiled into JavaScript,
but I did not yet try this approach with Python. Here you see how
JavaScript closures are generated, a first prototype:

const alt4 = make_defined([new Clause(1, [0, 0], function(
display, actual, cont) {return(new Compound(".", [new Compound(
"==", [deref(actual.args[0]), "end_of_file"]), new Compound(
".", [new Compound("$CUT", [deref(display[0])]), cont
])]))}, 0, undefined), new Clause(1, [0, 0], function(
display, actual, cont) {return(new Compound(".", [new Compound(
"expand_include", [deref(actual.args[0]), deref(actual.args[1]
), display[0] = new Variable()]), new Compound(".",
[new Compound("handle_term", [deref(display[0])]), new Compound(
".", ["fail", cont])])]))}, -1, undefined)]);

add("next_term", 1, new Clause(2, [0], function(display, actual,
cont) {return(new Compound(".", [new Compound("read_term",
[deref(actual.args[0]), display[0] = new Variable(),
new Compound(".", [new Compound("variable_names", [
display[1] = new Variable()]), "[]"])]), new Compound(
".", [new Compound(alt4, [deref(display[0]), deref(
display[1])]), cont])]))}, -1, undefined));

https://github.com/jburse/dogelog-moon/issues/184

Will do the same for Python in the next weeks. Then later this approach
will be combined with a few planned optimizations. So far got a 25%
speed increase for JavaScript with this new compilation scheme, but

there is no official release out yet, that features this approach. And
there should be much more in it, also for Python.

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<siafcg$7aa$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17276&group=comp.lang.javascript#17276

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: niam@jghnorth.org.uk.invalid (John Harris)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
Date: Mon, 20 Sep 2021 18:11:44 +0100
Organization: A noiseless patient Spider
Lines: 28
Message-ID: <siafcg$7aa$1@dont-email.me>
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org>
<774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com>
<sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com>
<a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com>
Reply-To: jgharris@ic4life.net
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 20 Sep 2021 17:11:44 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="5fb51edc6ff8f4a5fa97ec1f59ee9f45";
logging-data="7498"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+fo7C6ONvAUO4/1pQeghoemESFjktBuRI="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:9WSgC7lFb8npFYayTxW3JdkUSeM=
In-Reply-To: <618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com>
Content-Language: en-US
 by: John Harris - Mon, 20 Sep 2021 17:11 UTC

On 19/09/2021 21:28, Mostowski Collapse wrote:

<snip>
> const alt4 = make_defined([new Clause(1, [0, 0], function(
> display, actual, cont) {return(new Compound(".", [new Compound(
> "==", [deref(actual.args[0]), "end_of_file"]), new Compound(
> ".", [new Compound("$CUT", [deref(display[0])]), cont
> ])]))}, 0, undefined), new Clause(1, [0, 0], function(
> display, actual, cont) {return(new Compound(".", [new Compound(
> "expand_include", [deref(actual.args[0]), deref(actual.args[1]
> ), display[0] = new Variable()]), new Compound(".",
> [new Compound("handle_term", [deref(display[0])]), new Compound(
> ".", ["fail", cont])])]))}, -1, undefined)]);
>
> add("next_term", 1, new Clause(2, [0], function(display, actual,
> cont) {return(new Compound(".", [new Compound("read_term",
> [deref(actual.args[0]), display[0] = new Variable(),
> new Compound(".", [new Compound("variable_names", [
> display[1] = new Variable()]), "[]"])]), new Compound(
> ".", [new Compound(alt4, [deref(display[0]), deref(
> display[1])]), cont])]))}, -1, undefined));
<snip>

Please don't show us unreadable code.

John

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17277&group=comp.lang.javascript#17277

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:a37:aac6:: with SMTP id t189mr11834442qke.88.1632161076431;
Mon, 20 Sep 2021 11:04:36 -0700 (PDT)
X-Received: by 2002:aca:af8e:: with SMTP id y136mr257109oie.119.1632161076141;
Mon, 20 Sep 2021 11:04:36 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Mon, 20 Sep 2021 11:04:35 -0700 (PDT)
In-Reply-To: <siafcg$7aa$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com> <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com> <siafcg$7aa$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Mon, 20 Sep 2021 18:04:36 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 28
 by: Mostowski Collapse - Mon, 20 Sep 2021 18:04 UTC

Its not supposed to be readable. Its machine generated.

John Harris schrieb am Montag, 20. September 2021 um 19:11:49 UTC+2:
> On 19/09/2021 21:28, Mostowski Collapse wrote:
>
> <snip>
> > const alt4 = make_defined([new Clause(1, [0, 0], function(
> > display, actual, cont) {return(new Compound(".", [new Compound(
> > "==", [deref(actual.args[0]), "end_of_file"]), new Compound(
> > ".", [new Compound("$CUT", [deref(display[0])]), cont
> > ])]))}, 0, undefined), new Clause(1, [0, 0], function(
> > display, actual, cont) {return(new Compound(".", [new Compound(
> > "expand_include", [deref(actual.args[0]), deref(actual.args[1]
> > ), display[0] = new Variable()]), new Compound(".",
> > [new Compound("handle_term", [deref(display[0])]), new Compound(
> > ".", ["fail", cont])])]))}, -1, undefined)]);
> >
> > add("next_term", 1, new Clause(2, [0], function(display, actual,
> > cont) {return(new Compound(".", [new Compound("read_term",
> > [deref(actual.args[0]), display[0] = new Variable(),
> > new Compound(".", [new Compound("variable_names", [
> > display[1] = new Variable()]), "[]"])]), new Compound(
> > ".", [new Compound(alt4, [deref(display[0]), deref(
> > display[1])]), cont])]))}, -1, undefined));
> <snip>
>
> Please don't show us unreadable code.
>
> John

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<de529d3f-86c0-452a-82a6-41f7b7e75a1dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17278&group=comp.lang.javascript#17278

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:a37:747:: with SMTP id 68mr5614572qkh.526.1632176193429;
Mon, 20 Sep 2021 15:16:33 -0700 (PDT)
X-Received: by 2002:aca:5b8b:: with SMTP id p133mr1110226oib.50.1632176193118;
Mon, 20 Sep 2021 15:16:33 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Mon, 20 Sep 2021 15:16:32 -0700 (PDT)
In-Reply-To: <6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com> <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com> <siafcg$7aa$1@dont-email.me>
<6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <de529d3f-86c0-452a-82a6-41f7b7e75a1dn@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Mon, 20 Sep 2021 22:16:33 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 58
 by: Mostowski Collapse - Mon, 20 Sep 2021 22:16 UTC

Woa! There is some competition for JavaScript and
node.exe. PyPy is faster! Faster than GraalVM. Now
I get for my usual Python benchmark, figures in
milliseconds:

Standard GraalVM PyPy
170'996 28'523 9'755

Not bad. Only like 2x times slower than node.exe.
Now imaging I can realize the ast.parse() and
compile() idea as well! (Made an experiment
today, testing some corner with evaluation)

BTW: Here the full results. Was using:
pypy3.7-v7.3.5-win64\pypy3.exe

Test Standard GraalVM PyPy
nrev 20'389 3'611 1'254
crypt 17'103 3'248 960
deriv 20'808 3'111 1'250
poly 17'518 3'045 1'149
qsort 20'191 3'243 1'127
tictac 13'761 2'469 783
queens 17'691 3'242 1'024
query 6'161 1'155 313
mtak 17'209 2'300 907
perfect 20'165 3'099 988
calc N/A N/A N/A
Total 170'996 28'523 9'755

Mostowski Collapse schrieb am Montag, 20. September 2021 um 20:04:42 UTC+2:
> Its not supposed to be readable. Its machine generated.
> John Harris schrieb am Montag, 20. September 2021 um 19:11:49 UTC+2:
> > On 19/09/2021 21:28, Mostowski Collapse wrote:
> >
> > <snip>
> > > const alt4 = make_defined([new Clause(1, [0, 0], function(
> > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > "==", [deref(actual.args[0]), "end_of_file"]), new Compound(
> > > ".", [new Compound("$CUT", [deref(display[0])]), cont
> > > ])]))}, 0, undefined), new Clause(1, [0, 0], function(
> > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > "expand_include", [deref(actual.args[0]), deref(actual.args[1]
> > > ), display[0] = new Variable()]), new Compound(".",
> > > [new Compound("handle_term", [deref(display[0])]), new Compound(
> > > ".", ["fail", cont])])]))}, -1, undefined)]);
> > >
> > > add("next_term", 1, new Clause(2, [0], function(display, actual,
> > > cont) {return(new Compound(".", [new Compound("read_term",
> > > [deref(actual.args[0]), display[0] = new Variable(),
> > > new Compound(".", [new Compound("variable_names", [
> > > display[1] = new Variable()]), "[]"])]), new Compound(
> > > ".", [new Compound(alt4, [deref(display[0]), deref(
> > > display[1])]), cont])]))}, -1, undefined));
> > <snip>
> >
> > Please don't show us unreadable code.
> >
> > John

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<6e93703a-6483-4f12-92f3-fb769730d90en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17291&group=comp.lang.javascript#17291

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:ac8:66d3:: with SMTP id m19mr5503640qtp.287.1632413988937;
Thu, 23 Sep 2021 09:19:48 -0700 (PDT)
X-Received: by 2002:a4a:e60e:: with SMTP id f14mr4490801oot.84.1632413988683;
Thu, 23 Sep 2021 09:19:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.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.javascript
Date: Thu, 23 Sep 2021 09:19:48 -0700 (PDT)
In-Reply-To: <de529d3f-86c0-452a-82a6-41f7b7e75a1dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com> <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com> <siafcg$7aa$1@dont-email.me>
<6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com> <de529d3f-86c0-452a-82a6-41f7b7e75a1dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6e93703a-6483-4f12-92f3-fb769730d90en@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 23 Sep 2021 16:19:48 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Thu, 23 Sep 2021 16:19 UTC

A nice project could now be to redo this one,
see how the prover would perform:

FLiP, a Logical Framework in Python
http://staff.washington.edu/jon/flip/www/index.html

The prover is listed here:

Proof checkers - Joseph Vidal-Rosset
https://www.vidal-rosset.net/proof_checkers.html

Ha Ha, the prover was just right in front of my nose
all the time. But before venturing into such a quest,
need to add occurs check to the Dogelog runtime.

I had some very good dynamic optimization for
occurs check in Jekejeke Prolog, but for Dogelog
runtime everything is new, need to figure out what

optimizations could be applied there. There is a ticket
for occurs check already on GitHub:

Bring occurs check to Dogelog runtime #143
https://github.com/jburse/dogelog-moon/issues/143

Mostowski Collapse schrieb am Dienstag, 21. September 2021 um 00:16:38 UTC+2:
> Woa! There is some competition for JavaScript and
> node.exe. PyPy is faster! Faster than GraalVM. Now
> I get for my usual Python benchmark, figures in
> milliseconds:
>
> Standard GraalVM PyPy
> 170'996 28'523 9'755
>
> Not bad. Only like 2x times slower than node.exe.
> Now imaging I can realize the ast.parse() and
> compile() idea as well! (Made an experiment
> today, testing some corner with evaluation)
>
> BTW: Here the full results. Was using:
> pypy3.7-v7.3.5-win64\pypy3.exe
>
> Test Standard GraalVM PyPy
> nrev 20'389 3'611 1'254
> crypt 17'103 3'248 960
> deriv 20'808 3'111 1'250
> poly 17'518 3'045 1'149
> qsort 20'191 3'243 1'127
> tictac 13'761 2'469 783
> queens 17'691 3'242 1'024
> query 6'161 1'155 313
> mtak 17'209 2'300 907
> perfect 20'165 3'099 988
> calc N/A N/A N/A
> Total 170'996 28'523 9'755
> Mostowski Collapse schrieb am Montag, 20. September 2021 um 20:04:42 UTC+2:
> > Its not supposed to be readable. Its machine generated.
> > John Harris schrieb am Montag, 20. September 2021 um 19:11:49 UTC+2:
> > > On 19/09/2021 21:28, Mostowski Collapse wrote:
> > >
> > > <snip>
> > > > const alt4 = make_defined([new Clause(1, [0, 0], function(
> > > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > > "==", [deref(actual.args[0]), "end_of_file"]), new Compound(
> > > > ".", [new Compound("$CUT", [deref(display[0])]), cont
> > > > ])]))}, 0, undefined), new Clause(1, [0, 0], function(
> > > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > > "expand_include", [deref(actual.args[0]), deref(actual.args[1]
> > > > ), display[0] = new Variable()]), new Compound(".",
> > > > [new Compound("handle_term", [deref(display[0])]), new Compound(
> > > > ".", ["fail", cont])])]))}, -1, undefined)]);
> > > >
> > > > add("next_term", 1, new Clause(2, [0], function(display, actual,
> > > > cont) {return(new Compound(".", [new Compound("read_term",
> > > > [deref(actual.args[0]), display[0] = new Variable(),
> > > > new Compound(".", [new Compound("variable_names", [
> > > > display[1] = new Variable()]), "[]"])]), new Compound(
> > > > ".", [new Compound(alt4, [deref(display[0]), deref(
> > > > display[1])]), cont])]))}, -1, undefined));
> > > <snip>
> > >
> > > Please don't show us unreadable code.
> > >
> > > John

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<c1cd44b9-b887-4b33-b05e-000d037c1d0dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17292&group=comp.lang.javascript#17292

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:a0c:ef04:: with SMTP id t4mr5458176qvr.61.1632415193056;
Thu, 23 Sep 2021 09:39:53 -0700 (PDT)
X-Received: by 2002:aca:4bc6:: with SMTP id y189mr13172690oia.100.1632415192879;
Thu, 23 Sep 2021 09:39:52 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Thu, 23 Sep 2021 09:39:52 -0700 (PDT)
In-Reply-To: <6e93703a-6483-4f12-92f3-fb769730d90en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com> <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com> <siafcg$7aa$1@dont-email.me>
<6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com> <de529d3f-86c0-452a-82a6-41f7b7e75a1dn@googlegroups.com>
<6e93703a-6483-4f12-92f3-fb769730d90en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c1cd44b9-b887-4b33-b05e-000d037c1d0dn@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 23 Sep 2021 16:39:53 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 119
 by: Mostowski Collapse - Thu, 23 Sep 2021 16:39 UTC

That I get censored on Python pipermail, is possibly an
out burst of taking Python too literal, like here:

Monty Python - She's a witch!
https://www.youtube.com/watch?v=zrzMhU_4m-g

But we can turn this into a FLiP, a Logical Framework in Python exercise:

"There are ways of telling whether she's a witch."
"What do you do with witches?" "Burn them!"
Ax.(Witch(x) -> Burn(x)) (1) Given
"Why do witches burn?" "'Cause they're made of wood!"
Ax.(Wood(x) -> Witch(x)) (2) Given
"How do we tell if she's made of wood?" "Does wood sink in water?" "It floats!"
Ax.(Floats(x) -> Wood(x)) (3) Given
"What also floats in water?" "A duck!"
Floats(duck) (4) Given
"Exactly! So, logically ..."
"If she weights the same as a duck, she's made of wood!"
Ax.Ay.((Floats(x) & (weight(x) = weight(y))) -> Floats(y)) (5) Given
"We shall use my largest scales. ... Remove the supports!"
weight(duck) = weight(girl) (6) Given
Ay.((Floats(duck) & (weight(duck) = weight(y))) -> Floats(y)) (7) A-Elimination (5)
(Floats(duck) & (weight(duck) = weight(girl))) -> Floats(girl) (8) A-Elimination (7)
Floats(duck) & (weight(duck) = weight(girl)) (9) And-Introduction (4) (6)
Floats(girl) (10) Implication-Elimination (Modus Ponens) (8) (9)
Floats(girl) -> Wood(girl) (11) A-Elimination (3)
Wood(girl) (12) Implication-Elimination (Modus Ponens) (11) (10)
"A witch! A witch!"
Wood(girl) -> Witch(girl) (13) A-Elimination (2)
Witch(girl) (14) Implication-Elimination (Modus Ponens) (13) (12)
"Burn her! Burn!"
Witch(girl) -> Burn(girl) (15) A-Elimination (1)
Burn(girl) (16) Implication-Elimination (Modus Ponens) (15) (14)
http://staff.washington.edu/jon/flip/www/witch.html

Mostowski Collapse schrieb am Donnerstag, 23. September 2021 um 18:19:53 UTC+2:
> A nice project could now be to redo this one,
> see how the prover would perform:
>
> FLiP, a Logical Framework in Python
> http://staff.washington.edu/jon/flip/www/index.html
>
> The prover is listed here:
>
> Proof checkers - Joseph Vidal-Rosset
> https://www.vidal-rosset.net/proof_checkers.html
>
> Ha Ha, the prover was just right in front of my nose
> all the time. But before venturing into such a quest,
> need to add occurs check to the Dogelog runtime.
>
> I had some very good dynamic optimization for
> occurs check in Jekejeke Prolog, but for Dogelog
> runtime everything is new, need to figure out what
>
> optimizations could be applied there. There is a ticket
> for occurs check already on GitHub:
>
> Bring occurs check to Dogelog runtime #143
> https://github.com/jburse/dogelog-moon/issues/143
> Mostowski Collapse schrieb am Dienstag, 21. September 2021 um 00:16:38 UTC+2:
> > Woa! There is some competition for JavaScript and
> > node.exe. PyPy is faster! Faster than GraalVM. Now
> > I get for my usual Python benchmark, figures in
> > milliseconds:
> >
> > Standard GraalVM PyPy
> > 170'996 28'523 9'755
> >
> > Not bad. Only like 2x times slower than node.exe.
> > Now imaging I can realize the ast.parse() and
> > compile() idea as well! (Made an experiment
> > today, testing some corner with evaluation)
> >
> > BTW: Here the full results. Was using:
> > pypy3.7-v7.3.5-win64\pypy3.exe
> >
> > Test Standard GraalVM PyPy
> > nrev 20'389 3'611 1'254
> > crypt 17'103 3'248 960
> > deriv 20'808 3'111 1'250
> > poly 17'518 3'045 1'149
> > qsort 20'191 3'243 1'127
> > tictac 13'761 2'469 783
> > queens 17'691 3'242 1'024
> > query 6'161 1'155 313
> > mtak 17'209 2'300 907
> > perfect 20'165 3'099 988
> > calc N/A N/A N/A
> > Total 170'996 28'523 9'755
> > Mostowski Collapse schrieb am Montag, 20. September 2021 um 20:04:42 UTC+2:
> > > Its not supposed to be readable. Its machine generated.
> > > John Harris schrieb am Montag, 20. September 2021 um 19:11:49 UTC+2:
> > > > On 19/09/2021 21:28, Mostowski Collapse wrote:
> > > >
> > > > <snip>
> > > > > const alt4 = make_defined([new Clause(1, [0, 0], function(
> > > > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > > > "==", [deref(actual.args[0]), "end_of_file"]), new Compound(
> > > > > ".", [new Compound("$CUT", [deref(display[0])]), cont
> > > > > ])]))}, 0, undefined), new Clause(1, [0, 0], function(
> > > > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > > > "expand_include", [deref(actual.args[0]), deref(actual.args[1]
> > > > > ), display[0] = new Variable()]), new Compound(".",
> > > > > [new Compound("handle_term", [deref(display[0])]), new Compound(
> > > > > ".", ["fail", cont])])]))}, -1, undefined)]);
> > > > >
> > > > > add("next_term", 1, new Clause(2, [0], function(display, actual,
> > > > > cont) {return(new Compound(".", [new Compound("read_term",
> > > > > [deref(actual.args[0]), display[0] = new Variable(),
> > > > > new Compound(".", [new Compound("variable_names", [
> > > > > display[1] = new Variable()]), "[]"])]), new Compound(
> > > > > ".", [new Compound(alt4, [deref(display[0]), deref(
> > > > > display[1])]), cont])]))}, -1, undefined));
> > > > <snip>
> > > >
> > > > Please don't show us unreadable code.
> > > >
> > > > John

Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

<4f5da245-0fe8-4921-9085-2861a4bec277n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17295&group=comp.lang.javascript#17295

  copy link   Newsgroups: comp.lang.javascript
X-Received: by 2002:ac8:41da:: with SMTP id o26mr2256050qtm.9.1632489544562;
Fri, 24 Sep 2021 06:19:04 -0700 (PDT)
X-Received: by 2002:a54:4f14:: with SMTP id e20mr1460748oiy.48.1632489544250;
Fri, 24 Sep 2021 06:19:04 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.javascript
Date: Fri, 24 Sep 2021 06:19:04 -0700 (PDT)
In-Reply-To: <c1cd44b9-b887-4b33-b05e-000d037c1d0dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <s6n47e$k2i$1@solani.org> <shnpjj$kq$1@solani.org>
<shsuur$88u$6@solani.org> <774928ca-dfdf-44a3-aca2-b8adc859a953n@googlegroups.com>
<ee650024-3f93-49a6-a482-8bc4c670f53bn@googlegroups.com> <sht860$8mn$1@solani.org>
<06634892-3f01-49dd-8be0-9cdee4e7ec19n@googlegroups.com> <a6ce9630-e960-4a4f-8f5b-d08adb3a9caan@googlegroups.com>
<618ab33c-e631-45dc-9d57-483230996c10n@googlegroups.com> <siafcg$7aa$1@dont-email.me>
<6ee79c9c-9296-48f1-803c-04a57a07028cn@googlegroups.com> <de529d3f-86c0-452a-82a6-41f7b7e75a1dn@googlegroups.com>
<6e93703a-6483-4f12-92f3-fb769730d90en@googlegroups.com> <c1cd44b9-b887-4b33-b05e-000d037c1d0dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4f5da245-0fe8-4921-9085-2861a4bec277n@googlegroups.com>
Subject: Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Fri, 24 Sep 2021 13:19:04 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 161
 by: Mostowski Collapse - Fri, 24 Sep 2021 13:19 UTC

In reference to:
https://groups.google.com/g/comp.lang.python/c/-F7dLYmN9sM/m/lN1rwbIgAgAJ

Mark Lawrence is also not visible on pipermail? Ha Ha, thats
the problem with this censoring, its like cherry picking, allmost
like the aledged organ trade in republic of china, We now

have the case that somebody picked up some link via another
Python channel, like the uncensored google groups, but on the
pipermail channel even the original link is not visible.

The annoying thing nowadays, you don't get an email anymore
that tells you "We are sorry, but we have banned you", this would
be too flattering and possibly make you famous, it all works now

under the hood as reported here:

What Are Shadowbans?
Shadowbans block a user or individual pieces of content
without letting the offending user know they’ve been blocked.
https://builtin.com/marketing/shadowban

I must admit, I have applauded when Donald Trump was
banned from twitter, but this "management" of programming
language groups gets ridiculous.

Mostowski Collapse schrieb am Donnerstag, 23. September 2021 um 18:39:58 UTC+2:
> That I get censored on Python pipermail, is possibly an
> out burst of taking Python too literal, like here:
>
> Monty Python - She's a witch!
> https://www.youtube.com/watch?v=zrzMhU_4m-g
>
> But we can turn this into a FLiP, a Logical Framework in Python exercise:
>
> "There are ways of telling whether she's a witch."
> "What do you do with witches?" "Burn them!"
> Ax.(Witch(x) -> Burn(x)) (1) Given
> "Why do witches burn?" "'Cause they're made of wood!"
> Ax.(Wood(x) -> Witch(x)) (2) Given
> "How do we tell if she's made of wood?" "Does wood sink in water?" "It floats!"
> Ax.(Floats(x) -> Wood(x)) (3) Given
> "What also floats in water?" "A duck!"
> Floats(duck) (4) Given
> "Exactly! So, logically ..."
> "If she weights the same as a duck, she's made of wood!"
> Ax.Ay.((Floats(x) & (weight(x) = weight(y))) -> Floats(y)) (5) Given
> "We shall use my largest scales. ... Remove the supports!"
> weight(duck) = weight(girl) (6) Given
> Ay.((Floats(duck) & (weight(duck) = weight(y))) -> Floats(y)) (7) A-Elimination (5)
> (Floats(duck) & (weight(duck) = weight(girl))) -> Floats(girl) (8) A-Elimination (7)
> Floats(duck) & (weight(duck) = weight(girl)) (9) And-Introduction (4) (6)
> Floats(girl) (10) Implication-Elimination (Modus Ponens) (8) (9)
> Floats(girl) -> Wood(girl) (11) A-Elimination (3)
> Wood(girl) (12) Implication-Elimination (Modus Ponens) (11) (10)
> "A witch! A witch!"
> Wood(girl) -> Witch(girl) (13) A-Elimination (2)
> Witch(girl) (14) Implication-Elimination (Modus Ponens) (13) (12)
> "Burn her! Burn!"
> Witch(girl) -> Burn(girl) (15) A-Elimination (1)
> Burn(girl) (16) Implication-Elimination (Modus Ponens) (15) (14)
> http://staff.washington.edu/jon/flip/www/witch.html
> Mostowski Collapse schrieb am Donnerstag, 23. September 2021 um 18:19:53 UTC+2:
> > A nice project could now be to redo this one,
> > see how the prover would perform:
> >
> > FLiP, a Logical Framework in Python
> > http://staff.washington.edu/jon/flip/www/index.html
> >
> > The prover is listed here:
> >
> > Proof checkers - Joseph Vidal-Rosset
> > https://www.vidal-rosset.net/proof_checkers.html
> >
> > Ha Ha, the prover was just right in front of my nose
> > all the time. But before venturing into such a quest,
> > need to add occurs check to the Dogelog runtime.
> >
> > I had some very good dynamic optimization for
> > occurs check in Jekejeke Prolog, but for Dogelog
> > runtime everything is new, need to figure out what
> >
> > optimizations could be applied there. There is a ticket
> > for occurs check already on GitHub:
> >
> > Bring occurs check to Dogelog runtime #143
> > https://github.com/jburse/dogelog-moon/issues/143
> > Mostowski Collapse schrieb am Dienstag, 21. September 2021 um 00:16:38 UTC+2:
> > > Woa! There is some competition for JavaScript and
> > > node.exe. PyPy is faster! Faster than GraalVM. Now
> > > I get for my usual Python benchmark, figures in
> > > milliseconds:
> > >
> > > Standard GraalVM PyPy
> > > 170'996 28'523 9'755
> > >
> > > Not bad. Only like 2x times slower than node.exe.
> > > Now imaging I can realize the ast.parse() and
> > > compile() idea as well! (Made an experiment
> > > today, testing some corner with evaluation)
> > >
> > > BTW: Here the full results. Was using:
> > > pypy3.7-v7.3.5-win64\pypy3.exe
> > >
> > > Test Standard GraalVM PyPy
> > > nrev 20'389 3'611 1'254
> > > crypt 17'103 3'248 960
> > > deriv 20'808 3'111 1'250
> > > poly 17'518 3'045 1'149
> > > qsort 20'191 3'243 1'127
> > > tictac 13'761 2'469 783
> > > queens 17'691 3'242 1'024
> > > query 6'161 1'155 313
> > > mtak 17'209 2'300 907
> > > perfect 20'165 3'099 988
> > > calc N/A N/A N/A
> > > Total 170'996 28'523 9'755
> > > Mostowski Collapse schrieb am Montag, 20. September 2021 um 20:04:42 UTC+2:
> > > > Its not supposed to be readable. Its machine generated.
> > > > John Harris schrieb am Montag, 20. September 2021 um 19:11:49 UTC+2:
> > > > > On 19/09/2021 21:28, Mostowski Collapse wrote:
> > > > >
> > > > > <snip>
> > > > > > const alt4 = make_defined([new Clause(1, [0, 0], function(
> > > > > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > > > > "==", [deref(actual.args[0]), "end_of_file"]), new Compound(
> > > > > > ".", [new Compound("$CUT", [deref(display[0])]), cont
> > > > > > ])]))}, 0, undefined), new Clause(1, [0, 0], function(
> > > > > > display, actual, cont) {return(new Compound(".", [new Compound(
> > > > > > "expand_include", [deref(actual.args[0]), deref(actual.args[1]
> > > > > > ), display[0] = new Variable()]), new Compound(".",
> > > > > > [new Compound("handle_term", [deref(display[0])]), new Compound(
> > > > > > ".", ["fail", cont])])]))}, -1, undefined)]);
> > > > > >
> > > > > > add("next_term", 1, new Clause(2, [0], function(display, actual,
> > > > > > cont) {return(new Compound(".", [new Compound("read_term",
> > > > > > [deref(actual.args[0]), display[0] = new Variable(),
> > > > > > new Compound(".", [new Compound("variable_names", [
> > > > > > display[1] = new Variable()]), "[]"])]), new Compound(
> > > > > > ".", [new Compound(alt4, [deref(display[0]), deref(
> > > > > > display[1])]), cont])]))}, -1, undefined));
> > > > > <snip>
> > > > >
> > > > > Please don't show us unreadable code.
> > > > >
> > > > > John


devel / comp.lang.javascript / Re: ANN: Dogelog Runtime, Prolog to the Moon (2021)

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor