Skip to content

Instantly share code, notes, and snippets.

@zhouqiang-cl
Created December 11, 2016 10:40
Show Gist options
  • Save zhouqiang-cl/5e19799582ad19af699e300d4ba2ca77 to your computer and use it in GitHub Desktop.
Save zhouqiang-cl/5e19799582ad19af699e300d4ba2ca77 to your computer and use it in GitHub Desktop.
common lisp 的宏 IN-PACKAGE
语法
in-package name => package
参数和值
name --- 一个 string designator.
package --- 一个 package, 这个 package 的名字是 name
描述
让名字为 name 的 package 称为current package。 如果没有这个 package, package-error 的异常就抛出
代码
* (make-package 'temp)
#<PACKAGE "TEMP">
* (in-package "TEMP")
#<COMMON-LISP:PACKAGE "TEMP">
补充:
个人猜想, 这个为何会是宏. 因为宏大多用在需要代码转换的地方. in-package 会把 name 中的变量什么的 load 进来, 对代码进行转换.
个人感觉,切换环境变量,保持流或者长连接什么的,比较适合作为宏
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment