Getting Started in Common Lisp
Posted by oumua_don17 1 day ago
Comments
Comment by ukkare 18 hours ago
SBSL+SLIME+Emacs usually put one in the flow state in no time. That’s what keeps amazing me and keeps me productive.
And then, Claude seems to be quite alright discussing tricky Common-Lisp-related stuff.
Comment by packetlost 12 hours ago
This is an experience that is 15 years out of date.
Comment by brabel 9 hours ago
Comment by packetlost 8 hours ago
Comment by vrighter 9 hours ago
Comment by ukkare 15 hours ago
Comment by busfahrer 18 hours ago
https://github.com/jpalardy/vim-slime
I don't know if it's as powerful as the real thing, but it allows you to "send" your current vim line or paragraph to a tmux instance running a lisp interpreter, essentially. Very useful.
Comment by iroddis 15 hours ago
Comment by geospeck 11 hours ago
Comment by phplovesong 17 hours ago
The feedback loop is probably the best in class from anything i have ever used. No IDE comes even close.
Comment by peterohler 19 hours ago
Comment by iroddis 15 hours ago
Do you use a keyboard with mappings to make it easier? Rely on the editor to insert them for you?
Comment by Jtsummers 12 hours ago
(defun hello (name)
(format t "Hello, ~A!" name)) ;; 6 parens, 6 shift keys
def hello(name):
print(f"Hello, {name}") # 4 parens, 2 curlies, 6 shift keys
void hello(char* name) {
printf("Hello, %s\n", name);
} // 4 parens, 2 curlies, 6 shift keys
No real difference for typing.Comment by joshmoody24 5 hours ago
Comment by dingleberry 13 hours ago
i always have problems with keys that have no obvious dedicated finger position like the middle vertical columns especially 6 and b and of course keys reachable on the right pinky, especially \ and =
Comment by tmtvl 14 hours ago
And besides:
print("Hello World");
requires just as much chording as: (print "Hello World")Comment by amenhotep 10 hours ago
Comment by iroddis 5 hours ago
Comment by dingleberry 14 hours ago
i think the powerful feature is not (only) merely sending code to repl
but the suggestion for function's parameter as the function is updated to repl
for example: (defun xyz (a &option b &rest c &key d) ) ;then send this with ,d (vim+slimv) to swank server
the next time i type (xyz ... vim status bar conveniently states: (xyz a &optional b &rest c &key d)
both happen whether i start typing (xyz in repl or in vim; that's it, the function parameters show up as suggestions in repl and in editor
Comment by jonathanstrange 18 hours ago
Comment by alfiedotwtf 15 hours ago
Though because I’ve had nothing to actually apply it to, it just gets forgotten about - that was until I decided to go all in on Emacs again about a year ago. And fancy that - I’ve written so much lisp (Elisp) in the past few months that even diving into Emacs extensions is t daunting anymore for me.
Want to get started? Force yourself to use it every day. Throw yourself in the deep end - start from a vanilla Emacs setup, and each time something bugs you, stop and figure it out (what’s the function, variable, face, etc that needs changing, or do you have to write a few function to get what you want done) - it’s a friggen superpower!!!
Comment by zombot 15 hours ago
Comment by bitwize 20 hours ago
Nolan: That's the neat thing—you don't.
One of the interesting and, depending on your perspective, perhaps unfortunate side effects of LLM-assisted development becoming the standard is that LLMs almost completely disincentivize choosing an unpopular language for serious work. Due to the much higher volume of training data, you're better off using TypeScript, Go, or Rust (or Swift if you're in Apple-land or Kotlin if you're in Android dev hell). Those languages with an LLM will make you far more productive than even an "expressive" language like Lisp.
Plus there are complete, modern IDEs for those that let you get started right from the jump, rather than having to build your own IDE out of Emacs and assorted parts before you can actually develop your application.
Comment by bacchus123 15 hours ago
Comment by cianuro_ 14 hours ago
If anything I perceive a bit more mistakes when I have to do things in TS (and in a way simpler domain, in a way smaller project).
Comment by kazinator 7 hours ago
Comment by MycroftJones 18 hours ago
Comment by pjmlp 18 hours ago
However I do agree with the AI part.
Comment by tosh 20 hours ago