pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Where to host ChezScheme boot images
On Tue, May 16, 2017, at 16:34, Robert Elz wrote:
> Date: Tue, 16 May 2017 20:27:11 +0200 From: Aleksej
> Lebedev <root%zta.lk@localhost> Message-ID:
> <3a447b8d8837b9ee53ebc7e988db064f%zta.lk@localhost>
>
>
> | As for the other architectures, real work must be done,
>
> Yes, that one is the hard work...
>
>
> | Well, ChezScheme almost follows this pattern, except in "write ...
> | in some programming language that is widely supported"
> part
> | :-).
>
> Actually, sometime in the past there was no ChezScheme right? I know,
> that's a dumb question, of course there wasn't. But then there was the
> very first version, and someone wrote that. And they compiled it. And
> they didn't compile it using ChezScheme because that didn't exist yet.
> And probably this same method, whatever it was, was used several
> times, to make bigger and better versions, until ChezScheme was
> finally working well enough to compile itself.
I just happen to be reading
https://www.cs.indiana.edu/~dyb/pubs/hocs.pdf which describes this
history in some detail.
In short, a hand-coded scheme system in Z80 assembler (ca. 1981) was
used to bootstrap a a now-forgotten dialect called C-Scheme (which, by
1984, had made it over to a VAX running BSD) which, in turn, was used
to bootstrap the first Chez Scheme (ca. 1984). As far as I can tell,
it's been self-hosting since then. So basically, Chez Scheme predates
C-as-universal-language.
In fact, one could just as reasonably ask how to distribute a working
gcc without trusting a binary blob somewhere along the way. In
principle you could start from the machine code listings for a primitive
compiler and run it on a PDP-8 emulator (wait, where did you get the
PDP-
8 emulator?) and then reproduce the history of C compilers (assuming we
still have the sources for the compiler that was used to compile the
first gcc). In practice, I suspect that cross-compilation from a
trusted machine is probably the only useful answer.
-- IDL
Home |
Main Index |
Thread Index |
Old Index