4 ms·
>and a lack of any compile time checking is what keeps me from even bothering to look at it. Common Lisp more than compensates due to some key features: 1. an
by flavio81 7y ago
>and a lack of any compile time checking is what keeps me from even bothering to look at it.
Common Lisp more than compensates due to some key features:
1. any bug can be corrected at runtime without having to stop the program
2. the type system is completely strong, not weak
3. it actually has a pretty nice type system.
4. the conditions-restart exception handling system is world-class
- _bxg1 7y ago> it actually has a pretty nice type system Not by default. And herein lies the core social problem with Lisp: [new/non-lisp programmers]: Lisp doesn't have X! [lisp programmers]: Just make your own X! Lisp is extensible! Or pick from the twelve implementations already out there! Here's the thing: probably all of those implementations are going to be half-baked. And good luck finding editor support for the one you end up going with when there's no standard to rally around. And have fun re-learning the nuances of basic language features every time you join a new team. A simple core language does not mean simple code: http://winestockwebdesign.com/Essays/Lisp_Curse.html http://winestockwebdesign.com/Essays/Lisp_Curse.html
- vindarel 7y ago> > it actually has a pretty nice type system > Not by default > Or pick from the twelve implementations already out there! Just pick SBCL!
- oblio 7y ago> 1. any bug can be corrected at runtime without having to stop the program Can you do this in an automatable and testable way? I.e. can you provide a migration script as part of an automated deployment to an Ops team?
- vindarel 7y agoHello late. Do you mean can we script the hot reload? Yes, here's a quick link: https://lispcookbook.github.io/cl-cookbook/web.html#hot-reload https://lispcookbook.github.io/cl-cookbook/web.html#hot-relo... you basically start a Swank server on the running app, connect to it from your machine, send it new code and call the compiler.