An Introduction to Numbers in Clojure
I've been learning about numbers in Clojure. I found that I needed lots of examples to understand things properly. Here they are.
Likely topics...
Clojure, Lisp, Emacs
TDD, DDD
Web application architecture
Mac usability tools
This blog is being moved. There is prettier version of this article at http://blogish.nomistech.com/clojure/om-concepts-basic/.
I've been learning the basics of Om recently, using the Om Basic Tutorial and the Om Intermediate Tutorial. It's been a bit of a struggle. Partly it's because I don't know React (on which Om builds), but it's also because, in my opinion at least, the tutorials don't do a very good job of explaining concepts. I found it necessary to do a fair amount of Googling in order to make sense of the tutorials.
Here's my attempt at explaining the basic Om concepts used in the tutorials. I do this in two stages: first I give a brief overview of some core concepts, then I expand on those core concepts and discuss some other concepts.
The intended audience here is someone who understands that Om is a functional approach to web UIs, and who has at least a rough idea of functional programming and of UI programming in general, and of Clojure and of the DOM in particular.
This article will probably be hard going if read in isolation, but if used as a resource when going through the Om tutorials it will be easier to follow.
This blog is being moved. There is prettier version of this article at http://blogish.nomistech.com/clojure/clojure-workflow-demo/.
Clojure development is nice and dynamic, but there are times when it's not as dynamic as you might like and then it can take time to restart your environment, get all your development utilities in place and get your application re-loaded so that you can continue to work on it from a known clean state.
Stuart Sierra has been working on improving this.
I came across his tools.namespace a while ago, and it's been very useful.
Stuart has been taking things further recently, coming up with an approach to designing applications that plays nicely with dynamic development and which allows very fast reloading of applications during development.
He's described this in a recent blog post, in his Clojure in the Large talk at Clojure/West, and in Relevance Podcast Episode 32.
I've produced an example project that uses Stuart's approach, and I describe that here.
When using Emacs I've always missed having a nice way to navigate around directory structures and display their contents. Dired comes close to what I want, but it's less than ideal.
I've added a few commands and key bindings that make it easy to do what I want. You can find them in my Emacs initialisation code, specifically at Nomis Dired Explorer.
This blog is being moved. There is prettier version of this article at http://blogish.nomistech.com/clojure/clojure-symbols-vs-lisp-symbols/.
This is the first in what I hope will be a series of articles documenting my experiences while learning Clojure. I've been playing with Clojure for a couple of years, but I've struggled to find the time to do more than just scratch the surface. At last I have some time to get into Clojure more deeply.
I have a background in Common Lisp, so I expect to spend a fair amount of my time grappling with the differences between Clojure and Common Lisp. As a start on that, this article discusses an area in which Clojure and Common Lisp differ at a fundamental level—symbols and namespaces.