Friday, November 20, 2015

Well, This Is Awkward...

The deeper I go into Common Lisp, the more I realize I'm just baby-stepping along the path blazed by John McCarthy. In awe. Dude was pretty out there. He was out there and his language and disciples are some scary individuals, too.

Any language that turned Paul Graham into Paul Graham and two of the craziest programming books ever written is worth looking into. No knock on Peter Norvig, or any of the other SLW's who aren't really SLW's, but studious and capable. I remember thinking I was a competent programmer who might have been actually kind of capable. Then I read a post on c.l.l from a giant-brained guy who wrote the language spec and about how he wrote a parser in a half-hour before bedtime. (blink blink). I'm useless before bedtime. And a parser in 30? Yo. That's as sick as anaphoric macros. Want to find some newfound humility? Read OnLisp cover to cover and realize you would *never* have thought of *most* of that. Probably never.

Unless you hacked Lisp.  Then you'd see that's just how all the old timers think, and have thunk, for as long as they've hacked Lisp.  Stepping into Common Lisp is a humbling experience.  In a good way. It's not that there are better languages out there. There might be. I don't worry about metrics like that. I use Common Lisp to think.  Most of the other languages demand my attention.  Lisp is like the friend that's always ready to play.

And the more I think with Common Lisp as the mode of expression, the more I learn that I'm still metaphorically climbing the mountain that John McCarthy mapped out.

Common Lisp has some weird quirks. It has areas of the language that work, and well, but awkwardly. Like a lurchy teenager that's borderline adult and almost does it right, but there's just that one thing that's not right.  Some things don't scale and packages are it.

I think the packages solution I'm working on is, but isn't, necessarily novel. I had the feeling this morning that it has more to do with m-expressions than anything. I just made it up in my imagination right now that McCarthy saw Common Lisp as some kind of mathematical, amorphous wildness that was akin to primordial ooze. Mud. Common Lisp is Mud, and not in a derogatory way. It's up to m-expressions to terraform that mud into cities, solutions, infinity ... and beyond.

Looks good on paper. Still have to code it, but it hit me yesterday that what I may be attempting to write was Common Lisp, but wasn't. But it was. That's when I thought maybe it's a form of m-expressions on top of all that mud and turtles all the way down.

No comments:

Post a Comment