A revolutionary OS/Programming Idea

Tom Novelli tom@tunes.org
Wed Oct 8 07:25:02 2003


Alaric Snell writes:

> Yeah, LISP is great - I put this at least partly down to the 
> extensibility of a language with uniform syntax. You can write a library 
> like CLOS, and the resulting (defclass ...) looks as much a part of the 
> language as (defun ...). Which doesn't hold for languages where the 
> parser needs to know about the language's feature set!

LISP syntax is designed to suit a computer.  People think differently.  We
see patterns, but only one screenful at a time.  LISP seems like a step back
toward the old COBOL "a plus b gets c" notation.  C++ operator overloading
is a decent compromise.. you're stuck with the default operator precedence,
but it's helpful in dealing with vectors, matrices, etc.  There's also the
APL/K syntax, which is extremely terse, and you can use all kinds of symbols
since it's strictly right-to-left precedence; and you still have
normal-looking binary arithmetic operators.  I haven't tried it yet, but
it's nice to see someone who's thinking about us humans!

> Yeah, I'm a big fan of explicitly defined numeric range types rather 
> than just 'implementation dependent integer' like C provides - however, 
> I'd rather it was :
> 
> Temperature ::= Real(-271.(something),+Inf)
> 
> ...then something based around two's complement binary notation.

If I was using PL/I, I'd define "int" as a 32-bit integer unless I was
trying to write highly portable code.. I know it'll work efficiently on my
machine, and there's no sense worrying about precisely how many bits each
variable needs, as long as 32 is enough.  I'm not saying C is better than
PL/I.. but it helps to keep programmers from being unrealistic.