December 16, 2014
Finally, after a long time, I started my journey into the magical world of LISP– something I’ve pined for long.
And began learning so many new things that I felt I should record my discoveries somewhere, more like a ‘travelogue’ (or a monologue? :)).
Perhaps, someone travelling or planning to take this path will find it useful in someway, someday…?
First, I made sure I had the following things sorted out:
- Choosing a ‘dialect’ of LISP to learn. Common LISP & Scheme are the 2 most popular & enduring ones out there. I chose Common LISP for now (though I love Scheme too!).
- Install an implementation of ANSI compliant Common LISP. I went with the free, open-source Steel Bank Common LISP (SBCL) which you can obtain here.
- One of my favourite editors —Emacs—installed version 24.4 (the latest stable version, as of writing this).
- Lastly, installed the must-have SLIME mode package in Emacs that allows us to bring up the ‘top-level’ REPL prompt within Emacs for my LISP experiments!
And soon, I obtained my first “Hello World” by typing and ‘evaulating’ the following function at the REPL prompt:
(format t "Hello World ! :) ~%") ;; ~% stands for our ubiquitous "\n" (newline) character...
Hello World ! :)
A Beautiful, minimalist language…
Among many things, I learnt that LISP is –
- ancient, yet all encompassing in its innovative features
- self-referential in its use of lists as both code as well as data
LISP pioneered/introduced almost all of the various innovative features of the many popular dynamic programming languages in use today.
Note: Well, this ‘Hello’, is just the tip of the proverbial iceberg or rather the ‘ice-breaker’ of our conversation about LISP. Sit tight & brace yourself, as we sail along uncharted territories, exploring some truly ingenious ideas of Functional Programming in general & LISP in particular.
Many more articles to come showcasing the power & elegance of this classic programming language!