Re: [stack] language hierarchy
"William Tanksley, Jr" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Don Groves <[email protected]> wrote: > William Tanksley, Jr wrote: > > My definition, however, is now *very* specific to syntax. Perhaps I'd > > better phrase it as: "A language's syntax is concatenative if the > > language it accepts is its own Kleene closure." Then, your definition > > rephrased to be parallel to mine would be: "A language's semantics is > > concatenative if every term denotes a function, and every > > concatenation of terms denotes an associative operation on those > > functions." (Hmm, is the word "semantics" plural?) > Function composition is associative. The phasing "every concatenation > of terms denotes an associative operation on those functions" begs the > question of what associative operations on functions other than > composition are we talking about? It's intended to raise the question rather than begging it. > Is it sufficient to say, as Manfred defined it for Joy, that > concatenation denotes function composition? That would be begging the question: assuming the answer which we seek to prove. I'm not certain you're wrong, though. It may be that my definition could be satisfied by a language which we would all reject as entirely non-concatenative. I've attempted to test that by inventing a language which uses a different operation; for example, the language which looks like Joy syntactically but which uses 'null' as its concatenation operator (i.e. all programs do nothing). Although this language is extremely uninteresting, it seems to me that it remains concatenative... Just in a very boring way. There are tons of nontrivial associative operators on functions. For example, let "+" be the operation which, given a pair of functions, produces the function defined by the sum of the values of the functions evaluated at a single, fixed value (which must be a number). The resulting language is, of course, commutative, and less interesting than Joy... But it seems like a real language to me, perhaps slightly useful, and -- from the results of Manfred's work -- I'd even say it's concatenative, although there are many additional transformations possible to it, since it's commutative. Perhaps I'm starting to get a grasp on some way to prove my idea false... I need to come up with a associative operator which produces a language that I can't accept as concatenative. If I can do this I'll be very happy; of course, if I can't I won't have proven you wrong. I'm going to try doing this with a non-commutative operator... Let me think about this. > Don -Wm