Hacker News new | past | comments | ask | show | jobs | submit login
Arc - An Unappreciated Approach to Language Design (oreillynet.com)
38 points by jmorin007 on Feb 5, 2008 | hide | past | favorite | 4 comments



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


>Makes you nostalgic for the pre-Sarbanes Oxley era doesn't it?

SOX refers to management's legal duty to its public shareholders. It has nothing to do with customer service.


And--this is just my understanding of a SOX-compliant software company; I've never actually worked in one--part of that legal duty is to document any changes made to the codebase (the product) so it can be QA-ed.




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

Search: