Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!rice!titan!preston From: preston@titan.rice.edu (Preston Briggs) Newsgroups: comp.lang.modula2 Subject: Re: Oberon Message-ID: <6133@brazos.Rice.edu> Date: 28 Mar 90 18:46:06 GMT References: Sender: root@rice.edu Organization: Rice University, Houston Lines: 38 In article Modula2 List writes: >Oberon was revised in September 1989. >What are the revisions? >(1) Definition and implementation parts of a module are merged. > Items to be exported are marked explicitely. >(4) The apostrophe has been eliminated as string delimiter. > I.e. use 22X instead of '"'. For people infamiliar with the discussion, Oberon used to allow string constants to be delimited by a matching pair of single quotes (apostrophes) or double quotes. Why was this changed? The restriction doesn't seem to make sense in terms of the language definition. Doesn't seem to be an implementation issue either. Is it some system dependency? >No doubt, the main revision is (1) and there are many discussions about >this point. Is there a possibility of the spec changing again? It's really tedious to keep changing my (still very immature) compiler. My opinion is that marking definitions for export is really ugly, but it seems to work rather more cleanly than the earlier system of having the symbol file depend on both the definition and module files. Again for the unintiated, the new idea in Oberon is "type extension". It's a very cool idea that effectively does away with the need for variant records and opaque types. Unfortunately, it has a slight drawback in that is appears when you're trying to do seperate compilation. Also unfortunately, I'm running out time here, and can't explain it in 25 words or less. -- Preston Briggs looking for the great leap forward preston@titan.rice.edu