"Andrew Haley" <andrew29@[EMAIL PROTECTED]
> wrote in message
news:13k0uqca84ruue1@[EMAIL PROTECTED]
> In comp.lang.forth cr88192 <cr88192@[EMAIL PROTECTED]
> wrote:
>
>> <slava@[EMAIL PROTECTED]
> wrote in message
>>
news:95ed2e82-0159-44fa-b98d-8df924b2604d@[EMAIL PROTECTED]
>>> On Nov 17, 5:39 pm, "cr88192" <cr88...@[EMAIL PROTECTED]
> wrote:
>>>> how about:
>>>> fun hyp(x,y) sqrt(x*x+y*y);
>>>> {/x def /y def x x times y y times add sqrt} /hyp def
>>>
>>> : hyp ( x y -- z ) >r sq r> sq + sqrt ;
>
>> realized my prev example was incorrect (got the args to def backwards).
>
>> should be:
>> /hyp {/x exch def /y exch def x x times y y times add sqrt} def
>
>> but, yeah, it seems one RPN language is different than another. I
>> personally don't really know forth, but do have a passing
>> familiarity with PostScript, which is partly what I was using in my
>> general views regarding RPN...
>
> So, cr88192, we have now discovered that as well as being unfamiliar
> with Forth you are also unfamiliar with PostScript. I'm guessing that
> you are not really familiar with *any* reverse polish programming
> langauge. However, you don't let a mere lack of knowledge get in the
> way of having an opinion.
>
well, I have used them before, but mostly I have created my own (used for
things like an IL), in the past I have also used them for other things
(such
as geometric calculations, parametic geometry, ...).
now, here is a difference:
I almost always ordanize stack args differently '<value> <name>
<whatever>'', because this is more useful in my experience. this managed
to
interfere with my thoughts of postscript as well, since I haven't really
used it much, in itself, but more just sort of partly used it as a
syntactic
template for some of my own languages, which have drifed pretty far away.
now, my opinion is based on my own personal experiences with said
languages,
which generally lead me to believe that such languages are not
particularly
readable...
I can complain similarly about s-expressions, though I have a lot more
experience with those...
so, mostly, I am a fan of C-like systax, as IMO, it is actually about the
only real kind of syntax that both looks nice and I find readable...
here is an example of my RPNIL language (a piece of the IL code dumped
from
my compiler):
VAR pl:x65536
FUNC main:i VARS np:i i:i j:i k:i BODY
$"bprime21.c" fn 11 ln
13 ln
15 ln 0 =np
18 ln
2 =i GS1: %i 65536 >=GS3
23 ln
0 =j GS4: %j %np >=GS6
26 ln %i %pl %j loadindex % ?GS7
*GS6 GS7:
28 ln %pl %j loadindex =k
29 ln %k %k * %i <=GS8
31 ln %i %pl %np dup inc =np storeindex
32 ln *GS6 GS8: GS5:
%j inc =j *GS4 GS6:
37 ln %j %np >=GS9
*GS2 GS9:
39 ln %i %pl %np dup inc =np storeindex GS2:
%i inc =i *GS1 GS3:
43 ln printf( %np , "NP %d\n" , ) pop
45 ln
0 =i GS10: %i %np 12 / >=GS12
47 ln
0 =j GS13: %j 12 >=GS15
48 ln printf( %pl %i 12 * %j + loadindex , " %4d," , ) pop GS14:
%j inc =j *GS13 GS15:
49 ln printf( "\n" , ) pop GS11:
%i inc =i *GS10 GS12:
51 ln
0 =j GS16: %j %np 12 % >=GS18
52 ln printf( %pl %i 12 * %j + loadindex , " %4d," , ) pop GS17:
%j inc =j *GS16 GS18:
53 ln printf( "\n" , ) pop ret_v END
> Andrew.


|