将 Coq 到 Scheme Extraction 转换为 Common Lisp / Emacs Lisp,以及它们的辅助宏。 要求 R7RS 方案实施。 您可以在 R5RS Scheme 实现上运行unschme-impl.scm并使用一些附加程序: 错误 命令行 出口 当前错误端口 如何使用。 提取方案代码。 % coqc example.v 将提取的代码转换为 Common Lisp / Emacs Lisp。 例如,使用 , % chibi-scheme unscheme.scm example.scm example.lisp 或者 % chibi-scheme unscheme.scm example.scm example.el 输出格式由文件扩展名自动确定。 并运行。 % sbcl --load macros_extr.lisp --load exa
2021-07-08 09:06:28 5KB CommonLisp
1
cl-docker Common Lisp 客户端库。 这是一项正在进行的工作。 cl-docker使用。
2021-07-03 14:06:22 8KB CommonLisp
1
HP67-lisp 用 Lisp 编写的 HP-67 模拟器 该项目正在与一系列博客文章一起开发。 这些解释了一些决定并显示了变化背后的基本原理。 这些文章可以在这里找到: :
2021-07-03 14:06:03 27KB CommonLisp
1
optima.hash-pattern - Optima 的哈希表模式 optima.hash-pattern 是的扩展,它提供了一些模式来匹配常见的 lisp 哈希表。 有一种构造器模式和一种派生模式。 哈希属性 hash-property模式类似于property模式,但匹配哈希表而不是 plist。 句法: (hash-property KEY PATTERN) 例子: (let ((tab (make-hashtable))) (setf (gethash :a tab) 1) (match tab ((hash-property :a x) x))) => 1 哈希表 hashtable模式类似于plist模式,但再次匹配哈希表而不是 plist 句法: (hashtable {KEY PATTERN}*) 扩张: (hashtable {k
2021-07-03 14:06:02 2KB CommonLisp
1
极小极大 井字棋游戏中极小极大算法的 LISP 实现 我为我的 AI 入门课程编写了这段代码。 它使用极小极大算法实现井字棋游戏。 它没有任何类型的图形界面。
2021-06-22 15:04:44 3KB CommonLisp
1
递归宏展开 另一个宏扩展系统提供了更简单的编译时错误处理。 Recursive-Macroexpansion 的扩展算法与 Common Lisp 的宏扩展完全不同,它基于macroexpand-1和macroexpand 。 应用程序接口 导出了四个函数/宏。 类似于 分解宏 定义宏 rmacroexpand macroexpand , macroexpand-dammit , macroexpand-all 等。 递归宏函数 宏功能 (setf 递归宏函数) (setf 宏函数) 例子 普通宏只扩展一层。 进一步的扩展由对 macroexpand-1 的另一个调用隐式完成,用户无法控制。 因此,我们无法捕获在子表单扩展中发出的信号。 例如,下面的组合是一个相当愚蠢的例子: ( defun stupid-error-handler (c) ( format *stand
2021-06-20 21:03:15 11KB CommonLisp
1
CL-内存缓存 CL-MEMCACHED 是一个简单、快速且线程安全的库,用于与对象缓存系统交互。 它实现了 Memcached TEXT 协议。 根据主页: memcached是一种高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。 在 SBCL、CCL 和 CMUCL 上测试。 全局变量 *memcache* 大多数命令都将此作为后备绑定。 如果我们只使用一个缓存,或者如果我们想将它绑定到一个缓存然后在多个地方使用它,这很有用。 *mc-use-pool* 如果这是真的,那么将使用连接池。 在 SBCL 上,这大约快了 3 倍。 *mc-default-encoding* Babel 用于编码/解码数据。 Memcached 需要八位字节。 默认编码为 UTF-8。 make-memcache &key (ip "
2021-06-02 20:02:50 22KB CommonLisp
1
docker-cl-example 示例项目展示了如何在 Docker 容器上运行/开发 Common Lisp Web 应用程序。 该存储库包括 2 种类型的项目。 在 Docker 上运行 Clack 应用程序(端口为5000 ) 使用 Qlot 管理 Common Lisp 库 允许在不重新启动容器的情况下重新加载 Web 服务器 (Woo) 在 Docker 上运行 Clack 应用程序(端口为5000 ) 使用 Qlot 管理 Common Lisp 库 允许在不重新启动容器的情况下重新加载Web服务器(Woo) 运行 RDBMS (PostgreSQL) 容器并允许从应用程序容器访问 运行 Swank 服务器(默认端口为4006 ) 在 GitHub Actions 上构建生产 Docker 镜像工作流文件在。 将生产 Docker 映像发布到 GitHub 容器
2021-05-29 16:03:06 17KB CommonLisp
1
cl-webkit-Common Lisp的WebKitGTK +绑定 关于 cl-webkit是Common Lisp的[WebKitGTK +]绑定,当前针对WebKit版本2。WebKitGTK+库利用WebKit浏览引擎的全部功能为应用程序添加了Web浏览功能。 API概述 cl-webkit API紧随WebKit2 API,不同之处在于,在同时提供基于类的接口而不是功能接口的情况下,它们优先于功能接口。 也就是说*_{new,get,set}排除*_{new,get,set}方法,以使用make-instance和插槽访问器。 有关如何使用WebKit2 API的文档,请参阅C API文档。 向后兼容性(与较早的WebKit2 API版本)不是优先考虑的问题。 该绑定针对主流发行版上可用的Webkit2Gtk +的最新版本。 依存关系 WebKit2GTK +的有效安装(
2021-04-03 22:05:32 40KB CommonLisp
1
cl-tools:一堆常见的cl模式
2021-03-18 21:16:18 2KB CommonLisp
1