LispWorks is a commercial Common Lisp implementation still thriving. Besides the CL ANSI language implementation, LispWorks provides additional features, tooling and libraries. Among others:
- the CAPI GUI cross-platform framework
- the LispWorks IDE (built in CAPI)
- the mobile runtime (iOs, Android)
- its tree shaker to ship smaller binaries
- its Java interface
- the KnowledgeWorks system for "rule-based, object-oriented, logical, functional and database programming"
- its own, production-grade webserver, and more.
http://www.lispworks.com/ - http://www.lispworks.com/success-stories/index.html
Its personal edition is limited and its licence costs money. So, is it worth it?!
As a Lispworks user, yes it is super pricey, but it does make sense for certain people. Arguably, Lispworks provides features that aren't available in any other programming language, Lisp or not.
- Support for just about every platform I can imagine. Yes it's expensive, but if I want to port to a new platform I can pay Lispworks, and get it over with. It'll mostly work without too much changes. It works on Android, iOS, Windows, Linux, Mac, and some really obscure systems.
- Application delivery with tree shaking. May be there are other languages that do this, but I haven't worked with something like this before in my career. (Maybe proguard for Java, but that's very rudimentary compared to LW's delivery). The tool I work on delivers a binary that people need to download during the CI jobs for every run, so having it be 100MB is way too big. After compression, my LW delivered binaries come to around 9MB.
- You mention support being expensive. Actually, for simple support questions LW does a pretty good job of responding back to you. I've asked tonnes of questions over the years, and have not paid for a separate support contract apart from the yearly maintenance contract. I suspect they like people asking questions, because then they fix those bugs and it becomes even more rock solid.
- The documentation is glorious. And in the off-chance that I need to know something that's not documented, I just mail them and they'll respond usually by the next working day.
- Very stable Java support (although the API could be better), let's me use the entire Java ecosystem of libraries when I need it.
- The platform itself is rock-solid. Now SBCL is fantastic, but when I ran my servers on SBCL, I would have a crash every now and then. With LW, I can have my server running weeks (current uptime is a month) with reloading code multiple times a day, and everything is still super stable.
There's more, but I think the rest is more negotiable. For instance, the FLI is a lot more polished than using CFFI, which makes a huge difference in productivity when writing native code. Or the fact that its remote-debugger facility can be used as a very stable protocol to programmatically control a remote LW process. I don't use the IDE btw, so I'm not even considering that. I don't use CAPI either, but I mean to someday.
2023, Arnold @tdrhq of Screenshotbot on reddit: https://www.reddit.com/r/Common_Lisp/comments/11979q4/common_lisp_implementations_in_2023/