4 ms·
The implementations in Dart and Go in the comparison, [1] http://www.oki-osk.jp/esc/dart/lisp/lisp-27-03-31.tar.bz2 [2] http://www.oki-osk.jp/esc/golang/li
by suzuki 11y ago
The implementations in Dart and Go in the comparison,
[1] http://www.oki-osk.jp/esc/dart/lisp/lisp-27-03-31.tar.bz2
[2] http://www.oki-osk.jp/esc/golang/lisp2/lisp-light.zip
[3] http://www.oki-osk.jp/esc/golang/lisp3/lisp-1.3.zip
have exactly the same set of features except that
* [2] in Go does not have big numbers nor floating-point numbers, and
* [3] in Go has two concurrency primitives, future and force.
As for the performance, [2] should have an advantage. But all in all, [2] and [3] have almost the same performance, which is inferior to [1] in Dart.
All [1][2][3] use the same way to implement tail-call optimization efficiently. It is described at
http://www.oki-osk.jp/esc/dart/lisp.html#4
As for Python/Ruby/Java, the implementations in the comparison,
[4] http://www.oki-osk.jp/esc/llsp/v72.html
[5] http://www.oki-osk.jp/esc/llsp/v73.html
[6] http://www.oki-osk.jp/esc/llsp/v9.html
have roughly the same architecture to [1][2][3].
- suzuki 11y agoI'm sorry. I have mistaken the URL of the implementation in Dart which was compared to those in Go: < [1] http://www.oki-osk.jp/esc/dart/lisp/lisp-27-03-31.tar.bz2 --- > [1] http://www.oki-osk.jp/esc/dart/lisp/lisp-27-05-08.tar.bz2 The page http://www.oki-osk.jp/esc/dart/lisp.html http://www.oki-osk.jp/esc/dart/lisp.html refers to both of them.