Re: [stack] sweetening concatenative syntax
Stevan Apter <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
----- Original Message ----- From: "John Nowak" <[email protected]> To: <[email protected]> Sent: Wednesday, March 05, 2008 3:39 PM Subject: Re: [stack] sweetening concatenative syntax > On Mar 5, 2008, at 3:14 PM, John Nowak wrote: > >> I think how factorable a language is primarily depends on its >> usefulness in building abstractions rather than any particular syntax. >> Languages with first class functions offer factorability that language >> like Forth don't offer. Haskell's type classes over a level of safe >> and structured factorability that's inaccessible to Joy. ML's functors >> offer a means of factoring I often miss when using Haskell. Types >> offer a way of verifying my abstractions in a way I miss when using >> Scheme. Scheme offers macros as a means of factoring that I miss when >> using Haskell. Et cetera. temperament, taste, and further imponderable subjectivities. perhaps a useful distinction to make is between monoglot and polyglot programmers. i'm an extreme case of the former, and you sound like you belong way over on the other edge. given the decision to code in a concatenative language, i want my concatenativity neat, straight no chaser. the sharp, clear outlines of the basic syntax are no small part of what i like about joy. in contrast to dan, i think introducing variables in any form should be resisted (although i've implemented both in my toy languages, just for the heck of it.) moreover, i agree with something dr. tanksley has often said: we don't yet know all the properties of these languages in their pure form, since no one (as far as i can tell from years on this list) has written any large-scale, multi-programmer, long-lived applications in any concatenative language. many small examples, much tinkering under the hood, but nothing approaching the scale of, say, ebay. > > I forgot an obvious one: Joy's stack-based nature, which makes it > possible to return multiple values from a function and then easily > consume them in another, opens up many possibilities for factoring > that I often miss when using other languages. > > - John >