Arc Forumnew | comments | leaders | submitlogin
4 points by rntz 5950 days ago | link | parent

I don't see the need for this extra axiom. Why not just substitute the value of cplx-fun into the macro-expansion, like so:

    (mac cplx (val . body)
      (w/uniq sym
        `(,cplx-fun ',sym (fn () ,@body) val)))
If cplx-fun is a macro rather than a function, this doesn't work in arc or anarki at the moment, but I consider this a bug (it's fairly easy to fix, though) - if a symbol evaluating to an object is valid in functional position, the object itself (if it evaluates to itself) should be valid as well.

Of course, what's really needed to solve this problem is hygienic macros. I think, however, that it's probably possible to implement hygienic macros or something close enough in Arc without adding any axioms.