Thanks!
Yes, I love the way go and plan9 C compilers work. IMHO all new compilers should be
written like that. I detest clang & llvm, especially when, for example, Freebsd make
buildworld (from scratch) takes over an hour because of clang+llvm times. Surely llvm
author(s) could've achieved all the flexibility llvm provide for various frontends in
a different way? [FreeBSD is also at fault. I think it can be compiled with gcc but no
other small and fast compilers like tcc]
On Mar 7, 2024, at 5:12 PM, Rob Pike
<robpike(a)gmail.com> wrote:
By the way, the unmatched portability of Plan 9 and Go stems from the way Ken structured
that compiler. My talk at GopherCon about the Go assembler describes this architecture and
why it worked so well. Others feel that by being unorthodox it is clearly bogus and we are
jackasses, but such complainers only notice the difference and don't ask why the
difference is there.
-rob
On Fri, Mar 8, 2024 at 12:10 PM Rob Pike <robpike(a)gmail.com
<mailto:robpike@gmail.com>> wrote:
> Yes. Ken wrote the first version for the National 32000 (maybe even 16000?) on the
Sequent. He ported to the MIPS when we started Plan 9.
>
> -rob
>
>
> On Fri, Mar 8, 2024 at 12:08 PM Bakul Shah <bakul(a)iitbombay.org
<mailto:bakul@iitbombay.org>> wrote:
>> What is the history of Plan9's C compiler? Was it a from scratch
implementation?
>>
>>> On Mar 7, 2024, at 4:57 PM, Rob Pike <robpike(a)gmail.com
<mailto:robpike@gmail.com>> wrote:
>>>
>>> Chris Fraser and Dave Hanson did LLC and wrote a book about it, very clean
and pedagogically valuable.
>>>
>>>
https://www.amazon.com.au/Retargetable-C-Compiler-Design-Implementation/dp/…
>>>
>>> -rob
>>>
>>>
>>> On Fri, Mar 8, 2024 at 11:31 AM Warner Losh <imp(a)bsdimp.com
<mailto:imp@bsdimp.com>> wrote:
>>>>
>>>>
>>>> On Thu, Mar 7, 2024 at 5:08 PM Rich Salz <rich.salz(a)gmail.com
<mailto:rich.salz@gmail.com>> wrote:
>>>>> I believe Snyder was an MIT Master's thesis, finished in
1975[1]. There was a fair amount of C and compiler work at MIT LCS, perhaps JNC can post
some info. I think Snyder's compiler was used for the MIT PC/IP[2] project; the links
at BitSavers imply they are related. PC/IP brought TCP and clients to DOS 3 machines and
was commercialized as FTP software and was one of the reasons for the creation of the MIT
license[4]. BDS C[3] was done by an MIT drop-out, Leor Zolman. I bought my first
motorcycle from him :) BDS C was used for the first implementations of MINCE (mince is not
complete emacs -- those kinds of acronyms were popular) and Scribble, downsized clones of
emacs and Scribe, respectively.
>>>>>
>>>>> [1]
http://www.lcs.mit.edu/publications/specpub.php?id=717
>>>>> [2]
https://web.mit.edu/Saltzer/www/publications/pcip-1986.pdf
>>>>> [3]
https://en.wikipedia.org/wiki/BDS_C
>>>>> [4]
https://ieeexplore.ieee.org/document/9263265
>>>>
>>>> Judging from what's at the bitsavers I posted, the source for pcip
and this is the backstory to them.
>>>>
>>>> Warner
>>