... So if I got rid of rules 2 and 3, would it be concatenative? It would have the same underlying semantics except concatenation is would always mean...
John Nowak
john@...
Jan 1, 2009 10:04 am
4198
... Well lets see. Starting with your definition: "A concatenative programming language is language in which terms correspond to functions and in which the...
John Nowak
john@...
Jan 1, 2009 10:23 am
4199
... They need not be ordered. Consider a language that passed around a dictionary. Primitive operations would assume their arguments were stored at particular...
John Nowak
john@...
Jan 1, 2009 10:28 am
4200
... Factor is a flexible, reflective language that can be coerced into doing almost anything. I'm sure you can embed a nice Lisp or Prolog (if you already...
John Nowak
john@...
Jan 1, 2009 10:52 am
4201
... I'd say yes. Ideally, we'd like to be both clear *and* precise. I think such a definition would satisfy the first requirement (it's clear) but not the...
John Nowak
john@...
Jan 1, 2009 10:55 am
4202
... I agree. It seems to me essential for a concatenative language that the associative operation in question be composition and not something else. -- John...
On Thu, Jan 1, 2009 at 1:37 AM, William Tanksley, Jr ... Thanks. ... I think that "juxtaposition of terms" is almost synonymous with concatenation. For a...
My (very broad) definition would be: 'A concatenative language is a language wherein syntactically valid expressions can be concatenated to yield syntactically...
... Okay, I grant that there's value in the word "juxtaposition" (unlike "concatenate", it allows whitespace to be interposed). Accepted. ... Logically...
... I think the actual problem was that the juxtaposition of two functions denoted composition, but the juxtaposition of three functions denoted composition...
John Nowak
john@...
Jan 2, 2009 12:23 am
4208
... This definition seems so broad as to have no useful consequences. At least Tanksley's associative requirement would allow factoring and some other basic...
John Nowak
john@...
Jan 2, 2009 12:31 am
4209
http://en.wikipedia.org/wiki/User:John_Nowak/Sandbox/Concatenative I'm sure it needs more work. Any input would be appreciated (or just go ahead and edit it). ...
John Nowak
john@...
Jan 2, 2009 9:13 am
4210
i've stayed out of this wrangle. i've fallen into the habit of using/interpreting "concatenative" to mean nothing more than "joy-like." if someone claims...
Stevan Apter
sa@...
Jan 2, 2009 1:12 pm
4211
i do agree with john (nowak) that - if concatenativity is defined to be purely syntactic - it would include too many (non-interesting) languages. however, the...
... Yes -- if you provide syntax for cleave, the rest of the language is clearly listlike and associative. Unfortunately, the example you give doesn't appear...
That's a very nice entry; it gives a good survey. I'm not sure how useful the link to "applicative" is, mainly because the article linked to is sadly...
In a concatenative language, I believe evaluation order should be unimportant. For example: f g h <=> (f g) h <=> f (g h) Does Forth have this property? ...
... This is the associative property. You need to be careful calling it "evaluation order", though; evaluation order matters with respect to dataflow -- you...
... programming language inquiry does feel more like classifying beetles and orchids than it does like physics....
Stevan Apter
sa@...
Jan 2, 2009 4:59 pm
4217
In Fri, Jan 2, 2009 at 11:50 AM, William Tanksley, Jr ... Not necessarily. It depends on what the evaluation mechanism is. Talking about data-flow in the...
... So would the category of all languages that use 'car' and 'cdr' to take the head and tail of a list. Such a category would basically mean Lisp and...
John Nowak
john@...
Jan 2, 2009 9:26 pm
4219
... You're right, there isn't any opportunity for it in that example because there's no contiguous composition of more than two functions. Perhaps this is a...
John Nowak
john@...
Jan 2, 2009 9:41 pm
4220
... Global variables can be treated as functions that read/write some state that gets passed through the program thanks to the monoidal nature of things. Local...
John Nowak
john@...
Jan 2, 2009 9:58 pm
4221
... Evaluation order is important in every concatenative language that currently exists as far as I know. In the Forth of Factor program '1 . 2 .', it is a...
John Nowak
john@...
Jan 2, 2009 10:02 pm
4222
... I think macros and compiling words get a pass. Saying they don't wouldn't be much different than saying Haskell isn't purely functional because top-level...
John Nowak
john@...
Jan 2, 2009 10:14 pm
4223
... bad example: car and cdr talk about semantics not syntax. but you are right: we want positive statements, not negative. in true leo brouwer style: 'let's...
... Quotations are atomic terms too (i.e. they are a single element), but you can still factor out subexpressions within them. Maybe what you're trying to say...
John Nowak
john@...
Jan 2, 2009 10:31 pm
4225
... Forth without compile-time words isn't Turing-complete as far as I can tell. I don't think you can just give it a pass. Can you even construct a...
... I was considering Forth's conditional as a functional form with the syntax 'IF <expr> THEN <expr> ELSE'. The expressions within the form are still...