UNBCIC@BRFAPESP.BITNET (06/07/91)
=> Date: Sat, 1 Jun 91 07:38:17 GMT => From: editor%ucf1vm.BITNET@LILAC.BERKELEY.EDU => Subject: RE: Why no ** operator in Modula2? => DW> The question came up in class today: Why is there no ** or (x to the => DW> nth power) operator in standard Modula2? To make you start your own => DW> private module collection of goodies? Because it is machine => DW> dependant??? => => I am a student of computer science at the federal institute of technology in => zurich. as you know, Wirth is doing his stuff here. so we hear some inside => informations here and there. => => now the most possible answer to your question: => => because taking functions liker power into the language makes the compiler => bigger!!! => => note: Wirth: a compiler has to be as small as possible (see also Oberon). => => for my opinion this is a good solution for compiler writers and it is easy to => port such a compiler (in comparision to e.g. a ADA-compiler). decentralism => (hm?) That's why I like Forth. 2Kb compilers are possible. 8 Kb very complete compilers are exists. 11 Kb compilers with assembler, or ANS (currently dpANS) compilers with most of it's (many) extensions are a reality. Trade-offs: Simplified sintax (RPN), no Floating Point (most times; obviously it's avaible, but we aren't used to it), no operator overload. So, making the compiler bigger can be a good reason for not put something. But I doubt a ** operator would do that much, comparing to the current size of the Modula 2 compilers. What I really think it's the reason it's that N. Wirth doesn't think an ** operator is useful. I suppose he thinks that ** would be used as many times as a SIN, for example. So, he taked the ** out of the compiler, and the *LANGUAGE* gets smaller. Less things to learn. BTW, Forth, although small in size is a BIG language, and surelly takes lots of time to learn. (8-DCS) Daniel C. Sobral UNBCIC@BRFAPESP.BITNET P.S.: BTW, does someone know where I can get the Modula 3 -> C compiler source? => => Read ya => Bernd Goetz => => => -- => uucp: uunet!m2xenix!puddle!2!302!815.21!Bernd.Goetz => Internet: Bernd.Goetz@p21.f815.n302.z2.fidonet.org