Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Jan 2025 09:14:08 GMT
From:      Sergio Carlavilla Delgado <carlavilla@FreeBSD.org>
To:        doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org
Subject:   git: 87532deaa6 - main - Website - Status: Add Common Lisp report
Message-ID:  <202501180914.50I9E8Ok024413@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by carlavilla:

URL: https://cgit.FreeBSD.org/doc/commit/?id=87532deaa63af131748601bc0a753c0f4799d2d6

commit 87532deaa63af131748601bc0a753c0f4799d2d6
Author:     Joseph Mingrone <jrm@FreeBSD.org>
AuthorDate: 2025-01-18 09:13:36 +0000
Commit:     Sergio Carlavilla Delgado <carlavilla@FreeBSD.org>
CommitDate: 2025-01-18 09:13:36 +0000

    Website - Status: Add Common Lisp report
    
    Reviewed by:            Pau Amma <pauamma@gundo.com>, Chris Moerz <freebsd@ny-central.org>
    Differential Revision:  https://reviews.freebsd.org/D48407
---
 .../status/report-2024-10-2024-12/common-lisp.adoc | 50 ++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/website/content/en/status/report-2024-10-2024-12/common-lisp.adoc b/website/content/en/status/report-2024-10-2024-12/common-lisp.adoc
new file mode 100644
index 0000000000..b4564258dc
--- /dev/null
+++ b/website/content/en/status/report-2024-10-2024-12/common-lisp.adoc
@@ -0,0 +1,50 @@
+=== Improving Common Lisp Infrastructure in FreeBSD Ports
+
+Contact: Joe Mingrone <jrm@FreeBSD.org>
+
+link:https://lisp-lang.org/[Common Lisp] (CL) is a general-purpose, multi-paradigm programming language first conceived in the early 1980s.
+Although it predates many modern programming languages, it remains a viable option for many different projects.
+One contemporary example is Grammarly, a widely used grammar engine reportedly implemented in CL and capable of processing over a thousand sentences per second.
+
+The FreeBSD ports tree has provided CL support for many years.
+The initial work was contributed by Henrik Motakef in 2003, and then enhanced and maintained by Jimmy Olgeni.
+The infrastructure facilitated building and installing CL libraries using link:https://asdf.common-lisp.dev/[ASDF] so that multiple CL implementations could load compiled object code files (fasl) at run-time without conflicts.
+
+However, many issues crept in over the years.
+Support dwindled to only one CL implementation, link:https://www.sbcl.org/[SBCL], and users encountered longstanding bugs such as conflicting ASDF versions and write errors when loading libraries outside the ports tree.
+Also, managing dependencies was cumbersome because most infrastructure code was included as part of the package:devel/cl-asdf[] port.
+
+A long overdue update of the FreeBSD CL infrastructure was completed this quarter.
+The primary outcome is that users can, once again, easily and reliably work with CL on FreeBSD.
+For example, installing and loading the popular Alexandria library under SBCL requires only a few simple steps.
+
+[source, shell]
+----
+% pkg install cl-alexandria-sbcl
+% sbcl
+* (asdf:load-system :alexandria)
+----
+
+Similar steps can be used to load libraries for the other two newly supported implementations: link:https://ccl.clozure.com/[CCL], and link:https://clisp.sourceforge.io/[CLISP].
+Most users will likely prefer to work with the fasl ports, although there is no obligation to do so.
+Because ASDF is now configured to fall back to its default caching mechanism of writing fasl to a cache under `${HOME}`, users can also install CL source ports without the associated fasl port or load CL sources from outside of the ports tree.
+
+Other highlights of the update include:
+
+- decoupling ASDF initialization from package:devel/cl-asdf[] by creating a dedicated port: package:devel/freebsd-cl-asdf-init[]
+- creating `USES=cl`
+- adding and updating various CL library ports for the three supported implementations
+- updating and modernizing package:lang/ccl[] and package:lang/clisp[]
+
+For details, refer to these commit logs:
+
+- link:https://cgit.freebsd.org/ports/commit/?id=4c954c1522cbf4d05013caaf40c36458d82f1480[4c954c1522cbf4d05013caaf40c36458d82f1480]
+- link:https://cgit.freebsd.org/ports/commit/?id=f6a75a8f9bf20dbf1e9a4d5bc171d58f595c1ec1[f6a75a8f9bf20dbf1e9a4d5bc171d58f595c1ec1]
+- link:https://cgit.freebsd.org/ports/commit/?id=1d7c75a5cde6792b3872340edeaf8f278add291a[1d7c75a5cde6792b3872340edeaf8f278add291a]
+- link:https://cgit.freebsd.org/ports/commit/?id=148251b431b8d972623bb3adaa5a71355f47ac26[148251b431b8d972623bb3adaa5a71355f47ac26]
+- link:https://cgit.freebsd.org/ports/commit/?id=7f68336ed19be61027dfb7b461aacd056733eba4[7f68336ed19be61027dfb7b461aacd056733eba4]
+
+The tentative plan is to add support for link:https://ecl.common-lisp.dev/[ECL] after an ASDF output translation issue is solved and to create ports for other CL libraries.
+Feedback, testing, and contributions are welcome.
+
+Sponsor: The FreeBSD Foundation



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501180914.50I9E8Ok024413>