Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask YC: Scheme vs Common Lisp - power/expressivity comparison.
2 points by igorhvr on Nov 27, 2008 | hide | past | favorite | 3 comments
I would like to read your opinions about the comparison of power and expressivity of Scheme and Common Lisp. I currently only know Scheme, and I want to decide if I should spend more time and effort on this route, or if it is worth learning Common Lisp for me.

Specifically, I want to understand if there is anything that can be done in Common Lisp that can't be reasonably easily be expressed using a present-day Scheme system.

One thing I read somewhere is that reader macros (which I don't grasp yet) are such a thing.

Other thing would be low level macros - but there are Scheme systems that allow you to use define-macro and gensym (non-hygienic macros). Is this (even if more cumbersome) as powerful as the Common Lisp counterpart?

Finally, Common Lisp has dynamic scope - but to me it looks like everything that can be done using this could be done using macros that capture variables (which some Scheme systems also support). Am I wrong?



Common Lisp's main advantage over Scheme is that it has been used commercially for years, and has thus accumulated a large number of libraries. Scheme was created as a more consistent and concise Lisp, and is better suited to experimentation.


I read things to this effect in the internet, but then you have more than one Scheme system that runs (or is able to run) on top of the JVM - effectively making this problem disappear.

So, I guess I am looking for other differences, things that are essential to the languages - not just differences in libraries...


Don't use any of the JVM schemes (for one thing, none of them even satisfy RSR5 in compiled mode), stick to Chicken or PLT.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: