Re: [stack] language hierarchy

John Nowak <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
We might restrict the definition of composable to make it more useful  
by adding the requirement that all functions be unary (e.g. stack ->  
stack). Indeed, this is why we can write everything in terms of  
function composition in the first place.

Not only does this narrow things down a bit (which is a good thing if  
you want to be able to talk about the properties of such languages),  
it also removes the need for silly explicit restrictions like  
"composition be part of the abstract syntax"; If you require that all  
functions be unary, then implicitly composition *must* be part of the  
abstract syntax as it's a binary operation.

"A language is composable if new functions are created only by  
composing existing unary functions."

Then again, if you require that functions be written *only* in terms  
of composition, then all functions *must* be unary anyway, and hence  
composition *must* be part of the abstract syntax. Hence, adding the  
unary restriction to the definition is unnecessary. For the purposes  
of making the definition useful, I think the "only" requirement is  
very reasonable. We can extend this definition to talk about  
"partially composable" languages when the time comes.

- John
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.