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


Groups > comp.lang.javascript > #40030 > unrolled thread

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

Started byMostowski Collapse <janburse@fastmail.fm>
First post2021-05-02 23:05 +0200
Last post2021-09-24 06:19 -0700
Articles 20 on this page of 32 — 5 participants

Back to article view | Back to comp.lang.javascript


Contents

  ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <janburse@fastmail.fm> - 2021-05-02 23:05 +0200
    Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mina Arvuti lähedal <ya12983@mail.com> - 2021-05-25 18:44 -0700
    Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <janburse@fastmail.fm> - 2021-06-09 14:59 +0200
    Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-06-12 16:59 -0700
      Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-06-12 17:01 -0700
        Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-06-17 01:45 -0700
          Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <janburse@fastmail.fm> - 2021-06-23 14:57 +0200
            Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-06-25 04:00 -0700
              Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-06-25 05:02 -0700
                Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-07-10 16:50 -0700
                  Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-07-12 01:04 -0700
                    Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-08-02 09:48 -0700
                      Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-08-11 08:28 -0700
                        Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-08-12 10:40 -0700
                          Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-08-12 10:42 -0700
                            Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-08-14 06:04 -0700
                              Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-02 09:38 -0700
                                Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-05 05:13 -0700
    Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <janburse@fastmail.fm> - 2021-09-13 17:09 +0200
      Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <janburse@fastmail.fm> - 2021-09-15 16:11 +0200
        Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Julio Di Egidio <julio@diegidio.name> - 2021-09-15 08:46 -0700
          Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Julio Di Egidio <julio@diegidio.name> - 2021-09-15 08:49 -0700
            Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <janburse@fastmail.fm> - 2021-09-15 18:49 +0200
              Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-16 13:27 -0700
                Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-16 14:48 -0700
                  Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-19 13:28 -0700
                    Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) John Harris <niam@jghnorth.org.uk.invalid> - 2021-09-20 18:11 +0100
                      Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-20 11:04 -0700
                        Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-20 15:16 -0700
                          Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-23 09:19 -0700
                            Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-23 09:39 -0700
                              Re: ANN: Dogelog Runtime, Prolog to the Moon (2021) Mostowski Collapse <bursejan@gmail.com> - 2021-09-24 06:19 -0700

Page 1 of 2  [1] 2  Next page →


#40030 — ANN: Dogelog Runtime, Prolog to the Moon (2021)

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-05-02 23:05 +0200
SubjectANN: Dogelog Runtime, Prolog to the Moon (2021)
Message-ID<s6n47e$k2i$1@solani.org>
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

[toc] | [next] | [standalone]


#40165

FromMina Arvuti lähedal <ya12983@mail.com>
Date2021-05-25 18:44 -0700
Message-ID<f21de541-605c-472d-a771-6ddd496d4c19n@googlegroups.com>
In reply to#40030
Mostowski Collapse kirjutas esmaspäev, 3. mai 2021 kl 00:05:58 UTC+3:
> Dear All, 
> 
> Ok a simple mark and sweep works, and 
> a simple trigger mechanis}§½^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^}¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^`}§½^^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^´^§¨§§@@\}`}§½^¨´½^}`}§½^½^}`}§½^´¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^}¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^`}§½^^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^´^§¨§§@@\}`}§½^¨´½^}`}§½^½^}`}§½^´¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^}¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^`}§½^^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^´^§¨§§@@\}`}§½^¨´½^}`}§½^½^}`}§½^´¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^§¨§´^§¨§§@@\}`}§½^´^§¨§§@@\}`}§½^¨´½^}`}§½^^}¨§§@@}`}}`}§ ̣<>`}§ ̣<><^´^§¨§´^§¨§m 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

[toc] | [prev] | [next] | [standalone]


#40198

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-06-09 14:59 +0200
Message-ID<s9qdvh$qci$1@solani.org>
In reply to#40030
Ha Ha, AI is going servers:

HumanE AI Net Virtual Lab  - Unimore, 2021
https://www.youtube.com/watch?v=KvcK5V48jx0

Whats the result, some payed service?
Dogelog will be client, and payed through

dogecoins of course. Just joking.

Mostowski Collapse schrieb:
> 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

[toc] | [prev] | [next] | [standalone]


#40203

FromMostowski Collapse <bursejan@gmail.com>
Date2021-06-12 16:59 -0700
Message-ID<880758d3-f7eb-4205-9a22-ac6be8db9043n@googlegroups.com>
In reply to#40030
Hi

Thomas 'PointedEars' Lahn was thinking hard and then lamented:

Thomas 'PointedEars' Lahn schrieb am Samstag, 12. Juni 2021 um 22:24:13 UTC+2:
> Also, you cannot expect everyone to know what you are advertising, or visit 
> the Web site (if any) to find out. So one can reasonably expect that you 
> first say what it *is* that you are advertising.

It is what it is, and it was already explained in this thread.
 Its the same thing like TauProlog. So guess what it is?

LoL

Bye

Mostowski Collapse schrieb am Sonntag, 2. Mai 2021 um 23:05:58 UTC+2:
> 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

[toc] | [prev] | [next] | [standalone]


#40204

FromMostowski Collapse <bursejan@gmail.com>
Date2021-06-12 17:01 -0700
Message-ID<2f343695-da3b-4468-ac76-d95becdcf22cn@googlegroups.com>
In reply to#40203
BTW: Dogelog got its first official manual: 
https://github.com/jburse/dogelog-moon/blob/main/manual/package.pdf

Enjoy!

Mostowski Collapse schrieb am Sonntag, 13. Juni 2021 um 01:59:38 UTC+2:
> Hi 
> 
> Thomas 'PointedEars' Lahn was thinking hard and then lamented: 
> 
> Thomas 'PointedEars' Lahn schrieb am Samstag, 12. Juni 2021 um 22:24:13 UTC+2: 
> > Also, you cannot expect everyone to know what you are advertising, or visit 
> > the Web site (if any) to find out. So one can reasonably expect that you 
> > first say what it *is* that you are advertising. 
> 
> It is what it is, and it was already explained in this thread. 
> Its the same thing like TauProlog. So guess what it is? 
> 
> LoL 
> 
> Bye
> Mostowski Collapse schrieb am Sonntag, 2. Mai 2021 um 23:05:58 UTC+2: 
> > 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

[toc] | [prev] | [next] | [standalone]


#40222

FromMostowski Collapse <bursejan@gmail.com>
Date2021-06-17 01:45 -0700
Message-ID<6d2e672c-174a-4f55-9973-bb981ce78fc8n@googlegroups.com>
In reply to#40204
Preview: Dogelog can be embedded in stackoverflow. (Jekejeke)
https://stackoverflow.com/a/67990574/502187 

Mostowski Collapse schrieb am Sonntag, 13. Juni 2021 um 02:01:46 UTC+2:
> BTW: Dogelog got its first official manual: 
> https://github.com/jburse/dogelog-moon/blob/main/manual/package.pdf 
> 
> Enjoy!
> Mostowski Collapse schrieb am Sonntag, 13. Juni 2021 um 01:59:38 UTC+2: 
> > Hi 
> > 
> > Thomas 'PointedEars' Lahn was thinking hard and then lamented: 
> > 
> > Thomas 'PointedEars' Lahn schrieb am Samstag, 12. Juni 2021 um 22:24:13 UTC+2: 
> > > Also, you cannot expect everyone to know what you are advertising, or visit 
> > > the Web site (if any) to find out. So one can reasonably expect that you 
> > > first say what it *is* that you are advertising. 
> > 
> > It is what it is, and it was already explained in this thread. 
> > Its the same thing like TauProlog. So guess what it is? 
> > 
> > LoL 
> > 
> > Bye 
> > Mostowski Collapse schrieb am Sonntag, 2. Mai 2021 um 23:05:58 UTC+2: 
> > > 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

[toc] | [prev] | [next] | [standalone]


#40238

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-06-23 14:57 +0200
Message-ID<savb4a$f2i$1@solani.org>
In reply to#40222
Since (->)/2 inlining works, Dogelog is now old enough for its
own group. Dogelog got its own Facebook Group!

https://www.facebook.com/groups/dogelog

Mostowski Collapse schrieb:
> 
> Preview: Dogelog can be embedded in stackoverflow. (Jekejeke)
> https://stackoverflow.com/a/67990574/502187

Mostowski Collapse schrieb am Sonntag, 2. Mai 2021 um 23:05:58 UTC+2:
 > 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

[toc] | [prev] | [next] | [standalone]


#40245

FromMostowski Collapse <bursejan@gmail.com>
Date2021-06-25 04:00 -0700
Message-ID<0f6afaa6-3d4c-4489-a8cc-212c464624dan@googlegroups.com>
In reply to#40238
The new Android Store/Emulator inside Windows 11
is probably an anachronism, flogging a dead horse.

It seems JavaScript is everywhere, even Artificial
Intelligence becomes cookie cutting:

I built a Distance Matrix Routing App in React!
https://www.youtube.com/watch?v=43jfFU4FJZo

Mostowski Collapse schrieb am Mittwoch, 23. Juni 2021 um 14:57:55 UTC+2:
> Since (->)/2 inlining works, Dogelog is now old enough for its 
> own group. Dogelog got its own Facebook Group! 
> 
> https://www.facebook.com/groups/dogelog 
> 
> Mostowski Collapse schrieb:
> > 
> > Preview: Dogelog can be embedded in stackoverflow. (Jekejeke) 
> > https://stackoverflow.com/a/67990574/502187
> Mostowski Collapse schrieb am Sonntag, 2. Mai 2021 um 23:05:58 UTC+2: 
> > 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

[toc] | [prev] | [next] | [standalone]


#40247

FromMostowski Collapse <bursejan@gmail.com>
Date2021-06-25 05:02 -0700
Message-ID<b56c48d0-106f-4426-b4db-98688230a4f3n@googlegroups.com>
In reply to#40245
Something like this might do the job in the future,
and replace Android and iOS apps. Dunno?

https://www.w3.org/TR/miniapp-lifecycle/

Mostowski Collapse schrieb am Freitag, 25. Juni 2021 um 13:01:01 UTC+2:
> The new Android Store/Emulator inside Windows 11 
> is probably an anachronism, flogging a dead horse. 
> 
> It seems JavaScript is everywhere, even Artificial 
> Intelligence becomes cookie cutting: 
> 
> I built a Distance Matrix Routing App in React! 
> https://www.youtube.com/watch?v=43jfFU4FJZo
> Mostowski Collapse schrieb am Mittwoch, 23. Juni 2021 um 14:57:55 UTC+2: 
> > Since (->)/2 inlining works, Dogelog is now old enough for its 
> > own group. Dogelog got its own Facebook Group! 
> > 
> > https://www.facebook.com/groups/dogelog 
> > 
> > Mostowski Collapse schrieb: 
> > > 
> > > Preview: Dogelog can be embedded in stackoverflow. (Jekejeke) 
> > > https://stackoverflow.com/a/67990574/502187 
> > Mostowski Collapse schrieb am Sonntag, 2. Mai 2021 um 23:05:58 UTC+2: 
> > > 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

[toc] | [prev] | [next] | [standalone]


#40292

FromMostowski Collapse <bursejan@gmail.com>
Date2021-07-10 16:50 -0700
Message-ID<b2ab20d6-e100-4796-b5c1-82aa6b9536b7n@googlegroups.com>
In reply to#40247
Noice! One less problem:
**Bringing Unicode to Prolog (Dogelog Runtime)**

Was checking out what Logtalk does. They have Prolog text here:

https://github.com/LogtalkDotOrg/logtalk3/tree/master/library/unicode_data/unicode_categories

These Prolog texts contain facts like:

unicode_category_(0x00AD, 'Cf').
unicode_category_(0x0600, 'Cf').
unicode_category_(0x0601, 'Cf').
unicode_category_(0x0602, 'Cf').
unicode_category_(0x0603, 'Cf').
unicode_category_(0x0604, 'Cf').
unicode_category_(0x06DD, 'Cf').
unicode_category_(0x070F, 'Cf').
Etc...

This might be feasible standalone, but if we want to deliver JavaScript files
over the wire into the browser, its possibly not a good idea to have
facts with 1114111 entries. So we made a little Unicode compressor:

compression took 109 ms

pool.size()*PARA_SIZE= 8384
pool2.size()*BLOCK_SIZE= 3072
MAX_BLOCK= 1088
Total= 12544

The compression ratio is 1%. The 1114111 entries boil down
to 12544 entries. See also:

Preview: Unicode general categories Prolog API. (Jekejeke)
https://gist.github.com/jburse/03c9b3cec528288d5c29c3d8bbb986c2#gistcomment-3808667

[toc] | [prev] | [next] | [standalone]


#40294

FromMostowski Collapse <bursejan@gmail.com>
Date2021-07-12 01:04 -0700
Message-ID<161ea55a-76d2-4829-a659-c18e7d8ca8een@googlegroups.com>
In reply to#40292
More progress in the Unicode domain, so that we can
leave Unicode behind and move to other things. Unicode
code points, that they can represent a numeric value.

Some exotic and not so exotic examples are seen here:

unicode_numerical_value(0x0D75, 0.75, 3/4). % No MALAYALAM FRACTION THREE QUARTERS
unicode_numerical_value(0x096C, 6.0, 6). % Nd DEVANAGARI DIGIT SIX
unicode_numerical_value(0x216E, 500.0, 500). % Nl ROMAN NUMERAL FIVE HUNDRED

We decided to replicate the Character.digit() API from Java. This API
only returns numeric values that are integer and that are between 0 and 35.
Otherwise the API returns -1.

Can we compress like before? Yes!

Without Numeric With Numeric
pool.size()*PARA_SIZE= 8384 8416
pool2.size()*BLOCK_SIZE= 3072 3072
MAX_BLOCK= 1088 1088
Total= 12544 12576

See also:

Preview: Unicode numeric values Prolog API. (Jekejeke)
https://twitter.com/dogelogch/status/1414493706124767237

Or if you are not on Twitter, but on Facebook:

Preview: Unicode numeric values Prolog API. (Jekejeke)
https://www.facebook.com/groups/dogelog 

Mostowski Collapse schrieb am Sonntag, 11. Juli 2021 um 01:50:25 UTC+2:
> Noice! One less problem: 
> **Bringing Unicode to Prolog (Dogelog Runtime)** 
> 
> Was checking out what Logtalk does. They have Prolog text here: 
> 
> https://github.com/LogtalkDotOrg/logtalk3/tree/master/library/unicode_data/unicode_categories 
> 
> These Prolog texts contain facts like: 
> 
> unicode_category_(0x00AD, 'Cf'). 
> unicode_category_(0x0600, 'Cf'). 
> unicode_category_(0x0601, 'Cf'). 
> unicode_category_(0x0602, 'Cf'). 
> unicode_category_(0x0603, 'Cf'). 
> unicode_category_(0x0604, 'Cf'). 
> unicode_category_(0x06DD, 'Cf'). 
> unicode_category_(0x070F, 'Cf'). 
> Etc... 
> 
> This might be feasible standalone, but if we want to deliver JavaScript files 
> over the wire into the browser, its possibly not a good idea to have 
> facts with 1114111 entries. So we made a little Unicode compressor: 
> 
> compression took 109 ms 
> 
> pool.size()*PARA_SIZE= 8384 
> pool2.size()*BLOCK_SIZE= 3072 
> MAX_BLOCK= 1088 
> Total= 12544 
> 
> The compression ratio is 1%. The 1114111 entries boil down 
> to 12544 entries. See also: 
> 
> Preview: Unicode general categories Prolog API. (Jekejeke) 
> https://gist.github.com/jburse/03c9b3cec528288d5c29c3d8bbb986c2#gistcomment-3808667

[toc] | [prev] | [next] | [standalone]


#40321

FromMostowski Collapse <bursejan@gmail.com>
Date2021-08-02 09:48 -0700
Message-ID<608f091a-f282-4105-8b2e-3c20d38048b3n@googlegroups.com>
In reply to#40294
Dear All,

Teaching Dogelog more tricks. From now on you don't
need to use (:-)/2 together with write/1 and friends.
There is a new (?-)/2, and you can for example input:

append([], X, X).
append([X|Y], Z, [X|T]) :- append(Y, Z, T).

?- limit(2,offset(1,append(X, Y, [1,2,3]))).

It will then automatically show:

X = [1], Y = [2, 3];
X = [1, 2], Y = [3]

See also:

Preview: Unattended Dogelog query answers. (Jekejeke)
https://twitter.com/dogelogch/status/1422206395798204422

Preview: Unattended Dogelog query answers. (Jekejeke)
https://www.facebook.com/groups/dogelog

Have Fun!

[toc] | [prev] | [next] | [standalone]


#40343

FromMostowski Collapse <bursejan@gmail.com>
Date2021-08-11 08:28 -0700
Message-ID<054935b0-a02b-4bd4-b797-85f51d1527c0n@googlegroups.com>
In reply to#40321
It seems JavaScript gives us all we need. We use two different
file name normalization depending on whether the Dogelog
runtime runs inside a browser or from within node.js:

- Inside node.js:
We perform file name normalization as follows:

res = fs.realpathSync(url);

- Inside a browser:
We perform file name normalization as follows:

let request = new XMLHttpRequest();
request.open('HEAD', url, false);
request.send();
res = request.responseURL;

The predicate absolute_file_name/2 is not found in the ISO
core standard. We use the absolute file name to log what has
been loaded. There is also a new predicate current_source/1

to inspect this log. See also:

Preview: Predicate ensure_loaded/1 for Dogelog runtime. (Jekejeke)
https://twitter.com/dogelogch/status/1425216777890451456

Preview: Predicate ensure_loaded/1 for Dogelog runtime. (Jekejeke)
https://www.facebook.com/groups/dogelog

Mostowski Collapse schrieb am Montag, 2. August 2021 um 18:48:07 UTC+2:
> Dear All, 
> 
> Teaching Dogelog more tricks. From now on you don't 
> need to use (:-)/2 together with write/1 and friends. 
> There is a new (?-)/2, and you can for example input: 
> 
> append([], X, X). 
> append([X|Y], Z, [X|T]) :- append(Y, Z, T). 
> 
> ?- limit(2,offset(1,append(X, Y, [1,2,3]))). 
> 
> It will then automatically show: 
> 
> X = [1], Y = [2, 3]; 
> X = [1, 2], Y = [3] 
> 
> See also: 
> 
> Preview: Unattended Dogelog query answers. (Jekejeke) 
> https://twitter.com/dogelogch/status/1422206395798204422 
> 
> Preview: Unattended Dogelog query answers. (Jekejeke) 
> https://www.facebook.com/groups/dogelog 
> 
> Have Fun!

[toc] | [prev] | [next] | [standalone]


#40344

FromMostowski Collapse <bursejan@gmail.com>
Date2021-08-12 10:40 -0700
Message-ID<2490fcb9-30ba-4652-a26e-a1b1c5b858e4n@googlegroups.com>
In reply to#40343
There are rumors, that Forth was prototyped in Prolog, 
similar like Erlang was born. In some astronomic observatory 
in Argentina they found this fragment:

forth([Op|Rest]) --> word(Op), forth(Rest).
forth([]) --> [].

word(+), [Result] --> [Number1, Number2], {Result is Number1+Number2}.
word(*), [Result] --> [Number1, Number2], {Result is Number1*Number2}.
word(Number), [Number] --> {number(Number)}.

?- forth([5,3,+,7,2,+,*],[],X).
X = [72] .

[toc] | [prev] | [next] | [standalone]


#40345

FromMostowski Collapse <bursejan@gmail.com>
Date2021-08-12 10:42 -0700
Message-ID<599c7cd4-040b-41ce-a900-44522c7bb9b5n@googlegroups.com>
In reply to#40344
Bug the Dogelog runtime does not yet have DCG.
This is an open ticket, dunno yet when it gets closed:

Will need DCG for Dogelog self compilation #2
https://github.com/jburse/dogelog-moon/issues/2

What is DCG:

There is a special notation called definite clause grammars (DCGs).
https://en.wikipedia.org/wiki/Prolog_syntax_and_semantics#Definite_clause_grammars 

Mostowski Collapse schrieb am Donnerstag, 12. August 2021 um 19:40:40 UTC+2:
> There are rumors, that Forth was prototyped in Prolog, 
> similar like Erlang was born. In some astronomic observatory 
> in Argentina they found this fragment: 
> 
> forth([Op|Rest]) --> word(Op), forth(Rest). 
> forth([]) --> []. 
> 
> word(+), [Result] --> [Number1, Number2], {Result is Number1+Number2}. 
> word(*), [Result] --> [Number1, Number2], {Result is Number1*Number2}. 
> word(Number), [Number] --> {number(Number)}. 
> 
> ?- forth([5,3,+,7,2,+,*],[],X). 
> X = [72] .

[toc] | [prev] | [next] | [standalone]


#40346

FromMostowski Collapse <bursejan@gmail.com>
Date2021-08-14 06:04 -0700
Message-ID<567af094-b7be-463d-bd49-9f7023ce5cd5n@googlegroups.com>
In reply to#40345
The Dogelog runtime progressed over the last weeks. The milestones
were ensure_loaded/1 for ISO core standard conforming Prolog texts,
and unattended query answerer and recently first argument indexing.

Despite all this progress we have the feeling that the real potential
of the Dogelog runtime has not yet been demonstrated. Namely that
the cross compiler opens the door to many new platforms and not

only the JavaScript platform. So here are some first beginnings:

Python Version of Dogelog Runtime machine
https://twitter.com/dogelogch/status/1426528779707502592

Python Version of Dogelog Runtime machine
https://www.facebook.com/groups/dogelog

[toc] | [prev] | [next] | [standalone]


#40365

FromMostowski Collapse <bursejan@gmail.com>
Date2021-09-02 09:38 -0700
Message-ID<c38086e5-8d02-4dd5-a6c5-44ed4faa9af2n@googlegroups.com>
In reply to#40346
More best kept secrets of Prolog: Pattern Matching

Everybody loves pattern matching. Languages
like Python, release 3.10, even provide it
now. There is now a match/case statement

in Python. But Prolog users will scratch their
head. Will my if-then-else be as fast as a
imperative switch jump table lookup?

Dogelog runtime has stepped up its game
concerning pattern matching. It now provides
ECLiPSe Prolog disjunction and if-then-else

indexing. Take this example:

?- [user].
foo(X,Y) :- X=baz, Y=2; X=bar -> Y=1.

SWI-Prolog leaves a choice point, so no
clause indexing used:

/* SWI-Prolog 8.3.26 */
?- foo(baz,Z).
Z = 2 ; %%% Spurious Choice Point
false.

Dogelog doesn't leave a choice point, since
it can index the disjunction and if-then-else:

/* Dogelog Runtime 0.9.3 */
?- foo(baz,Z).
Z = 2. %%% No Choice Point

See also:

Preview: Dogelog disjunction and if-then-else indexing. (Jekejeke)
https://twitter.com/dogelogch/status/1433446729974796293

Preview: Dogelog disjunction and if-then-else indexing. (Jekejeke)
https://www.facebook.com/groups/dogelog 

Mostowski Collapse schrieb am Samstag, 14. August 2021 um 15:04:55 UTC+2:
> The Dogelog runtime progressed over the last weeks. The milestones 
> were ensure_loaded/1 for ISO core standard conforming Prolog texts, 
> and unattended query answerer and recently first argument indexing. 
> 
> Despite all this progress we have the feeling that the real potential 
> of the Dogelog runtime has not yet been demonstrated. Namely that 
> the cross compiler opens the door to many new platforms and not 
> 
> only the JavaScript platform. So here are some first beginnings: 
> 
> Python Version of Dogelog Runtime machine 
> https://twitter.com/dogelogch/status/1426528779707502592 
> 
> Python Version of Dogelog Runtime machine 
> https://www.facebook.com/groups/dogelog

[toc] | [prev] | [next] | [standalone]


#40371

FromMostowski Collapse <bursejan@gmail.com>
Date2021-09-05 05:13 -0700
Message-ID<c854507b-de1b-40d3-8b96-6f588d313f2cn@googlegroups.com>
In reply to#40365
We finally sat down and implemented eval_term(). The new
eval_term() routine makes our Prolog based implementation of is/2
obsolete. The old realization did use (=..)/2 in two places

and call/1. The new implementation bypasses Prolog and
directly uses host language means. We tested the new version
of Dogelog runtime agains the current Scryer-Prolog version:

Preview: Dogelog Runtime beats Scryer Prolog by 30%. (Jekejeke)
https://twitter.com/dogelogch/status/1434318760064790530

Preview: Dogelog Runtime beats Scryer Prolog by 30%. (Jekejeke)
https://www.facebook.com/groups/dogelog

Although this is an encouraging result, it has also its drawbacks.
One might wish that a (=..)/2 and call/1 based implementation is
fast enough. Also a Prolog based implementation has the

advantage that it works with user defined predicates as evaluable
functions as well. We had a bridge in Jekejeke Prolog to allow that.
A next step is to bring this bridge also to Dogelog runtime, so that

user defined evaluable functions become possible as well.
Or invent something new to have the cake and eat it too. 

[toc] | [prev] | [next] | [standalone]


#40380

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-09-13 17:09 +0200
Message-ID<shnpjj$kq$1@solani.org>
In reply to#40030
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

[toc] | [prev] | [next] | [standalone]


#40381

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-09-15 16:11 +0200
Message-ID<shsuur$88u$6@solani.org>
In reply to#40380
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
> 

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.javascript


csiph-web