7 ms·
Is there any old or new Lisp variant with excellent, beginner friendly (or even loving) documentation?
by 7373737373 2y ago
Is there any old or new Lisp variant with excellent, beginner friendly (or even loving) documentation?
- pgt 2y agoClojure: http://clojurescriptkoans.com/ http://clojurescriptkoans.com/
- swatson741 2y agoR6RS has a book that describes everything simply except for setting up the interpreter. [1] Racket has all of that and everything else you need to get started like tooling and modules. [2] Both lisps are no nonsense scheme variants. [1](https://www.scheme.com/tspl4/ https://www.scheme.com/tspl4/) [2](https://racket-lang.org https://racket-lang.org)
- ethagnawl 2y agoI was going to suggest Racket, too. Its documentation is some of the best I've ever come across. It doesn't hurt that it's beautiful, too. I smile every time I use Racket or its documentation.
- sourcepluck 2y agohttps://janet.guide/ https://janet.guide/ this document can definitely be described as loving.
- iLemming 2y agoEmacs Lisp is known for its great documentation, but I bet you're not asking about that. Try Fennel - it's a zero-overhead Lisp->Lua compiler. 'Zero-overhead' means that Fennel compiles directly to Lua without adding any extra runtime costs or abstractions beyond those present in standard Lua, ensuring Fennel code runs as efficiently as native Lua code. It has a relatively small set of features and is a very lovely language. I use it for dealing with things that need Lua - Hammerspoon, AwesomeWM, Neovim, etc. I jokingly call Fennel "the best Lua formatter" because Fennel code looks much more compact, cleaner, and easier to reason about than Lua. Lua syntax is weird, and I can never figure out how to format it for the best readability; standard tools and formatters rarely help here, sometimes making things even worse. The problem I almost never had with Fennel.
- speedster217 2y agoCan you share an example of Fennel with AwesomeWM?
- iLemming 2y agoThere are plenty: https://github.com/search?ref=simplesearch&q=language%3A%22Fennel%22+awesomewm https://github.com/search?ref=simplesearch&q=language%3A%22F... Here's mine, https://github.com/agzam/awesomewm.d/blob/main/src/_init.fnl https://github.com/agzam/awesomewm.d/blob/main/src/_init.fnl Beware though, I'm not highly experienced in using and configuring Awesome (especially for beautification), the code is not meant to be shared and it has tons of dirty parts (result of my experimentation), I only built what I needed for my personal use. Bigger (more public) project built on Fennel is https://github.com/agzam/spacehammer https://github.com/agzam/spacehammer It's for Hammerspoon though, and my guess you're using Linux, not Mac. One of the aspects I still haven't figured out is the "proper Fennel REPL", it makes certain things less joyful to write or troubleshoot, but even without it, I see some benefits in using Fennel instead of Lua - it's more compact, more FP-oriented, has macros, and it's a Lisp - I can use structural editing.
- nicklaf 2y agoCheck out Conrad Barski's Land of Lisp: http://landoflisp.com/ http://landoflisp.com/
- nanna 2y agoI wouldn't recommend Land of Lisp for beginners. It assumes a lot of basic Lisp knowledge and diverges from a lot of convention. If you're just starting out on your Lisp journey I'd recommend Touretzky Common Lisp: A Gentle Introduction to Symbolic Computation, which the author has a PDF of online for free. https://www.cs.cmu.edu/~dst/LispBook/ https://www.cs.cmu.edu/~dst/LispBook/
- rbc 2y agoI worked through the first 9 chapters of the Touretzky book as a preparation for PAIP recently. It's very thorough. If you work through the exercises in the book, you'll learn a lot.
- r8533292 2y agothere's a reason why people on forums and chans consistently recommend land of lisp over other books, it's deliberately imperfect in a way which appeals to a certain kind of young hacker's mind. it doesn't assume basic lisp knowledge, it assumes you're going to type the program in without understanding and then figure it out from exploration. it also assumes that you won't understand the whole program immediately or even after reading the whole book. it's a different didactic approach, and is modeled after author's personal experience of learning how to program by typing BASIC programs from magazines. as such the programs are deliberately "misarchitected", they are somewhere between scripts and hacks that present a variety of ways in which common lisp the standard allows you to solve this or that problem. they are also designed to be "tasty", compact and quirky, as opposed to well structured, plodding and dogmatic. they are lifted directly from a wizard's laboratory and they invite play. by comparison touretzky is a college level slog, solid, dependable coursework, that takes you over all the proper subject matter in a way that's certain to be approved by any computer science department committee, but that fails to create any sort of motivation to engage.
- citizen_friend 2y agoSicp for scheme
- nicklecompte 2y agoRacket might be the best bet, especially since it comes with a graphical IDE - Emacs is a big stumbling block for beginners. Racket also has lots of tools that make it fun and practical for learners (e.g. creating static websites, simple GUI applications). Things like this seems like the best way to learn without getting bored or frustrated: https://docs.racket-lang.org/quick/ https://docs.racket-lang.org/quick/
- rbc 2y agoIt depends on the kind of beginner. GNU Emacs has a built-in tutorial to get started on using the editor. After that, there's an introduction to Emacs Lisp as part of the info documentation in most packaged versions of Emacs. Extending Emacs is as practical a way to learn Lisp as others.
- vindarel 2y agoThe CL Cookbook: https://lispcookbook.github.io/cl-cookbook/ https://lispcookbook.github.io/cl-cookbook/
- tmtvl 2y agoPlus the community spec, of course: https://cl-community-spec.github.io/pages/index.html https://cl-community-spec.github.io/pages/index.html
- spit2wind 2y agoI second Emacs Lisp. Call `emacs -Q` (to open it without an init) and press enter. Emacs should have started with the default splash screen open and the cursor over the link to the tutorial. Read the tutorial and understand the basics of Emacs. Next, read An Introduction to Programming in Emacs Lisp. It's a lovely book and fun to read: https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html https://www.gnu.org/software/emacs/manual/html_node/eintr/in... Learn to read and work with Lisp by reading the Emacs source code and playing with it. Check out the Evolution of Emacs Lisp. It's a neat little Lisp! https://dl.acm.org/doi/10.1145/3386324 https://dl.acm.org/doi/10.1145/3386324 Emacs has the best documentation and documentation system ever made. Learn C-h f, C-h v, and friends, as well as the info system and the power of indexes. I hope you find joy and wonder exploring Emacs and Emacs Lisp like so many others have for nearly 40 years!