3 Aug 2005 00:18
Re: [stack] an exchange on flatness
William Tanksley, Jr <wtanksleyjr <at> gmail.com>
2005-08-02 22:18:30 GMT
2005-08-02 22:18:30 GMT
Daniel Ehrenberg <microdan <at> gmail.com> wrote: > > The code is represented by a data structure. You use a compile-time > > list. A list is a great way to gather concatenative code together, but > > a very poor way to dissect and manipulate code -- you can do things > > with lists that aren't sensible with code. > What are you saying? That a language needs to restrict how people > manipulate code? No. I'm saying that code isn't a data structure. Perhaps I'm misphrasing that; perhaps I should say something like "computations aren't data structures". I can see that my origiinal phrasing was misleading. The reason I say that is that every data structure we've used to represent computations implies that you can manipulate the data structure to determine things about the computation. And that's just not true. Turing proved it -- the only general way to know things about computations is to actually run them. Languages that allow you to know the data structure used to represent a computation automatically put limitations on the computation. For example, Joy's documentation mentions that identities such as "dup drop == nop" don't hold within quotations, because someone might use the length of the quotation (list). > It is very useful to have code be > [represented by] an accessable data structure; Agreed. When I said "code" I should have said "computations". When you say "code" you're referring to the stuff that the programmer(Continue reading)
RSS Feed