Awesome Common Lisp Awesome Assertible status

awesome Common Lisp库的精选列表.

有关出色的软件,请参见 lisp-lang.org's success storiesawesome-cl-software 清单.

除非Quicklisp可以使用此处列出的所有库,除非 另有说明. 带有:star:的标记非常普遍且 坚信他们成为社区标准. 你不会错 他们. Quicklisp,BordeauxThreads和 这样. 标有a的库是我们喜欢并想要 在Awesome-cl列表中进行推广. 他们证明是可靠的,他们可能会解决 比社区标准更好的问题,但他们没有 普遍存在,或不被认为是稳定的. 例如,我们更喜欢 Cl-Who上的喷丝板.

添加新的东西! 见 contributing 部分添加到 list.

它是根据GNU Free Documentation License发布的-其文本 在LICENSE文件中提供. 该存储库也已镜像到 NotABug -完全免费**(如随意) 替代Github. 优先考虑免费软件和 对物质资源并不有害的卖方.

Audio

  • Open Music -可视化程序,计算机辅助合成环境. GPL3.
  • OM7 -OpenMusic可视化编程和计算机辅助合成环境的新实现,包括图形界面,计算模式以及与外部软件库的连接方面的许多改进. GPL3.
  • Incudine -Common Lisp的音乐/ DSP编程环境. 从零开始设计软件合成器或声音插件很有用. 它也是一种合成工具,可以在样本级别上产生可控制的高质量声音,从而实时定义和重新定义数字信号处理器和音乐结构.
  • cl-collider - 一种 SuperCollider CommonLisp的客户端. 用 tutoriallive coding demos . 公共区域.
  • csound -声音和音乐计算系统. 包括用于Common Lisp的CFFI和FFI接口.
  • CLM -Common Lisp Music是Music V系列中的音乐合成和信号处理软件包. 它提供了与Stk,Csound,SuperCollider,PD,CMix,cmusic和Arctic几乎相同的功能-一组创建和操纵声音的功能,主要针对作曲家(无论如何,对于CLM而言).
  • cl-patterns -一种通过Lisp代码进行音乐创作的系统,该系统受到SuperCollider的模式系统的极大启发,旨在以更健壮,更具表现力,连贯性,反射性和柔韧性的方式实现大部分音乐. 通过SuperCollider进行音频输出,初步支持Incudine,通过ALSA进行MIDI.
  • cl-openal -用于OpenAL音频库的绑定. 公共区域.
  • Common Music -一个的存储库 古老版本的通用音乐(2.12.0版),大概是最后一个 该版本在2007-09年左右的Common Lisp上运行,之前 普通音乐的工作转移到(基于方案)cm3.
  • cm-incudine -扩展具有实时功能的Common Music 2. GPL2.
  • Mégra -用变序马尔可夫链和其他一些随机的恶作剧制作音乐的迷你语言. GPL3.
  • Music -Lisp中的音乐表达框架,着重于音乐理论(从零开始,与通用音乐无关).
  • rq -OpenMusic(版本6.10及更高版本)中节奏转录的库. demo video . GPL3.
  • scheduler -Common Lisp的基于时间的音乐事件调度程序. Apache2.0.
  • mixalot -mp3,ogg vorbis和flac的音频库的松耦合集合. 用于 Shuffletron music player.
  • osc -开放声音协议的实现. LGPL2.1.
  • Harmony -实时声音处理和播放系统. Artistic License 2.0.

构建系统

*:星级: ASDF -另一个系统定义工具; Common Lisp的构建系统. Expat. * asdf-linguist -ASDF的扩展. Expat. * asdf-viz -可视化ASDF系统的库依赖性,函数的调用图和类继承的工具. LLGPL.

编译器,代码生成器

C,C ++

  • cmacro -C. MIT的Lisp宏.
  • C-mera -源到源编译器,利用Lisp的宏系统对类似C的语言进行元编程. GPL3.
  • lispc -用于C. MIT的强大的“ lispsy”宏语言.
  • ecrepl -用于C语言的交互式REPL. 未指定许可证.

Crypto

*:星级: Ironclad - A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions. Expat. * crypto-shortcuts -常见的加密快捷方式的集合. Artistic License 2.0. * trivial-ssh -SSH客户端库. Expat.

Cryptocurrencies

  • cl-monero-tools -Common Lisp工具箱,可与Monero加密货币一起使用. GPL3. 不在Quicklisp中.
  • emotiq -下一代区块链,采用创新的自然语言方法处理智能合约. MIT.
  • peercoin-blockchain-parser -解析文件中包含的区块链并将其某些数据导出到文本文件,SQL脚本或数据库. 它还可以使用Peercoin守护程序的RPC作为数据源而不是区块链文件来创建数据库. LGPL3. 不在Quicklisp中.
  • peercoin-calculator -该程序使您有可能在10分钟,24小时,31天,90天和1年内生成POS或POW块,并可以获得预期的奖励. Qt中的GUI. GPL3. 不在Quicklisp中.
  • peercoin-vote -基于来自区块链的数据(地址和余额)的投票系统. GPL3. 不在Quicklisp中.

Database

  • cl-yesql -SQL语句以SQL语法存在于自己的文件中,并作为函数导入到Lisp中. 您不仅限于DSL支持的功能. 基于Clojure的Yesql. MIT.

ORMs

*:星级: clsql -具有Common Lisp接口的SQL数据库. LLGPL. * mito -带有迁移,关系和PostgreSQL支持LLGPL的Common Lisp的ORM. mitho-auth,一个用于使用授权的mixin类; mito-attachment,RDBMS外部用于文件管理的混合类. * cl-dbi -Common Lisp的独立于数据库的接口. LLGPL. * crane -另一个ORM. Expat. * datafly -轻量级的数据库库. 3子BSD. * sxql -用于生成SQL的DSL. 3子BSD.

持久对象数据库

Wrappers

*:星级: postmodern -与PostgreSQL交互的库. zlib. * cl-sqlite -SQLite的绑定. 公共区域. * cl-memcached -与Memcached对象缓存系统的快速,线程安全的接口. Expat. * cl-mongo -MongoDB客户端. Expat. * cl-redis -Redis客户端. 外籍. * cl-disque -客户磁盘. 3子BSD. * cl-rethinkdb -RethinkDB客户端. Expat. * clouchdb -用于与CouchDB交互的库. FreeBSD.

给第三方

Tools

数据结构

  • str -一个现代,简单且一致的字符串操作库. MIT.
  • FSet -功能性的,集合论的集合数据结构库. LLGPL.
  • trivial-extensible-sequences -可扩展序列协议的可移植性库(SBCL documentation ). zlib.
  • bst -二进制搜索树. GPL3. 不在Quicklisp中.
  • pileup -Common Lisp的可移植,高性能和线程安全的二进制堆. MIT.
  • sycamore -快速,纯功能的数据结构库. BSD_3Clause.
  • genhash –通过通用方法使用API​​实现哈希表. 公共区域.
  • cl-ctrie - 无锁,并发,键/值索引,具有高效的内存映射持久性和快速瞬态存储模型. MIT.
  • cl-data-structures -数据结构和算法(主要是字典和序列,具有某些统计功能)的可移植集合. BSD.
  • listopia -受Haskell的Data.List启发的列表处理库. LLGPL.

访问数据结构:

  • access -对大多数常用数据结构的一致和嵌套访问. BSD_3Clause.
  • modf -用于函数式编程的类似setf的宏.

并查看更多 Quickdocs.

外功能接口

C

*:星级: CFFI -便携式,易于使用的C外部功能界面. Expat. * cl-autowrap -自动将头文件解析为CFFI定义. FreeBSD. * cl-gobject-introspection - Gobject Introspection FFI. Automatic bindings to call into the C library. BSD.

Java

  • cl+j -通过CFFI与JVM的基于JNI的接口. 在Quicklisp上不可用. 不能可靠地与所有实现一起使用. Expat.

Objective-C

Python

  • burgled-batteries -Python和Common Lisp之间的桥梁. 目的是Lisp程序可以使用Python库. 在Quicklisp上不可用. 未指定许可证.
  • cl4py -库cl4py(读作clappy)允许Python程序调用Common Lisp库. MIT.
  • py4cl -允许Common Lisp代码访问Python库的库. 它基本上是cl4py的反函数. MIT.
  • cl-python -Common Lisp中Python的实现. LLGPL.

也可以看看 async-process.

.Net Core

  • Bike -跨平台的.Net Core接口. MIT.

Miscellaneous

  • Foil -异物接口; 与JVM和CLI一起使用. 在Quicklisp上不可用. CPL 1.0.

游戏开发

  • Xelf -可扩展的游戏库. 在Quicklisp上不可用. GNU LGPL2.1.
  • Trial -试用版是OpenGL 专注于模块化的游戏引擎. 应该是 提供大量有用的零散工具,您可以从中 创建一个游戏. Artistic License 2.0.
  • cl-mpg123cl-out123,绑定 分别用于libmpg123和libout123的库 易于使用的mp3解码和跨平台音频 输出. Artistic License 2.0.
  • trivial-gamekit –通过这种小型框架,您将能够制作简单的2D游戏:绘制基本的几何形式,图像和文本,播放声音以及收听鼠标和键盘输入.
  • cl-gamepad -在Windows,Mac OS和Linux上访问游戏手柄和操纵杆. Artistic License 2.0.

Graphics

这些是用于处理图形的库,而不是用于制作具有自己部分的GUI(即小部件工具箱)的库.

*:星级: Sketch -用于创建电子艺术,图形等的CL框架. MIT. * common-cv -CommonLisp的OpenCV(开源计算机视觉库)绑定库. 未指定许可证. * cl-cairo2 -开罗装订. 提升1.0 * cl-gd -提供GD图形库接口的库. FreeBSD. * cl-horde3d -将FFI绑定到Horde3D图形库. 在Quicklisp上不可用. EPL 1.0 * cl-opengl -CFFI绑定到OpenGL,GLU和GLUT API. 3子BSD. * cl-sdl2 -使用C2FFI绑定SDL2. Expat. * cl-svg -用于生成SVG文件的基本库. Expat. * CLinch -用于OpenGL的通用Lisp 2D / 3D图形引擎. FreeBSD. * donuts -绘制用于Common Lisp的DSL的图形. Expat. * dufy -在各种颜色模型中进行精确的颜色处理和转换. MIT. * lispbuilder-sdl -一组SDL绑定. Expat. * lisp-magick-wand -ImageMagick绑定. BSD. 不在Quicklisp中. * okra -CFFI绑定到Ogre. 在Quicklisp上不可用. 3子BSD. * opticl -用于表示和处理图像的库. BSD_2Clause. * Varjo -Lisp到GLSL转换器. BSD_2Clause. * Vecto -简单的矢量绘图库. FreeBSD. * zpng -用于创建PNG文件的库. FreeBSD. * pngload-fast -便携式Common Lisp中的PNG(便携式网络图形)图像格式解码器,着重于速度. MIT.

GUI

Implementations

:星级: SBCL -CMUCL的叉子; 编译为机器代码. 符合标准. 公共领域,Expat3-clause BSD下的某些部分. :星级: CCL -Clozure普通Lisp; 仅限编译器的实现,生成本机代码. LLGPL. * ECL -可嵌入的普通Lisp; 编译为C.GNU LGPL2.1. * ABCL -武装熊常见口齿不清; 针对JVM,编译为字节码. 标准符合性. GNU GPL3Classpath exception. * CMUCL -卡内基梅隆大学实施. 公共区域. * GNU CLISP -GNU实现; 包含一个编译器和一个解释器. 标准符合性. GNU GPL3. * CLASP -一种新的Common Lisp实现,可使用LLVM与C ++库和程序无缝地互操作,以编译为本机代码. 这使Clasp可以利用大量预先存在的库和程序,例如科学计算生态系统之外的库和程序. LGPL2.1(及其他). * Corman Lisp -在Intel平台上运行的Microsoft Windows通用Lisp开发环境. MIT.

Proprietary:

  • LispWorks -Common Lisp的集成的跨平台开发工具.
  • Allegro CL -提供具有许多扩展功能的完整ANSI Common Lisp标准.
  • MOCL -CL作为移动设备(iOS和Android)和OSX的库.

JSON

另请参阅 extensive comparison JSON库.

YAML

  • cl-yacclyaml -纯Lisp YAML处理器(加载程序,但尚未转储). GPL3.
  • cl-yaml -建立在libyaml之上的YAML解析器和发射器. MIT.

语言扩展

:星级: alexandria -通用实用程序库. 公共区域. * serapeum -另一个通用实用程序库. Expat. * https://github.com/CodyReichert/awesome-cl/blob/master/rutils -Common Lisp的基本但合理的语法实用程序. MIT. * anaphora -照应宏的集合. 公共区域. :星级: trivia -优化的模式匹配库. LLGPL. * interface -协议库. 3子BSD. * arrow-macros -类Clojure的线程宏. MIT. * dissect -当很多 项目使用“简单回溯”系统 带回溯的字符串,Dissect允许您捕获,步进和 完全检查各种Lisp上的堆栈跟踪 实现. 对于日志记录和其他情况也非常有用 自动继续执行,但以下信息 当前堆栈对于存储仍然有用 某处. Artistic License 2.0. * generic-cl -到标准Common Lisp函数的通用函数接口(相等性,比较,算术,对象,迭代器,序列等). MIT. 另请参阅更轻量 generic-comparability . LLGPL.

可移植层

更改语法

  • cl21 -将Common Lisp迁移到21世纪的实验项目. Expat.
  • clamp -Arc语言对Common Lisp的简洁明了. Artistic License 2.0.
  • cl-syntax -阅读器语法约定. LLGPL.
  • cl-2dsyntax -压痕敏感的阅读器系统. 在Quicklisp上不可用. 公共区域.
  • cl-annot -Common Lisp的类似Python的注释. LLGPL. *:星级: cl-interpol -一组读取器修改,以允许字符串内插. 未指定许可证.
  • pythonic-string-reader -受Python的三个引号字符串的启发,对读取表进行了简单,轻松的修改. BSD_3Clause.
  • cl-reader -实用程序库 旨在为lambda,映射,访问器提供阅读器宏, 哈希表和哈希集. MIT.

CLOS扩展

*:星级: closer-mop -兼容性层,可纠正许多缺少或不正确的MOP功能. Expat. * defclass-std -用于快速编写DEFCLASS表单的快捷方式宏. LLGPL. * specialization-store -基于类型的通用功能. 简化的BSD许可变体. * filtered-functions -允许使用任意谓词来选择和应用方法. MIT. * inlined-generic-function - 将静态调度的速度带到CLOS. LLGPL. * static-dispatch -允许静态(在编译时)而不是动态(运行时)执行标准通用函数分派. 这类似于在C ++和Java等语言中所谓的“重载”. MIT.

功能扩展

  • cl-hooks -Hooks扩展点机制(例如,从GNU Emacs中已知). LGPL.
  • method-hooks -如果CLOS方法组合每个方法只允许一个钩子,则此库允许任意数目的钩子. Mozilla公共许可证.
  • cl-advice -SBCL,CCL,LispWorks和Allegro的可移植层建议库. 不在Quicklisp中.

Iteration

*:星级: iterate -Common Lisp的可扩展和Lispier的迭代构造. 未指定许可证. * for -简洁,灵活,可扩展 迭代宏. 与循环不同,它是可扩展且明智的,并且 与迭代不同,它不需要代码遍历并且更容易实现 延伸. Artistic License 2.0. * series -功能样式,完全没有任何运行时损失. MIT.

Lambda速记

  • fn -几个lambda速记宏. `(fn *(+ _ ))->(lambda()(+ _ _)). 公共区域.
  • f-underscore -一个小的函数式编程工具库. `(f_(+ _ ))->(lambda()(+ _ _)). 公共区域.
  • cl-punch -类似于Scala的匿名Lambda文字. (mapcar ^(* 2 _)'(1 2 3 4 5)). MIT.

另请参阅CL21和[Rutils] [rutils].

非确定性逻辑编程

  • cl-prolog2 -从Common Lisp到ISO Prolog实施的通用接口. MIT.
  • Screamer -增加普通 Lisp具有Prolog和Prolog的几乎所有功能 约束逻辑编程 语言. Blog post 解决欧拉计划难题. MIT.
  • Screamer+ -提高SCREAMER的表现力. MIT.
  • Temperance -逻辑编程. MIT. 注重性能,同时考虑一般游戏.

反应式编程

合同编制

  • quid-pro-quo - 合同 Eiffel的《 Design by Contract™》风格的程序库. 公共区域.

Typing

  • cl-algebraic-data-type -一个用于以与Haskell或ML类似的方式定义代数数据类型的库. 3子BSD.
  • trivial-types -提供缺少但重要的类型定义,例如“ proper-list”,“ association-list”,“ property-list”和“ tuple”. LLGPL.

学习与辅导

Online

Beginner

Intermediate

Advanced

  • Lake Over Lambda-有关高级宏技术的书. 前六章可在​​线获得.
  • On Lisp -Paul Graham关于Lisp宏(以及其他有趣内容)的惊人著作.

Reference

Offline

Beginner

Intermediate

  • ANSI Common Lisp -通过练习全面,实用地覆盖整个语言. 由于某些警告,不建议将其作为入门文本.
  • Common Lisp Recipes - Common Lisp食谱是问题解决方案和答案的集合,当您在Common Lisp中编写实际应用程序时,可能会遇到这些问题. 2015年出版.

Advanced

Community

图书馆经理

*:star:Quicklisp-包含许多库的库管理器,具有轻松的依赖管理. Expat. * Ultralisp -Quicklisp发行版,每5分钟更新一次,一键即可将其添加到项目中. BSD. * Quicksys -从多个Quicklisp发行版安装系统. MIT. * Roswell -Lisp实施安装程序,脚本启动器等. MIT. * qlot -项目本地库安装程序,类似于Bundler或Carton. Expat. * Quickutil -实用程序管理器,类似于Quicklisp,但适用于小型实用程序而不是整个库. 3子BSD. * clpm -Common Lisp的软件包管理器,致力于将软件包管理器进程本身与使用它的客户端映像完全分开. BSD_2Clause. * Qi -具有传统方法的包装经理. BSD.

可能有帮助:

Interfaces to other package managers

  • cl-brewer -用于(命令行)常见lisp应用程序的自制程序公式生成器. 公共区域.
  • qldeb -Quicklisp系统到debian软件包,以及 deb-packager (只需通过定义s表达式创建一个debian软件包)和介绍 blog post . 两者MIT.
  • ql-to-deb -从Quicklisp版本中更新cl- * debian软件包. WTFPL.
  • dh-quicklisp-buildapp -debhelper实用程序,使您几乎无需费力就可以将基于quicklisp的Common Lisp代码编译为.deb中的buildapp二进制文件. MIT.

也可以看看 asdf-sbcl,是通用软件包管理器的插件.

机器学习

  • clml -最初由日本公司Mathematicl Systems Inc.开发. 用 tutorial . LLGPL.
  • mgl -由其使用 authorwin 希格斯玻色子机器学习挑战赛. MIT.
  • antik -Common Lisp中科学和工程计算的基础. GPL. 也 mgl-matLLA.

Credit: borretti.me' state of CL ecosystem 2015.

自然语言处理

网络与互联网

See Cliki 更多.

HTTP客户端

HTTP服务器

Hunchentoot plugins

  • easy-routes - a routes handling system on top of Hunchentoot. It supports dispatch based on HTTP method, arguments extraction from the url path, decorators, url generation from route name, etc. MIT.
  • hunchentoot-cgi -用于从hunchentoot Web服务器执行CGI脚本的库. BSD.
  • hunchentoot-multi-acceptor -使用单个端口在单个hunchentoot接受器上路由多个域(虚拟主机). Apache2.0.

Clack plugins

Web框架

  • Caveman -强大的网络框架. LLGPL. 示例项目: Quickdocs
  • hh-web -用于构建现代Web应用程序的框架. Expat.
  • ningle -超微型网络框架. LLGPL. ninglex ,这是扩展的,对noob友好的ingle(通常更易于处理查询参数). MIT.
  • radiance -Web应用程序环境和框架. Artistic License 2.0.
  • Lucerne -受Flask启发,基于Clack构建的最小Web框架. MIT.
  • Snooze -基于Clack构建的RESTful Web框架,其中路由仅是函数,HTTP条件仅是Lisp条件. LLGPL.
  • cl-rest-server -用于编写REST Web API的库. 具有模式验证,用于日志记录的记录,缓存,权限或身份验证,通过Swagger进行文档记录等.MIT.
  • Weblocks -基于窗口小部件的框架,具有内置的ajax更新机制,可“解决JavaScript问题”. LLGPL.

有更多的项目,或多或少地中止了但很有趣. 请参阅其他资源.

资产管理

  • Rock -的资产经理 普通Lisp. 它基本上是Bower和 Webassets. .

解析HTML

查询HTML / DOM

另请参阅下面的XML部分以获取xpath库和更多内容.

HTML生成器和模板

URI动作

  • quri -另一个URI库 普通Lisp. 支持用户信息,IPv6主机名,编码/解码 实用程序,…BSD_3Clause.
  • purl -提供解析器并为RFC1738中指定的URL定义类型. GNU GPL3.
  • cl-slug -一个小型库,主要用于URI,在CamelCase中进行转换,删除重音和标点符号,用于英语和英语. LLGPL.

Javascript

*:星级: Parenscript -从Common Lisp到Javascript的翻译器. 3子BSD. 看到 Trident-mode,一种Emacs模式,可与浏览器进行实时交互.unlicence. * paren6 -一组用于Parenscript的ES6宏. * parse-js -用于解析ECMAScript 3的软件包.zlib. * JSCL -从一开始就设计为自托管的CL到JS编译器. 缺少CLOS,格式和循环. * CL-JavaScript -从Javascript到Common Lisp的翻译器. 在Quicklisp上不可用. Expat. * Wuwei -用于构建基于Ajax的网页的工具包. MIT. * SmackJack -使用parenscript生成javascript和hunchentoot(目前)作为Web服务器的Ajax Common Lisp库. 还允许服务器端lisp函数调用客户端脚本. MIT. * Panic ,一个React的Parenscript库. 不在Quicklisp中. MIT. 它 TodoMVC example. * remote-js -将JavaScript从Common Lisp发送到浏览器. MIT. * sigil -的旁白 Javascript命令行编译器和REPL. MIT.

也可以看看 trident-mode,一个Emacs minor mode for live Parenscript interaction.

Email

  • trivial-imap -尝试简化一些使用IMAP服务器的常见情况,例如从服务器读取电子邮件. 邮局库的薄包装(这是Franz的cl-imap的分支). BSD.
  • mailgun -薄包装,可通过mailgun.com发布HTML电子邮件. 未指定许可证.
  • mito-email-auth -通过电子邮件发送唯一代码来帮助验证网站用户身份的助手.

Websockets

看更多 on cliki.

静态网站生成器

Deployment

  • heroku-buildpack-common-lisp -使用Roswell编译Common Lisp应用程序的Heroku构建包. LGPL3.
  • cube -从Swagger规范生成的通用LISP的Kubernetes客户端库. 未指定许可证.
  • base-lisp-image -基础 带有SBCL或CCL和最新版本的Common Lisp项目的Docker映像 ASDF,Qlot和Roswell.
  • s2i-lisp -基于CentOS或RHEL7的“源到映像”构建器映像,用于为OpenShift(以及Docker)构建Common LISP映像. 它具有可与Quicklisp安装,SLIME或SLY集成的最新SBCL,并允许通过环境变量进行自定义. AGPL
  • deploy -用于Lisp应用程序二进制部署的工具包,并具有对外部共享库的额外支持. Artistic License 2.0.
  • cl-aws-runtime-test -使用Common Lisp(SBCL)作为AWS lambda上的自定义运行时的示例. WTFPL.

也可以看看:

Monitoring

  • prometheus.cl -Prometheus.io客户端. Grafana仪表板,用于SBCL和Hunchentoot指标(内存,线程,每秒请求数……). MIT.

第三方API

Others

数值科学

  • numcl -Common Lisp中的Numpy克隆. LGPL3.
  • magicl -Rigetti Computing开发的基于BLAS / LAPACK和Expokit的Common Lisp中的矩阵代数程序. BSD_3Clause.
  • cl-spark -为数字列表生成迷你图字符串. Expat.
  • GSLL -GNU Lisp科学图书馆; 允许使用Common Lisp提供的GSL. GNU LGPL2.1.
  • common-lisp-stat -通用Lisp统计资料库. FreeBSD.
  • maxima -计算机代数系统. 在Quicklisp上不可用. GNU GPL3.
  • lisp-matrix -矩阵包. FreeBSD.
  • 3-matrices -实现库 通用矩阵计算,重点是2x2、3x3和4x4 图形中常用的矩阵. 它提供了一些数值 功能也可以,但是这些并不是重点. 图书馆是 大量优化,因此它不是由漂亮 码. Artistic License 2.0.
  • Xecto -用于常规数组并行性的库. 3子BSD.
  • Petalisp -试图 通过以下方式为并行计算机生成高性能代码 JIT编译数组定义. 它适用于更多 通过提供更强大的功能,比NumPy具有更高的基本水平 N维数组,但仅用于构建的几个构建基块 他们. AGPL.
  • cmu-infix -用于在Common Lisp中编写中缀数学符号的库. 也可以看看 polisher.
  • cl-ana -通用Lisp数据分析库,着重于模块化和概念清晰性. 它旨在成为分析小型和大型数据集的通用框架,包括分箱数据分析和可视化. GNU GPL3.
  • linear-programming –用于解决线性编程问题的库. MIT.
  • avm -具有多线程和CUDA支持的高效且富有表现力的数组矢量数学库. MIT.

并行与并发

:星级: BordeauxThreads -可移植的共享状态并发. Expat. :星级: lparallel -用于并行编程的库. 3子BSD. * lfarm -在机器之间分配工作(在并行和usocket之上). BSD_3Clause * chanl -可移植的基于通道的并发. Expat,部分内容位于3-clause BSD下. * cl-async -用于通用,非阻塞编程的库. Expat. * Moira -监视并重新启动后台线程. lisp过程主管. 未指定许可证. * trivial-monitored-thread - 一个通用的Lisp库,提供了一种生成线程并被 通知他们中的任何一个崩溃和死亡. MIT. * cl-gearman -图书馆 Gearman 分布式工作系统. LLGPL. * swank-crew -使用Swank Client实现的分布式计算框架. BSD_3Clause. * cl-coroutine -协程库. 它在其实现中使用CL-CONT延续库. MIT.

演员模式

事件处理

  • simple-tasks -非常 简单的任务调度框架. Artistic License 2.0.
  • deeds -行动是可扩展 事件传递系统. 它可以有效地将事件传递给 具有复杂事件过滤的多个处理程序 系统. Artistic License 2.0.
  • cl-flow - Data-flowish computation tree library for non-blocking concurrent Common Lisp. MIT.
  • event-glue -简单的事件抽象. 没有依赖关系. 它可以在需要通用事件处理系统的任何地方使用. MIT.

作业处理

  • psychiq -用于Common Lisp应用程序的基于Redis的后台作业处理. 受到Ruby的Sidekiq的启发,并与其Web UI兼容. LLGPL.
  • clerk -具有健全DSL的类似cron的调度程序. MIT.

Regex

*:星级: cl-ppcre -兼容Perl的可移植正则表达式. FreeBSD.

Scripting

  • Roswell - Lisp安装程序和脚本环境(帮助程序,启动器, 安装程序)等. MIT.
  • Shelly -执行Common Lisp 功能类似于shell命令,而无需编写命令 行参数解析器. 它也可以用作Make-like 构建工具. FreeBSD.
  • cl-readline - 一套 键入时编辑行的功能,以维护 先前输入的命令行,以对其进行重新调用和重新编辑,以及 执行类似csh的历史记录扩展. Emacs和vi编辑 模式. GPL3.
  • Unix-opts -命令行 选项解析器,带有简洁的选项声明. MIT.
  • CLON -命令行选项 Nuker. ISC.
  • cl-ansi-term -打印 彩色文本,水平线,进度条,(无序)列表 和符合ANSI的终端上的表格. GPL3.
  • cl-charms -一个 到Common Lisp中的libcurses接口. 它提供了原始 通过CFFI进行libcurses的低级接口,以及更高级别的接口 Lispier界面. .
  • shcl -Common Lisp中类似POSIX的外壳. Apache2.0.
  • cl-progress-bar -进度条,就像在Quicklisp中一样! MIT.
  • WCL -允许数百Lisp 一次可实际获得应用程序,同时允许 several of them to run concurrently. WCL accomplishes this by 提供Common Lisp作为可以与以下链接的Unix共享库 Lisp和C代码可产生高效的应用程序. 例如, Lisp版本的“ Hello World!”的可执行文件! 在32位x86 Linux上,该程序仅需要20k字节. WCL也 支持完整的开发环境,包括动态文件 加载和调试. GDB的修改版用于调试WCL 程序,为混合语言调试提供支持.
  • replic -帮助程序将现有代码转换为readline应用程序,重点放在定义命令参数的完成. 还提供了一个随时可用的可执行文件,它将用户的lispy初始化文件转换为readline命令. MIT.
  • cl-all -在多个实现中运行Lisp代码段的脚本. 这使您可以快速比较实施行为和差异. Artistic License 2.0.
  • clawk -嵌入到Common Lisp中的AWK实现,用于在文件中搜索行并在其字段上执行指定的操作. BSD风格.

文字编辑器资源

其中包含适用于各种文本编辑器的插件和其他工具.

  • Parinfer -Parinfer是一种编辑Lisp代码的方法,有助于保持缩进和括号之间的平衡. 开始时很容易,但是它提供了Paredit的高级功能. 它在许多编辑器(Emacs,Vim,Neovim,Atom,Sublime Text,Visual Studio Code,LightTable,CodeMirror等)中都可用.

Emacs

*:星级: Slime -Emacs的高级Lisp交互模式; Emacs内部Common Lisp的成熟环境. 公共区域. * Sly -SLY是SLIME的分支,并在其上进行了多项改进. * Portacle -便携式多平台通用Lisp环境:SBCL,Quicklisp,Emacs,Slime,Git. * cl-devel2 -用于Common Lisp开发环境的Docker容器. 随SBime,CCL,Roswell和Emacs25一起运送Slime.

Vim & Neovim

  • SLIMV -Vim的高级Lisp交互模式; Vim内部Common Lisp的成熟环境. 未指定许可证.
  • Vlime -VLIME:Vim加Lisp大多是邪恶的. Vim(和Neovim)的通用Lisp开发环境. MIT.
  • quicklisp.nvim -Neovim的Quicklisp前端.
  • Slimv_box -在Docker容器中使用slimv.

Eclipse

  • Dandelion -Eclipse IDE的Common Lisp插件.

Lem

Atom

  • SLIMA 让你 交互式开发Common Lisp代码,从而将Atom变成 Lisp IDE非常好,并且积极开发. MIT.

Sublime Text

  • Sublime Text 有Common Lisp支持 及其“ SublimeREPL”软件包. [所有权].

VSCode

Notebooks

  • cl-jupyter -适用于Jupyter笔记本的Common Lisp内核 custom licence.
  • common-lisp-jupyter -用于Jupyter的Common Lisp内核以及用于构建Jupyter内核的库,该库基于Robert Dodier的Maxima-Jupyter,该库基于Frederic Peschanski的cl-jupyter. MIT.
  • Darkmatter - 一种 笔记本样式的通用Lisp环境. MIT.

REPLs

  • cl-repl -类似于ipython的REPL. 完成后,将执行shell命令,魔术命令,调试器等.MIT. 用 colorthemes.

文字处理

  • montezuma -全文索引并搜索Common Lisp. Expat.
  • mk-string-metrics - 在Common Lisp中高效地计算各种字符串指标 (Damerau-Levenshtein,Hamming,Jaro,Jaro-Winkler,Levenshtein, 等). .
  • cl-yacc -LALR(1)解析器生成器. .
  • wiki-lang-detect - 使用Wikipedia数据进行文字语言识别. 未指定许可证.
  • cl-shlex - simple lexical analyzer for shell-like syntaxes. MIT.

Tools

这些是应用程序或一些代码,它们使Common Lisp的开发变得更加容易,而无需成为Common Lisp库本身.

单元测试

*:星级: FiveAM -简单的回归测试框架. FreeBSD. * CLUnit -单元测试库. Expat. * Rove -Rove是Common Lisp应用程序的单元测试框架. 它旨在成为 Prove . 3子BSD. * Parachute -可扩展 和交叉兼容的测试框架. 有了测试依赖性 条件,装置和重启. Artistic License 2.0. * Mockingbird - 一个小 Common Lisp的存根和模拟库. 也可以检查一下 一个存根函数被调用了多少次 参数. . * Check-it -一种QuickCheck样式的基于属性的随机测试. LLGPL. * cl-coveralls -帮手 库将测试覆盖范围发布到Coveralls. 看到 continuous-integration on lisp-lang.orgSBCL's code coverage tool . FreeBSD.

Utilities

Caching

  • clache -常规缓存设施. 未指定许可证.

Configuration

CSV

*:星级: cl-csv -用于解析CSV文件的库. 3子BSD. * cl-decimals -十进制数解析器和格式化程序. 公共区域. * auto-text -自动检测文本文件(编码,行尾,列宽,csv定界符等). MIT. 也可以看看 inquisitor 用于检测亚洲和远东语言.

日期和时间

  • localtime -一个开发库,用于以半标准方式处理日期和时间信息. 3子BSD.
  • cl-date-time-parser -自由地解析日期时间字符串. 隐藏日期时间格式之间的差异,并允许将日期和时间作为一种日期时间格式进行管理. MIT.
  • chronicity -自然语言的日期和时间解析,以解析“从现在开始3天”之类的字符串. BSD_3Clause.
  • local-time-duration - 持续时间处理库建立在本地时间之上. MIT.
  • iso-8601-date -Common Lisp中的其他日期例程,基于ISO 8601字符串表示形式. LLGPL.
  • calendar-date -公历日期库. MIT.

资料验证

  • ratify -一组用于批准,验证和解析输入的实用程序. Artistic License 2.0.
  • clavier -Common Lisp的通用验证库. MIT.
  • sanity-clause -Common Lisp的数据序列化/合同库. 模式可以是属性列表或基于类的,允许在make-instance期间检查插槽的类型. LLGPL.

开发人员实用程序

  • repl-utilities -轻松 REPL的常见任务(打印文档,打印外部符号, 加载程序包时调用钩子,…). BSD_2Clause.
  • Linedit -Readline风格的图书馆 提供可自定义的行编辑功能. MIT风格.

文档建设者

  • sphinxcontrib-cldomain - 扩展Sphinx以覆盖Common Lisp. 要建立文件 与sphinx一样容易,而Python项目却是如此. GPL3
  • Codex - 一个美丽 Lisp的文档系统. MIT.
  • Staple -生成工具 使用HTML模板的文档页面. 使用现有 自述文件,将文档字符串,交叉引用和链接添加到 CLHS ArtisticLicense2.0.
  • cl-bibtex -使用BST到CL编译器的Common Lisp中的BibTeX程序的兼容重新实现. GNU LGPL2.1.
  • mgl-pax -探索性 编程环境和文档生成器. 一个可能 达到与Literate Programming相似的效果,但是 文档是从代码生成的,反之亦然. 代码是第一位 代码必须看起来很漂亮,文档就是代码. MIT.
  • erudite -精巧的编程系统,考虑了交互式开发. MIT.

文件和目录

*:星级: uiop 及其pathname包 (替换 cl-fad ). uiop是ASDF3的一部分 因此,在许多实施方式中都可以使用. MIT. * osicat -类似于POSIX的系统上的轻量级操作系统界面(目录迭代和删除,环境变量,文件权限等)Expat. * pathname-utils - 一种 实用程序集合,以帮助使用路径名 操作. Artistic License 2.0. * ppath -普通Lisp Python的os.path模块的实现. BSD. * archive -用于读取和创建存档(tar,cpio)文件的库. BSD_3Clause. “ tar”程序的纯Common Lisp替代品. * mmap -便携式mmap文件内存映射实用程序库. zlib.

Git

i18n

Linting

Logging

*:星级: log4cl -根据Log4J建模的日志记录框架. Apache2.0. 与Slime的高级集成. * verbose -快速且高度可配置的日志记录框架. Artistic License 2.0. * a-cl-logger -日志记录库提供上下文相关的日志记录,不仅记录字符串,还记录本地文件或输出流. 具有logstash支持,json支持,记录器层次结构,上下文相关的记录,以可检查的演示形式打印的对象等功能…

致第三方:

也可以看看: extensive comparison of logging libraries.

Markdown

  • 3bmd -markdown-> html转换器. MY.

PDF

Plotting

  • vgplot -的接口 gnuplot绘图实用程序,旨在类似于 八度或matlab的绘图命令. GPL3.
  • eazy-gnuplot - 一种 lispy,无结构的Gnuplot库. 与它 cookbook . LLGPL

Other

其中包含不适合其他类别的任何内容.

XML

Contributing

永远欢迎您的贡献! 请提交拉取请求或创建 向列表添加新框架,库或软件的问题.

我们(尝试)遵守的规则如下:

-默认情况下,将库添加到其部分的末尾. -绝对事实库,例如BordeauxThreads或Quicklisp, 应该用:star:(在markdown中用:star:)表示. -范围非常相似的两个库应并排放置,或放在一个 自己的部分. -根据我们的经验和状态进行一些策划 图书馆的文件. 我们旨在列出所有现有 CL库(请参阅Quickdocs或Cliki)或列出每个库 “热门”库(请参阅Quicklisp统计信息). -因此,我们最喜欢的库都标有(1F44D unicode字符). 另请参阅 介绍.

[rutils]:https://github.com/vseloved/rutils)