Subject: Re: destroying CLOS objects
From: Erik Naggum <erik@naggum.net>
Date: 14 Oct 2000 00:23:51 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3180471831487017@naggum.net>

* "Christopher J. Vogt" <vogt@computer.org>
| Lisp is designed to provide a rather robust environment.  In order
| to provide a robust environment it can't allow you to do everything
| you want.

  Really?  It can't _allow_ that, huh?  What happens if I try?

| I might want to store a particular sequence of bits in a particular
| memory location, but if I pick the wrong sequence of bits, or the
| wrong memory location, it could cause the program to crash without
| hope of recovery.

  Suppose I want this and I don't buy your line.  Are FFIs within
  "Lisp" as you define it?  Can I use functions that produce machine
  code that effectively bypass the whole security system if that's
  part of what the compiler provides?  When does it stop being "Lisp"?

| Many popular languages work this way.  Lisp does not.

  This is nonsense.  "Lisp" has no such restrictions, for any value of
  Lisp, even Common Lisp.  Any reasonable implementation will offer
  you ways to do anything you want, including using an FFI and low-
  level memory operations.  It's essential to a programming language
  to be able to manipulate hardware.

  It is essential that it isn't the _default_, but the _ability_ must
  be there, or people will use something else for that part, and they
  won't ever grow beyond it, because, you see, huge numbers of people
  who want to become programmers still think it's all about control.
  Well, it so happens that actually is, so the question is not control
  or no control, but control over _what_.  It takes most people a
  _long_ time to get the point where they realize what they really
  want to have control over.  Lisp _allows_ them to figure it out,
  because in Lisp, you don't stop at the low-level: there is no glass
  ceiling.

  Shed your misconceptions and try to think about what Lisp for really
  low-level stuff would be like.  What would you want to do at the
  very lowest level of a modern computer architecture?  What would you
  _not_ want to do at that level?

#:Erik
-- 
  I agree with everything you say, but I would
  attack to death your right to say it.
				-- Tom Stoppard