Related articles |
---|
[14 earlier articles] |
Re: Intermediate forms (again?): worthwhile? bc@freeuk.com (Bartc) (2011-01-23) |
Re: Intermediate forms (again?): worthwhile? steshaw@gmail.com (Steven Shaw) (2011-01-24) |
Re: Intermediate forms (again?): worthwhile? steshaw@gmail.com (Steven Shaw) (2011-01-24) |
Re: Intermediate forms (again?): worthwhile? barry.j.kelly@gmail.com (Barry Kelly) (2011-01-24) |
Re: Intermediate forms (again?): worthwhile? nospam@myisp.net (Tony) (2011-01-24) |
Re: Intermediate forms (again?): worthwhile? thomas.mertes@gmx.at (tm) (2011-01-24) |
Re: Intermediate forms (again?): worthwhile? eh@electrichedgehog.net (Chris Dollin) (2011-01-26) |
Re: Intermediate forms (again?): worthwhile? bc@freeuk.com (Bartc) (2011-01-26) |
Re: Intermediate forms (again?): worthwhile? cr88192@hotmail.com (BGB) (2011-01-26) |
From: | Chris Dollin <eh@electrichedgehog.net> |
Newsgroups: | comp.compilers |
Date: | Wed, 26 Jan 2011 17:51:17 +0000 |
Organization: | Compilers Central |
References: | 11-01-045 |
Keywords: | code, design |
Posted-Date: | 30 Jan 2011 21:50:37 EST |
Tony wrote:
> Well, do tell what Pepper I has in common with C then.
It's an imperative programming language with no
special support for concurrency.
> What compromises were made to the design because
> of the choice of implementation?
To the design of Pepper? None. Pepper was designed
as a simplified Pop11; the implementation was required
to fit the language. The first implementation was as a
byte-coded interpreter (written in C); although it worked
it was a tad slow [1]. The Pepper-to-C translator was built
so as to have something rather faster, and in that it
succeeded.
As for the type system, that of Pepper and of C are pretty
much as different as that of Lisp and C: for starters,
Pepper has dynamic (aka latent | run-time | tagged) types.
[I never got around to writing the garbage-collector either;
again, I had some design sketches but never commited
them to code. It wasn't that it couldn't be done, it was that
I had other things to do.]
Chris
[1] Partly because the VM primitives were designed to
map effectively into machine code, rather than being
at the Pepper language level, because of an unfulfilled
ambition to have Pepper running as native code. Since
I had three different target architectures at the time
(x86, PA-RISC, and ARM) this would have meant three
different machine-code generators ... there's only one of me.
--
Far-Fetched Hedgehog
Nit-picking is best done among friends.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.