For a side project I started using Clojure. This is an experiment in functional programming with a Lisp syntax. The great thing about clojure is that it runs on the Java Virtual Machine, meaning you can have access to the full suite of Java libraries out there while not having to actually program Java.
For now I wanted to share the configuration of my development environment and I want to show some of the more interesting bits of
There are several packages necesary; install with
M-x packages-install [name of package]:
- Paredit: an extremely usefull library to work with Lisp datastructures. A useful guide to this package was written by Dan Midwood.
- Cider: CIDER is a Clojure IDE and REPL for Emacs
- clj-refactor: A collection of simple Clojure refactoring functions for Emacs
The main Cider module is easily configured. You basically just require it and you are a go!
The same goes for the refactor module, but it has room to insert custom keybindings if you require them.
ClojureScript and figwheel
To get a sence of the power of ClojureScript and a plugin called figwheel take a look at the following video. The author is hacking away at a flappy bird clone, while the code is being hot swapped inside the browser. No more browser reloads to get simple changes pushed to it!