Books of Note

Practical Common
LispThe best intro to start your journey. Excellent coverage of CLOS.

ANSI Common
LispAnother great starting point with a different focus.

Paradigms of Artificial Intelligence
ProgrammingA superb set of Lisp examples. Not just for the AI crowd.

Wednesday, November 14, 2007

Dan Weinreb's Weblog 

A couple years ago, I exchanged email with Dan Weinreb about Lisp machines. Dan was one of the founders of Symbolics and wrote the Emacs variant on the Symbolics machines. During our email exchange, I asked Dan about some of the statements and writings of Richard Stallman with respect to Symbolics and Richard's characterization of Symbolics as one of the bad guys in the Lisp machine competition with LMI. This was interesting to me because the Symbolics vs. LMI competition figures prominently in RMS's reasoning to create GNU and the whole concept of Free Software.

Of course, there is always another side to the story, and Dan definitely disagreed with Richard's characterization of the situation. Having interacted with both Dan and Richard, I tend to believe Dan's version more than Richard's. But that's just my opinion. I told Dan that I thought he should document his version of events because the only side of the tale that was being told up until that point was Richard's, and without any evidence to the contrary, his side was being accepted as gospel.

At the time, Dan basically said that he just didn't feel like it. He was tired of the whole thing and just wanted to let Symbolics rest in peace. Having founded an unsuccessful startup myself, I know exactly where he is coming from. The last thing you want to do is relive things by going through the act of documenting history. Dan told me that he would probably document things at some point, but not at that moment.

Well, I'm pleased to report that Dan has started a new blog and one of his first postings was his version of the Symbolics vs. LMI competition. It directly refutes some of RMS's assertions and provides a good counterbalance to this controversy. I'm glad that Dan published his side of the story. Who you believe, well that's up to you. If you're an RMS fanboy, Dan's account of things is unlikely to change your mind. But at least history will record that there were two sides to the story.

As an aside, I'm glad Dan has started blogging in general. He struck me as a very smart cookie and I'll definitely be adding his RSS feed to my list. Whether he blogs often or not, I'm sure I'll be the better for reading his words.

Hat tip to Xach for noticing Dan's blog.


Monday, November 05, 2007

Missing Bignums 

There was a day when I didn't know what a bignum was or why I would possibly want one. I was fat, dumb, and happy with basic fixed-precision integers in C and Java land. When I first started playing with Common Lisp, I thought, "Wow, that's a neat trick that I can actually evaluate (factorial 100) and it works correctly, but how often am I going to be doing that??"

Boy, was I wrong. I'm working on a project in Emacs Lisp in my spare time and I suddenly have a need to deal with integers that are greater than the anemic 29-bit fixnums that Emacs Lisp supports. While 29 bits might be okay for working with character positions in a buffer, it falls flat on its face whenever you want to manipulate anything from the outside world. In this case, 29 bits is too small to handle any 32-bit quantity, let alone some of the 64-bit stuff I want to deal with. I'm kind of amazed that RMS didn't just implement 32-bit boxed integers if he wasn't going to do full bignums.

I found that calc.el includes support for its own version of bignums and I might be forced to use those. Painful, though. I guess the old saying is true--you don't miss something until it's gone.

Does any Emacs guru know if bignums are being considered as a standard Emacs Lisp datatype for a future Emacs version? I'm currently working in Emacs 22.1 (Fedora 7). Given the release schedule of Emacs versions, any future support won't help me, but it would at least be comforting to know that other people see the same need.


This page is powered by Blogger. Isn't yours?