Subject: Re: (describe-differences "Scheme" "Common Lisp")
From: Erik Naggum <erik@naggum.no>
Date: 1998/09/18
Newsgroups: comp.lang.lisp
Message-ID: <3115099944812091@naggum.no>

* trashcan@david-steuber.com (David Steuber "The Interloper")
| The operating system has to do some low level stuff that can be easily
| expressed in C.

  actually, this is false.  the low-level stuff you need for an operating
  system is as hard to express in C as in Common Lisp, and you may well
  have to resort to assembler at the same points in both languages.  (you
  get an opportunity to realize this for yourself when you get Linux. :)

  as for how easily low-level things can be expressed in C, I had fun
  replying to someone who needed a portable way to store floating-point
  numbers.  I suggested a byte stream, consisting of a total length byte, a
  mantissa length byte, bytes of the left-adjusted mantissa in big-endian
  order, an exponent length byte, bytes of the right-adjusted exponent in
  big-endian order, and a byte with the signs of exponent and mantissa.
  the core of this function is CL's INTEGER-DECODE-FLOAT.  C doesn't have
  this function.  writing the bytes out from a C program is not trivial,
  and is certainly not portable.  this is a case of much better support for
  low-level operations in CL than in C.  just a data point...

#:Erik
-- 
  ATTENTION, all abducting aliens!  you DON'T need to RETURN them!