Path: utzoo!attcan!uunet!timbuk!cs.umn.edu!ub.d.umn.edu!rutgers!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!dali.cs.montana.edu!ogicse!zephyr.ens.tek.com!tektronix!percy!data!kend From: kend@data.UUCP (Ken Dickey) Newsgroups: comp.lang.misc Subject: Re^2: Some things that pointer-less languages can't do efficiently Message-ID: <416@data.UUCP> Date: 17 Oct 90 20:06:00 GMT Organization: Microcosm, Beaverton, OR Lines: 28 ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes: >(Since Lisp has rplaca/rplacd -- or, in Scheme, set-car!/set-cdr! -- Lisp >is a very poor example of a "pointerless: language...) I fear I have missed most of the discussion (our news feed is not the most robust), so my comments may be somewhat random, but here goes... There are a number of programming languages, Scheme and ML among them, which do not have a pointer abstraction. This is not to say that pointers are not used in their implementations. Typically, such languages concentrate on values. Whether or not a value is small enough to fit in a register is the concern of the implementation. Such languages support rapid, reliable code development by eliding a whole class of user errors. [After programming in Scheme for a few days, no one ever "falls off the end of a pointer chain" or "defererences a bogus pointer"]. Such languages tend to be more abstract and hence more portable across machine/os architectures than languages like C. Sure, there are people who prefer to write device drivers, etc. in C. But trying to scale up a device driver level development technology is an expensive and error prone way to build software systems. -Ken Dickey kend@data.uucp