Re: Writing fast compilers II rs/6000 (Thomas M. Breuel)
18 Aug 91 22:14:32 GMT

          From comp.compilers

Related articles
Re: Writing fast compilers II rs/6000 (1991-08-18)
Re: Writing fast compilers II rs/6000 (1991-08-19)
Re: Writing fast compilers II rs/6000 (1991-08-18)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Thomas M. Breuel)
Keywords: optimize, design
Organization: MIT Artificial Intelligence Lab
References: <> <>
Date: 18 Aug 91 22:14:32 GMT

[From comp.arch -John]

      I do not happen to know a language which will let you write 'a matmult b'
      (except possibly APL, which has its quirks.) [...] Also, why
      not allow the use of |x| for abs(x) or whatever the type calls for?
      This was not done initially because the vertical bar was not available
      as a character; that is why Fortran used * for multiplication and **
      for exponentiation.

The trouble is that too many language designers get caught up in
syntax and paradigms. It makes no real difference whether you write
|x| or abs(x); if anything, the latter syntax is preferable because it
is simpler to understand how it gets parsed. As long as you can write
function calls with an unlimited number of arguments (you cannot in
old BASIC or APL), syntax doesn't matter much.

The important questions about a programming language are:

  * What kind of type system does it have?
  * Does it have inheritance?
  * Does it have automatic type conversions?
  * Does it have an exception system?
  * What kind of module system does it have?
  * Does it have side-effects?
  * Is it lazy or eager?
  * What kind of runtime-overhead does it require?
  * Does it have operations with "undefined effects"?
  * Does it have automatic storage management?
  * Does it have first-class closures?
  * Does it have first-class argument-lists?
  * Does it have macros or EXTEND-SYNTAX?
  * Does it have EVAL or COMPILE-AND-LOAD?
  * Does it support persistence?


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.