> Its macros have to be given at least vaguely Julia-like syntax
That’s true with Lisp as well. The point of homoiconicity is that your DSL looks like your parent language.
That said, Julia supports string macros. See for example “APL.jl” for a macro of to compile APL to Julia.