;;;; The other half of the qualified-name rule: importing a package makes ;;;; nothing globally visible. [mac/twice] is the macro's name here and [twice] ;;;; is not a name at all, exactly as for a defn the package declares. ;;;; ;;;; It comes back as an unknown *function* rather than as an unknown macro, ;;;; and that is the honest answer: only [mac/twice] is in the expander's set, ;;;; so the walk never sees a head it recognises and the call reaches the ;;;; checker as what it looks like. Never built: the refusal is the test. (import mac "pkgs/mac") (defn main [] i32 (print (twice 4)) 0)