Geoff Wozniak's Road to Lisp

I, Geoff Wozniak, do solemnly offer these my responses to The Road to Lisp Survey:

When did you first try Lisp seriously, and which Lisp family member was it?

In my third year of undergraduate studies (circa 2000), I took a course on programming languages that introduced me to Scheme. One of the assignments was to implement a parser for numbers (as per R5RS) and it had to be done in a functional manner (composition of functions, one for each grammar rule, and so forth). I remember the precise moment where I "got" functional programming. I went from struggling with the assignment to having it finished within a couple of hours. Scheme has had a soft spot in my heart ever since. I got to like DrScheme, but due to the nature of the undergraduate program, I was pretty much stuck using C until I graduated, although I did pick up CLtL2 in the mean time. I didn't read it right away, but I knew it would come in handy. Plus, CLtL2 is just one of those books that makes your bookshelf look important.

After becoming enamoured by type systems for a while in grad school, I switched to Common Lisp in the summer of 2005 when I was working on a domain specific language and I wanted to avoid the need to work with the lex/yacc line of tools again. defmacro and the Lisp reader were more appealing.

Within a few months, I had implemented a complex pattern matcher that had continuations and allowed for dependent pattern matches. It saved me so much time and was so much more enjoyable than working in the ML/OCaml world that I have had little desire to go back.

What led you to try Lisp?

I was looking at writing a domain specific language for complex pattern matching. I wrote a first version in OCaml, but I found the type system to be intrusive. Types were things that evolved when I worked and OCaml -- even with a REPL and decent Emacs mode -- didn't encourage such a process. In short, it didn't flow. I knew of Lisp macros and decided to see what I could do with them. Turns out they flow quite nicely.

What other languages have you been using most?

In elementary school, I toyed with Basic, like most people who had a Commodore 64. My undergraduate days were mostly filled with Pascal, C and C++. I got familiar with Scheme and Prolog, and wrote my undergraduate thesis in Perl (that was an experience, to say the least).

After the compilers course in my last year of undergrad, I got into ML and OCaml. I used them for about four years, then made the leap to the "dynamic" world via Common Lisp.

How far have you gotten in your study of Lisp?

I feel confident that I have achieved a level of competency, but with great humility.

The one thing about studying Lisp is that I don't just want to know the "what" or the "how"; I want to know the "why." The competency comes from knowing the "what" and the "how," but the humility is served up in large doses by way of the "why."

What do you think of Lisp so far?

I've never been this content programming in my life. Common Lisp has its flaws and those should be addressed -- and have been detailed elsewhere so I won't repeat them. Lisp is the first language I've used where the flaws are not at odds with my programming style and thought process. That reason alone is enough to keep me using it.


Switch Date 2005


Seek and Ye Shall Find | RtL Language Curiosity | RtL Formal Education


This page is linked from:

Geoff Wozniak

Other pages sharing this page's categories:

Abhijit Rao Albert Krewinkel's Road to Lisp Alejandro Guillen Road to LISP Alexander Lehmann's Road to Lisp AlexPeake AlexTibbles Andrew Jones-Gonzales's Road to Lisp Andrew Main's Road to Lisp Andrew Philpot's Road to Lisp Artie Gold's Road to LISP Arto Bendiken's Road to Lisp August Sigov's Road to Lisp Ben Holm's Road to Lisp Bill Birch's Road to Lisp Bob Bane's Road to Lisp Bob Bechtel BobHutchison Brad Beveridge - Road to Lisp Bradford W Miller BradMight Brandon Corfman Brendan Van Horn Brian Mastenbrook - Road to Lisp Brian T. Rice Bruce Durling's Road to Lisp Bruce Woodward's Road to Lisp Bulent Murtezaoglu C E C Artime Charlie McMackin Chris Laux's Road to Lisp Chris Smith's Road to Lisp Chris Sonnack's Road to Lisp Chris Van Dusen Chris-Perkins Christian Lynbechs Road to Lisp Christian Nybø Coby Beck Conrad Barski Constantine Vetoshev Damien Sullivan's Road to Lisp Dan Muller Daniel Barlow's Road to Lisp Daniel Pezely's Road to Lisp DARose Dave Fayram's Road to Lisp Dave Pearson Dave Roberts David Douthitt David Golden's Road to Lisp David Mercer David Rush David Thompson's Road to Lisp Denes Cselovszky's Road to Lisp Dirk Gerrits's Road to Lisp DJ Clark's Road to Lisp Donald Fisk's Road to Lisp Donnie Cameron's Road to Lisp Doug Tolton's Road to LIsp Drew Crampsie Drew McDermott Duane Rettig's Road To Lisp Edi Weitz' Road to Lisp Eduardo Muñoz Emre Sevinc Erann Gat's Road to Lisp Eric Hanchrow Erik Enge's Road to Lisp Erik Winkels's Road to Lisp Espen Vestre's Road to Lisp Gabor Melis's Road to Lisp Gareth McCaughan's Road to Lisp Gary King's Road to Lisp Gary Klimowicz's Road to Lisp GeoffCant GeoffKnauth George Rogers Road to Lisp Glenn Ehrlich Glenn Ehrlich Road to Lisp Gordon Weakliem Heow's Road to Lisp Hoan Ton-That's Road to Lisp Ivan Toshkov's Road To Lisp Jacek Generowicz James Fleming's Road to Lisp Jeff Shrager's Road to Lisp Jimmy Miller's Road to Lisp Jochen Schmidt's Road to Lisp Jock Cooper Joel Ray Holveck John Pallister's road to Lisp John Sturdy John Williams JP Massar Justin Dubs Justin Heyes-Jones's Road To Lisp Kamen Tomov Karl K.'s Road to Lisp Kean Lau's Road to Lisp Kenny Tilton's Road to Lisp KevinZzz Larry Clapp's Road to Lisp Lars Brinkhoff's Road to Lisp Lars Wirzenius Lasse Rasinen Lennart Staflin Louis Theran Mackram Raydan's Road to Lisp Marc Mertens's Road to Lisp Marco Baringer's Road to Lisp Mark Hurd Mark Triggs Mark Wilson MarkBrady Marko Kocic Martin Mikelsons Matthias Benkard's Road to Lisp MattKnox Michael J Forster Michael Naunton's Road to Lisp Mikael Jansson's Road to Lisp Mike Travers Mikel Evins' Road to Lisp Mostafa Razavi's Road to Lisp Myron Wu's Road to LISP Nathan Bloomfield's Road to Lisp Naveen Garg Nick Levine Nicolas Sceaux's Road to Lisp Nikodemus Siivola'a Road to Lisp Nonya B's Road to Lisp Ola Rinta-Koski Ora Lassila's Road to Lisp Pascal Costanza's Road To Lisp Patrick Logan Paul Clevett Paul Foleys Road To Lisp Paul Graham's Road to Lisp Paul Potts Paul Snively PaulKhuong's Road To Lisp Peder O Klingenberg's Road to Lisp Pekka P Pirinen Pete Kirkham Peter Housel's Road to Lisp Peter Lewerin's Road to Lisp Peter Santoro Peter Seibel's Road to Lisp Peter Van Eynde's Road to Lisp Pierre Thierry's Road to Lisp Rainer Joswig's Road to Lisp Ralph Richard Cook Randall Randall's Road to Lisp Reini Urban Robbie Sedgewick's Road to Lisp Robert Marlow Robin Felix's Road to Lisp Robin Kåveland Hansen's Road to Lisp RtL Brian Cully RtL Russell Snow RtLMartinGinkel Sanjay Pande Scott L Burson's Road to Lisp Scott McIntire Scott Michel's Road to Lisp Sean Champ Sebastian Stern's Road to Lisp SimonHeath Sivaram N Slobodan Stephane Belmon's Road To Lisp Steven Harris' Road to Lisp Tage Stabell-Kulø Tayssir John Gabbour's Road to Lisp The Road Jeff Caldwell Took The Road to Lisp Questions Thomas F Burdick's Road to Lisp Thomas M. Hermann's Road to Lisp Thomas Müller Thomas Munro's Road to Lisp Thomas Stenhaug's Road to Lisp Tim Kerchmar TimHaynes Toby Davies' Road to Lisp Tomer Altman tony yelacic VikasGP Vladimir Sedach William Maddox Yuri Niyazov Zach Beane's Road to Lisp Zachery Bir