home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!comp.vuw.ac.nz!am.dsir.govt.nz!lhn.gns.cri.nz
- references: <1992nov16.080647.26783@informatik.uni-ulm.de>,<gpjqq!h+@aix01.rz.fht-mannheim.de>
- From: mdlcpgs@lhn.gns.cri.nz
- Newsgroups: comp.lang.modula2
- Subject: Re: Oberon vs Modula-2
- Message-ID: <2b0a09a8.44aa@lhn.gns.cri.nz>
- Date: Tue, 17 Nov 92 21:15:20 GMT
- Organization: Institute of Gelogical & Nuclear Sciences, New Zealand.
- Lines: 26
-
- >That doesn't work as soon as your procedure is public and (directly or
- >indirectly) calls some procedure not fully known to the compiler, since
- >the original argument may be accessible and modified behind the back of the
- >supposedly innocent routine. According to the current definition it only
- >sees a copy made at the entry and therefore would not be influenced by the
- >perfectly legal modification, but due to our smart optimizer ... :-(
-
- Hobby horse time again! I will re-assert my belief that the Wirth languages
- need other optional attributes on variable declarations and formal
- parameter definitions besides just TYPE (and VAR in the case of formal
- parameters).
-
- Very useful are: Static; (I dont like module level being only way to
- declare static variables when the scope of variable may be only one
- procedure. Local modules in M2 were about the most complicated away to
- achieve what the a static identifier could do imaginable)
- location; specifying the absolute memory address
- of variable (yes I know M2 implementation allow this).
- Readonly; More power to compiler for finding logic
- errors and the solution to the by-value or by-reference versus
- efficiency problem in format parameters;
-
- Without these, we expect the compiler to perform miracles with limited
- infomation. Adding them allows more power to compiler and efficency without
- compromise of method.
- Phil
-