[Oberon] Why macros were not implemented in oberon language?

Stefan Salewski mail at ssalewski.de
Sun Jul 6 02:38:54 CEST 2014


On Sun, 2014-07-06 at 09:20 +0930, Chris Burrows wrote:
> I just checked three 'modern languages' that I am aware of: C#
> (Microsoft),
> Go (Google), and Swift (Apple) and it appears that none supports
> macros.
> What 'modern languages' do you mean?

I did intentionally avoided naming some -- I know this is an Oberon
list, readers seem to be not interested in other languages.

But when you ask: There are some modern languages which have macros
directly supported by the compiler, avoiding all the trouble caused by
C's plain text substitution. I think this type of compiler supported
safe macro is called hygienic macro in literature. Nimrod supports its
well, I think Mozilla's Rust and Haskell also, see 

http://en.wikipedia.org/wiki/Hygienic_macro

One additional remark: Someone mentioned Ada as a language similar to
Oberon. I think Nimrod is a much better modern and powerful alternative
(with similar syntax) -- the guy(s) seems to be really smart and work
very hard on the language. The compiler has some 10k lines of code and
compiles itself in a few seconds. And it seems to support nearly all
concepts of modern languages like generics, macros, type inference,
garbage collection, parallel processing...And performance is already
close to C.





More information about the Oberon mailing list