Hacker News new | past | comments | ask | show | jobs | submit login
Scheme over Common Lisp (solve-et-coagula.com)
19 points by edu on Dec 19, 2007 | hide | past | favorite | 5 comments



The Lisp-1 vs Lisp-2 issue is really a matter of personal preference. Going to Lisp-1 gains you nicer higher-order function syntax, but costs you twice as many namespace collisions. It depends what you want.

Scheme define vs CL defun is a total non-issue. I'm glad he discovered that.

I program in Scheme all the time and rarely use call/cc.


I've used both types of Lisp extensively, and I'm now convinced Lisp2 is a mistake. There's not really any downside to not making that mistake. I program daily in a Lisp1 (Arc) and I don't get any more name collisions than I did using CL.


Proper seperation of functions into modules makes the namespace collision issue a non-issue. Now, you might consider the fact that the Scheme community is divided and the lack of a standard module system an issue.

edit s/standard module is/standard module system/


He hits many of the reasons why I never gave CL a try. Scheme just seemed to fit in my head easier, made more sense and of course continuations. Though to be fair, don't many CLs have some support for continuations, outside of CPS?


No mention of library support?

True, not much library support for CL, but even less for Scheme, no?

The other thing I like about CL is the no-nonsense defmacro. I don't get the whole "hygiene" thing, but it seems like one of those "it's good for you, it builds character" things that tries to keep you from shooting your foot off, and if you're really worried about that you'll be using Java or Haskell anyway. Or am I missing something here?

Otherwise agreed. Lisp1 is a clear win and efficient, functional-style recursion is more beautiful than the mess of iteration operators in CL (although loop is beautiful in its own demented way).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: