home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.modula2
- Path: sparky!uunet!mcsun!news.funet.fi!cs.joensuu.fi!jpussi
- From: jpussi@cs.joensuu.fi (Jarmo Pussinen)
- Subject: Re: Oberon-2 discussion continues
- Message-ID: <1992Nov23.081453.5152@cs.joensuu.fi>
- Organization: University of Joensuu
- X-Newsreader: Tin 1.1 PL5
- References: <37695@uflorida.cis.ufl.edu>
- Date: Mon, 23 Nov 1992 08:14:53 GMT
- Lines: 38
-
- Benedict Rafanello (bmr@buoy.cis.ufl.edu) wrote:
- : |> >>> e) DEFINITION & IMPLEMENTATION merged.
- :
- : |> >>This was a really bad move. Now you can't define the interface separately
- : |> >>and enforce it, and the "*" and "-" stuff is really kludgy, very atypical
- : |> >>of Wirth's work. Even if you accept that merging the def and imp is good,
- : |> >>interface details like READONLY really deserve their own keywords.
- :
- : |> No, this is a good move. The maintenance of only 1 file is a big
- : |> win. If you are concerned about the definition being published with
- : |> the source, don't worry. There is a `Browser' module which will
- : |> output a definition for a compiled module. You can then ship the
- : |> defintion (sans comments, unless you provide them) with your object
- : |> modules.
- :
- : If both the interface and the implementation are in one file, how do you
- : tell when only the implementation was changed? This is very important for
- : large projects. Some of the projects that I have been involved with contain
- : more than a million lines of code. These projects (done in Ada) would take
- : several DAYS just to compile. If the interface to a package was changed,
- : we would have to go through that horrendous compile cycle whereas if just
- : the implementation was changed, we only needed to relink. How does Oberon
- : handle this?
- :
- : Ben
-
- There is a compiler option, which tells to the compiler that interface
- may change. If you compile a source file without that option you cannot
- change the interface (create a new .sym file) without a compile time error.
- So there is no need to recompile the other stuff (and as you know there is
- no linking phase in Oberon :-), after changes that do not affect interface.
-
- In short in Oberon it is the compiler which creates the interface file.
- --
- --------------------------------------------------------------------------------
- | University of Joensuu | When I was younger I always thought|
- | jpussi@cs.joensuu.fi | but nowadays I don't. |
- | or something like that | |
-