Honestly, writing clear understandable code is hard enough already. I have voiced this opinion before in other discussions on this topic - but my view is that inline feature expressions should be used very sparingly. And preferably, there should also be other options for portability - e.g. separated specific source.
I like what kevin lynagh did with cljx. But this doesn't mean that it is the answer for all platform variation problems. The idea of multiple lines of conditional preprocessing in my (or, worse for me, in your) source and then having to mentally resolve from that what gets compiled for a particular platform sounds like a recipe for guaranteed confusion and a bug finding horror. The only way you could make that work would be with very good tooling. And I won't be holding my breath for that just yet. I really want some portability enhancements - but it has to be manageable. otherwise it's going to take more effort than it saves. Dave On Wednesday, 6 March 2013 05:44:14 UTC+11, Brandon Bloom wrote: > > I personally think the CL feature expression approach is satisfactory. > > > > The more I think about it, the less I think that the CL Feature Expression > approach is satisfactory as is. > > > > I'm now reasonably convinced that, horror of horrors, we should look to the C > preprocessor for inspiration. > > > > CL's approach only provides flags, not key/value pairs. Also, the CL approach > does not provide a structured form for if/else or cond expressions and has > only limited and/or/not predicate combinators. Experience in writing portable > C code has proven that == and >= are important for checking version numbers > and feature levels. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.