如果Lisp中的宏是一元的,那意味着什么?

鹰眼

Lux语言简介中,我们阅读:

与大多数其他lisps不同,Lux宏是一元的。这种(Lux a)类型是Compiler通过宏实例化线程负责任地实现的一种类型宏必须具有Macro类型,然后将其声明为宏。

现在,我认为这意味着在编译时可以使用其他类型检查信息,从而为您提供有关代码正确性的一些反馈。

但是,关于在编译时可以找到的宏,什么可能是不正确的呢?

我的问题是:如果Lisp中的宏是Monadic,那是什么意思?

仙人掌

从粗略的眼光看,Lux中的“普通”宏和阅读器宏似乎都是一元的。

对于普通宏,它们正在Compiler通过一种类型的状态各种宏操作(我想gensyming就是一个明显的例子)都需要更改此内部状态,因为它们依赖于有状态的影响,例如维护下一个可用的新原子。线程状态(即看起来像函数,s -> (a, s)将初始状态作为参数并返回更新后的状态和结果)表现出明显的单子结构,即,给定一些第一步s -> (a, s),选择下一步s -> (b, s)可以取决于查看中间结果a

对于阅读器宏,这是一个相似的故事,除了所讨论的影响是输入的消耗。一元解析器是一种允许先前消耗的输入影响后续输入解析方式的解析器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果一个字节的数字周围有单引号(''),那意味着什么?

来自分类Dev

在调试Java时,如果变量在IntelliJ IDEA中名称为“ this $ 0”,那意味着什么?

来自分类Dev

如果我的IncNodePurity度量均为0,那意味着什么?

来自分类Dev

如果日期时间字符串中间有一个字母I,那意味着什么?

来自分类Dev

如果robots.txt允许所有内容并禁止所有内容,那意味着什么?

来自分类Dev

如果公共IP地址看起来像私有IP地址,那意味着什么?

来自分类Dev

如果C ++调用栈的顶部是“ ???”,那意味着什么?以全零作为地址?

来自分类Dev

如果目录仅对某些用户/组具有x(可执行)权限,那意味着什么?

来自分类Dev

如果在“连接建立”后SSH挂起,那意味着什么?

来自分类Dev

如果这些{}只是在代码中间,那意味着什么?被忽略了吗?

来自分类Dev

如果Visual Studio 2012抛出了VS2012不应该存在的编译错误,那意味着什么?

来自分类Dev

在Mac上进行编译:如果我的编译器未通过健全性检查,那意味着什么?

来自分类Dev

如果有人说特定的数据结构可以枚举,那意味着什么?

来自分类Dev

如果[[-e $ filename]]意味着什么

来自分类Dev

一元代码在Java中的含义是什么

来自分类Dev

如果有两个功能之间有“箭头功能指示器”,那意味着什么?

来自分类Dev

<Thinking in java> swich(..){....}中的一些代码如果默认值意味着什么都不做,为什么还要设置默认值?

来自分类Dev

如果折磨SVN叠加层正常工作,Windows注册表中的ShellIconOverlayIdentifiers意味着什么?

来自分类Dev

在Swift中,如果将括号括起来,这意味着什么?“(细绳)”

来自分类Dev

C ++:如果这些代码行中的0和asm意味着什么?

来自分类Dev

如果折磨SVN叠加层正常工作,Windows注册表中的ShellIconOverlayIdentifiers意味着什么?

来自分类Dev

C ++:如果这些代码行中的0和asm意味着什么?

来自分类Dev

什么是“一元构造函数”?

来自分类Dev

Spring BeanPostProcessor中的postProcessBeforeInitialization意味着什么?

来自分类Dev

.pipe()在gulp中到底意味着什么?

来自分类Dev

在TinkerPop中next()意味着什么

来自分类Dev

在YAML中这意味着什么?

来自分类Dev

脂肪中的数据块意味着什么

来自分类Dev

“ {} \;”代表什么 意味着查找(在Linux中)?

Related 相关文章

  1. 1

    如果一个字节的数字周围有单引号(''),那意味着什么?

  2. 2

    在调试Java时,如果变量在IntelliJ IDEA中名称为“ this $ 0”,那意味着什么?

  3. 3

    如果我的IncNodePurity度量均为0,那意味着什么?

  4. 4

    如果日期时间字符串中间有一个字母I,那意味着什么?

  5. 5

    如果robots.txt允许所有内容并禁止所有内容,那意味着什么?

  6. 6

    如果公共IP地址看起来像私有IP地址,那意味着什么?

  7. 7

    如果C ++调用栈的顶部是“ ???”,那意味着什么?以全零作为地址?

  8. 8

    如果目录仅对某些用户/组具有x(可执行)权限,那意味着什么?

  9. 9

    如果在“连接建立”后SSH挂起,那意味着什么?

  10. 10

    如果这些{}只是在代码中间,那意味着什么?被忽略了吗?

  11. 11

    如果Visual Studio 2012抛出了VS2012不应该存在的编译错误,那意味着什么?

  12. 12

    在Mac上进行编译:如果我的编译器未通过健全性检查,那意味着什么?

  13. 13

    如果有人说特定的数据结构可以枚举,那意味着什么?

  14. 14

    如果[[-e $ filename]]意味着什么

  15. 15

    一元代码在Java中的含义是什么

  16. 16

    如果有两个功能之间有“箭头功能指示器”,那意味着什么?

  17. 17

    <Thinking in java> swich(..){....}中的一些代码如果默认值意味着什么都不做,为什么还要设置默认值?

  18. 18

    如果折磨SVN叠加层正常工作,Windows注册表中的ShellIconOverlayIdentifiers意味着什么?

  19. 19

    在Swift中,如果将括号括起来,这意味着什么?“(细绳)”

  20. 20

    C ++:如果这些代码行中的0和asm意味着什么?

  21. 21

    如果折磨SVN叠加层正常工作,Windows注册表中的ShellIconOverlayIdentifiers意味着什么?

  22. 22

    C ++:如果这些代码行中的0和asm意味着什么?

  23. 23

    什么是“一元构造函数”?

  24. 24

    Spring BeanPostProcessor中的postProcessBeforeInitialization意味着什么?

  25. 25

    .pipe()在gulp中到底意味着什么?

  26. 26

    在TinkerPop中next()意味着什么

  27. 27

    在YAML中这意味着什么?

  28. 28

    脂肪中的数据块意味着什么

  29. 29

    “ {} \;”代表什么 意味着查找(在Linux中)?

热门标签

归档