Earlier quoted context omitted.
I thought SBCL was a compiler only implementation? CMUCL did have an interpreter though.
It was until someone resurrected the evaluator it inherited from CMUCL
An Exploration of SBCL Internals (2020)
171–180 of 194 posts
Re: An Exploration of SBCL Internals (2020)
#172Earlier quoted context omitted.
I still haven't found an environment which lets you build the system as seamlessly as SBCL. The REPL allows you to build the code at runtime and update the system in place. Since I was a solodev, bug fixing and building the thing without going on the wrong path was worth I think months and years of my time. edit: Once you get the idea of a running Lisp image and you are updating the image it's a game changer. You are…
So a jupyter notebook is just a bad lisp repl
PS: You can also do copy and paste :)
Re: An Exploration of SBCL Internals (2020)
#173A lot of people write Lisp interpreters, post it to HN and call it a day, but I think compilation is the far more interesting task for a Lisp implementation. SBCL is great to poke around in and the decompiler’s great. Also check out ABCL, ECL for what compilation to JVM bytecode and C looks like.
This is a bit Haskell oriented, but the "Implementation of Functional Programming Languages" by SPJ is one of my all time favorite books. https://simon.peytonjones.org/slpj-book-1987/ These compilers were pulling heroic data structure optimization stunts in 1985, that no modern production compiler for major compiled languages can replicate in 2024.
Re: An Exploration of SBCL Internals (2020)
#174remember that we're on x86 here, which is a big-endian architecture While I wish this were true, x86 is little-endian.
Thanks for catching it, fixed!
Re: An Exploration of SBCL Internals (2020)
#175Earlier quoted context omitted.
Let’s make a trip back to the early and mid 1990s when C++ was a young language and Java was under development (it was released in 1995). At the time the most popular object-oriented language was Smalltalk, Common Lisp was at its peak of commercial popularity (largely in symbolic AI niches), and there were other niche OO languages that were heavily influenced by Smalltalk and Common Lisp (Objective-C in the NeXT worl…
Java claim to fame was to be close enough to C++ but portable in binary form. This made it possible for millions of people to learn it quickly. Lisp is too distant from C++ to have had any change.
We've been fooled in 90s so easily!
Re: An Exploration of SBCL Internals (2020)
#176Earlier quoted context omitted.
Why? Is it mostly because of Haskell's purity (side-effect-freeness), so optimizations can change expressions more freely and safely?
That, and the uniform s-expr/gadt representation of data structures instead of going wild with clever pointers.
Re: An Exploration of SBCL Internals (2020)
#177Earlier quoted context omitted.
>Couldn't have done it without SBCL Could you elaborate this part?
I still haven't found an environment which lets you build the system as seamlessly as SBCL. The REPL allows you to build the code at runtime and update the system in place. Since I was a solodev, bug fixing and building the thing without going on the wrong path was worth I think months and years of my time. edit: Once you get the idea of a running Lisp image and you are updating the image it's a game changer. You are…
The only thing I heard about this is Paul Graham's story on fixing particular bug in viaweb while talking to the user, but that's just one story from 90s. Would be great to hear more with regard to more modern setup.
Re: An Exploration of SBCL Internals (2020)
#178Earlier quoted context omitted.
I’ve tried multiple times to get into SBCL, but every time I run into the problem that I have to learn Emacs first. I know there are lots of other ways to work with SBCL, but they are either second-class citizens or paid.
I'm in the same boat. I just don't care about EMACS, don't like it, and there's little incentive when I'm just playing around. It's a shame because Lisp is really fun and interesting. I just don't want to spend so much time dicking around with an editor just so I can write some code.
Re: An Exploration of SBCL Internals (2020)
#179Earlier quoted context omitted.
So a jupyter notebook is just a bad lisp repl
In my opinion it’s indeed like Greenspun’s 10th rule; it’s a vague imitation. If people weren’t so squeamish about parans the world would be a nicer place. The tech is there for a long time already.
Re: An Exploration of SBCL Internals (2020)
#180Earlier quoted context omitted.
That, and the uniform s-expr/gadt representation of data structures instead of going wild with clever pointers.
I am not sure I understand what you mean in the context of Haskell.