Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!rice!bcm!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!midway!iitmax!gkt From: gkt@iitmax.iit.edu (George Thiruvathukal) Newsgroups: comp.lang.modula2 Subject: Re: BIX - BYTE - JPI - Chaos Message-ID: <1991Apr19.173651.9572@iitmax.iit.edu> Date: 19 Apr 1991 17:36:51 GMT References: <8015.280c0c0e@lhn.dsir.govt.nz> Organization: Illinois Institute of Technology / Academic Computing Center Lines: 44 In article <8015.280c0c0e@lhn.dsir.govt.nz>, mdlcpgs@lhn.dsir.govt.nz writes: > > Important point missed here. If you are doing a mixed language programming > (say you dont have time to re-write someones excellent C-based library of > routines that sing and dance), then the advantage of a common library base is > smallness of resultant code. If the library stuff isnt in common, then you link > in both languages support stuff. This I am sure was JPI intent ( I was one of > those who suggested it to JPI on BIX...). > > Then of course printf isnt lovely but then neither is M2's individual calls > for each IO item... :-) Personally, I support the idea of operator > overloading and variable no. of parameters in procedure calls. It seems to > me to be lack of imagination to suggest that compilers cant do this safely. > ^^^^^^^^^^^^^^^^^^^ If you read my discussion, there is no insinuation on my part that compilers cannot do overator overloading, variable parameters, or any C-like syntactic extension correctly. Such an insinuation would be completely absurd, because we (compiler writers) already know how to implement such features. Further, it is the case that compiler writers are implementing such features (as is the case in JPI Modula-2). I will suggest, however, that language extensions probably ought to be done in a fashion consistent with the original philosophy of the language. Modula-2 was designed to support the notion of very strong typing. An extension to the language which allows variable argument lists effectively relaxes the type checking system. > Add those features and you get real power in the libraries. Here is a nifty idea. Extend every language to have all of the features of C. Add a type cast operator. Allow any operator to be overloaded, including the dot and comma. Why not throw in those variable arguments. Maybe even change the type system so it is unreadable by humans (like it is in C). Well, if you add all of those features, you will be able to exploit the "real power" of practically any C library. After all, the semantics of the languages will practically be the same! -- George Thiruvathukal Laboratory for Parallel Computing and Languages Illinois Institute of Technology Chicago