Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A Scheme Primer (spritely.institute)
53 points by AlexeyBrin on June 9, 2024 | hide | past | favorite | 6 comments


I tried getting into Lisp multiple times. Scheme was definitely the easiest way to get it to click with my brain that was used to C-like languages. If you want something more in depth, I also highly recommend SICP. There are a set of old lectures online on YouTube and MIT OCW, plus the SICP textbook is available for free online.


Lisp suffers from discoverability when it comes to finding functions in a global namespace.

But indeed, when it comes to looking at a prewritten statement in lisp, it is very easy to grok.

For this reason I will always choose Guix over Nix for my declarative OS statements, simply because it's so easy to extend the statement just from knowing a basic lisp structure.


Common Lisp has packages as namespaces for symbols.


Any time I get excited to go and try a Lisp, the tutorial will state categorically that I need to install and learn EMacs as well.

And that is where my excitement quickly ends. Why is it so difficult for languages in these families to integrate with other editors?

Note: I’ve gotten a decent neovim setup going with Guile before, but it involves using Fennel as the configuration language and some other plugins besides. It just feels so overwhelming to jump through so many hoops for the (apparently amazing?) ability to affect a running interpreter instance.


>Why is it so difficult for languages in these families to integrate with other editors?

..because of the Lisp syntax i.e. parentheses soup, which is hostile to normal, textual editing, and requires advanced structural editing instead.

They are other options than EMACS for that, though. The article mentions DrRacket, you yourself figured out that you can configure a vim-style editor to do it.

But one way or the other, you either love it or hate it. Smalltalk has the same issue, the language was not designed to work with a regular text editor, you are expected to use an object-oriented, mouse-based GUI to work on a live "image", as opposed to editing static text.

Such peculiarities are a major hurdle to adoption, but ultimately an essential aspect of the development philosophies of these languages.


I didn’t set up any advanced structural editing in neovim and I don’t recall any such features existing in DrRacket’s editor.

The only reason, as I understand it, for using Emacs is this much vaunted ability to evaluate expressions in the editor that are run by a running interpreter process.

It was cool to experience but hardly earth shattering or a decent reason to learn the forest of chords, modes, and metas of Emacs…

And as far as I could tell, it was just about sending some text to the interpreter via a pipe. It doesn’t seem like something that should require a brand new editor or a complex, custom configuration of an existing one to accomplish.




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

Search: