lisp-rosetta-stone
Languages and libraries
language implementation comparison
SHOW HN2021
How HN took it
4 positive, 12 neutral or asking, 2 mixed, 5 critical, out of 23 comments about the project. Thread score -0.02.
Execution: 1 for, 3 againstDesign: 2 for, 0 againstIdea: 1 for, 1 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Small and concise implementations; a nice idea for comparing languages
From 4 comments
Jeez, 7 comments and not a single "Well done." Well done. I love the smallness. Small is strong.
sillysaurusx on HNI'm impressed every implementation is under 300 lines. Very nice.
0xdeadb00f on HNCute idea! It looks like several of your implementations have extremely similar styles. If you want to realistically compare verbosity between languages, it makes sense to adapt…
Straw on HNDamn. This is cool. I need to more of this. Write something in multiple languages to really get a feel for looking at it from multiple angles.
nojvek on HN
Objections
Line count alone is a weak verbosity metric; formatting and idioms skew results
From 3 comments
is it fair to use line count alone ? maybe the character count should be used as well (excluding whitespace)
muzster on HNI think it's pretty clear from the description that it's only a ~250 line toy project. Looks like it's meant to act as a test for implementing the same project in different…
throwaway34241 on HNCool project! Interestingly, the actual size of the files is almost inversely distributed compared to the line count: Line count, sorted: C# 246, Java 247, TypeScript 253, Python…
simiones on HN
Toy project, not a real Lisp
From 2 comments
It has been discussed many times already. Projects like this don't produce a Lisp. It's a toy, Lisp-like language at best. Calling it a Lisp does a disservice to the proper…
nesarkvechnep on HNMeh, I agree with the parent you're responding to. Calling these toys Lisp just leads to more ignorance in the general public. "Oh, Lisp is so small and elegant" and "Lisp is…
the-smug-one on HN
Implementations not idiomatic; TypeScript and C# could use modern features
From 3 comments
Very cool! I hate to be negative, but the typescript is terrible. Full strictness is a must. Once you have that, you will notice why the code is bad: You have a kind-property on…
geon on HNVery good effort! RE: modern C# 1) you can use pattern matching instead of switching 2) you can use native named tuples instead of Item1/Item2 ones
nodejs_rulez_1 on HNI thought the same, the c# Code is not very modern. It is possible to make it even nicer. But I guess it’s a great start, maybe I’ll submit a pull request :)
andix on HN
Requests
Use more idiomatic modern features in each language
From 3 comments
Very good effort! RE: modern C# 1) you can use pattern matching instead of switching 2) you can use native named tuples instead of Item1/Item2 ones
nodejs_rulez_1 on HNI thought the same, the c# Code is not very modern. It is possible to make it even nicer. But I guess it’s a great start, maybe I’ll submit a pull request :)
andix on HNWhen using Java 16 and C# 9 the code can almost be Rust/Haskell like, even more in upcoming Java 17 and C# 10.
pjmlp on HN
Add tests
From 1 comment
I know the project is probably for some fun. Since you already have a sample lisp code to test, why not write tests for it.
frogcoder on HN
Add more metrics than line count
From 2 comments
Would be interesting to have some extra metrics besides line count regarding verbosity. My intuition based on experience is that Java/C# might have much longer or more complex…
oersted on HNis it fair to use line count alone ? maybe the character count should be used as well (excluding whitespace)
muzster on HN
Questions
Why write TypeScript in this style rather than idiomatic JavaScript
From 2 comments
Why would you write Typescript this way? The Lisp > EcmaScript should be way more terse.
arcosdev on HNAgreed. But why choose if it's easy to add an idiomatic pure-JavaScript/EcmaScript 2021 implementation to compare with as well?
branneman on HN
Alternatives named
Norvig's lispy.py in Python
From 1 comment
Classes definitely make sense for some things, especially those that don't have a Python analogue, such as symbols. What do you gain by wrapping a native representation of the…
Straw on HN
MAL (make a lisp)
From 1 comment
MAL: https://github.com/kanaka/mal
divs1210 on HN
Hissp
From 1 comment
Hissp: https://github.com/gilch/hissp
gilch on HN