Clojure Weekly, Oct 10th, 2013
Welcome to another issue of Clojure weekly, my small routine blog contribution to the Clojure sphere! These are just a few links, normally 4/5 urls, pointing at articles, documentation, screencasts, podcasts or anything else that attracts my attention. I add a small comment so you can decide if you want to look at the whole thing or not. That’s it, enjoy!
Clojure's core.typed vs Haskell - Adam Bard and his magical blog There is a lot of buzz around core.typed these days, considering the project was able to raise the funding necessary for its main author (Ambrose Bonnaire-Sergeant) to commit full time to it. Core.typed is pretty solid already and this blog post gives a quick overview on how it looks like applied to simple Euler projects and compared to the same implementation using the king of typed functional programming: Haskell. The good part about a macro based typing like Clojure (instead of a full blown typed language) is the fact that you can apply it when you see fit. Contracts are clearly important when exchanging EDN for example, so some type checking around that part of the application could be useful. Another idea is to use them a-la Eiffel for contracts.
framework-one/fw1-clj Framework-one is yet another interesting lightweight web framework written by Sean Corfield. The name just describes the fact that the framework really comes as a single one.clj file and the rest will be part of the specific application to be built. The convention is quite simple: if you invoke user/add a function (add) is invoked on controllers/user.clj and a views/users/add.html will be rendered. Can we call it the Sinatra of Clojure-land?
Using local jars with leiningen » Paul Gross's Blog This is an useful trick that you need working with Java interop, leiningen and jars that are not deployed in a public or private repo. It basically consists of creating a local project folder to behave as a local Maven repository, install your jars there and tell Leiningen about the location of the local repo and the dependencies that you need. You are probably going to need https://gist.github.com/stuartsierra/3062743 as well, since you need md5 and sha files to be created as well. You need to do this once and after that you can distribute your project as usual.
Clojure at Netflix // Speaker Deck A quite good experience report as slides from a team using Clojure in production for part of the Netflix delivery. Many neat ideas (that unfortunately don't seem to be open sourced) like Sabot or Pigpen. The latter is like ClojureScript for Javascripts, it produces Pig scripts (Hadoop mapreduce) from pure Clojure. Delighted at the idea this can be done considering the amount of Pig stuff I'm doing at the moment. As of the conclusions, the experience report seems positive with the usual bad-ugly related to the mental shift required to get into the Clojure mood.












