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

>like Chicken Scheme's take on this. Since Chicken's compiler always generates C code, which is then compiled by GCC (or Clang), one just releases both the source and the compiled C files.

Shipping a pre-built binary is what Guile purposely doesn't do to avoid the trust issue. Chicken's technique doesn't cut it.




Sorry, my bad. I said "compiled C files" when I meant said "compiled scheme files", which are C sources, not binaries.


They are binaries, effectively. They are not source code, just like minified JavaScript code is not source code. Thanks for pointing this out to me. I work on a package manager with a Chicken package where this sort of thing is unacceptable, so I've filed a bug.

Does anyone who works on Chicken know how bootstrap it?


You may want to ask on the chicken-users list (chicken-users@nongnu.org, subscribe at https://lists.nongnu.org/mailman/listinfo/chicken-users). The current list of maintainers is at (http://wiki.call-cc.org/maintainers), you could also contact them directly. Or on free node's #chicken

Now, the C source is not included in the repository itself, so if you are (somehow) building from that(for instance, you already have a working chicken), you are ok. They are only included in the "release tarballs".

How does your package manager get around bootstrapping compilers, in general? Guile's approach requires maintaining a one-shot interpreter/compiler in C, that's only ever used once. I don't think all projects do that.




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

Search: