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


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

ANN: Dogelog: We Have Liftoff, We Have Liftoff

Started byMostowski Collapse <janburse@fastmail.fm>
First post2021-05-25 00:18 +0200
Last post2021-11-07 16:24 -0800
Articles 4 — 2 participants

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


Contents

  ANN: Dogelog: We Have Liftoff, We Have Liftoff Mostowski Collapse <janburse@fastmail.fm> - 2021-05-25 00:18 +0200
    Re: ANN: Dogelog: We Have Liftoff, We Have Liftoff Mostowski Collapse <janburse@fastmail.fm> - 2021-08-19 23:38 +0200
      Re: ANN: Dogelog: We Have Liftoff, We Have Liftoff Mostowski Collapse <bursejan@gmail.com> - 2021-08-19 14:40 -0700
        Re: ANN: Dogelog: We Have Liftoff, We Have Liftoff Mostowski Collapse <bursejan@gmail.com> - 2021-11-07 16:24 -0800

#40149 — ANN: Dogelog: We Have Liftoff, We Have Liftoff

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-05-25 00:18 +0200
SubjectANN: Dogelog: We Have Liftoff, We Have Liftoff
Message-ID<s8h8nq$61e$1@solani.org>
Dear All,

Needs a decent browser, JavaScript >2015

http://www.dogelog.ch/

Currently swallows errors silently. Everything written
in Prolog itself, read/1, consult/1, etc.. and then cross
compiled into JavaScript. Not sure whether it can already

compile itself. But it has a text field and can add the
clauses in the text field and execute the directives in the
text field, and it has write/1 and nl/0 into the HTML document.

More care for the good boy upcoming.

Have Fun!

Jan Burse, 24.05.2021 #StaySafe
http://www.jekejeke.ch/

[toc] | [next] | [standalone]


#40350

FromMostowski Collapse <janburse@fastmail.fm>
Date2021-08-19 23:38 +0200
Message-ID<sfmivo$i4h$3@solani.org>
In reply to#40149
Woa! The JavaScript JIT compiler is quite impressive. I now
ported Dogelog runtime to Python as well, so that I can compare
JavaScript and Python, and tested without clause indexing:

between(L,H,L) :- L =< H.
between(L,H,X) :- L < H, Y is L+1, between(Y,H,X).

setup :- between(1,255,N), M is N//2, assertz(edge(M,N)), fail.
setup :- edge(M,N), assertz(edge2(N,M)), fail.
setup.

anc(X,Y) :- edge(X, Y).
anc(X,Y) :- edge(X, Z), anc(Z, Y).

anc2(X,Y) :- edge2(Y, X).
anc2(X,Y) :- edge2(Y, Z), anc2(X, Z).

:- setup.
:- time((between(1,10,_), anc2(0,255), fail; true)).
:- time((between(1,10,_), anc(0,255), fail; true)).

The results are:

/* Python 3.10.0rc1 */
% Wall 188 ms, trim 0 ms
% Wall 5537 ms, trim 0 ms

/* JavaScript Chrome 92.0.4515.159 */
% Wall 5 ms, trim 0 ms
% Wall 147 ms, trim 0 ms

Mostowski Collapse schrieb:
> Dear All,
> 
> Needs a decent browser, JavaScript >2015
> 
> http://www.dogelog.ch/
> 
> Currently swallows errors silently. Everything written
> in Prolog itself, read/1, consult/1, etc.. and then cross
> compiled into JavaScript. Not sure whether it can already
> 
> compile itself. But it has a text field and can add the
> clauses in the text field and execute the directives in the
> text field, and it has write/1 and nl/0 into the HTML document.
> 
> More care for the good boy upcoming.
> 
> Have Fun!
> 
> Jan Burse, 24.05.2021 #StaySafe
> http://www.jekejeke.ch/

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


#40351

FromMostowski Collapse <bursejan@gmail.com>
Date2021-08-19 14:40 -0700
Message-ID<4efffedb-9d5b-4975-9cad-84e2d698c10an@googlegroups.com>
In reply to#40350
Thats a factor 37.8 faster! I tested the a variant of
the Albufeira instructions Prolog VM aka ZIP, which
was also the inspiration for SWI-Prolog.

Open Source:

The Python Version of the Dogelog Runtime
https://github.com/jburse/dogelog-moon/tree/main/devel/runtimepy

The Python Test Harness
https://gist.github.com/jburse/bf6c01c7524f2611d606cb88983da9d6#file-test-py 

Mostowski Collapse schrieb am Donnerstag, 19. August 2021 um 23:38:09 UTC+2:
> Woa! The JavaScript JIT compiler is quite impressive. I now 
> ported Dogelog runtime to Python as well, so that I can compare 
> JavaScript and Python, and tested without clause indexing: 
> 
> between(L,H,L) :- L =< H. 
> between(L,H,X) :- L < H, Y is L+1, between(Y,H,X). 
> 
> setup :- between(1,255,N), M is N//2, assertz(edge(M,N)), fail. 
> setup :- edge(M,N), assertz(edge2(N,M)), fail. 
> setup. 
> 
> anc(X,Y) :- edge(X, Y). 
> anc(X,Y) :- edge(X, Z), anc(Z, Y). 
> 
> anc2(X,Y) :- edge2(Y, X). 
> anc2(X,Y) :- edge2(Y, Z), anc2(X, Z). 
> 
> :- setup. 
> :- time((between(1,10,_), anc2(0,255), fail; true)). 
> :- time((between(1,10,_), anc(0,255), fail; true)). 
> 
> The results are: 
> 
> /* Python 3.10.0rc1 */ 
> % Wall 188 ms, trim 0 ms 
> % Wall 5537 ms, trim 0 ms 
> 
> /* JavaScript Chrome 92.0.4515.159 */ 
> % Wall 5 ms, trim 0 ms 
> % Wall 147 ms, trim 0 ms
> Mostowski Collapse schrieb: 
> > Dear All, 
> > 
> > Needs a decent browser, JavaScript >2015 
> >
> > http://www.dogelog.ch/ 
> > 
> > Currently swallows errors silently. Everything written 
> > in Prolog itself, read/1, consult/1, etc.. and then cross 
> > compiled into JavaScript. Not sure whether it can already 
> > 
> > compile itself. But it has a text field and can add the 
> > clauses in the text field and execute the directives in the 
> > text field, and it has write/1 and nl/0 into the HTML document. 
> > 
> > More care for the good boy upcoming. 
> >
> > Have Fun! 
> > 
> > Jan Burse, 24.05.2021 #StaySafe 
> > http://www.jekejeke.ch/

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


#40518

FromMostowski Collapse <bursejan@gmail.com>
Date2021-11-07 16:24 -0800
Message-ID<6af00165-8925-4563-8cc7-37c38d22eba6n@googlegroups.com>
In reply to#40351
Dogelogs new signature sound:

Led Zeppelin Immigrant song (Racing Beat remix)
https://www.youtube.com/watch?v=oryBBkmIVCc

LoL

[toc] | [prev] | [standalone]


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


csiph-web