digitalmars.D - Concatenative Programming Languages
- Shammah Chancellor (4/4) Mar 30 2016 I just stumbled on this wikipedia article:
- BLM768 (8/12) Mar 30 2016 Not really. UFCS allows the syntax "x.foo.bar.baz", which is
- John Colvin (4/18) Mar 30 2016 import std.functional : pipe;
- BLM768 (6/9) Mar 30 2016 Interesting, but I'd call that a concatenative sub-language at
I just stumbled on this wikipedia article: https://en.wikipedia.org/wiki/Concatenative_programming_language Seems like D falls under that category? -S.
Mar 30 2016
On Wednesday, 30 March 2016 at 20:53:02 UTC, Shammah Chancellor wrote:I just stumbled on this wikipedia article: https://en.wikipedia.org/wiki/Concatenative_programming_language Seems like D falls under that category? -S.Not really. UFCS allows the syntax "x.foo.bar.baz", which is similar to a concatenative syntax, but the existence of "x" in the expression means it's not purely concatenative. In a purely concatenative language, "foo bar baz" would produce a function that pipelines those three functions. "foo.bar.baz" in D would produce a compiler error.
Mar 30 2016
On Wednesday, 30 March 2016 at 22:14:11 UTC, BLM768 wrote:On Wednesday, 30 March 2016 at 20:53:02 UTC, Shammah Chancellor wrote:import std.functional : pipe; alias allThree = pipe!(foo, bar, baz); :)I just stumbled on this wikipedia article: https://en.wikipedia.org/wiki/Concatenative_programming_language Seems like D falls under that category? -S.Not really. UFCS allows the syntax "x.foo.bar.baz", which is similar to a concatenative syntax, but the existence of "x" in the expression means it's not purely concatenative. In a purely concatenative language, "foo bar baz" would produce a function that pipelines those three functions. "foo.bar.baz" in D would produce a compiler error.
Mar 30 2016
On Wednesday, 30 March 2016 at 22:20:02 UTC, John Colvin wrote:import std.functional : pipe; alias allThree = pipe!(foo, bar, baz); :)Interesting, but I'd call that a concatenative sub-language at most. ;) There's certainly some conceptual overlap between concatenative languages and D under certain conditions, but there's not much syntactic overlap.
Mar 30 2016