Cover Image

在最近的爆料中,Cardano 创办人 Charles Hoskinson 表示,他几乎使用 Clojure 程式语言建构了 Cardano 区块链平台。

在 X 讨论中,卡尔达诺创始人最近分享了对导致卡尔达诺创建的早期决策过程的精彩一瞥。他透露了一个关键时刻:在使用 Clojure(一种动态函数式 Lisp 方言)和 Haskell(一种静态型别函数式程式语言)之间进行选择。

然而,受到 Cloud Haskell 潜力以及利用 Liquid Haskell 和 Agda 的希望的影响,该决定最终倾向于 Haskell。

我几乎用 Clojure 建构了 Cardano。几年前我们甚至与 Cognitech 讨论过这个问题。由于云端 Haskell 以及使用 Liquid Haskell/agda 的希望,我选择了 Haskell 而不是 clojure。事后看来,如果用 clojurescript 写所有内容,那将会是一次奇妙的旅程…

— 查尔斯·霍斯金森 (@IOHK_Charles) 2024 年 5 月 30 日

Hoskinson 在与 Cardano 基金会技术总监 Ktorz 的 X 对话中透露了这一点,因为两人都展示了对各种程式语言的了解,并对 Lisp 有著特殊的兴趣,而 Clojure 是 Lisp 的一种方言。

尽管他最初对 Clojure 感兴趣,但 Hoskinson 透露,他之所以选择 Haskell 而不是 Clojure,是因为 Cloud Haskell 以及使用 Liquid Haskell/agda 的希望。 Cloud Haskell 提供了一个非常适合区块链平台需求的分散式运算框架,而 Liquid Haskell 和 Agda 则提供了用于形式验证和确保程式码正确性的高级功能。

事后看来,霍斯金森回顾了如果卡尔达诺是用 Clojure 建构的话,可能会发生的旅程。  他设想了一个完全基于 Clojure 建构的 Cardano,利用 ClojureScript 进行客户端开发,利用 ClojureSpec 进行规格和测试。

卡片

霍斯金森的反思并没有充满遗憾,而是对本来可能发生的事情进行了深思熟虑。他认为,这条路线可能是一趟「奇妙的旅程」。

「回想起来,使用 ClojureScript 和 ClojureSpec 在 Cardano 中编写所有内容将是一次奇妙的旅程,」Hoskinson 说。