Subject: Re: Using Lisp to Call another program in linux?
From: Erik Naggum <erik@naggum.no>
Date: 11 Nov 2002 04:44:33 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3245978673578055@naggum.no>

* Scott Schwartz
| They call the real system's library functions "foreign", because they
| want to demote and discourage them.

  Wrong.

| In contrast Java implementors call the same functions "native", because
| they *are*, and getting access to them is necessary and desirable.

  But interestingly, what is "native" is a subset of what is "foreign".

| Lisp as a language has a lot of nice features.  I want those features
| without the "lisp is a shell and holds the whole world" baggage.

  You may be surprised by this, but many of us in the Common Lisp community
  have been there.  I have, for instance, bemoaned the lack of ability to
  use the entire machine word for integer arithmetic.  When I implement
  various things that need to talk to C or other foreign languages (grin), I
  am constantly reminded of this very painful difference.  I want to write
  code for algorithms that have been optimized for (expt 2 n) architectures,
  and I am usually quite unwilling to settle for (1- n), but the performance
  of most Common Lisp code that works with integers that can be larger than
  fixnums yet within the machine word range can range from good to abysmal
  depending on the bignum performance and the randomness of boxing them.
  I have also found the moronic system call interface in C to be a pain in
  entire intestine because of the incredible braindamage in the use of
  small integers for everything.  Designing a sensible interface to Unix is
  not an easy task.  The fact that a preprocessor had to be invented to make
  the code look half decent with those "macros" that turn into magic numbers
  is quite the extraordinary defeat in language design in my view.  If one
  were to design a Common Lisp look-alike for this interface style, a large
  number of symbols would have to be made visible to the programmer, not
  just the compiler, as in C.

| After reading lots of Erik Naggum's postings I was inspired to try a full
| featured system like common lisp, on the theory that a bigger and more
| serious community would translate to better engineering.  But alas, not.

  Well, I take that as a compliment.

-- 
Erik Naggum, Oslo, Norway

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.