From ... From: Erik Naggum Subject: Re: (describe-differences "Scheme" "Common Lisp") Date: 1998/09/18 Message-ID: <3115099944812091@naggum.no>#1/1 X-Deja-AN: 392351529 References: <3602f224.338457185@news.newsguy.com> <3114703986711421@naggum.no> <35FFF567.29AF@sonic.net> <3114963145203525@naggum.no> <3600F739.E6AE0A18@altera.gr> <3603cae0.787157302@news.newsguy.com> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * 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!