Re: [stack] Barebone implementation of concatenative language in c or c++
John Cowan <[email protected]> Tue, 18 May 2010 23:31:01 -0400
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Ruurd scripsit: > We seem to disagree about what a language is. In my dictionary a > language consists of: pronunciation, syntax, semantics. It seems to me > that stack or rewriting is part of the semantics and therefore part of > the language. If I have a simple expression like: 2 3 +, there is no > way for you to convince me that this must be executed on a stack. I > only see three symbols that in the next evaluation step are replaced > by one symbol. If you only look at the simple case 2+3, C looks pure and functional too. You have to examine the totality of the language. But whether a stack is used or a series of rewrite rules is an implementation detail. > Making a lazy Joy is quite unnecessary, because there is already a lazy > library: http://www.latrobe.edu.au/philosophy/phimvt/joy/jp-reprod.html That library is about lazy lists, not about Haskell-style pervasive laziness. In Haskell, all primitive functions notice whether their arguments are datums or thunks, and if they are thunks, they get forced; this is not provided in Joy. -- But that, he realized, was a foolish John Cowan thought; as no one knew better than he [email protected] that the Wall had no other side. http://www.ccil.org/~cowan --Arthur C. Clarke, "The Wall of Darkness"