fn和fn*有什么区别?

Dou*_*son 9 clojure

在Clojure中,fn和fn之间有什么区别?我在语法引用用#宏创建的函数时看到fn*.例如,在REPL中:

user=> `#(inc %)   
(fn* [p1__342__343__auto__] (clojure.core/inc p1__342__343__auto__))
Run Code Online (Sandbox Code Playgroud)

这只是用于调试目的,以确定该函数是由#而不是fn直接创建的?

sep*_*p2k 17

根据这篇帖子,google groups fn*是一个创建函数的原始形式,fn是一个构建在其上的宏,用于实现更高级别的功能,如解构.