Re: [stack] the concatenative wikipedia article
John Nowak <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
On Jan 2, 2009, at 5:15 PM, Robbert Dalen wrote:
>> Enchilada is what I'd call a postfix term rewriting language. I don't
>> think I'd consider it concatenative due to the presence of lambdas.
>> Discussions in the past have indicated that lexical scope and
>> substitution are not compatible with concatenativity. For example,
>> given the expression '{a b=a b +}', I cannot define 'f' to be 'b +'
>> and then say '{a b=a b +} == {a b=a f}'.
>
> there is a catch:
>
> a lambda in enchilada is an unary (monadic) operator that is also a
> atomic term. as a consequence, you can't substitute expressions that
> are within the {scope} of a lambda.
Quotations are atomic terms too (i.e. they are a single element), but
you can still factor out subexpressions within them. Maybe what you're
trying to say is at the entire lambda is an atom in the sense that you
can't open it up any further. I would agree that this means you can't
substitute expressions (by definition), but it would also mean that
what you have inside isn't a concatenative expression because none of
the normal rules apply.
> also, definitions shouldn't contain free variables (or symbols as they
> are called in enchilada)
But variables can be free at points within a definition? That seems
like further evidence that something isn't compositional.
All that said, it's clear that Enchilada is "concatenativish". Perhaps
this is just a case where we need a mostly-concatenative/purely-
concatenative distinction.
- John