4 ms·
There is a reason for that. From the BUILDING file in the Chez repository: > Since the Scheme sources can be compiled only by a working version of Chez Scheme
by rekado 8y ago
There is a reason for that. From the BUILDING file in the Chez repository:
> Since the Scheme sources can be compiled only by a working version of Chez Scheme, it's not actually possible to build Chez Scheme from source. That's why the boot and header files are packaged with the sources.
Chez has a bootstrapping problem. (See also https://bootstrappable.org https://bootstrappable.org)
- foepys 8y agoWhat a strange site configuration. HTTPS is broken because the cert is valid for another hostname and www.bootstrappable.org and bootstrappable.org differ in content. The site's intention is nice in theory but not really feasible in practice. To get an OS running on a computer, you need binaries anyways, so having some more binaries for programming languages isn't really that bad. There also isn't even an easily bootstrappable C compiler afaik.
- nickpsecurity 8y ago"The site's intention is nice in theory but not really feasible in practice. " They've gotten really far, though. Jan's Mes can compile tcc which can compile an older version of GCC. They just need enough of a C compiler to compile MesC. https://gitlab.com/janneke/mes https://gitlab.com/janneke/mes "To get an OS running on a computer, you need binaries anyways, so having some more binaries for programming languages isn't really that bad. " That's what I keep telling folks obsessed with this. If they insist on non-binary solutions, David A. Wheeler and I talked about using scripting languages that come with the system. I was looking at Perl with him mentioning bash. I added bash, Tcl, and awk compilers to the bootstrapping collection just in case. That's on top of the usual like Forth, LISP, or META II. People put some small, C compilers in there like you were talking about. https://bootstrapping.miraheze.org/wiki/Main_Page https://bootstrapping.miraheze.org/wiki/Main_Page
- z29LiTp5qUC30n 8y agoActually you missed a bunch. MesC is soon going to be bootstrapped by M2-Planet https://github.com/oriansj/M2-Planet https://github.com/oriansj/M2-Planet Which is in the process of becoming bootstrapped via stage0 https://savannah.nongnu.org/projects/stage0/ https://savannah.nongnu.org/projects/stage0/ Which bootstraps off a sub 240Byte hex Monitor and is hardware neutral.
- nickpsecurity 8y agoAppreciate the update!
- rekado 8y agoSorry about the broken server config. It's fixed now.
- Promarged 8y agoI see only SSL_ERROR_BAD_CERT_DOMAIN. (but on http it looks very nice)
- soegaard 8y agoProblem? That's by design.
- rekado 8y agoIt doesn't have to be this way as is demonstrated in Guile.
- kazinator 8y agoIt absolutely has to be that way, and is true for every language, including C. If you don't have a binary executable of a C compiler, you can't compile a C compiler, such as GCC. Since Guile requires C, you need a binary C compiler at the very least to bootstrap it from the bare minimum. Chez Scheme requires a compiled Chez Scheme whereas Guile requires a compiled C compiler.
- rekado 8y ago> Since Guile requires C, you need a binary C compiler at the very least to bootstrap it from the bare minimum. You do need a C compiler, but there is work underway to bootstrap the C compiler with ... a C compiler written in Scheme :) This Scheme interpreter (called "mes") can be built with the M2 Planet transpiler: https://gitlab.com/janneke/mes/ https://gitlab.com/janneke/mes/ https://github.com/oriansj/m2-planet https://github.com/oriansj/m2-planet
- rekado 8y agoI'd also like to point out that Guile can be bootstrapped with a Scheme interpreter (not just Guile), or it can be built with the interpreter in Guile itself, which is written in C. So there are a few choices here that increase the number of bootstrap paths through which one can arrive at Guile. I'd say that this is a desirable property as it allows for an elegant reduction of the bootstrap problem; conversely a program requiring a version of itself to be built has a much more complicated bootstrap story that either involves trust in large binaries or recursion into the early days of the compiler's first implementations. (GHC matches the latter story, unfortunately.)
- 8y ago
- rurban 8y agoMost lisp's bootstrap themselves from some Lisp. Eg sbcl can get bootstrapped from clisp. Clisp itself had the most C parts of all lisp's and bootstraps itself in several layers. Some prepocessed D to C, to some simple Lisp for the compiler and then finally to the advanced Lisp with CLOS.