The best kittens, technology, and video games blog in the world.

Wednesday, July 26, 2006

Free beer for the first 10 cool RLisp programs

New release of RLisp is available at

Cool new features include:

  • Lexical scoping, so returning lambdas works as expected without any extra work. (set! var value) special form lets you modify bindings different than the innermost.
  • Standard library separated from the Ruby code, including a lot of the stuff you would be expecting from a minimal but reasonable Lisp-like environment.
  • More hooks into Ruby, so the integration becomes somewhat nicer. You don't have to call (ruby-eval "code code") all the time, unless you want to.
  • Official copyright statement added (MIT licence, no warranty, do what you want). Because there is no clear boundary between system and user program, GPL-like licences would make no sense.
  • Some minimal documentation.
  • Bugfixes, code cleanup, more examples, more features, the usual stuff.
Now RLisp needs a field test. I guess that writing some cool small to medium sized programs is the best way to test the design and correct it if any major deficiencies are found.

So the first 10 people who write a cool RLisp program get a free beer from me. I would also like to add these programs to the RLisp repository, so people who want to learn RLisp can see some real programs, not just toy examples. I'm usually in Germany or Poland if you want to collect the prize :-D

The program should do something cool, and if possible be readable and take advantage of RLisp's features. Using existing Ruby modules in your program is perfectly ok, after all integration with Ruby is one of the main features of RLisp.


Anonymous said...

You got some nice beers there in that picture :)

taw said...

And you can get one of them if you want :-D

Anonymous said...

Okay, this isn't a program, but a suggestion. I think RLisp will have a brighter future with a name like LISPeR. It is pronounceable, and based on a real word (i.e., something you'd find in natural language conversation). These things are in keeping with the spirit of Ruby on Rails at least, and I think Ruby as well.

Secondly, it's my observation that names make a big difference in how well languages do. Perl and Java and Ruby all have iconic, memorable names. APL didn't. Ada didn't so much. Not that this is the definitive characteristic, but it seems to help a lot. Smalltalk has a cool name but it seems to be slightly derogatory. Would all the hype about Java have been successful if it didn't have the cool name?

Anyway, since this is still pretty new, it's still a pretty good time to make name adjustments. (I hope I've made a good case for it.)

As for the capitalization I've suggested, Lisp used to be spelled LISP, and capitalizing all but the 'e' seems appropriate since it's mostly to connect the LISP to the R and make it into a real word.

In fact, if you take my suggestion, I'll give YOU a free beer. (Next time you're in Ann Arbor Michigan!)

taw said...

You are totally right here, a better name would help. Do you have any idea for a name that sounds cool, and can be immediately associated with Ruby and Lisp ? :-)

Anonymous said...

What about risp? that name provides for great silly word plays...

taw said...

Well, it sounds funny enough, I'll think about it :-)

protoscript said...

Greetings taw. Beautiful job with rlisp. Has anyone yet submitted a winning program?

Thanks for sharing your hard work. When I need a break from hacking on Io I'll write some rlisp code.

- jared

taw said...

J: Brad Ediger gets one if I even meet him, for RLisp support for Ruby on Rails.

Anonymous said...

taw: Here's hoping that we meet someday. Until then, I raise my Guinness to you. Cheers :-)