Show HN: 一个正在开发中的 Common Lisp 实现,支持 ASDF
Show HN: A Common Lisp implementation in development, supports ASDF

原始链接: https://savannah.nongnu.org/p/alisp

alisp是由andreamonaco使用C89编写的一个非GNU Common Lisp实现项目。目前是一个解释器,未来计划编译,目标是符合Common Lisp规范。主要特性包括可选的GNU readline和GNU mp支持,以及带单步执行功能的调试器和一个基本的性能分析器。`test.pl`脚本展示了该项目对Common Lisp的大量覆盖。 版本持续改进。1.1版(2025年3月)增加了LOOP增强功能、函数编译器、文件系统支持以及性能分析器/单步执行器的升级。1.0版(2024年11月)引入了漂亮的打印机、编译器宏、更好的CLOS、回溯打印以及改进的调试功能。0.999版(2024年5月)突出了数组改进、最小化编译、泛型函数、流、TRACE和调试器的单步执行功能。 alisp采用GPLv3或更高版本许可证发布。欢迎通过Liberapay和Patreon捐款。鼓励提交错误报告和建议,但不接受补丁。可以通过git克隆代码库:`git clone https://git.savannah.nongnu.org/git/alisp.git`。

一个Hacker News帖子讨论了一个新的Common Lisp实现,托管在nongnu.org上。作者andreamonaco选择nongnu是因为不喜欢重量级的JavaScript和非自由软件。这个实现包含一个带有单步执行和监视点支持的调试器,这些特性并非所有免费的CL实现都具备。 用户们讨论了构建系统,一些人批评在新项目中使用GNU Autotools,倾向于更简单的Makefile或CMake。关于CMake的优缺点也存在争议。GPLv3许可证被认为是某些商业项目的一个潜在障碍,并讨论了该许可证对语言实现的影响。目标是达到ANSI兼容,并实现字节码和原生代码编译。有人担心是否可以重新授权为限制较少的LGPL或MPL。

原文

Membership Info

Group Admin:

1 active member


Group identification

Id: 12244

System Name: alisp

Name: A lisp implementation

Group Type: non-GNU software and documentation


This group is not part of the GNU Project.

This is a lisp implementation.  Now it is just an interpreter, but I will add some compilation later.  I aim for Common Lisp conformance, but I'm not religious about it.

To clone the repository, run this command:

  git clone https://git.savannah.nongnu.org/git/alisp.git

You can find the released tarballs down on this page, but I recommend running from the latest commit, since new features and bugfixes happen often.

To get the gist of this project, see README (https://git.savannah.nongnu.org/cgit/alisp.git/tree/README) and NOTES (https://git.savannah.nongnu.org/cgit/alisp.git/tree/NOTES).

I write alisp in C89 syntax and standard library.

I use GNU readline (optionally) and GNU mp as external libraries, for line input and arbitrary precision arithmetic respectively.

The implementation includes more than three quarters of Common Lisp!  Run the test.pl script (https://git.savannah.nongnu.org/cgit/alisp.git/tree/test.pl) for a tour de force of the interpreter.

alisp is quite friendly to the programmer: it features a basic profiler and also a debugger with stepping, a feature that most free CL implementations lack.

This is a solo project at the moment, so please don't send patches.  But do send bug reports and suggestions to the address you find in README!  If you need some lisp construct, tell me.

I release alisp as free software under GPL version 3 or later.

If you like this project, you can make a donation at https://liberapay.com/andreamonaco or at https://www.patreon.com/andreamonaco.  Thank you very much!

If you know of any relevant grant or have other funding suggestions, write to me.

Registration Date: Thu 23 Jun 2022 03:31:12 PM UTC
License: GNU General Public License v3 or later
Development Status: 4 - Beta

 

alisp 1.1 released
     posted by andreamonaco, Thu 20 Mar 2025 06:34:37 AM UTC

Version 1.1 is out!

Now al has improvements in LOOP, a better function compiler and a limited file compiler, better support for pathnames and for querying the filesystem, various improvements to the profiler and the stepper, initial support for watchpoints and tons of bugfixes as usual. [...]

alisp 1.0 released
     posted by andreamonaco, Mon 11 Nov 2024 08:40:56 AM UTC

Version 1.0 is out!

Now al has a basic pretty printer, better LOOP, handling of compiler macros, much better CLOS, better inspection tools including a backtrace printer, more complete handling of pathnames, a better minimal compiler, more reader macros, support for symbol macros, a much better debugging and stepping experience.  As usual, tons [...]

alisp 0.999 released
     posted by andreamonaco, Sat 18 May 2024 08:35:03 PM UTC

Version 0.999 is out.

Now al has more sharp macros and many improvements in all kinds of arrays, filenames, fill pointers, minimal compilation, generic functions, streams, LOOP, FORMAT; it also has ROOM, TRACE and stepping in the debugger, that almost no free CL implementation has; last but not least, tons of bug fixes and closed leaks make al [...]

alisp 0.99 released
     posted by andreamonaco, Sat 09 Mar 2024 06:54:56 PM UTC

Version 0.99 is out.

Now al has better support for UTF-8, fill pointers, macro functions, generic functions, standard objects, pathnames and file operations, restarts; we also have minimal compilation and a basic debugger and profiler; finally a lot of bug fixes and closed leaks.

Get alisp at https://download.savannah.nongnu.org/releases/alisp/alisp-0.99.tar.gz.  See README for instructions and test.pl for a demonstration of what the interpreter can do.

Back to the top

联系我们 contact @ memedata.com