Clojure CLR from scratch — Part 0

This is going to be a series on how to use Clojure on the CLR, I’m no expert in either but what I learn along the way will be recorded here and hopefully may one day be useful to someone else.

Why Clojure?

I’ve learned and used many languages over the years, never really mastering any of them, and how can you? Once you learn the basic syntax and “Hello World!” examples you soon find yourself knee deep in frameworks and special language “features” just to get anything done. Maybe I’m a bit different but I’m never really satisfied using things I don’t fully ‘grok’ and because of this I’m seldom satisfied with my code.

Then I met Lisp!

I’ve been aware of and dabbled in some lisp many times over the years using AutoCAD’s AutoLisp mainly for basic config and routine tasks. While it’s mainly a subset of a “proper” lisp, it is a lisp all the same but I never really studied how it worked as I was too busy drinking the OO koolaid :)

In my efforts to grok more about programming patterns and frameworks I came across SICP and saw programming in a completely different light. Yes, it was programming “Enlightenment” and I haven’t stopped thinking about it since. Now I just want to code in lisp and IMO Clojure is perhaps the best one available today, put aside it’s interop with Java/.Net and you have a Scheme on steroids! 
I highly recommend watching some of Rich Hickey’s talks on Clojure to understand why, just replace Java with C# when mentioned and it works the same.

Basically, Lisp is a very elegant and simple language and I want to use it with .Net and Clojure is my choice so here goes!

See you in part 1!

Mick.

P.S. — You can find the source code for these articles at my github account
https://github.com/MickDuprez/clojure-clr-from-scratch
and if you like these posts, don’t forget to hit the green heart button below, thanks.