;; In package 'a (mac afn (parms . body) `(rfn self ,parms ,@body)) ;; In package 'b (import 'a::afn 'afn) ;; A stupid example function (afn () self) ;; The translation process (b::afn () b::self) (rfn a::self () b::self) (let a::self nil (set a::self (fn () b::self)))
There's a reason why there's an interface abstraction in my proposal.
-----