... A fascinating paper indeed. Thank you for sharing it with us. And to think that the concatenative world only discovered it now! We should have stumbled...
Hello all, The trouble with languages such as Joy, which I fell in love with a couple of years ago, is that, when I hang around them long enough, they get...
These are very interesting posts, I love hearing about new languages, thanks for sharing them Peter and Don. I would be interested in seeing this thread grow...
Thanks, Christopher and Peter for your kind replies. I've looked at Cat before, Christopher, and found it very impressive! I'll be most pleased if Catenate...
A few more Catenate features: Dynamic typing: Data is typed; names are not. A name can hold any type of data. Linearity: Every memory cell has exactly one...
I'm not sure if I understand your no-garbage-collection idea properly. How do you plan to make useful compound data structures when two things cannot point to...
Hi Daniel, Yes, Catenate will require more copying than non-linear languages but the benefits of linearity outweigh the extra copying in my opinion. I haven't...
... If the functions need to do that sequentially, there's no problem -- you pass the reference to the first function, then the second function. If they need...
... I checked, and it's actually at http://member.netlink.com.au/~peterl/furphy.htm - I was quoting an earlier version from before the ISP moved everything...
Hi Peter, I found it last evening by resorting to Google. You've got some intriguing ideas in Furphy, several things I haven't even considered yet. I've only ...
The most recent version of Cat, version 0.17.0 is now available for download at http://code.google.com/p/cat-language/downloads/list. This version now is able...
For a long time I have been interested in the difference between the standard kind of lambda calculus languages and the concatenative languages. Only recently...
... SmallTalk? (and its descendants - ObjectiveC and ruby) though in ruby this is not the default. (the unix model of options, being the other, but it is not...
... Common Lisp (as well as some other Lisps such as DSSSL and Dylan) does indeed allow keyword arguments. They must physically follow the positional...
This classification confuses me a bit. Are we talking about compile time or run time? There are lots of evaluation strategies that occur at run time; see...
... Both. It's about mapping syntax onto semantics. That's what a programming language does. I do agree with you that I'm not sure about the significance of...
It is possible in C++ with library support: http://www.boost.org/libs/parameter/doc/html/index.html ... [Non-text portions of this message have been removed]...
off the top of my head, i can imagine a construct like this (i'm assuming iverson notation, in which the combinator is what he would call a conjunction): O is...
Stevan Apter
sa@...
Sep 7, 2007 8:37 pm
3490
... True, SmallTalk does not fit the bill - (had missed it.) though it seems an arbitrary restriction for SmallTalk since it is enforcing the keys....
... You can override this if you want by defining withFoo:withBar: to mean the same as withBar:withFoo:, and such a feature could be integrated into the...
... Huh. This is very interesting. One thing that springs to mind is that some parts of assembly languages behave like this, using registers to hold arguments:...
On Sep 7, 2007, at 19:06 , Manfred Von Thun wrote: ... I believe it was sci-fi writer Robert Heinlein who coined the phrase, "There ain't no such thing as a...
... Possibly -- that's where I read it too. ... Not true. Concatenative semantics don't require parameter passing, so there is nothing to do to parameters at...
... While it's true there's nothing to do "to" parameters, we still must check for their existence, yes? If you want to trap stack underflow before it happens,...
... This is where a static type system with type inference comes in useful. You can do all of this without annotation or runtime checks in the compiler. See...
... If you want to stop it before it happens, you're going to do static analysis. That can be done in a concatenative language using a linear-time algorithm...