| With the very limited number of special forms that Arc has, would it be possible to determine at compile-time (after macro-expansion, of course) whether a particular compiled Arc-expression has side effects or not? Could be important for supporting concurrent programming etc... (And just to clarify, the answer to this sort of question may be well-trodden ground in e.g. the Scheme community, without me being aware of it. In any case, I would like to know whether the differences between Arc and Scheme would affect the answer.) |