Re: Language design question

"Joachim Durchholz" <joachim.durchholz@halstenbach.com.or.de>
17 Feb 2000 18:09:38 -0500

          From comp.compilers

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

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


Post a followup to this message

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