Re: Intermediate forms (again?): worthwhile?

Chris Dollin <eh@electrichedgehog.net>
Wed, 26 Jan 2011 17:51:17 +0000

          From comp.compilers

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)
| List of all articles for this month |
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.



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.