Hacker News new | ask | show | jobs
by mark_l_watson 2312 days ago
Thanks for writing that up. Common Lisp as a language and ecosystem is so huge that we all have our own view of what CL is and how to use it to build applications. I have been actively using CL since around 1982 for prototyping and also building applications and tools but I feel like I use a small part of what is available, mostly because I prefer to use what I am used to. I should should probably spend a little less time building things with CL and a little more time studying it.

EDIT: off topic, sorry, but I have been actively evaluating CL (using an embedded web server that starts a browser) vs. Swift (using mostly SwiftUI) for a new product I want to write. I find myself using Swift like I would CL: using Playgrounds to prototype low level code and utilities, then XCode for developing the UI. To be honest, Swift and SwiftUI is a better fit technology-wise for what I want to do, but I am so much happier when working in CL.

2 comments

> Common Lisp as a language and ecosystem is so huge

This is not true IMO, when compared with the languages of today. Even if you include the numerous little details of MOP, the CL spec is nowhere near as confusing as say something like C++ 17.

You are correct, of course. Java, Python, C++, etc. also have huge ecosystems.
Can you elaborate why is it a better fit?

Have you evaluated CAPI? Have you looked into building Cocoa applications with Clozure CL?

CAPI is great, very well designed and implemented.

The advantage of Swift and SwiftUI is that my application can run on both a MacBook and iPad, sync data with iCloud.

The advantage of LispWorks is that I could fairly easily support both Mac and Windows (and Linux).

I spent two evenings last week playing with Clozure CL and its Cocoa support. It has low level APIs and I had a peculiar issue with sometimes not being enter text into input components.

EDIT: to be clear, in general I love Clozure CL. In this instance I was probably shooting myself in the foot, somehow, or maybe the issue was that I blew the install in some way getting it running on Catalina which took over an hour. The Catalina problems are hopefully just short term issues.

I haven’t used it myself, but EQL5 is attempting to make it possible to use ECL to iOS and Android apps
LispWorks also has offers an iOS/Android runtime, but no CAPI unfortunately.
The iOS runtime product allows you to write native libraries, but not do UI directly.

CAPI supports at least Mac, Windows, and Linux.

BTW, it just took me about 40 minutes using CAPI to reproduce what took a couple of hours this morning doing the same UI in Swift and SwiftUI.

Yeah, EQL5 can be used for UIs, if I understand correctly because it builds on ECL to compile CL to C