234_emacs macroexp瞭解

完整的common lisp的學習集合整理如下:

https://github.com/GreyZhang/g_lisp

    繼續學習emacs,學習lisp,學習emacs lisp。前面,學習分析到了emacs中的一個common lisp的擴展庫文件,分析完了開篇的註釋,接下來看看代碼。

    第一行代碼就又是一個陌生的東西,看起來還得繼續擴充需要了解的文件範疇。接下來,找一下macroexp的代碼。

    初次接觸,先了解一下開篇註釋的信息。從上面的描述看,這個文件或者庫(這算是一個庫嗎?我該如何稱呼這樣的文件呢?)的功能是擴展了原來的宏的功能。它包含了一些在lisp代碼中不存在的宏擴展函數,也就是macroexpand-all。這個功能可以吧所有的宏展開成一種形式,而不僅僅是上層的一種形式。

    看了這個描述,還是有一些不是很熟悉,有一點弄不明白。但是,似乎有一點是可以清楚的,那就是這個文件的存在會改變很多defmacro的功能或者行爲。

完整的common lisp的學習集合整理如下:

https://github.com/GreyZhang/g_lisp

發佈了850 篇原創文章 · 獲贊 164 · 訪問量 174萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章