Note: This post covers all events since last Thursday (the 20th). I had technical difficulties (Comcast, I am looking at you!) all weekend until today. In any case, lots of cool stuff in this post :)
- live-processing. a #processing clone with livecoding capabilities. build on #clojure (here, via @vilsonvieira) -- Processing is a programming language for image generation and interactive applications. This project makes it possible to program processing live, at the REPL, in clojure :)
- Just uploaded a guided example on building clojure apps for android using #maven & #emacs. #clojure (here, via @hsaliak) -- The README in the project contains very detailed instructions to get this project working on your fancy phone (that is not an iPhone) You have no excuse now.
- A clojure swank server on android devices using this hack (here, via @alandipert) -- swank-android-builder is a script that will download all the components and build them into what is the android-swank application.
- Cleaning Old Definitions from the REPL : shred-user (here, via @planetclojure) -- This is a tremendously useful hack to clean out your 'user' namespace (or any other for that matter) of any function definitions or other root bindings that you might have created. By the way, this blog is full of good stuff!
- Scheme interpreter in clojure: 昨天晚上用clojure搞了个scheme解释器，基本上是sicp里的解释器的clojure翻译版本，可能唯一值的一提的是对transient集合的使用... (here, via @rainmanzhu) -- A scheme interpreter in clojure. Guess what is missing? ... yeah, tail call optimization. I wonder why? For what I can gather, this is based on the interpreter described in SICP.
- An Error Monad in Clojure (here, via @hnfirehose) -- Make sure you read the words in this tweet in the right order in order to avoid Freudian slips. To be clear, it doesn't say "Monads are an error in Clojure". This article shows what monads can be used for; in this case, an if-let of sorts that can handle many clauses and that will skip the evaluation of the body if any of the clauses fails.
- A LinkedBlockingQueue Transport for Conduit (or one way of sucking async data into a distributed processing system) -- Conduit is a stream processing library for Clojure. From the author of this post: "... but all I really understand is that arrows are like monads, but even even scarier." Excuse me, scarier than monads?!
- New clojure conj video up, @chrishouser: "Finger Trees: Custom Persistent Collections" (here, via @clojure_conj) -- A finger tree is an interesting purely functional data structure that can be used to create other more common data structures in a very efficient way. Used in Haskell and OCaml, soon they'll be available in clojure.