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

Please reread the paper. It contains many things about the language semantics, e.g.

As for sharing, the semantics cleary demonstrates that R prevents sharing by performing copies at assignments. The R implementation uses copy-on-write to reduce the number of copies. With superassignment, environments can be used as shared mutable data structures. The way assignment into vectors preserves the pass-by-value semantics is rather unusual and, from personal experience, it is unclear if programmers understand the feature

And no, I did my master's thesis in Racket. I'm fine with unityped languages, I just describe them properly.



That's a consequence of having first class environments - but given that it's rarely used, shouldn't a sufficiently intelligent compiler be able to optimise it away in the common case? I'm sure I read a paper along those lines, but I can't find it again.

On a related note, have you read the riposte paper? http://www.justintalbot.com/wp-content/uploads/2012/10/pact0...


"sufficiently intelligent compiler"

;)

But seriously, every under-used feature harbors a ton of bugs in the compiler and drains resources for implementation. Promises, for example, seem like a "feature" in R that only really serves to destroy performance and no one uses it.


Agreed, but it's hard to know in advance what features will be useful, and once a language is established, it's hard to remove less-used features without breaking existing code.




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

Search: