Re: [stack] language hierarchy

Don Groves <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
On Dec 10, 2007, at 19:09 , John Nowak wrote:

>
> On Dec 10, 2007, at 7:30 PM, William Tanksley, Jr wrote:
>
>>> You would have problems in Cat  because of the fact that you can't
>>> write:
>>> 1 2 [define f { 3 4 }]
>>
>> Clearly, the 'define' part of Cat is not itself concatenative. That's
>> okay; Joy has a non-concatenative superset. So does every other
>> practical concatenative language. The only way around that is to use
>> dynamically scoped definitions.
>
> The language I'm working on has define (spelled 'def') as a normal
> function with type "A (B -> C) sym -> A". This allows one to define
> new functions without special syntax:
>
> 	(sqr swap sqr + sqrt) :hypot def
>
> This has the downside that functions cannot make use of explicit
> recursion (as hypot isn't defined until def is called, and hence the
> quote can't make use of it), but this restriction is in place anyway
> due to the type system.

How about "self" as a call to its enclosing context?
--
Don


>
> - John
>
>
>
> Yahoo! Groups Links
>
>
>
>
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.