博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
clojure 宏写宏
阅读量:7092 次
发布时间:2019-06-28

本文共 340 字,大约阅读时间需要 1 分钟。

  hot3.png

相比较common lisp

(defmacro t1 (fn-name)   `(defmacro ,fn-name (x)      `(+ ,x 1)))

clojure

(defmacro t1 [name1]  `(defmacro ~name1 [x]  `(+ ~x 1)))

会出问题, 必须用autogensym

(defmacro t1 [name1]   `(defmacro ~name1 [x#]   `(+ ~x# 1)))

总结: clojure 的宏还是有些弱, 虽然防止了变量的陷阱. common lisp的宏略微强些, 但可能有副作用, 可能射到脚趾

转载于:https://my.oschina.net/ijitai/blog/869990

你可能感兴趣的文章
雨林木风GhostXP_SP3装机版YN11.6_2011.06更新
查看>>
我的友情链接
查看>>
vim8.0 不能用鼠标
查看>>
OpenGL进阶(十) - obj文件的导入
查看>>
剑指XX游戏(八) - 腾讯2013校园招聘技术类笔试题详解
查看>>
docker 添加基础命令
查看>>
arm7上搭建boa并进行测试cgi+html
查看>>
iptables/netfiles基本使用
查看>>
angularJS拍照
查看>>
HTML5接入与OC交互
查看>>
错误整理:No plugin found for prefix 'jetty' in the....
查看>>
端口号简介
查看>>
JCreator中不能引入servlet包的解决办法
查看>>
mysql root账户被删除
查看>>
将CentOS设置为用光盘做yum源
查看>>
终于用上了比较完美的lion 10.7.3
查看>>
【CentOS 7笔记47】,rsync文件同步工具#171205
查看>>
word2007设置标题自动编号
查看>>
Ubuntu添加自定义快捷方式
查看>>
mysql 基本操作
查看>>