SBCL 1.2.6 Is Released

The new Steel Bank Common Lisp, version 1.2.6, is out and available at the usual place. As always, it built and passed the regression tests without problem.

As usual, there are a couple of enhancements and some bug fixes. All the details are on the NEWS page so go there for the details.

I really love SBCL. It’s a great Common Lisp implementation that has monthly releases, is very stable, and is very easy to compile and install. If you’re on Linux, you can download a binary. If not, it’s easy to compile—see the Getting Started page for details.

Posted in Programming | Tagged , | Leave a comment

Animated Paredit Guide

Dan Midwood has posted an excellent animated paredit guide. The post consists of animated gifs and supporting text. Midwood’s experience mirrors mine. For a long time he used only the most basic paredit features but then decided to optimize his workflow by learning a few more paredit commands.

He mentions that because paredit works by maintaining a syntactically correct source tree, it often happens that it becomes seemingly impossible to edit the text and beginners just give up and go away. This certainly happened to me but I don’t feel bad because even the formidable Magnar Sveen had problems learning paredit. Once you get over the initial hurdles, though, you won’t want to live without it.

Midwood’s post tries to take you a little further than just the basics so that you can make even better use of paredit. My only complaint is that the gifs speed by and you have to watch them several times to see what’s going on. On the other hand, the keystrokes are displayed, which makes things easier to follow. This is a really useful post and if you use paredit or think you might want to, you should definitely check it out.

Posted in Programming | Tagged | 2 Comments

Handwriting Update

It’s been a while since we’ve visited the fronts in the cursive wars. Here in the United States the trend away from cursive is moving fitfully forward with occasional counterattacks from traditionalists and their talk of Armageddon. It’s harder here because despite Common Core, the states hate being told what to do by the Federal Government and resisting on cursive is a cheap way of proving they won’t be pushed around.

Meanwhile, in Finland things are moving apace. Starting in 2016, Finnish students will no longer have to learn cursive or calligraphy but will, instead, be taught typing skills. There’s the usual pushback from the cursive partisans with predictions of declining motor skills and the like but the country as a whole seems to be on board with replacing cursive with a more relevant skill.

That’s good news from my point of view but, of course, not everyone agrees. I continue to believe that resisting the demise of cursive makes as much sense as King Canute’s trying to hold back the tide and that it is merely a matter of time until it dies a deserved death. The events in Finland are another step in that direction.

Posted in General | 1 Comment

Lisp for the Web

Adam Tornhill has a new book:

I just bought and downloaded my copy. I’ve only skimmed it so far but it looks interesting.

(via Jean-Philippe Paradis)

Posted in Programming | Tagged , | Leave a comment

eshell Examples

I’ve written before about how I’ve integrated eshell into my workflow. I’ve been using it for some time and really like it but mostly I might as well be in bash. I don’t use any of its special features and that’s a shame because those features can really speed things up.

Howard Abrams has a nice post on some of the useful aspects of eshell. I didn’t know about eshell-smart-display, for example, but now that I do, I will probably enable it. Since I don’t use zshell, I’m not familiar with the similar predicate and modifier tags that eshell uses but it’s easy to pop up a help screen—see Abrams post for details.

It’s a bit early for New Year’s Resolutions but I’m resolving, even if not for the New Year, to get better at exploiting the power of eshell. Head on over to Abrams’ post and see if it doesn’t make you want to do the same. If you like what you see, you should check out Mickey’s excellent post on eshell too.

Posted in General | Leave a comment

The loop Macro Explained by Example

Long time readers are probably aware that I don’t care for the Common Lisp loop macro. It’s not Lispy and I always have a hard time remembering its syntax. Happily, Chris Bagley, who I’ve mentioned before, has a video for that.

Bagley begins by recounting the usual arguments against the loop macro and why he uses it despite those arguments. The meat of the video, though, is a series of examples that demonstrate many of the basic loop macro constructs. After watching the video you probably won’t be a loop-master but you’ll have an idea of how things work and be able to read them in other people’s code. This is an excellent video—it’s almost enough to make me start using loop. If you’re a Lisper and not sure of how loop works, give this video 19 minutes of your time.

Posted in Programming | Tagged , | Leave a comment

Installing a Lisp Development Environment on Windows

Chris Bagley (Baggers) has a nice video from last year on installing a Common Lisp development enironment on Windows. He walks us through installing Emacs, Slime, SBCL, and Quicklisp on a Windows machine. That includes defining a working directory and adjusting the path. If you find yourself condemned to work on Windows and would like to set up a Lisp environment, this is the video to watch. If you’re a n00b and want to learn Lisp on a Windows machine, this is the video to watch.

You’ve still got to learn Emacs and Slime but when you do you have one of the best Lisp environments available. Speaking of Slime, Bagley has another video on using Slime. This demo appears to be on a Linux machine with a dark theme so it’s a bit hard to see but it’s really excellent. Watch it and try the things he demonstrates on your own machine and you’re well on your way to mastering the Emacs/Slime environment.

Bagley has some other videos that I’ll probably write about later. In the mean time, these two videos are an excellent way to get up to speed.

Posted in Programming | Tagged , , | 1 Comment

Adaptive Queries

Jeremy Kun has an amusing and startling trick: pick any polynomial \(p(x)=c_{0}+c_{1}x+\cdots+c_{n}x^{n}\) where the \(c_{i}\) are non-negative integers and the degree, \(n\), is any positive integer you like. Kun will then ask you one at a time for the value of \(p(x)\) at certain points. That is, he will ask for \(p(x_{1}), p(x_{2}), \ldots , p(x_{k})\) for \(x_{i}\) of his choosing. What is the minimum number of points he will have to ask you about to discover the polynomial?

The answer will surprise and delight you. There isn’t any heavy duty mathematics involved so everyone can enjoy the fun. Head on over and be surprised.

Posted in General | Tagged | Leave a comment

query-replace in Emacs 25.

A nice feature of the query-replace function is that you can scroll through the history of previous parameters and perhaps avoid retyping them. Unfortunately, you can’t edit that history so if your new input is even a little bit different, you have to retype it. I’ve often wished for a little more flexibility in that area.

Artur Malabarba brings happy news: In Emacs 25 query-replace history is editable. Even nicer, you will be able to switch the arguments. That’s another thing I’ve often wanted to do. I can hardly wait.

This is the first in a series Malabarba is doing on the new features of Emacs 25. Though it’s doubtless some time away, I’m looking forward to getting my hands on these enhancements.

Every once in a while you hear some young whipper-snapper using Eclipse or some other horror claim that Emacs is old technology and essentially dead. The vigorous development going on in the Emacs community shows how wrong this is.

Posted in Programming | Tagged | Leave a comment

They’re Doing it for Your Own Good

Britain calls forth the four horsemen and apparently without shame or self awareness.

Posted in General | Tagged | Leave a comment