Take a time and choose one. The world is not limited only by Vim and Emacs. However, I prefer emacs these days (happily switched from Vim a decade ago).
Turn on english subtitles if you don't speak Russian.
In this video, I tell you how to make a complex web application in Common Lisp and Clack.
You will see how you can add different middleware to your application, for example, logging all HTTP requests.
I will also show you how to distribute static files from the CL web server and how to combine several Clack applications
in one server so that each application responds in its own route.
Also, I will explain the difference between Clack and Hunchentoot. If you want to learn about it, watch the video to the end!
Spinneret is better than CL-WHO at least in it's string escaping policy. All values are escaped by default whereas with CL-WHO you need to wrap with CL-WHO:ESC all string values.
Thus CL-WHO is vulnerable to XSS attack by default.
Thanks, I forgot about this aspect of live program editing. Whether or not it's possible (or how close just quick live reload) is to this it' definitely not a first class citizen like you presented. It also reminds me of Pharo (or maybe just smalltalk, I've only played with Pharo) where you build the program incrementally "inside out".
It does make me wonder how aplicable this way of programming is to what I do at work but that is more because of the technologies and architectural choices where most of the work is plumbing stuff that is not local to the program itself together. And maybe even for that with the edges mocked out it would make sense to work like this.
Again, interesting video that made me think. Thanks.
Being able to interactively update code in response to an error, without leaving the error context and being able to restart stack frames (not just a “catch” or top level, as in most languages) is one of the key features that makes REPL-driven development possible. Or at least that’s how I see it.
It’s not something you always need to use, but it can be handy, especially for prototyping and validating fixes.
I'm the author and I'm using Emacs + SLY. Happily switched to Emacs from VIM about 10 years ago when decided to invest all my free time into Common Lisp.
And yes, I have real project experience – a lot of Commmon Lisp libraries at https://github.com/40ants and also I'm developing a hosting for CL library distributions: https://ultralisp.org
But that does not mean that the code is compatible to Lisp. To mention that it is written in Lisp is mostly meaningless, since the wider Lisp family has 100 incompatible languages.
Try to run it in Emacs Lisp.
Thus it makes sense to mention in what actual programming language it is written in.
You're being needlessly pedantic here - especially when, despite never having seen Janet before, I was immediately able to use it at a high level of fluency thanks to long prior experience with Elisp and CL.
It's not wrong to say that something written in a Lisp is written "in Lisp". It's less than maximally precise, but people who are interested in Lisp will understand that "which Lisp?" is a question of import here. People who are not yet interested in Lisp, on the other hand, could well see this sort of pettifogging by someone clearly invested in it as a reason to avoid becoming more so.
I think that'd be a shame, because learning to understand the concepts that underpin Lisps has informed my approach to my work, even in other languages, and just generally made me a better programmer; I think it's good for just about anyone to have that experience in some degree. So I think it's worth not representing the language family or the community around it in ways that make it less likely more people will decide to take an interest.
Besides, Lisp can be a lot of fun! As indeed it is here. So, y'know. Maybe it's worth being less concerned over how people talk about it, and more glad they find it worth the time to talk about at all.
You're overgeneralizing your own experience. Janet claims to be a lisp-like language without lisp-like lists.
> So I think it's worth not representing the language family or the community around it in ways that make it less likely more people will decide to take an interest.
People are not dumb. Tell them what it is, not a marketing label.
So I understand that in some contexts it's important to specify that, for example, you've written a library for "Common Lisp" rather than just "Lisp". Here the original commenter is clearly just happy they can use a lisp for this task, and they got a snippy and slightly pedantic response that likely thousands of HNers are now reading.
So the top-level comment made me think "cool I should return to Lisp and hack something fun together" and the reply made me think "ah lispers can be tribal and petty towards newbies". It's fair enough if that's true - I don't know what value me individually doodling a few things can bring to a community overall.
https://www.youtube.com/watch?v=eTgDaMREKT4&t=2s
Take a time and choose one. The world is not limited only by Vim and Emacs. However, I prefer emacs these days (happily switched from Vim a decade ago).