【发布时间】:2017-10-25 19:15:53
【问题描述】:
我不是 Clojure 程序员,但我的任务是将我们架构的核心部分从当前的 Clojure 重写为 Node。如果您喜欢 Clojure 并且想知道为什么,我们无法在任何地方找到 Clojure 开发人员,而且 JavaScript 非常通用(至少能够阅读它的一部分)。组件本身足够小且足够简单,但目前缺乏 Clojure 专业知识确实让我们望而却步。
我了解大部分代码,但我在 Clojure 文档或任何 @987654323 中都遇到了一个名为 <fn 的函数,我在网上找不到(可能是因为很难搜索特殊字符) @ 在我们的代码中。
这里有一点上下文
(comp (<fn plan/enqueue nil handle-internal-event)
(<fn doto mt/confirm!)
sanitize-object)
关于这将做什么的任何线索?这是我忽略的一个简单表达式,还是可能是某种 lisp 宏?
已回答
原来它是我文件顶部所需的宏。
(:require [fletching.macros :refer :all])
对于任何对此函数的源代码感兴趣的人,它位于 https://github.com/jdevuyst/fletching-macros
【问题讨论】:
-
该文件的
require或use应该很明显(或者在use的情况下使选择更小)。如果这没有帮助,它要么是预先在同一个文件中定义的,要么是来自核心(它不是)。在 REPL 你也可以(source <fn). -
我猜它类似于
(fn <fn [f & args] #(apply f % args)) -
啊。搞定了,我在我的需求中找到了
[fletching.macros :refer :all],github 有它的 API。如果您添加为答案,我会标记它 -
据我所知(从工作讨论和远程工作松弛组),愿意远程工作的 Clojure 开发人员数量过剩。这与“无法在任何地方找到 Clojure 开发人员”不一致。
-
@ChrisMurphy 我不是老板,也没有任何权力决定我们在 Clojure 领域雇用或不雇用谁(您可能从我的问题中看出原因)。这就是我被告知的问题。如果你要愤世嫉俗,你可以说这是因为 Clojure 开发人员更昂贵,我们没有很多 Clojure 代码,所以他们不想要另一个完整的计时器实际上是有道理的。
标签: clojure