git » homepage.git » master » tree

[master] / archive / forums / hacker-news / raw / items / 8923939.json

{"by":"brandonbloom","id":8923939,"kids":[8924093],"parent":8923835,"text":"Your change is invalid. I picked my example very carefully: You can not extend an interface to an object after the type has been created. That only works with protocols.<p>That said, there are countless examples. I already mentioned the proposed ns+ form, but there are a couple more in the design spec here: <a href=\"http://dev.clojure.org/display/design/Feature+Expressions\" rel=\"nofollow\">http:&#x2F;&#x2F;dev.clojure.org&#x2F;display&#x2F;design&#x2F;Feature+Expressions</a><p>I&#x27;m not going to bother constructing more concrete examples, since it&#x27;s trivial to do and each and everyone will have case-specific solutions that will seem &quot;nicer&quot; than feature expressions. But that&#x27;s just it: It will be a case-by-case solution, rather than a general solution. Case-by-case application-centric solutions are preferable for the platform abstractions of your major subsystems, but often you just want to hack it and feature-macros simply don&#x27;t offer the flexibility you need.","time":1421859486,"type":"comment"}