Path: utzoo!utgpu!watserv1!watmath!att!att!bu.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!cs.utexas.edu!uunet!zephyr.ens.tek.com!tektronix!percy!data!kend From: kend@data.UUCP (Ken Dickey) Newsgroups: comp.lang.misc Subject: Re^6: Some things that pointer-less languages can't do efficiently Message-ID: <422@data.UUCP> Date: 29 Oct 90 19:48:23 GMT References: <26739:Oct1023:44:2690@kramden.acf.nyu.edu> <65450@lanl.gov> <420@data.UUCP> Organization: Microcosm, Beaverton, OR Lines: 61 peter@ficc.ferranti.com (Peter da Silva) writes: >Not all languages with pointers allow arithmetic on them. And you never >need to do arithmetic on a pointer in C... it is merely convenient. This >has nothing to do with the definition of a pointer. The definition of "pointer" comes from an extensive body of literature on computation. You should use a term with a meaning closer to what you wish to express rather than redefining a term with an established meaning. CS is already full of overdefined terms. >> By "token" (a syntax concept), I presume you mean "identifier" (a >> language concept). >No, I mean a token. An opaque object. The term is used in other contexts >than compiler design... consider its use in networking. The rest of your >paragraph is complete gibberish, I'm afraid, because it's based on a >misconception. In the context of computer programming languages, "token" has a meaning in the context of syntax. I did not know you were speaking of networks. What is the meaning of "pointer" in the context of network? >What you're arguing about here isn't whether one should have pointers >at all, merely how restricted the operations on pointers should be. And >that's a horse of a different color. I am arguing whether "pointers" are available as a source language concept. If I have a "house", it is defined in terms of roof, walls, etc. I speak of being in a particular room, etc. A house may be (but does not have to be) constructed partially from "boards". I do not talk about going from room to room in a house by speaking about boards. Boards are not a "house-level" concept. Why do you insist on redefining board to be a unit of room traversal? >I use C for pragmatic reasons. It's the only language that's powerful >enough for most of the stuff I do that's also widely available and has >a good enough standard library. I use Scheme for pragmatic reasons. It gets in my way the least of any language around and--unlike C--is portable to a wide variety of machines with the use of a small source file which encapsulates implementation differences. [I routinely work on Vax, Sun3/4, Amiga, PC, Mac, etc. with the same Scheme source]. C lacks good encapsulation facilities. I don't want to worry about the size of an int! It lacks closures. It is *not* powerful enough for many things that I do. I do use it for device drivers and bootstraps, but C is too fragile for reasonably sized software systems. > You just can't *get* good Pascal, Modula, >Smalltalk, what-have-you implementations on most of the machines I have >to work with. I'm not going to claim it's even a very good langauge. But >it's there, and works, everywhere I need it to be. You want to help improve >things... write some compilers and sell them cheaply. I have just started a port of Brandeis' Gambit Scheme Compiler to the Amiga. Will this help? [Seriously, let's take the language bashing off-line] -Ken kend@data.uucp