*I meant to write "clean architecture" :-)
On 23 July 2014 15:29, Daniel Kersten <[email protected]> wrote: > Honestly, I'm against having core.async as anything other than a normal > macro. The less built-in magic the better, plus its nice to know that > almost everything I use, I could in theory build myself without hacking the > language itself, should I ever want to. The more features that get special > treatment by the compiler or runtime, the less this is true. > > Also, while I'm all for allowing macros to transform code in go blocks > that contains <! and >! (and it seems in Clojure you can do this and this > is merely a bug in cljs), I personally think that disallowing <! and >! in > functions (outside of the technical limitations that we currently have) is > not necessarily a terrible thing. > I mean, sure, it would be nice to lift restrictions so that more powerful > abstractions can be built on top and I would certainly be all for doing so, > should somebody figure out a way to avoid the current technical > limitations, but if this were to happen, I think everyone should still be > very strongly discouraged from using <! and >! anywhere other than in the > go block. It keeps the code simple by forcing the bulk of it to be nice > pure functional code (at least in respect to channel operations) - the > Clean, essentially - and this greatly helps understanding and testing of > code IMHO. > > I guess, I would love for the ability only to build better abstractions, > not for day to day use. But perhaps macros serve that purpose well enough > already? (once the cljs bug is fixed, at least) > > > On 23 July 2014 14:04, Kyle Cordes <[email protected]> wrote: > >> On Wednesday, July 23, 2014 at 2:06 AM, Tom Locke wrote: >> > @Kyle - it's not a deep problem with Clojure extensibility but just a >> bug in the ClojureScript implementation. >> > >> >> >> I agree it is not a problem per se; but the feature I would really like, >> which I believe would require the approach I described, would be to allow >> the full set of Clojure constructs to be composed arbitrarily with “go”. >> For example a <! could live in a function, called by another function, >> called via a protocol, via a macro, called itself via a multi method, in >> another namespace, in another file, which happens to be called via a go >> somewhere. >> >> (And I’d like a pony.. :-) ) >> >> -- >> Kyle Cordes >> http://kylecordes.com >> >> >> >> -- >> Note that posts from new members are moderated - please be patient with >> your first post. >> --- >> You received this message because you are subscribed to the Google Groups >> "ClojureScript" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/clojurescript. >> > > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
