Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #40149 > unrolled thread
| Started by | Mostowski Collapse <janburse@fastmail.fm> |
|---|---|
| First post | 2021-05-25 00:18 +0200 |
| Last post | 2021-11-07 16:24 -0800 |
| Articles | 4 — 2 participants |
Back to article view | Back to comp.lang.javascript
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
| From | Mostowski Collapse <janburse@fastmail.fm> |
|---|---|
| Date | 2021-05-25 00:18 +0200 |
| Subject | ANN: 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]
| From | Mostowski Collapse <janburse@fastmail.fm> |
|---|---|
| Date | 2021-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]
| From | Mostowski Collapse <bursejan@gmail.com> |
|---|---|
| Date | 2021-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]
| From | Mostowski Collapse <bursejan@gmail.com> |
|---|---|
| Date | 2021-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