Live data from Hacker News

SHCL – An unholy union of Posix shell and Common Lisp

github.com

11–20 of 28 posts

Re: SHCL – An unholy union of Posix shell and Common Lisp

#13
post #10
post #3

Anybody remember scsh? Seems a better integration of the shell and Lisp bits if you ask me (although this is a neat hack, don't get me wrong).

scsh was definitely awesome, and it's not really practical in Common Lisp[0], due to Lisp's unfortunate choice to upcase all symbols. Made sense at the time, but in retrospect I think it was a mistake. It's a real pity that Franz's modern mode[1] didn't become more popular. [0]: it's possible , just ugly as hell because either one would have stuff like (|ls| |etc|) or one would have stuff like (|LENGTH| …). [1]: http…

You can use Readtable case :preserve to avoid the ugly-as-hell stuff [1]. Some libraries do this, for example KM [2]

[1] http://clhs.lisp.se/Body/23_ab.htm

[2] http://www.cs.utexas.edu/users/mfkb/km.html

Re: SHCL – An unholy union of Posix shell and Common Lisp

#19
post #10

Earlier quoted context omitted.

scsh was definitely awesome, and it's not really practical in Common Lisp[0], due to Lisp's unfortunate choice to upcase all symbols. Made sense at the time, but in retrospect I think it was a mistake. It's a real pity that Franz's modern mode[1] didn't become more popular. [0]: it's possible , just ugly as hell because either one would have stuff like (|ls| |etc|) or one would have stuff like (|LENGTH| …). [1]: http…

You can use Readtable case :preserve to avoid the ugly-as-hell stuff [1]. Some libraries do this, for example KM [2] [1] http://clhs.lisp.se/Body/23_ab.htm [2] http://www.cs.utexas.edu/users/mfkb/km.html

In fact you can have case-sensitive Common Lisp packages that are completely backwards compatible with case-insensitive CL code by settings readtable-case to :invert[1], and this works without any problems for interfacing with external case-sensitive environments.[2] Allegro's modern mode is what you would get if you assume case sensitivity as a default, but portable Common Lisp can handle case sensitivity perfectly fine without breaking backwards compatibility.

[1] https://oneofus.la/have-emacs-will-hack/2011-09-20-common-li...

[2] https://common-lisp.net/project/parenscript/reference.html#s...

Post reply on HN