Arc Forumnew | comments | leaders | submitlogin
5 points by shader 5794 days ago | link | parent

If it has to be a single character, here are some other choices:

(with (a 1 b 2) &) (with (a 1 b 2) *) (with (a 1 b 2) @)

There might be more possibilities, but I think the first two make the most sense.

Here's an interesting way to come up with syntax features for a language: Write out some code with a random symbol, syntax, or function name. Either read it yourself, or have a disinterested third party read it, and see what they think it means. If it doesn't make any sense, it might not be the best choice. On the other hand, if it means what you think it should mean, it's probably a step in the right direction.

However, I worry sometimes about some of arc's attempts to shorten code. Coming up with a powerful set of axioms and basic functions that allow you to express your self with a limited number of syntactic objects is probably a good thing, but abbreviating everything so that it looks like perl line noise without actually reducing the amount of code you have to write, just letters, is actually going in the wrong direction. This is because you actually have more to think about. Not only do you have to think about the same number of objects, but they are in a relatively unintelligible form. I'm not saying that this particular symbol, or any other, is necessarily bad; I'm just saying that we should be careful about abbreviating all of our English to vowel-less words and funny symbols. Lisp has the distinction of being able to abstract away most repetitive coding via macros; let's not waste it by making the code involved unintelligible to begin with.