Path: utzoo!utgpu!water!watmath!clyde!att!rutgers!bellcore!faline!sword!yba From: yba@sword.bellcore.com (Mark Levine) Newsgroups: comp.arch Subject: Re: Software Distribution Message-ID: <848@sword.bellcore.com> Date: 6 Sep 88 20:07:56 GMT References: <22778@amdcad.AMD.COM> <965@esunix.UUCP> <5642@june.cs.washington.edu> Reply-To: yba@sabre.bellcore.com (Mark Levine) Organization: Bellcore, Red Bank NJ Lines: 34 In article <5642@june.cs.washington.edu> pardo@cs.washingtone.edu (David Keppel) writes: >Yes, what we need is a high-level machine language that we can >translate our programs into and then is sufficiently general that we >can compile *that* efficiently into native machine code. > In days gone by I was quite fond of MARY, a language in use (still, I think) at the University of Trondheim and on various North Sea oil drilling platforms. It was one of several topics of ye olde Machine Oriented Languages Bulletin from IFIPS, and even showed up at IFIPS w.g. 2.4 while I watched. Since those days, I have seen few attempts at high level machine oriented languages. The folks at Tartan seemed to have the best shots at an intermediate representation for these purposes, based on Wulf et. al.'s work at CMU. MARY would require you to have an implementation prelude for each machine on which you compiled to give machine specific definitions of basic constructs (allowing for assembler level optimization, since the language gurantees access to all machine ops). You could also supply preludes which defined the semantics of operations from other architectures and what to do with them on a new machine. The language is fully typed, and has precedence-less left to right evaluation, and has the notion of a current value -- this makes it easy to program, if somewhat unnatural for those trained to think an assignment statement has the variable on the left. There is an awful lot of good stuff on the shelf, but I think it stays there as long as proprietary interests remain larger than portability concerns. Given the recent movement toward UNIX OS standards, window system standards, and ignoring ADA, perhaps it is time for some archaeology; but, how serious is anyone's interest in a really portable machine oriented high level language?