|
|
|
|
|
by dTal
2603 days ago
|
|
It's "computational" now? He used to make a big thing about it being a "symbolic" programming language, which made more sense to me - a programming language that treats symbols as a first-class concept is indeed a rare beast. Only computer algebra systems really attempt this, and of those few have really well designed programming languages. Yes, Lisp has symbols, but you can't really do much that's interesting with them directly. (sqrt x) when x is unbound is an error, not the abstract concept of taking the square root of an unspecified value. The idea of taking something that would normally be a "compiler optimization", like sqrt(x^2) => abs(x), and making it available at runtime as part of the evaluation model, can be seen as an evolution of the powerful idea of including (eval) in the language. |
|
JavaScript
> Only computer algebra systems really attempt this
There are a bunch of programming systems (incl. computer algebra systems) on top of Lisp, which use various types symbol expressions.