Hasty Briefsbeta

双语

Pseudo, a Common Lisp macro for pseudocode expressions

10 months ago
  • #Macro
  • #Common Lisp
  • #LLM
  • `pseudo`宏允许在Common Lisp中嵌入伪代码表达式,由LLM将其扩展为s-表达式。
  • 该宏会收集上下文信息,如词法可见变量、函数绑定/绑定符号,以及代码生成风格的指令。
  • Lisp宏系统的优势在于s-表达式表示法,避免了与解析器/编译器接口的麻烦。
  • 注意事项包括LLM速度慢、不可预测性、可能生成错误代码,以及不适用于生产环境。
  • 依赖项包括用于提取词法可见变量的SBCL,以及`alexandria`、`cl-json`等库。
  • 使用Google的Gemini开发,但可适配其他LLM;需要Google API密钥。
  • 类似概念已在Julia中探索,突显了Lisp家族语言在此类集成中的优势。
  • LLM在有限范围内表现更好;避免扩展以'def'开头的定义。
  • 考虑过扩展到类定义,但认为若用户提供槽位名称则显得冗余。