Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Clojure on Heroku

Name: Anonymous 2011-07-06 10:40

http://blog.heroku.com/archives/2011/7/5/clojure_on_heroku/

Clojure gains more and more support each day. Are you ready to abandon your obsolete Common Lisips and Schemes in favor of a more modern, agile solution?

Name: Anonymous 2011-07-06 14:02

>>6
The difference is, defn functions are always dynamically scoped, it's not optional, because it expands to def+fn. It would've been ok if it were optional. It would be ok if it worked just inside the current namespace, but it even breaks namespaces boundaries. I haven't tried, but I'm sure it may even break the namespace's encapsulation by leaking private bindings.
And procedures, again, can't be referentially transparent.
You also miss many optimizations: since you can't assume that a function will always have the same value, you can't inline them, you can't inline references to them, you can't do constant folding for user-defined procedures.
This is also bad because Clojure's lexical variables have the nice property of being immutable, which would enable by default most of those optimizations when Scheme compilers must check for any `set!' on that variable instead, but cannot be done because of the dynamically scoped functions.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List