Hacker News new | past | comments | ask | show | jobs | submit login

I've built the new Guile from source a handful of times now. It's definitely a slow process, but I'm very grateful that Guile doesn't require an older version of itself in order to build like a lot of other self-hosted languages. Self-hosting is good, but it's imperative that users can bootstrap on their own so that they don't have to place trust in a pre-built binary of the compiler in order to build the compiler. For example, Go has a self-hosted compiler now, but you don't need to trust a pre-built Go compiler binary to build Go, because you can bootstrap it using gccgo.



It's the same (or worse?) with Java. OpenJDK 6 and 7 can both be bootstrapped with GCJ, but with JDK 8 you need JDK6. Even GCJ needs a prebuilt jar of ECJ, so there is no way to bootstrap Java without having to trust binaries.


I kind of like the Go approach to this. (i.e. a fixed bootstrapping version that is compilable from c.) It's easy to identify what you need to bootstrap and doesn't absolutely require bootstrapping every time you compile. (i.e. you should be able to build the next go with 2 compiles once you're through the initial bootstrap rather than 3)


It's good that it doesn't require it, but it sounds like it would be nicer if the Guile build system offered the option of using a trusted build of the compiler to compile itself, if you have one lying around.


It does. You can set the GUILE_FOR_BUILD environment variable.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: