logoalt Hacker News

baqlast Tuesday at 6:45 PM13 repliesview on HN

I wonder sometimes how the world would look like if lisp won and the unit of deployment was a lisp machine image, if that makes sense. How would a kubernetes optimized for lisp look like? How would AWS EC2 look like? etc.


Replies

tyromaniaclast Tuesday at 6:49 PM

We wouldn't have need such barbaric things in a lisp world. :p

Personally I think/hope they would have earlier discoveries / more broad usage of the deterministic systems like nix etc, which are built upon functional principles of immutability etc.

Maybe the world would be guix/Hurd!

show 3 replies
WillAdamslast Tuesday at 7:34 PM

That (deployment is via a customized image) is the thing I find most awkward.

Somewhere, I have a copy of a commercial LISP for Windows which would compile to an executable --- apparently this sort of thing is still possible, but it's not widely known/used, and sadly Jean-Marie Hullot's "SOS Interface" for the Mac was co-opted to NeXTstep:

https://denninginstitute.com/itcore/userinterface/GUIHistory...

I'd dearly love to see a RAD (Rapid Application Development) tool using LISP w/ a nifty UI for working up a GUI which would compile to something easily deployed (maybe HTML5 Canvas and JavaScript) as a stand-alone/single-file web application?

show 3 replies
galaxyLogicyesterday at 4:38 AM

That would be a bad idea. In Smalltalk the "image" was the main thing and I think that was one thing that led to the commercail demise of Smalltalk. You can not combine two (or more) images. You can not build new things by using "images" as components. Instead as we know source-code modules with well-defined interfaces between them is what keeps productivity hhigh. At least before AI.

show 2 replies
sphyesterday at 8:59 AM

> How would a kubernetes optimized for lisp look like

I imagine it would look a bit like Erlang's BEAM. No need to stop and start the application, but write a script to do hot updates of a live image.

joshmarlowlast Tuesday at 8:45 PM

I've often thought that s-expression diff-viewers would be very nice tooling. I've also often wondered how easy it would be to just sling s-expressions across the wire to execute in another environment. What would modern infrastructure look like if you could just have lambdas running lambdas?

show 2 replies
iLemminglast Tuesday at 9:02 PM

> How would a kubernetes

We have a few services built in Clojure and we expose nrepl port on our pods in our SDEs, it's enormously helpful to test and debug things on the fly, without having to redeploy or restart anything. Without having to deal with state, caching, etc.

show 1 reply
whyenotyesterday at 1:59 AM

The worst thing that ever happened to Common Lisp was its ANSI standardization, which for many years killed almost all language innovation and improvement.

show 4 replies
Shorellast Tuesday at 7:43 PM

Not that different.

AWS already has lots of AMI and docker are essentially image based.

We would version whole images in something like git, and that's all.

attila-lendvailast Tuesday at 11:21 PM

if you are pondering about that, then i think you'll like this:

https://ngnghm.github.io/

blubberlast Tuesday at 7:04 PM

Variable AWS is unbound.

coldtealast Tuesday at 9:47 PM

Same as the regular, but configurable in lisp?

quotemstrlast Tuesday at 7:56 PM

It'd look like Graal, which is a real thing you can use today.

epolanskilast Tuesday at 7:18 PM

Lisp's been around for 70 years at this point and hordes of developers tried it and said: lovely, but I ain't using it at work.

I'm strongly convinced, having used Scheme, CL, Racket, Clojure that Lisp is doomed to be (mostly) a hobby language.

The very power of Lisp, macros, dynamic programming, reflection lead to a mess of an ecosystem where every single developer reinvents the wheel and nobody can understand yet another DSL invented by the next developer next to them.

Racket's theme of being a "programming language for building programming languages" is just the poster child of this naivety: I don't want even more friction.

What scales and works is simple and boring.

That's by the way why also Haskell has struggled forever. Beyond its dreadful DX, poor tooling and unacceptable compilation times, the language is just plagued by compiler extensions and every single developer reinventing its own abstractions.

There was the simple haskell movement to just standardize around a set of extensions and conventions, but nope, these languages unavoidably attract people that want to stay in the ivory tower.

Really, I love both lisps and haskell, but I would take a dreadful php over them every single day at work. No contest.

show 8 replies