介绍
在前端开发中,purescript 是一种类型安全且功能强大的函数式编程语言。而 literate-purescript 便是一种让我们可以以更自然的方式编写 purescript 代码的 npm 包。它允许我们用 Markdown 格式编写文档和代码,并将其转换成 purescript 代码。本文将详细介绍如何使用 literate-purescript 这个 npm 包。
安装 literate-purescript
在使用 literate-purescript 之前,我们需要先安装它。可以使用 npm 来进行安装:
npm install -g literate-purescript
literate-purescript 的使用
使用 literate-purescript 主要包括以下两个部分:
- 编写 literate-purescript 代码
- 将 literate-purescript 代码转换成 purescript 代码
编写 literate-purescript 代码
当我们使用 literate-purescript 时,我们需要将代码写在 Markdown 文档中。举个例子:
# HelloWorld 下面的代码会输出 Hello, World! main :: forall e. Eff (console :: CONSOLE | e) Unit main = do log "Hello, World!"
在 Markdown 中,代码前的缩进代表代码块,末尾有个换行符。代码块的语言类型定义了代码块的类型。在 literate-purescript 中,我们可以使用 Code Fence 或者 Tab 来定义代码块的类型。上述代码块等价于以下的 literate-purescript 代码:
main :: forall e. Eff (console :: CONSOLE | e) Unit main = do log "Hello, World!"
我们也可以使用 Markdown 的头级别来为我们的 literate-purescript 代码添加章节和小节。
将 literate-purescript 代码转换成 purescript 代码
在完成 literate-purescript 代码的编写之后,我们需要将其转换成 purescript 代码。这可以通过执行以下命令来实现:
literate-purescript input.md output.purs
其中 input.md
是包含 literate-purescript 代码的 Markdown 文件路径,而 output.purs
则是我们想要生成的 purescript 文件路径。可以使用以下命令来确认 literate-purescript 的版本:
literate-purescript -v
示例
下面是一个更完整的 literate-purescript 文件,包含了符号生成器(symbol generator)的代码。
-- -------------------- ---- ------- - ------ --------- ------ ------------------- ------------------------------ ------------------------- ------------------- ------- ------------ -- ------ -- ------ ------------ - - --- - -- ------ -- ---- -- ------ - --- - - -- ---------- - ---- --- -- --- ---- --- -- --- -- - -- --- ------- -- ------ - -- ------------------------------------------------------------- -------- -- ------ -- ------ -------- - - - -- ------------ -- --- -- -- ---- - -- --- ---- ---- - ---- -- -- -- -- -- ---- - -- --- ---- ---- - ---- - -- ----- -- --- --- -- - -- ---- -- ------- -- - -- ----- -- ------ ---- -- -------- ---------- ----------------------------------------- --------------- -------- --------------------------------------------------------- ---------- ------------- ------------- -- ------ -- ------ ------------- - - -- --- --- ----- - ---- --- ----- - --- -- - ---- --- ----- ----- - - --------- --- ----- ----- -- --------- -- -- ---- -- --------- -- -- ---- -- --------- -- -- --- ------------------------
执行以下命令将 literate-purescript 代码转换成 purescript 代码并保存下来:
literate-purescript example.md symbol-generator.purs
此时 symbol-generator.purs
中应该有以下的 purescript 代码:
-- -------------------- ---- ------- ------ --------------- ----- ------ ------------- ------ --------- ------------ -------- -------- ------ ----------- ------------ --- ------------ -- ------ -- ------ ------------ - - --- - --- - - -- ---------- - ---- --- -- --- ---- --- -- --- -- - -- --- ------- -- ------ - -- -------- -- ------ -- ------ -------- - - - -- ------------ -- --- -- -- ---- - -- --- ---- ---- - ---- -- -- --- -- -- ---- - -- --- ---- ---- - ---- -- -- ----- -- --- --- -- - -- ---- -- ------- -- - -- ----- -- ------ ----- -------- -- ------------- -- ------ -- ------ ------------- - - --- -------- - ---- --- ----- - ----- - ---- --- ----- ----- - ---------- --- ----- ------ -- -------- - -- ---- -- -------- - -- ---- -- -------- - -- ---
我们现在可以在我们的 purescript 项目中使用这些符号生成器的函数啦!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f89238a385564ab6d74