Related articles |
---|
Language design question flisakow@ricotta.cs.wisc.edu (2000-02-13) |
Re: Language design question world!cfc@uunet.uu.net (Chris F Clark) (2000-02-13) |
Re: Language design question jejones@microware.com (James Jones) (2000-02-15) |
Re: Language design question flisakow@ricotta.cs.wisc.edu (2000-02-15) |
Re: Language design question mkg@lanl.gov (2000-02-16) |
Re: Language design question joachim.durchholz@halstenbach.com.or.de (Joachim Durchholz) (2000-02-16) |
Re: Language design question joachim.durchholz@halstenbach.com.or.de (Joachim Durchholz) (2000-02-17) |
Re: Language design question kst@cts.com (Keith Thompson) (2000-02-19) |
Re: Language design question thp@roam-thp2.cs.ucr.edu (Tom Payne) (2000-02-19) |
Re: Language design question Andrew.Walker@nottingham.ac.uk (Dr A. N. Walker) (2000-02-27) |
Re: Language design question hannah@mamba.pond.sub.org (2000-03-21) |
Re: Language design question frederic_guerin@yahoo.com (Frederic) (2000-03-25) |
Re: Language design question world!bobduff@uunet.uu.net (Robert A Duff) (2000-03-25) |
From: | "Joachim Durchholz" <joachim.durchholz@halstenbach.com.or.de> |
Newsgroups: | comp.compilers |
Date: | 17 Feb 2000 18:09:38 -0500 |
Organization: | Compilers Central |
References: | 00-02-065 00-02-077 00-02-082 |
Keywords: | design, Eiffel |
Mark K. Gardner <mkg@lanl.gov> schrieb
> Some languages designers, such as Eiffel's Bertrand Meyers, believe
> strongly that you *should* hide the difference between a direct and an
> indirect type (i.e., between a statically allocated variable and a
> dynamically allocated one) to gain the flexibility to change the type
> without changing the text of the code.
Nit to pick: Just "Meyer" without a trailing s.
I agree with Bertrand here, but you have to be careful to make the
difference undetectable from a client's perspective ("client" being
Eiffelese for code that uses the type). For example, a client cannot
assign to an attribute, so the supplier type can really hide all
differences between reference and nonreference attributes.
> This is a personal preference of mine but... I would suggest you get
> rid of the separation between interface and implementation.
Oh yes. The implementation already contains everything, so such a
separation will just force programmers to keep redundant files in sync.
Instead, write a tool that extracts the interface from an
implementation. (If you write a compiler, writing the extraction tool is
a snap.)
For example, Eiffel compilers usually come with a tool named "short"
that takes module as input and generates interface specifications as
output. This "short form" is commonly distributed with library
documentation.
Regards,
Joachim
Return to the
comp.compilers page.
Search the
comp.compilers archives again.