Xref: utzoo comp.arch:4605 comp.lang.misc:1541 Path: utzoo!mnetor!uunet!husc6!bbn!rochester!pt.cs.cmu.edu!ius3.ius.cs.cmu.edu!ralphw From: ralphw@ius3.ius.cs.cmu.edu (Ralph Hyre) Newsgroups: comp.arch,comp.lang.misc Subject: Re: Universal OS & universal language Message-ID: <1596@pt.cs.cmu.edu> Date: 4 May 88 15:13:15 GMT References: <2845@mmintl.UUCP> <1543@hubcap.UUCP> <768@l.cc.purdue.edu> <1705@alliant.Alliant.COM> Sender: netnews@pt.cs.cmu.edu Distribution: na Organization: Carnegie-Mellon University, CS/RI Lines: 42 Keywords: Babel-II, programming environment Summary: put the complexity in the programming environment Followup-to:comp.lang.misc [followups directed to comp.lang.misc, where they belong] In article <1705@alliant.Alliant.COM> steckel@alliant.UUCP (Geoff Steckel) writes: >In article <762@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: >>> >The language ... should ... try to include it _all_. > >In article <768@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: > >>And they must realize that the resulting system ... must be easily >> extensible. This means that the user must be able to use notation >> which he considers easy to read, >I will argue that extensible languages lead to fairly large problems... >"personal taste" rears its head. The more a language needs extending, >the more the resultant language-prime becomes unintelligible to the next >reader. Assuming you make extensions within the basic syntax of the language, I believe that documentation of the language concepts and philosophy is sufficient to smooth over most problems caused by differences. My model of the 'programming environment of the future' includes a programming assistant, which will transliterate your code into other language. This is how Kyoto Common Lisp works, it gets compiled into C. I doubt that the output is meant for humans, though, so there's still some technology to devlop. You might imagine using smalltalk to do some user-interface prototyping, lisp or prolog to write some inference engines, and C to do some time-critical crunching. If you want to deliver a version completely written in C, just invoke the smalltalk->lisp and lisp->C translators on it. [This might be an advantage if you want to sell C 'source code' to your customers, but want them to have a hard time deciphering it so you retain your competetive edge.] Not easy to think about implementing this. A simpler alternative, of course, is to specify inter-language interfaces For example, most modern Unix lisps have a way of calling routines in Unix object modules. -- - Ralph W. Hyre, Jr. Internet: ralphw@ius2.cs.cmu.edu Phone:(412)268-{2847,3275} CMU-{BUGS,DARK} Amateur Packet Radio: N3FGW@W2XO, or c/o W3VC, CMU Radio Club, Pittsburgh, PA