My only negativity with Clojure isn't really with the language itself, but with the Debian / Ubuntu packages, they're way outdated. Not sure who ever maintained them, or why they stopped doing so 1.4 being the last version. Outside of that for anyone wanting to check it out, you could try downloading LightTable and using ClojureScript, seems to be close enough I am able to use Clojure books with ClojureScript, not su…
Clojure 1.7 is now available
31–40 of 125 posts
Re: Clojure 1.7 is now available
#32Earlier quoted context omitted.
It is one of the simplest and easiest languages around. The addition of transducers is an unfortunate case of Clojure "pulling a Haskell", valuing an elegant abstraction over ease of understanding and learning. Indeed, your comment alone shows that doing them (and especially giving them a high profile) was a mistake. Just because you can abstract something elegantly doesn't mean you should. No beautiful abstraction i…
I don't understand this argument. Clojure shouldn't have transducers because the word sounds scary? Programming language designers should avoid adding powerful, higher-order abstractions because they are hard to understand? This sentiment is incredibly anti-intellectual. And like you said, if you don't understand it you don't have to use it.
Re: Clojure 1.7 is now available
#33Re: Clojure 1.7 is now available
#34It would be great to see a refactor of some code using transducers to get a better sense of what they're useful for. From an abstraction standpoint, I can see the attraction; but I am having a tough time imagining how it would improve code in practice.
"Processing documents with transducers" is probably one of the more interesting, yet still simple enough to be understandable, examples of transducers: ( http://blog.juxt.pro/posts/xpath-in-transducers.html )
Re: Clojure 1.7 is now available
#35It would be great to see a refactor of some code using transducers to get a better sense of what they're useful for. From an abstraction standpoint, I can see the attraction; but I am having a tough time imagining how it would improve code in practice.
It improves the performance by fusing some of the operations doing them in one pass instead of multiple passes, and it does so generically - operations are composed regardless of the source, and the implementation isn't looking at the type of the source at all. I believe one of the arguments was also that these couldn't be written in statically typed languages. Although, I do not know if this turned out to be true.
Re: Clojure 1.7 is now available
#36>Transducers are composable algorithmic transformations. They are independent from the context of their input and output sources and specify only the essence of the transformation in terms of an individual element. Because transducers are decoupled from input or output sources, The biggest thing holding me back from learning Clojure is that I fear it will take me a decade to become remotely competent in it.
Don't worry too much if you don't get the esoteric stuff in the beginning. The fact that it's there just means that there's room to grow. The core language is actually very simple and quite straightforward. It just allows for some quite mind-boggling stuff. Try Carin Meier's Living Clojure if you feel up for an intro.
Re: Clojure 1.7 is now available
#37My only negativity with Clojure isn't really with the language itself, but with the Debian / Ubuntu packages, they're way outdated. Not sure who ever maintained them, or why they stopped doing so 1.4 being the last version. Outside of that for anyone wanting to check it out, you could try downloading LightTable and using ClojureScript, seems to be close enough I am able to use Clojure books with ClojureScript, not su…
It's way more complicated to have apt-get for some things, lein for other ones, pip install, quicklisp, the ruby gems, emacs packages, and every other environment reimplementing something that should be possible to reuse.
From the outside, and without researching a lot, it seems that the problem is that authority/responsibility is not easily delegated in the right way.
Perhaps someone can create something like a federated-containerized(contained?)-buzzword-github-like-blockchain-social-aptget-buzzword-thingie. Only half-joking here, but perhaps there's something a la git/dropbox, a product that you don't see coming until you turn the corner and They Just Got It Right. Something created on top of http://ipfs.io , for example, which looks very promising!
EDIT: Perhaps a simpler solution is to enable apt to delegate specific domains to packages marked as package managers, and have them talk through a specified protocol...
Re: Clojure 1.7 is now available
#38It would be great to see a refactor of some code using transducers to get a better sense of what they're useful for. From an abstraction standpoint, I can see the attraction; but I am having a tough time imagining how it would improve code in practice.
https://github.com/brandonbloom/fipp/commit/b83dfb3b3ac7c90d...
My use cases are 1) to emulate yield / a pipeline of generators 2) to avoid intermediate object creation. My code is an indirect port of some Haskell code, so it's a tad awkward, but overall Transducers were a small perf win over reducers (which was a big perf win over lazy seqs) and also provide a good effectful-ish model for my pipeline.
Re: Clojure 1.7 is now available
#39Earlier quoted context omitted.
If you mean the compilation fsync stuff: Yeah until 1.8
I mean the compilation and startup time that people think lies on the JVM, CLR, Dalvik and ART when trying to run Clojure code.
Re: Clojure 1.7 is now available
#40Earlier quoted context omitted.
Don't worry too much if you don't get the esoteric stuff in the beginning. The fact that it's there just means that there's room to grow. The core language is actually very simple and quite straightforward. It just allows for some quite mind-boggling stuff. Try Carin Meier's Living Clojure if you feel up for an intro.
2nd for Living Clojure. Great crash course in Clojure for working developers.