Re: [stack] Self Types
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Hi Manfred, What you call "X" I believe corresponds directly to the classical "M" combinator according to Brent Kerby's concatenative combinator mapping. The SK and Lambda Calculus definitions of "M" can be found at http://www.angelfire.com/tx4/cus/combinator/birds.html On 6/14/07, Manfred Von Thun <[email protected]> wrote: > > Further to my previous reply: > > Cat seems to be related to Joy in the same way as > Haskell and (the functional subset of) ML are related > to (the functional subset of) Lisp/Scheme: Cat is > strongly typed and Joy is not. Yep. > A good question to ask: Even if y and x are possible in Joy > just as y is possible in Lisp/Scheme, it might just be that > y and x (your dup apply) are not possible in Cat. I have to extend the type system to handle them. The current type system can't handle it yet. I feel I am very close to having them working. > Am I > right in believing that y is not possible in Haskell and ML? I think that Y and M are possible in Haskell using GADT's, but I am unsure. I know that Haskell can't infer the types. I can't say anything about ML. > If so, then perhaps your dup apply problem would > disappear simply by prohibiting it. That is definitely a valid approach. However, I find that they Y and M useful combinators (for example you can define looping constructs using M). M can be seen as a classical combinatorial definition of recursion. Providing a meaningful type for it is desirable for my purposes. > Are there any Haskellers or MLers on board? > > - Manfred Christoper