[serene] Re: Bootstrapping the compiler

  • From: Pouya Abbassi <abbassi.pouya@xxxxxxxxx>
  • To: serene@xxxxxxxxxxxxx
  • Date: Fri, 30 Oct 2020 04:33:10 +0330

Hey buddy,
Beards are growing? ;)

You mentioned "interpreter for serene to bootstrap the compiler".
Does that mean something like SBCL compiler?
AFAIK, SBCL is basically an interpreter that can "snapshot" the current RAM state and put it in a binary file so user can restore that snapshot into their own computer's RAM.

1. Oh come on! Not C++ again! If C/C++ is "enough", Rust must be more than enough!

2. Maybe we can start off with Lambda Calculus and expanding it into a LISP. This way, it's super simpler to begin with, and we already have a spec for our first step.


On 10/30/20 1:24 AM, Sameer Rahmani wrote:
>
> Hey folks,
> Hope you're doing well. I had to come out of my cave and travel for 5km
> to get to a internet cafe in order to send this email :)).
>
> Today I was reading about the principles of computing systems and all of
> a suddent a light bulb popped up above my head and a wide smile on my
> face. So basically I have to say that I've missed something really
> simple  but really important that I worked on it a lot as well and yet
> surprising enough I forgot about. Till now, the plan was to create a
> compiler for Serene in Rust or C++ and use that compiler to bootstrap a
> self hosted compiler for Serene. But why can't we just create an
> Interpreter for Serene to bootstrap the compiler ??? After all Serene is
> a Lisp and it is in its nature to have an "interpreter" or a JIT.
>
> Many languages are using the same approach (Specially Lisps) to
> bootstrap the main compiler and eventually this bootstrap
> compiler/interpreter is going to get outdated and replaced by the actual
> compiler.
>
> So, I think we have to shift our mindset from writting the compiler in
> Rust and start creating the interpreter first. This way, will be closer
> to have a working copy of Serene and closer to our far away goal. But in
> order to implement this interpreter we have to think about couple of
> important points:
>
> 1. Bootstrapping a compiler from the source should be easy. Many experts
> say that a C/C++ compiler should be enough to bootstrap a new
> language. So in this case Rust might not be the best tool for
> us. Personally I think it's fine but we need to think deeper.
>
> 2. We need to come up with the spec of Serene (or a minimal version of
> it) much earlier.
>
>
> Please share your feed back and thoughts.
>
> Cheers
> Sameer
>

Attachment: mail.sig
Description: PGP signature

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
4GGE7nWJQNnGPTqsuB0=
=cUC9
-----END PGP PUBLIC KEY BLOCK-----

Other related posts: