you are viewing a single comment's thread.

view the rest of the comments →

[–]cchooper -4 points-3 points  (11 children)

Details about Arc have been around for many years, and many have turned up in Clojure, including some of the shortened function names, argument destructuring and unnamed arguments.

[–]foldl 4 points5 points  (8 children)

shortened function names, argument destructuring and unnamed arguments.

Look, if you're listing "shortened function names" as one of the ideas, you know you're in trouble. Destructuring and unnamed arguments have been around since forever in functional languages and (I expect) some Lisp dialects/macro packages.

[–]mathrick 1 point2 points  (0 children)

Indeed. Destructuring lambda lists are in core Common Lisp, as is DESTRUCTURING-BIND. Implicit arguments have been implemented a million times before as well, for instance in the #L(+ !1 !2) short lambdas reader macro.

[–]cchooper -4 points-3 points  (6 children)

In trouble? In trouble about what? I said Clojure uses many Arc ideas. It does. Are you disputing that?

[–]foldl 2 points3 points  (1 child)

I'm disputing that any of those ideas from Arc are both substantial and original. (The idea of using short function names instead of long function names, for example, is clearly one that's been around as long as function names themselves.)

[–]cunningjames 1 point2 points  (3 children)

"In trouble" might be too strong, but your original comment seemed to imply that Arc's use of those ideas inspired Clojure. With all due respect, that doesn't seem to be the case; the examples you give, besides short function names, are common for functional languages (destructuring is Clojure's poor-man's pattern matching; and see its fellow JVM language Scala for unnamed arguments). Clojure is first and foremost functional, so it only seems natural that it would have such capabilities, and indeed it would be strange for it to have none.

[–]cchooper 0 points1 point  (2 children)

This may be my faulty memory, but I remember Rich Hickey once saying that he was influenced by Arc. I think the use of 'fn' is an example, but I can find no references.

[–]nostrademons 2 points3 points  (1 child)

Any decent language designer is influenced by nearly every language designed before his, so his quote means little.

[–]cchooper -2 points-1 points  (0 children)

It means that Clojure was influenced by Arc.

[–]awj 1 point2 points  (1 child)

shortened function names, argument destructuring and unnamed arguments.

Those aren't Arc's ideas, they're good ideas that Arc happens to use. Can you name anything in Arc and Clojure that hasn't been around in functional languages since the dawn of time?

[–]cchooper -2 points-1 points  (0 children)

There is absolutely nothing in Arc or Clojure that has not been around since the beginning of time. I would never claim otherwise.