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...
... A static type inference system certainly slows down compilation, but all things given equal should speed up runtime execution because it removes the need...
... Just before falling asleep last night, it hit me what has caused my confusion about all this: I've been thinking of the interactive user, not running an...
... Clearly, I need to learn more about type systems. Here's the Catenate code implementing ifte, what kind of type system does this represent? int ifte_() {...
... This is an example of a runtime checked language, also called a dynamically typed language, though some theorists object to the term dynamic typing....
... An interpreter can still be statically typed. Each expression fed into the interpreter can be type-checked before it is run, and compared with the current...
... OK, that's what I thought it was. It seems dynamic typing means two things: (1) run-time type checking; and (2) data is typed -- variables are not. Clearly...
... . . . At the other extreme there should be languages ... That looks like something I came across in P.J.Brown's "Writing Interactive Compilers and...
... I shouldn't speculate too much. I think the disagreement is artificial. There were some threads on http://www.Lambda-the-Ultimate.org related to the issue,...
... From an "uninferred" one. I'm thinking a large part of my problem is lack of vocabulary. I tried to find a definition of an "inferred" type system via...