Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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?



Here's the quote:

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."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: