From ... Path: supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!news.tele.dk!129.240.148.23!uio.no!Norway.EU.net!127.0.0.1!nobody From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: destroying CLOS objects Date: 14 Oct 2000 00:23:51 +0000 Organization: Naggum Software; vox: +47 800 35477; gsm: +47 93 256 360; fax: +47 93 270 868; http://naggum.no; http://naggum.net Lines: 46 Message-ID: <3180471831487017@naggum.net> References: <39E49E6E.BD032915@robotics.eecs.berkeley.edu> <8s28cg$iliuq$1@ID-22205.news.cis.dfn.de> <39E4AA26.D9826807@robotics.eecs.berkeley.edu> <39E709BD.7BEE4A2B@computer.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: oslo-nntp.eunet.no 971486378 6267 195.0.192.66 (14 Oct 2000 01:19:38 GMT) X-Complaints-To: newsmaster@eunet.no NNTP-Posting-Date: 14 Oct 2000 01:19:38 GMT mail-copies-to: never User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7 Xref: supernews.google.com comp.lang.lisp:2202 * "Christopher J. Vogt" | 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