摘要:
lisp语言哲学就是:你不该写代码,你应该写宏,让这些宏来为你自动生成代码作为lisp家族的主要成员之一的scheme拥有最先进的现代宏系统,利用模式匹配写个通用图灵机是非常简单的,下面就是完整代码:#!r6rs(import(rnrs))(define(get-stateconfiguration)(carconfiguration))(define(get-tapeconfiguration)(cadrconfiguration))(define(get-positionconfiguration)(caddrconfiguration))(define-syntaxcompile-tra 阅读全文
摘要:
在用syntax-case的时候,多处使用quasisyntax,unsyntax,unsyntax-splicing会把代码搞的跟咒语一样:;无法嘲笑perl了(syntax-case#'(a123)()[(name.args)#`(name#,@#'args)]这个时候with-syntax就又用了,能让代码可读性好很多:;又可以嘲笑perl了(syntax-case#'(a123)()[(name.args)(with-syntax([(a...)#'args])#'(namea...))])宏的模板部分就简单多了with-syntax语法跟let 阅读全文