Re: [dev] nscript - a little stack-based scripting language interpretter I wrote

From: yy <yiyu.jgl_AT_gmail.com>
Date: Thu, 26 Aug 2010 09:51:10 +0200

2010/8/26 Kris Maglione <maglione.k_AT_gmail.com>:
> On Thu, Aug 26, 2010 at 12:19:33AM +0200, yy wrote:
>>
>> 2010/8/25 pancake <pancake_AT_youterm.com>:
>>>>>
>>>>> * I will probably swap the order of the conditional clauses: (what do
>>>>> you
>>>>> think about it)
>>>>>   3 3 == { 'Is equal duppy\n' print } if
>>>>>  -->
>>>>>  { 'Is equal duppy\n' print } 3 3 == if
>>>>
>>>> Hmm, personally I prefer the 'condition first' order... Why do you like
>>>> the 'condition later' order?
>>>>
>>> My way is more logical fr a stack based vm. Just flip your mind. :)
>>>>
>>
>> It does not work that way in postscript and, as I already said in
>> another message, it does not work that way in forth, neither in toka
>> or raven. Would you mind explainning why your way is more logical? I
>> think it could get compicated once you introduce else or nested if
>> blocks.
>
> It does work that way in forth. At least, the conditional comes just before
> the if token (though the branches come after it).

Therefore, it does not work that way in forth. You can also say that
the "branch" (forth has no branches!) comes after the conditional. My
question stands: why your way is more logical? what makes it worth to
take a different approach from all the other stack based languages
which use blocks?

Please, don't tell is the forth way when it is not. In forth, IF only
takes one argument and is compiled to a conditional jump to THEN (or
ELSE). This is not what you are proposing. In postscript, toka, raven,
even factor, all of them stack based languages with quotations, the
condition goes before the true/false blocks.

-- 
- yiyus || JGL . 4l77.com
Received on Thu Aug 26 2010 - 09:51:10 CEST

This archive was generated by hypermail 2.2.0 : Thu Aug 26 2010 - 10:00:04 CEST