3 ms·
I'm not clear on the exact reasons, but I think some people see it as "Python with S-expressions" rather than "Lisp". I think it's because Janet does not use li
by nonbirithm 6y ago
I'm not clear on the exact reasons, but I think some people see it as "Python with S-expressions" rather than "Lisp". I think it's because Janet does not use lists implemented with cons cells and historically that's just what Lisp always used. (Janet uses arrays instead.) But by that logic Clojure isn't a Lisp, if has no cons cells...
Another criteria used is homoiconicity.
I think the argument is about if a language satisfies the historical definition of "Lisp" rathen than being a Lisp-inspired language with parens.
- yarrel 6y agoClojure isn't a Lisp, and really screws up some of the concepts.
- oalae5niMiel7qu 6y agoA good reason to regard this as "Python with parentheses" is because not only does it use arrays instead of cons cells, but there's no non-mutating `append` function. Instead, Janet has an `array/concat` function that behaves like a Python array's `.append` method, and that's it. And no, Clojure isn't a Lisp. Perhaps it would be appropriate to say that Janet is "a Clojure".