Hacker News new | ask | show | jobs
by jackcviers3 4776 days ago
Purity is a false idol. CL is a functional programming llanguage. Functional as in programming with functions. Maintenance of referential transparency is the duty of the programmer. As long as you have HOFs and some form of lexical closure as basic language features, you can call a language functional. tail-call optimization, default immutability, automated structure cloning, parameteric datatypes, default currying and h-m type inference are language features that make mathematical reasoning easier, but they are neither essential nor definitive requirements of a functional programming language.
1 comments

Then python is also a functional language just like cl. Except no-one calls python a functional language, and everyone seems to call cl a functional language.