Showing posts with label cusp. Show all posts
Showing posts with label cusp. Show all posts

Friday, September 12, 2008

Making an Executable

Ostia Antica, harbor city of ancient Rome Not infrequently, some poor lisp newb will ask how to make an executable in lisp. The answer of course, is "what do you mean by 'executable?'" If the newb is lucky, somebody will eventually take break from pretending not to know exactly what he means and point him to save-lisp-and-die. But, they will hasten to add, making an executable is really a silly thing to do, so why bother?

Fresh from the mind of Sergey Kolos, Cusp contributor extraordinaire and the man who recently brought us integrated unit testing comes this wild innovation: a menu item called "Create Exe." That's right. In the next version, all Cusp users will have to do is right-click on their project and select "Create Exe." That, my friends, is what user-friendliness looks like.

So buck up, newbs. With luck, the endless discussions on what the meaning of the word "is" is will soon be replaced by the simple advice to "use Cusp."

I wouldn't hold my breath, though.

Monday, August 18, 2008

Unit Tests (Alpha)

Some of the other developers are currently working on integrating unit testing into Cusp. It's a project I'm not personally involved in, but I'm rather excited about. Up until now, the bulk of Cusp development has consisted of putting existing Slime functionality into a more sane and usable UI. With this one, we'll be breaking entirely new ground.

Things are still in the very early stages, so if you want to contribute code, ideas, or just see how the current plans are shaping up, you can check out the thread.

Thursday, May 22, 2008

Step in Time


A recent post to the development list has led to some much-needed improvements to the debugger. Specifically, it now support stepping through your code.

This was, I must admit, a rather major omission, and my only defense is that it showcases how handy "many eyes" can be at correcting these sorts of problems.

Since I am the principle developer behind Cusp, it naturally is tailored to my usage patterns. As it is, I use Lisp also exclusively to develop web pages in UCW. As a result, my interaction with the debugger is actually quite limited. It basically only pops up when I have a compile error, at which point I do little more than dismiss it. If something breaks on a page render, ucw catches it and gives me a page full of a backtrace. I certainly never step through code. In fact, I wasn't actually aware that SBCL supported such (if only I had thought to put a (break) in my code, bump up the debug level, and hit 's' once in the debugger, this all could have been avoided).

At any rate, now that Cusp is open source, and has users other than me, people start to fill in those gaps. A Vladislav Titov was so kind as to improve the debugger's handling of multithreading as well, and syncing up to the latest version of Slime while he was at it.

I really enjoy making improvements like these that have UI components. It's very rewarding when you can actually see something on the screen to demonstrate that a change occurred. It makes me wish there were a few more major items I could add. Ah well. Enjoy your new, improved debugger!

Friday, January 18, 2008

Credo

Starting with Lisp is a daunting task. First you download SBCL. Then you check out SBCL from cvs, and use the version you just downloaded to compile a new one. Then you download some flavor of Emacs and install it. Then you download the latest release of Slime. Then you go back and do a cvs checkout of Slime instead, because the last release is nearly two years old. Then you customize your .emacs file so that Slime can hook up to lisp.

Ok, so that was a great big pain, but at long last, you're ready to try out the most advanced language ever! You cross your fingers and fire up Emacs. Behold!


This is the face of the most advanced and powerful language ever? The development environment clearly hasn't taken advantage of any advances in user interface since the 70's. If the development environment hasn't evolved past the command line, can we really expect better of the language?

And what if you don't know how to use Emacs? Now you have two problems. Your early forays into Lisp are going to be frustrating and slow as you struggle just to edit text using a program which acts like no other. This is surely going to taint your perception of the language itself. How many newcomers turn away in disgust at this early stage?

And we haven't even mentioned the library situation yet.


Enter Cusp. Cusp was made with two goals in mind:

  • Provide a high quality Lisp IDE with all the amenities that users of modern IDE's have come to expect.
  • Ensure that it works straight out of the box.

I may be biased, but so far I think it has fulfilled those goals quite well. But there's always more work to be done. Join us!