Re: Stack-based syntax (was: affixes)
From: | Ray Brown <ray.brown@...> |
Date: | Friday, February 25, 2005, 19:42 |
On Thursday, February 24, 2005, at 07:04 , Mark J. Reed wrote:
> On Thu, Feb 24, 2005 at 06:34:21PM +0000, Ray Brown wrote:
>>> And certainly there must be some "lexical" information in the - and ÷
>>> operators, which enforce an ordering on their operands?
>>
>> In the case of + the ordering is irrelevant, tho in the case of - it is
>> not. But the ordering is surely the result of stack structure itself, not
>> the operator per_se.
>
> Right. Now consider a system which has only + and ×, but also has
> a unary NEGATE and a unary INVERT. Then those latter two would be
> the equivalent of the unary case markers I mentioned:
>
> 3 2 NEG + = 1
> 3 NEG 2 + = -1
>
> On the other hand, if there were no such operators but literals could be
> negative or fractional, then
As I said, the ordering is enforced by the fact you are using a stack and
obviously a unary operator like NEG above must immediately follow the
literal, whereas the unary operator must follow the two items upon which
it operates. If you have unary and binary operators, it is the stack
structure that enforces the ordering, the meaning of the operators in this
example is in fact irrelevant. What is important is:
NEG is a unary operator
+ is a binary operator
Given that, the ordering is fixed.
I assume BTW the the top of the stack in the above examples is the +
operator and that "= 1" and '= -1" is given to show the evaluation of the
stack.
>
> 3 -2 + = 1
> -3 2 + = -1
>
> And now you have the case marking within the operand itself.
I do not understand where the _case_ marking is. If you write the
expressions as in the above, then clearly -2 is a literal. Either it is a
convenient way of writing a negative value or you are using - as a prefix
(like Esperanto mal- ) and the expression is no longer RPN.
>
>> The literal 5 is of the same type as 3 and 2; the notion of
>> additionality is not there in the resultant evaluation. But when a
>> Fithian verb operates upon its arguments, surely the meaning of the
>> verb forms part of the resultant meaning?
>
> Sure, but this is really a use/mention distinction that is based on
> only one possible process in the arithmetic example. So change what we're
> doing - instead of evaluating the expression, let's transform it to
> infix. The stack then holds infix expressions, not just numbers:
>
> 1 2 + 3 - 4 × 5 ÷
>
> push 1, push 2, pop 2, pop 1, push (1 + 2), push 3, pop 3, pop (1+2),
> push ((1 + 2) - 3), push 4, pop 4, pop ((1 + 2) - 3), push
> (((1 + 2) - 3) × 4), push 5, pop 5, pop (((1 + 2) - 3) × 4), push
> ((((1 + 2) - 3) × 4) ÷ 5). That's a better analogue to the mental
> translation of RPNglish to English in my original message.
Yes, yes, yes - I am well aware how to transform from postfix to infix or
to prefix. Of course we would make similar translations if we did actually
encounter any aliens who did use stack-based syntax. But there is no
reason to think our aliens would do so.
But I am not sure where this getting us. Both Jörg and I have said that we
think Jeffrey's Fith is real attempt at constructing an _alien_ language
(unlike some efforts); but we feel that some things could be reconsidered.
For example I am not aware of any human groups who find it either
necessary or useful to have hand signals to make clear what part of speech
different words are. I feel that it would be possible to have stack-based
syntax without this expedient. I have merely outlined the way I would go
about it. Whether it is feasible or not, I do not know till I try.
=================================================================
On Tuesday, February 22, 2005, at 11:20 , Rodlox R wrote:
>>> with curiosity, would Disambiguating Polysemy qualify as remotely
>>> stack-based?
>>
>> No. The only conlang I know where polysemy is deliberately in-built is R.
>> Srikanth's Lin.
>
> that is why I asked.
>
> my reasoning:
> 1) I was once told that the conlang Lin utilized disambiguating polysemy.
It does. Most words have nine possible meanings, a few have 10.
> 2) "stacking" languages were recently compared with the conlang Lin.
I do not recall that. I did say that the Lin 'cements' are binary
operators and that, therefore, the language might be expressible in
'Reversed Polish Notation', i.e. in a form that could be readily evaluated
using a stack.
> therefore, I added 1+2 in my mind, and got:
> 3) there is a link, however faint and tenuous, between stacking and
> disambiguating polysemy.
Coincidental. It just so happens that one of the jobs of the 'cements' is
to disambiguate. There is no link per_se.
>> Of course a method disambiguating polysemy could be implemented in a
>> stack-based syntax, but it does not have to be - indeed, in natural
>> languages it definitely is not.
>
> it is definately not implemented in stack-based syntax /
No - If polysemy were built into the language as well as a standard method
of disambiguation, then it could be implemented in a stack-based syntax.
But that really tells us nothing, since it could be implemented in any
syntactic model.
> it is definately not implemented in natural languages / ?
Of course it is implented in natural languages when needed, e.g.
'funny-haha' ~ 'funny-peculiar'. But I do not know of any language that
has polysemy _deliberately_ built into it in the way that Lin has. Where
polysemy exists, and it does so in all natlangs AFAIK, it is the result of
various different historic processes and there are a variety of, usually,
ad_hoc methods for resolving the polysemy when context itself does not.
Ray
===============================================
http://home.freeuk.com/ray.brown
ray.brown@freeuk.com
===============================================
Anything is possible in the fabulous Celtic twilight,
which is not so much a twilight of the gods
as of the reason." [JRRT, "English and Welsh" ]
Reply