Article View: comp.lang.misc
Article #6444Re: Polymorphism
From: Alan Lovejoy
Date: Wed, 03 May 1989 16:09
Date: Wed, 03 May 1989 16:09
52 lines
3547 bytes
3547 bytes
In article <1899@etive.ed.ac.uk< db@lfcs.ed.ac.uk (Dave Berry) writes: <><In article <6000@pdn.paradyne.com> alan@rnms1.paradyne.com (Alan Lovejoy) writes: <>[I believe Nick Rothwell writes:] <><there's no assignment going on here; just a (local) rebinding of the name. <><If it was assignment, the value of the above expression would be (2, 2), <><not (2, 1). <>Of course. But there is a data structure (not "i") that IS being dynamically <>updated in place in your example: the dictionary that maps names to values. <That depends on the implementation, doesn't it? It's quite possible to <implement a symbol table functionally, right down to special hardware if <you want to take it that far. <>Whether this updating actually occurs at run time or compile time is a feature <>of the implementation, not a property of the language definition. <It's nothing to do with run-time. The symbol table is in the compiler. <Furthermore, your argument that something occurring in an implementation <justifies a statement about the language being implemented seems completely <bogus to me. Statements about a language should be judged by the semantics <of that language, not by the way some people might choose to implement it <on some hardware. Unless there has been a humongous breakthrough recently that I have not heard about, all computers are mathematically equivalent to Turing Machines. I assertthat functional languages are Turing Machine equivalent. Turing machines maintain state. Computation in a Turing machine proceeds by alpha transforms, which change the state of the machine. The fact that two "different" implementations of a function are possible says something about the relationship between those two implementations. The fact that electrons can be implemented as either waves or particles says something about the meaningfulness of the distinction between waves and particles, at least at quantum energy scales. The implication is that at some deeper level of abstraction, the distinction is meaningless. The semantics of a language IS ULTIMATELY DEFINED BY the output of the canonical interpreter of the language. Defining virtual machines on paper makes it easy to forget all the work being done in the brain of the person "interpreting" the program as specified by the paper definition. You cannot rightfully divorce "interpreter activity" from "program activity." What one language does in the interpreter another does in user defined code. It is possible to write a program that includes its own intepreter. The prosecution rests its case. Alan Lovejoy; alan@pdn; 813-530-2211; AT&T Paradyne: 8550 Ulmerton, Largo, FL. Disclaimer: I do not speak for AT&T Paradyne. They do not speak for me. _________________________Design Flaws Travel In Herds_________________________ Motto: If nanomachines will be able to reconstruct you, YOU AREN'T DEAD YET.
Technical Details
Message-ID:
<6063@pdn.paradyne.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!pdn!oz!alanReferences:
<5957@pdn.paradyne.com< <1810@etive.ed.ac.uk< <5973@pdn.paradyne.com< <1834@etive.ed.ac.uk< <6000@pdn.paradyne.com> <1859@etive.ed.ac.uk> <6032@pdn.paradyne.com> <1899@etive.ed.ac.uk>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!pdn!oz!alan From: alan@oz.nm.paradyne.com (Alan Lovejoy) Newsgroups: comp.lang.misc Subject: Re: Polymorphism Message-ID: <6063@pdn.paradyne.com> Date: 3 May 89 16:09:25 GMT References: <5957@pdn.paradyne.com< <1810@etive.ed.ac.uk< <5973@pdn.paradyne.com< <1834@etive.ed.ac.uk< <6000@pdn.paradyne.com> <1859@etive.ed.ac.uk> <6032@pdn.paradyne.com> <1899@etive.ed.ac.uk> Sender: news@pdn.paradyne.com Reply-To: alan@oz.paradyne.com (Alan Lovejoy) Organization: AT&T Paradyne, Largo, Florida Lines: 52