Lisp is a programming language that dates back to 1958, initially conceived as a means to mathematical notation, was later adopted as the to-go language for artificial intelligence.
As it's name indicates, Lisp (""LISt Processor"") works on a syntax composed of lists for data as well as for expressing code; which seems intimidating at first, but it's quite pleasant when you get used to it.
It has a powerful macro system that let's the programmer extend the language and create domain-specific languages.
Results
SBCL 1.1.14 was used for running the tests.
Loading time
How fast does the interpreter loads and parses the source code.
$ time sbcl --script lisprb.lisp
real 0m4.911s
user 0m0.484s
sys 0m0.048s
Starting up sbcl seems to be avery slow operation. I don't think that parsing the program would be responsible of the slow loading times.
Running Time
$ time sbcl --script lisprb.lisp
real 24m43.216s
user 24m27.772s
sys 0m4.972s
Running times are slow, although a bit faster than compiled Haskell. Was expecting something better, since there are rumours around the internet that Lisp code runs as fast as C, but even JavaScript is faster here.
Code Metrics
Line count: 131 code, 30 blanks, 161 total. File size: 5833 bytes.
General Thoughts
For several years, I've had Lisp in the radar. Many stories have I read of teams succeeding while using this programming language when deadlines and/or budget where critical, so that picked my interest.
After working with it for this project, I find Lisp very pleasant to work with, the syntax is nice and very expressive. Too bad I didn't make use of the macros system (which I couldn't find a good use case for).
I really expected it to be at least as fast (or faster) than JavaScript, but that was not the case; nonetheless file size and line count are much better, specially compared to C, and that makes it a good candidate for a more thorough exploration.
Follow
You can follow the development of this project on GitHub: https://github.com/niofis/raybench