3 ms·
There was a quote, which I can't find exactly so I'll paraphrase: Languages evolve not by accumulating new features, but by removing the restrictions that make
by ced 19y ago
There was a quote, which I can't find exactly so I'll paraphrase:
Languages evolve not by accumulating new features, but by removing the restrictions that make those features seem necessary
As far as I know, Arc does little to remove restrictions from Lisp. Examples:
- (setf (* 2 x) (- y 4)) cannot be expressed.
- Infinite lists
- Infinite memory (limited only by the total amount of information --- far from what we have now)
- Why do my objects "disappear" when the program ends? The whole serialization "feature" comes from there.
- Hash-tables are 1-1 mappings. Why not n-1? Why can't I write (= (color 'nicholas 'car 2) 'blue) without having to implement it myself?
- Speed of execution. Because compilers are not "sufficiently smart", we have to add declarations to the language.
Did I miss anything?
- brlewis 19y agoHere's the quote: http://www-swiss.ai.mit.edu/~jaffer/r4rs_2.html#SEC2 http://www-swiss.ai.mit.edu/~jaffer/r4rs_2.html#SEC2 "Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary."