{"id":595971,"date":"2023-01-10T05:49:57","date_gmt":"2023-01-10T11:49:57","guid":{"rendered":"https:\/\/news.sellorbuyhomefast.com\/index.php\/2023\/01\/10\/common-lisp-2022-in-review\/"},"modified":"2023-01-10T05:49:57","modified_gmt":"2023-01-10T11:49:57","slug":"common-lisp-2022-in-review","status":"publish","type":"post","link":"https:\/\/newsycanuse.com\/index.php\/2023\/01\/10\/common-lisp-2022-in-review\/","title":{"rendered":"Common Lisp: 2022 in review"},"content":{"rendered":"<div>\n<p>And 2022 is over. The Common Lisp language and environment are solid<br \/>\nand stable, yet evolve. Implementations, go-to libraries, best<br \/>\npractices, communities evolve. We don\u2019t need a \u201cState of the<br \/>\nEcosystem\u201d every two weeks but still, what happened and what did you<br \/>\nmiss in 2022?<\/p>\n<p>This is my pick of the most exciting, fascinating, interesting or just<br \/>\ncool projects, tools, libraries and articles that popped-up during<br \/>\nthat time (with a few exceptions that appeared in late 2021).<\/p>\n<p>This overview is not a <a href=\"https:\/\/lisp-journey.gitlab.io\/blog\/state-of-the-common-lisp-ecosystem-2020\/\">\u201cState of the CL ecosystem\u201d<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=26065511\">HN comments (133)<\/a>) that I did in<br \/>\n2020, for which you can find complementary comments on HN.<\/p>\n<blockquote>\n<p>I think this article (of sorts) is definitely helpful for onlookers to Common Lisp, but doesn\u2019t provide the full \u201cstory\u201d or \u201cfeel\u201d of Common Lisp, and I want to offer to HN my own perspective.<\/p>\n<\/blockquote>\n<p>And, suffice to say, I tried to talk about the most important things,<br \/>\nbut this article (of sorts) is by no means a compilation of <em>all<\/em> new<br \/>\nCL projects or all the articles published on the internet. Look on<br \/>\nReddit, Quicklisp releases, Github, and my favourite resources:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/CodyReichert\/awesome-cl\">Awesome-cl<\/a> &#8211; a curated list of libraries (there might be more than you think)<\/li>\n<li><a href=\"https:\/\/lispcookbook.github.io\/cl-cookbook\/\">the CL Cookbook<\/a><\/li>\n<\/ul>\n<p>If I had to pick 3 achievements they would be:<\/p>\n<ul>\n<li>SBCL developments: <strong>SBCL is now callable as a shared library<\/strong>. See below in \u201cImplementations\u201d.<\/li>\n<li><strong>a new 3D graphics project: Kons-9<\/strong>: \u201cThe idea would be to develop a system along the lines of Blender\/Maya\/Houdini, but oriented towards the strengths of Common Lisp\u201d. And the project progresses at a good pace.<\/li>\n<li><strong>CLOG, the Common Lisp Omnificent GUI<\/strong>. It\u2019s like a GUI framework<br \/>\nto create web apps. Based on websockets, it offers a light<br \/>\nabstraction to create fully-dynamic web applications, in Common<br \/>\nLisp. It has lots of demos to create websites, web apps, games, and<br \/>\nit ships a complete editor. For development, we can connect our Lisp<br \/>\nREPL to the browser, and see changes on the fly. The author had a<br \/>\nsimilar commercial product written in Ada, discovered Common Lisp,<br \/>\nand is now super active on this project.<\/li>\n<\/ul>\n<p>Let\u2019s go for more.<\/p>\n<p>Thanks to @k1d77a, @Hexstream, @digikar and @stylewarning for their feedback.<\/p>\n<p><strong>Table of Contents<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#documentation\">Documentation<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#implementations\">Implementations<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#jobs\">Jobs<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#projects\">Projects<\/a>\n<ul>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#language-libraries\">Language libraries<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#editors-online-editors-repls-plugins\">Editors, online editors, REPLs, plugins<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#concurrency\">Concurrency<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#databases\">Databases<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#delivery-tools\">Delivery tools<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#games\">Games<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#graphics-guis\">Graphics, GUIs<\/a>\n<ul>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#kons-9-a-new-3d-graphics-project\">Kons-9, a new 3D graphics project<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#interfaces-with-other-languages\">Interfaces with other languages<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#numerical-and-scientific\">Numerical and scientific<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#web\">Web<\/a>\n<ul>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#clog\">CLOG<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#new-releases\">New releases<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#re-discoveries\">(re) discoveries<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#articles\">Articles<\/a>\n<ul>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#graphics\">Graphics<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#tooling\">Tooling<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#around-the-language\">Around the language<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#web-related\">Web related<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#other-articles\">Other articles<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#screencasts-and-podcasts\">Screencasts and podcasts<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#other-discussions\">Other discussions<\/a>\n<ul>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#community\">Community<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#learning-lisp\">Learning Lisp<\/a><\/li>\n<li><a href=\"http:\/\/lisp-journey.gitlab.io\/#common-lisp-vs-\">Common Lisp VS \u2026<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"documentation\">Documentation<\/h2>\n<p>A newcomer to Lisp came, asked a question, and suddenly he created a super useful rendering of the specification. Check it out!<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/cl-community-spec.github.io\/pages\/index.html\">Common Lisp CommunitySpec (CLCS)<\/a> &#8211;  a rendition of the Common Lisp ANSI Specification draft.\n<ul>\n<li>Github: <a href=\"https:\/\/github.com\/fonol\/cl-community-spec\">https:\/\/github.com\/fonol\/cl-community-spec<\/a><\/li>\n<li>It is readable, it has syntax highlighting for code snippets, an interactive search bar, it looks modern, it is open.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>But that\u2019s not all, he also started work on a new Common Lisp editor, built in Rust and Tauri, see below.<\/p>\n<p>We continue to enrich the Common Lisp Cookbook. You are welcome to join, since documention is best built by newcomers for newcomers.<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/LispCookbook\/cl-cookbook\/releases\/tag\/2022-09-14\">New CL Cookbook EPUB and PDF release &#8211; mainly readability and file format improvements &#8211; thanks to the 13 contributors<\/a><\/li>\n<\/ul>\n<p>A resurrected project:<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/llthw.common-lisp.dev\/\">Learn Lisp the Hard Way is back online<\/a><\/li>\n<\/ul>\n<p>Also:<\/p>\n<ul>\n<li><a href=\"https:\/\/cdr.common-lisp.dev\/\">the revamped Common Lisp Document Repository (CDR) site<\/a>, \u201ca repository of documents that are of interest to the Common Lisp community. The most important property of a CDR document is that it will never change\u201d\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/s9r57l\/via_marco_antoniottis_blog_the_revamped_common\/\">comments<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/lisp-journey.gitlab.io\/blog\/i-am-creating-a-common-lisp-video-course-on-udemy\/\">I am creating a Common Lisp video course on Udemy ????<\/a>\n<ul>\n<li>read more about my motivation and follow the project on Github: <a href=\"https:\/\/github.com\/vindarel\/common-lisp-course-in-videos\/\">https:\/\/github.com\/vindarel\/common-lisp-course-in-videos\/<\/a><\/li>\n<li>the course has some free videos. If you are a student, drop me a line for a free link.<\/li>\n<li><a href=\"https:\/\/www.udemy.com\/course\/common-lisp-programming\/?referralCode=2F3D698BBC4326F94358\">direct link to the course<\/a>.<\/li>\n<li>Thanks for your support!<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"implementations\">Implementations<\/h2>\n<p>We saw achievements in at least <del>7<\/del> 8 implementations.<\/p>\n<ul>\n<li><a href=\"http:\/\/www.sbcl.org\/all-news.html\">SBCL continues to ship monthly<\/a>. In 2022:\n<ul>\n<li>???? SBCL is now <strong>callable as a shared library<\/strong>. See sbcl-librarian below.<\/li>\n<li>???? <a href=\"https:\/\/www.sbcl.org\/manual\/index.html#sb_002dsimd\">sb-simd<\/a> &#8211; <strong>SIMD<\/strong> programming in SBCL.<\/li>\n<li><strong>core compression<\/strong> uses zstd instead of zip: compression is about 4 times faster, decompression about two times, compression saves \u00b110% of size.<\/li>\n<li><code>trace<\/code> now supports tracing macro functions, compiler-macro functions, individual methods and local functions (flet and labels) (SBCL 2.2.5)<\/li>\n<li>the SBCL repository reached 20,000 commits.<\/li>\n<li><a href=\"https:\/\/github.com\/bohonghuang\/sbcl-termux-build\">Prebuilt SBCL binary for Android (Termux)<\/a> (unofficial)<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/clasp-developers\/clasp\/releases\/tag\/2.0.0\">Clasp 2.0.0 released<\/a>\n<ul>\n<li>This is Common Lisp on LLVM.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=tQgkvghzW0M\">Christian Schafmeister talk &#8211; brief update about his \u201cmolecular lego\u201d supported by his Lisp compiler<\/a><\/li>\n<li>there\u2019s less funding than in the 80s, but still funding: \u201cCLASP was supported by The Defense Threat Reduction Agency, The National Institutes of Health, The National Science Foundation\u201d.<\/li>\n<\/ul>\n<\/li>\n<li>ECL:\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/sqrdio\/lqml_a_lightweight_ecl_binding_to_qml_both_qt5\/\">LQML: a lightweight ECL binding to QML (both Qt5 and Qt6) derived from EQL5<\/a><\/li>\n<li>tested on the following platforms: Linux, macOS, android, iOS.<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/ys7jpl\/ecl_targetting_wasm_via_emscripten_preliminary\/\">ECL targetting WASM via Emscripten &#8211; preliminary support<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/www.lispworks.com\/news\/news41.html\">LispWorks Personal Edition updated to version 8.0.1<\/a>, incl. <em>native Apple Silicon version<\/em>\n<ul>\n<li><a href=\"http:\/\/www.lispworks.com\/downloads\/patch-selection.html#lw80monterey\"> additional important LispWorks 8 patch for macOS 12.6<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/tb5ehb\/major_new_release_of_allegro_common_lisp_express\/\">Major New release of Allegro Common Lisp Express Edition for 10.1<\/a>\n<ul>\n<li>Browser-based IDE for Linux and macOS<\/li>\n<li>no syntax highlighting for the editor though :S<\/li>\n<li>Applications built using Common Graphics can use browsers for delivery. Firefox, Chrome, Safari, Edge and many other browsers are supported.<\/li>\n<li>New platforms: aarch64, x86_64<\/li>\n<li>download: <a href=\"https:\/\/franz.com\/downloads\/clp\/survey\">https:\/\/franz.com\/downloads\/clp\/survey<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/abcl.org\/release-notes-1.9.0.shtml\">ABCL 1.9.0<\/a> was released in May.\n<ul>\n<li>\u201cABCL 1.9.0 has been best tested on the openjdk8, openjdk11, and openjdk17 runtimes. It will run other places but those are the best supported.\u201d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zqy697\/gnu_common_lisp_2613_is_released\/\">GNU Common Lisp 2.6.13 released<\/a>, after 8 years.<\/li>\n<\/ul>\n<p>New implementation! It\u2019s 2022 and people start new CL implementations.<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/nptcl\/npt\">NPT<\/a> &#8211; an implementation of ANSI Common Lisp in C.\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/uiewwn\/npt_an_implementation_of_ansi_common_lisp_in_c\/\">comments<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>See also:<\/p>\n<ul>\n<li><a href=\"https:\/\/codeberg.org\/gsou\/LCL\">LCL, Lua Common Lisp<\/a> &#8211; The goal of this project is to provide an implementation of Common Lisp that can be used wherever an unmodified Lua VM is running.\n<ul>\n<li><em>not<\/em> a complete implementation.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>They are doing great work to revive a Lisp machine:<\/p>\n<ul>\n<li><a href=\"https:\/\/interlisp.org\/news\/2022medleyannualreport\/\">2022 Medley Interlisp Annual Report<\/a><\/li>\n<\/ul>\n<blockquote>\n<p>Medley Interlisp is a project aiming to restore the Interlisp-D software environment of the Lisp Machines Xerox produced since the early 1980s, and rehost it on modern operating systems and computers. It\u2019s unique in the retrocomputing space in that many of the original designers and implementors of major parts of the system are participating in the effort.<\/p>\n<\/blockquote>\n<p>Paolo Amoroso <a href=\"https:\/\/journal.paoloamoroso.com\/my-encounter-with-medley-interlisp\">blog post: my encounter with Medley Interlisp<\/a>.<\/p>\n<h2 id=\"jobs\">Jobs<\/h2>\n<p>I won\u2019t list expired job announces, but this year Lispers could apply for jobs in: web development(<a href=\"https:\/\/webcheckout.net\/\">WebCheckout<\/a>, freelance announces), cloud service providers (<a href=\"https:\/\/www.keepit.com\/\">Keepit<\/a>), big-data analysis (<a href=\"https:\/\/www.ravenpack.com\/\">Ravenpack<\/a>, and chances are they are still hiring)), quantum computing (<a href=\"https:\/\/www.hrl.com\/\">HLR Laboratories<\/a>), AI (<a href=\"https:\/\/mind.ai\/\">Mind AI<\/a>, <a href=\"https:\/\/www.sri.com\/\">SRI International<\/a>), real-time data aggregration and alerting engines for energy systems (<a href=\"https:\/\/3e.eu\/\">3E<\/a>); for a startup building autism tech (and using CLOG already); there have been a job seeking to rewrite a Python backend to Common Lisp (<a href=\"https:\/\/www.riffitnow.com\/\">RIFFIT<\/a>); there have been some bounties; etc.<\/p>\n<p>Prior Lisp experience was not 100% necessary. There were openings for junior and senior levels, remote and not remote (Australia for \u201ca big corp\u201d, U.S., Spain, Ukraine\u2026).<\/p>\n<p>Comes a question:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/vvszte\/any_ideas_for_strategies_to_find_jobs_with_lisp\/\">Any Ideas for strategies to find jobs with lisp?<\/a><\/li>\n<\/ul>\n<p>I remind the reader that most Lisp jobs do <em>not<\/em> have a public job posting, instead candidates are often found organically on the community channels: IRC, Twitter, Discord, Reddit\u2026 or teams simply train their new developer.<\/p>\n<p>In 2022 we added a few companies to the ongoing, non-official list on <a href=\"https:\/\/github.com\/azzamsa\/awesome-lisp-companies\/\">awesome-lisp-companies<\/a>. If your company uses Common Lisp, feel free to tell us on an issue or in the comments!<\/p>\n<p>For example, <a href=\"https:\/\/feetr.io\/\">Feetr.io<\/a> \u201cis entirely Lisp\u201d.<\/p>\n<blockquote>\n<p>Lisp was a conscious decision because it allows a small team to be incredibly productive, plus the fact that it\u2019s a live image allows you to connect to it over the internet and poke and prod the current state, which has really allowed a much clearer understanding of the data.<\/p>\n<\/blockquote>\n<p>They post SLY screenshots on their Twitter^^<\/p>\n<p><a href=\"https:\/\/evacsound.com\/\">Evacsound<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=32178351\">HN<\/a>):<\/p>\n<blockquote>\n<p>We\u2019re using CL in prod for an embedded system for some years now, fairly smooth sailing. It started out as an MVP\/prototype so implementation was of no concern, then gained enough velocity and market interest that a rewrite was infeasible. We re-train talent on the job instead.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/home.pandorabots.com\/\">Pandorabots<\/a>, or <a href=\"https:\/\/www.barefootnetworks.com\">barefootnetworks<\/a>, designing the Intel Tofino programmable switches, and more.<\/p>\n<h2 id=\"projects\">Projects<\/h2>\n<ul>\n<li><a href=\"https:\/\/ultralisp.org\/tags\/api\/\">Ultralisp now supports tags. We can browse a list of projects under a tag.<\/a>\n<ul>\n<li>Ultralisp is a Quicklisp distribution that ships every five minutes.<\/li>\n<li>see also <a href=\"https:\/\/www.timmons.dev\/posts\/clpm-040-released.html\">CLPM<\/a> for a new package manager.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"language-libraries\">Language libraries<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/marcoheisig\/Typo\/\">Typo: A portable type inference library for Common Lisp<\/a>, by Marco Heisig.<\/li>\n<li>Testing:\n<ul>\n<li><a href=\"https:\/\/github.com\/tdrhq\/fiveam-matchers\">fiveam-matchers<\/a> &#8211; An extensible, composable matchers library for FiveAM.<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/z4hfl9\/testiere_tddlike_dev_for_common_lisp_tests_are\/\">testiere<\/a> &#8211; TDD-like dev for Common Lisp. Tests are included at the top of a defun\/t form. When you recompile your functions interactively, the tests are run.<\/li>\n<li><a href=\"https:\/\/github.com\/melisgl\/try\/\">melisgl\/try test framework.<\/a> &#8211; \u201cit is what we get if we make tests functions and build a test framework on top of the condition system.\u201d<\/li>\n<li><a href=\"https:\/\/github.com\/melisgl\/journal\">journal<\/a> &#8211; A Common Lisp library for logging, tracing, testing and persistence<\/li>\n<li><a href=\"https:\/\/github.com\/40ants\/40ants-critic\">40ants-critic<\/a> &#8211; a wrapper around LISP-CRITIC which provides a better interface to analyze ASDF systems and a command-line interface.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/x2i3lb\/clede_the_common_lisp_emacs_development\/\">CLEDE &#8211; the Common Lisp Emacs Development Environment <\/a>\n<ul>\n<li>\u201cThe idea is to supply features that other language with and static analyzer have, like refactoring and code generation.\u201d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/tdrhq\/easy-macros\">easy-macros<\/a> &#8211; An easy way to write 90% of your macros.<\/li>\n<li><a href=\"https:\/\/github.com\/bigos\/quicklisp-doctor\">Quicklisp doctor<\/a> &#8211; a program that examines the quicklisp installation.<\/li>\n<li><a href=\"https:\/\/github.com\/Hectarea1996\/more-cffi\/\">more-cffi: Additional helper macros for the cffi project<\/a><\/li>\n<\/ul>\n<h2 id=\"editors-online-editors-repls-plugins\">Editors, online editors, REPLs, plugins<\/h2>\n<ul>\n<li>???? <a href=\"https:\/\/github.com\/fonol\/parrot\/\">Parrot<\/a> &#8211;  A cross-platform Common Lisp editor.\n<ul>\n<li>built in <strong>Rust<\/strong> with <strong>Tauri<\/strong>, CodeMirror, the Slynk server.<\/li>\n<li>\u201cA hobby project started in Summer 2022. It aims to be an editor for Common Lisp (SBCL), that mostly works out of the box.\u201d<\/li>\n<li>in development, untested on Linux and Mac.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/nobody-famous\/alive-lsp\/releases\/tag\/v0.1.9\">Alive LSP for VSCode v0.1.9 \u00b7 Add initial step debugger support<\/a><\/li>\n<li><a href=\"https:\/\/riju.codes\/commonlisp\">Common Lisp at Riju<\/a>, a fast online playground for every programming language.<\/li>\n<li><a href=\"https:\/\/docs.codewars.com\/languages\/commonlisp\/\">Codewars (code training platform) now has Common Lisp (SBCL 2.0.9)<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zlrkcq\/mobile_app_clrepl_lqml_to_replace_cl_repl_eql5\/\">Mobile app \u201ccl-repl\u201d (LQML) to replace \u201cCL REPL\u201d (EQL5)<\/a><\/li>\n<li>\u2606 <a href=\"https:\/\/github.com\/mmontone\/slime-star\">slime-star<\/a> &#8211; SLIME configuration with some extensions pre-installed.\n<ul>\n<li>a Lisp System Browser<\/li>\n<li>SLIME Doc Contribs<\/li>\n<li>Quicklisp Systems browsers<\/li>\n<li>Quicksearch utility<\/li>\n<li><a href=\"https:\/\/github.com\/mmontone\/slime-breakpoints\">Slime breakpoints<\/a> &#8211; Inspect objects from their printed representation in output streams.<\/li>\n<li>custom utilities and menus.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/julian-baldwin\/parachute-browser\">parachute-browser: A lightweight UI for using the Parachute testing framework in LispWorks<\/a><\/li>\n<\/ul>\n<p>New releases:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/lem-project\/lem\/releases\/tag\/v1.10.0\">Lem editor 1.10.0: lsp-mode by default, multiple cursors, sql mode, and more.<\/a>\n<ul>\n<li>Lem is a general purpose editor written in Common Lisp. It works for many languages thanks to its LSP client.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/fonol\/parrot\/main\/devlog\/load-file-debug-dialog.jpg\"><\/p>\n<h2 id=\"concurrency\">Concurrency<\/h2>\n<ul>\n<li>???? <a href=\"https:\/\/github.com\/mdbergmann\/cl-gserver\">New version of the Sento Actor Framework released<\/a>  with a few new goodies in future handling. Nicer syntax and futures can now be mapped.\n<ul>\n<li>in v2.2.0: stashing and replay of messages.<\/li>\n<li>in v1.12: \u201cShutdown and stop of actor, actor context and actor system can now wait for a full shutdown\/stop of all actors to really have a clean system shutdown.\u201d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/vsbfbp\/writing_distributed_apps_with_cletcd\/\">Writing distributed apps with cl-etcd<\/a><\/li>\n<\/ul>\n<p>See also <a href=\"https:\/\/github.com\/dbmcclain\/Lisp-Actors\/\">lisp-actors<\/a>, which also does networking. It looks like more of a research project, as it doesn\u2019t have unit-tests nor documentation, but it was used for the (stopped) Emotiq blockchain.<\/p>\n<p>Discussions:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/x3425f\/concurrency_common_lisp_vs_clojure\/\">Concurrency: Common Lisp vs Clojure<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/tna6zo\/moving_from_the_beam_to_common_lisp_what_are_my\/\">Moving from the BEAM to Common Lisp: What are my concurrency options?<\/a><\/li>\n<\/ul>\n<h2 id=\"databases\">Databases<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/ak-coram\/cl-duckdb\">DuckDB Lisp bindings<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/yja88u\/ndbapi_common_lisp_bindings_to_the_c_ndb_api_of\/\">ndbapi: Common Lisp bindings to the C++ NDB API of RonDB<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/yh60n2\/clsql_released_under_a_nonrestrictive_license\/\">CLSQL released under a non-restrictive license<\/a><\/li>\n<li><a href=\"https:\/\/zaries.wordpress.com\/2022\/05\/31\/cl-naive-store\/\">Document Store\/DB Implemented in Common Lisp<\/a><\/li>\n<\/ul>\n<p>More choices: <a href=\"https:\/\/github.com\/CodyReichert\/awesome-cl#database\">awesome-cl#databases<\/a>.<\/p>\n<p>There has been outstanding work done there. It is also great to see the different entities working on this. That includes SBCL developers, Doug Katzman of Google, and people at HRL Laboratories (also responsible of <a href=\"https:\/\/coalton-lang.github.io\/\">Coalton<\/a>, Haskell-like on top of CL).<\/p>\n<blockquote>\n<p>Have you ever wanted to call into your Lisp library from C? Have you ever written your nice scientific application in Lisp, only to be requested by people to rewrite it in Python, so they can use its functionality? Or, maybe you\u2019ve written an RPC or pipes library to coordinate different programming languages, running things in different processes and passing messages around to simulate foreign function calls.<\/p>\n<p>[\u2026]  If you prefer using SBCL, you can now join in on the cross-language programming frenzy too.<\/p>\n<\/blockquote>\n<ul>\n<li>???? <a href=\"https:\/\/github.com\/quil-lang\/sbcl-librarian\">sbcl-librarian<\/a> &#8211; An opinionated interface for creating C- and Python-compatible shared libraries in Common Lisp with SBCL. Requires SBCL version >2.1.10.\n<ul>\n<li><a href=\"https:\/\/mstmetent.blogspot.com\/2022\/04\/using-lisp-libraries-from-other.html\">introductory blogpost<\/a>: Using Lisp libraries from other programming languages &#8211; now with SBCL.<\/li>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=31054796\">HN comments (67)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>???? <a href=\"https:\/\/github.com\/borodust\/alien-works-delivery\">alien-works-delivery<\/a> &#8211; WIP system for delivering Common Lisp applications as executable bundles. For now it only supports AppImage format for Linux and MSIX for Windows, but .APK for Android and later MacOSX and iOS bundle formats are planned too.<\/li>\n<li><a href=\"https:\/\/github.com\/qitab\/bazelisp\">Support for compiling Common Lisp code using bazel.io<\/a>, by the CL team at Google.<\/li>\n<\/ul>\n<h2 id=\"games\">Games<\/h2>\n<p>Kandria launches on Steam on the 11th of January, in two days!<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/reader.tymoon.eu\/article\/419\">2022 for Kandria in review<\/a><\/p>\n<ul>\n<li><a href=\"https:\/\/kandria.com\/\">https:\/\/kandria.com\/<\/a><\/li>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=32043026\">HN comments (32)<\/a><\/li>\n<li><a href=\"https:\/\/www.kickstarter.com\/projects\/shinmera\/kandria\/posts\/3539140\">They Successfully completed their Kickstarter<\/a><\/li>\n<li><a href=\"https:\/\/courier.tymoon.eu\/view\/OENrrf0y2d8V7fx8WudSlUlERXpNQT09\">They received the Pro Helvetia grant<\/a><\/li>\n<li><a href=\"https:\/\/reader.tymoon.eu\/article\/413\">An Overview of Kandria\u2019s Development with Lisp<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/store.steampowered.com\/app\/2023440\/Jettatura\/\">Jettatura &#8211; old school RPG game released on Steam this October &#8211; built in Common Lisp (\u201ca decade in the making\u201d) <\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/aymanosman\/cl-defender\">cl-defender<\/a> &#8211; Toy Game using Common Lisp and Raylib.<\/p>\n<\/li>\n<\/ul>\n<p>???? <a href=\"https:\/\/www.youtube.com\/watch?v=usc0Znm-gbA\">Kandria trailer<\/a>.<\/p>\n<h2 id=\"graphics-guis\">Graphics, GUIs<\/h2>\n<p>We saw the release of fresh bindings for Gtk4.<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/github.com\/bohonghuang\/cl-gtk4\">Writing beautiful GUI with Common Lisp and GTK4<\/a><\/li>\n<\/ul>\n<p>We had bindings for Qt5\u2026 but they are still very rough, hard to install so far.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/s3xr8e\/commonqt_5\/\">CommonQt 5<\/a> &#8211; Qt5 bindings.<\/li>\n<\/ul>\n<p>Also:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/xz2ibr\/i_made_a_wayland_client_from_scratch_for_common\/\">I made a Wayland client from scratch for Common Lisp<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/JolifantoBambla\/vk\">vk<\/a> &#8211; CFFI bindings to Vulkan<\/li>\n<\/ul>\n<p>History:<\/p>\n<ul>\n<li><a href=\"https:\/\/archive.org\/details\/izware_mirai_1.1sp2\">Izware Mirai is available on the Internet Archive<\/a> (no source code)\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/wcyzis\/hacking_lisp_on_mirai\/\">Hacking Lisp on Mirai<\/a> (screencast)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>But an awesome novelty of 2022 is Kons-9.<\/p>\n<h3 id=\"kons-9-a-new-3d-graphics-project\">Kons-9, a new 3D graphics project<\/h3>\n<p>???? A new 3D graphics project: <strong>Kons-9<\/strong>.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/weocc5\/new_open_source_common_lisp_3d_graphics_project\/\">reddit announce on August<\/a>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=32337538\">HN comments (80)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<blockquote>\n<p>The idea would be to develop a system along the lines of Blender\/Maya\/Houdini, but oriented towards the strengths of Common Lisp.<\/p>\n<p>I\u2019m an old-time 3D developer who has worked in CL on and off for many years.<\/p>\n<p>I don\u2019t consider myself an expert [\u2026] A little about me: \u2022 wrote 3D animation software used in \u201cJurassic Park\u201d \u2022 software R&#038;D lead on \u201cFinal Fantasy: The Spirits Within\u201d movie \u2022 senior software developer on \u201cThe Hobbit\u201d films.<\/p>\n<\/blockquote>\n<ul>\n<li><a href=\"https:\/\/github.com\/kaveh808\/kons-9\">kons-9, a Common Lisp 3D Graphics Project <\/a><\/li>\n<li>???? <a href=\"https:\/\/youtu.be\/i0CwhEDAXB0\">trailer<\/a><\/li>\n<li><a href=\"https:\/\/kaveh808.medium.com\/once-more-into-the-breach-a-new-common-lisp-3d-graphics-project-d401bfa083d\">author\u2019s blog posts<\/a><\/li>\n<li>and see also his screencasts below.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/i0CwhEDAXB0\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<h2 id=\"interfaces-with-other-languages\">Interfaces with other languages<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/digikar99\/py4cl2-cffi\">py4cl2-cffi<\/a>: CFFI based alternative to py4cl2.\n<ul>\n<li>it does one big new thing: it supports passing CL arrays by<br \/>\nreference. That means we actually have access to numpy, scipy, and<br \/>\nfriends.<\/li>\n<li>\u201cIf py4cl2-cffi reaches stability, and I find that the performance<br \/>\nof (i) cffi-numpy, (ii) magicl, as well as (iii) a few BLAS<br \/>\nfunctions I have handcrafted for numericals turn out to be<br \/>\ncomparable, I might no longer have to reinvent numpy.\u201d @digikar<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/yzoslr\/small_update_to_rdnzl_cl_net_bridge_by_edi_weitz\/\">Small update to RDNZL (CL .NET bridge by Edi Weitz)<\/a>\n<ul>\n<li>forked project, added support for Int16, fixed Int64, re-building the supporting DLLs.<\/li>\n<li>see also: <a href=\"https:\/\/github.com\/Lovesan\/bike\/\">Bike<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/davidsun0\/jclass\">jclass: Common Lisp library for Java class file manipulation<\/a><\/li>\n<\/ul>\n<p>For more, see awesome-cl.<\/p>\n<h2 id=\"numerical-and-scientific\">Numerical and scientific<\/h2>\n<ul>\n<li>???? <a href=\"https:\/\/lisp-stat.dev\/blog\/releases\/\">new Lisp Stats release<\/a>\n<ul>\n<li>\u201cemphasis on plotting and polishing of sharp edges. data-frames, array operations, documentation.\u201d<\/li>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=32175820\">HN comments (55)<\/a><\/li>\n<li>\u201d I\u2019ve been using lisp-stat in production as part of an algorithmic trading application I wrote. It\u2019s been very solid, and though the plotting is (perhaps was, in light of this new release) kinda unwieldy, I really enjoyed using it. Excited to check out the newest release.\u201d<\/li>\n<li>\u201cFor example, within Lisp-Stat the statistics routines [1] were written by an econometrician working for the Austrian government (Julia folks might know him &#8211; Tamas Papp). It would not be exaggerating to say his job depending on it. These are state of the art, high performance algorithms, equal to anything available in R or Python. So, if you\u2019re doing econometrics, or something related, everything you need is already there in the tin.\u201d<\/li>\n<li>\u201cFor machine learning, there\u2019s CLML, developed by NTT. This is the largest telco in Japan, equivalent to ATT in the USA. As well, there is MGL, used to win the Higgs Boson challenge a few years back. Both actively maintained.\u201d<\/li>\n<li>\u201cFor linear algebra, MagicCL was mention elsewhere in the thread. My favourite is MGL-MAT, also by the author of MGL. This supports both BLAS and CUBLAS (CUDA for GPUs) for solutions.\u201d<\/li>\n<li>\u201cFinally, there\u2019s the XLISP-STAT archive. Prior to Luke Tierney, the author of XLISP-Stat joining the core R team, XLISP-STAT was the dominate statistical computing platform. There\u2019s heaps of stuff in the archive, most at least as good as what\u2019s in base R, that could be ported to Lisp-Stat.\u201d<\/li>\n<li>\u201cCommon Lisp is a viable platform for statistics and machine learning. It isn\u2019t (yet) quite as well organised as R or Python, but it\u2019s all there.\u201d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/wei81o\/numericals_performance_of_numpy_with_the_goodness\/\">numericals &#8211; Performance of NumPy with the goodness of Common Lisp<\/a>\n<ul>\n<li><code>numericals<\/code> is \u201ca high performance basic math library with<br \/>\nvectorized elementary and transcendental functions. It also provides<br \/>\nsupport for a numpy-like array object through <code>dense-arrays<\/code> and<br \/>\nstatic-dispatch through the CLTL2 API.\u201d<\/li>\n<li>the post is about numericals, dense-arrays, magicl, numcl, py4cl\/2\u2026<\/li>\n<li>the author\u2019s <a href=\"https:\/\/gist.github.com\/digikar99\/ba2f0bb34021bfdc086b9c1c712ca228\">comparison and wish-list of features for a Common Lispy approach to a (better) Numpy<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/melisgl\/mgl-mat\/\">MGL-MAT<\/a> &#8211; a library for working with multi-dimensional arrays which supports efficient interfacing to foreign and CUDA code. BLAS and CUBLAS bindings are available.<\/li>\n<li><a href=\"https:\/\/github.com\/eigenhombre\/hbook\">hbook<\/a> &#8211; Text-based histograms in Common Lisp inspired by the venerable HBOOK histogramming library from CERN.<\/li>\n<\/ul>\n<p>Call to action:<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/w6noju\/uncle_stats_wants_you\/\">Uncle Stats Wants You<\/a><\/li>\n<\/ul>\n<h2 id=\"web\">Web<\/h2>\n<p><a href=\"https:\/\/screenshotbot.io\/\">Screenshotbot<\/a> (<a href=\"https:\/\/github.com\/screenshotbot\/screenshotbot-oss\">Github<\/a>) was released. It is \u201ca screenshot testing service to tie with your existing Android, iOS and Web screenshot tests\u201d.<\/p>\n<p>It is straightforward to install with a Docker command. They offer more features and support with their paid service.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/22657cfd6c85d2ef97bd6612b051949f8a1a856b3fa88b48f540d974576a4f88\/68747470733a2f2f73637265656e73686f74626f742e696f2f6173736574732f696d616765732f6c6f676f2d6461726b2e706e67\"><\/p>\n<p><a href=\"https:\/\/www.licenseprompt.com\/\">LicensePrompt<\/a> was released. It is \u201ca single place to track all recurring software and IT expenses and send relevant reminders to all interested people\u201d. It\u2019s built in CL, interface with HTMX.<\/p>\n<ul>\n<li><a href=\"https:\/\/vishpat.github.io\/lisp-rs-wasm\/\">Lisp Interpreter in a browser using <strong>WASM<\/strong><\/a><\/li>\n<li><a href=\"https:\/\/soi-disant.srht.site\/entries\/back-to-space.html\"> Show HN: Common Lisp running natively over WebAssembly for the first time<\/a>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=31590819\">HN comments (64)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Libraries:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zgz8x8\/jingle_common_lisp_web_framework_with_bells_and\/\">jingle<\/a>: Common Lisp web framework with bells and whistles (based on ningle)\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zk4jpl\/jingle_demo_openapi_3x_spec_swagger_ui_docker_and\/\">jingle demo<\/a>: OpenAPI 3.x spec, Swagger UI, Docker and command-line interface app with jingle.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/kjinho\/ciao\">ciao<\/a>: Ciao is an easy-to-use Common Lisp OAuth 2.0 client library. It is a port of the Racket OAuth 2.0 Client to Common Lisp.<\/li>\n<li><a href=\"https:\/\/github.com\/walpurgisnatch\/stepster\/\">stepster<\/a>: a web scraping library, on top of Plump and Clss (new in QL)<\/li>\n<li><a href=\"https:\/\/github.com\/40ants\/openrpc\">openrpc<\/a>: Automatic OpenRPC spec generation, automatic JSON-RPC client building<\/li>\n<li><a href=\"https:\/\/github.com\/zellerin\/http2\/\">HTTP\/2 implementation in Common Lisp<\/a><\/li>\n<\/ul>\n<p>Bindings:<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/github.com\/K1D77A\/lisp-pay\">lisp-pay<\/a>: Wrappers around various Payment Processors (Paypal, Stripe, Coinpayment)<\/li>\n<li><a href=\"https:\/\/github.com\/K1D77A\/lunamech-matrix-api\">lunamech-matrix-api<\/a>: Implementation of the Matrix API, LunaMech a Matrix bot<\/li>\n<\/ul>\n<p>Apps:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.ackfock.com\/\">Ackfock<\/a> &#8211; a platform of mini agreements and mini memos of understanding (built with CLOG, closed source).<\/li>\n<li><a href=\"https:\/\/github.com\/KikyTokamuro\/todolist-cl\">todolist-cl<\/a>: a nice looking todolist with a web UI, written in Common Lisp (and by a newcomer to CL, to add credit)<\/li>\n<\/ul>\n<p>I don\u2019t have lots of open-source apps to show. Mines are running in production and all is going well. I share everything on my blog posts. I also have an open-source one in development, but that\u2019s for the 2023 showcase \ud83d\ude00<\/p>\n<h3 id=\"clog\">CLOG<\/h3>\n<p>???? The awesome novelty of 2022 I spoke of in the introduction is <a href=\"https:\/\/github.com\/rabbibotton\/clog\/\">CLOG<\/a>, the Common Lisp Omnificent GUI:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/rabbibotton\/clog\/tree\/main\/clogframe\">Native Desktop Executables for CLOG<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/xegotj\/clog_and_clog_builder_release_18_ide_for_common\/\">CLOG and CLOG Builder Release 1.8 &#8211; IDE for Common Lisp and CLOG<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/tl46of\/would_it_be_cool_to_run_a_clog_app_on_mobile_you\/\">CLOG on Android, APK download<\/a><\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/i.redd.it\/5021ipbttce91.png\" alt=\"The CLOG system browser\"><\/p>\n<p>I know of one open-source consequent CLOG app: <a href=\"https:\/\/codeberg.org\/mmontone\/mold-desktop\/\">mold-desktop<\/a>, in development.<\/p>\n<blockquote>\n<p>I\u2019m developing a programmable desktop and a bookmarks manager application with CLOG. I think I know one of the things that make CLOG user interfaces so easy to develop. It is that they are effortlessly composable. That\u2019s it for now \ud83d\ude42<\/p>\n<\/blockquote>\n<p>@mmontone<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/preview.redd.it\/18lns1ijizc91.png?width=1919&#038;format=png&#038;auto=webp&#038;s=c103d33c22978ce8d2351de4cbf71638fe6286cf\"><\/p>\n<h2 id=\"new-releases\">New releases<\/h2>\n<p>There are lots of awesome projects in music composition, including OpusModus and OpenMusic which saw new releases. I also like to cite <a href=\"https:\/\/scorecloud.com\/\">ScoreCloud<\/a>, a mobile app built with LispWorks, where you whistle, sing or play your instrument, and the app writes the music score O_o<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/opusmodus.com\/\">Opusmodus 3.0, Music Composition System, macOS Intel &#038; Apple Silicon native, based on LispWorks, just released<\/a><\/li>\n<li>???? <a href=\"https:\/\/github.com\/openmusic-project\/openmusic\/releases\/tag\/v7.0\">OpenMusic 7.0, now also native for M1 Macs, visual programming language designed for music composition<\/a><\/li>\n<li><a href=\"https:\/\/spwhitton.name\/blog\/entry\/consfigurator_1.0.0\/\">Consfigurator, a Common Lisp based declarative configuration management system, reaches v1.0<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/phantomics\/april\/releases\/tag\/v1.0\">April 1.0 released<\/a> &#8211; APL in Common Lisp.<\/li>\n<li><a href=\"https:\/\/hiphish.github.io\/blog\/2022\/10\/16\/cl-cmark-approaching-stable\/\">cl-cmark approaching stable release<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/russell\/cl-git\">cl-git: a Common Lisp CFFI interface to the libgit2 library<\/a><\/li>\n<li><a href=\"https:\/\/www.autistici.org\/interzona\/tinmop.html\">tinmop 0.9.9.1, a terminal client for gopher, gemini, kami and pleroma.<\/a>\n<ul>\n<li>look here for how to build full-screen terminal applications in Common Lisp.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/tt1r9l\/clingon_new_release_new_features_commandline\/\">clingon &#8211; new release, new features (command-line options parser)<\/a>\n<ul>\n<li>a full-featured options parser. Supports sub-commands, bash and zsh completions, many arguments types\u2026<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>See awesome-cl and Cliki for more.<\/p>\n<h2 id=\"re-discoveries\">(re) discoveries<\/h2>\n<ul>\n<li>The math pastebin <a href=\"https:\/\/mathb.in\/3\">Mathb.in is written in Common Lisp<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/zg4qfy\/til_that_ptcs_creo_elementsdirect_3d_cad_modeling\/\">TIL that PTC\u2019s Creo Elements\/Direct 3D CAD modeling software has a free version for Windows. \u201c7+ million lines of Common Lisp code\u201d, used by Eterna for their watches.<\/a>\n<ul>\n<li>that\u2019s a huge software. 7 million lines. There\u2019s a free version to try out!<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"articles\">Articles<\/h2>\n<h2 id=\"graphics\">Graphics<\/h2>\n<ul>\n<li><a href=\"https:\/\/funcall.blogspot.com\/2022\/09\/playing-with-raycasting.html\">Playing with raycasting<\/a><\/li>\n<li><a href=\"https:\/\/funcall.blogspot.com\/2022\/08\/playing-with-graphics.html\">Playing with graphics &#8211; a simple game with SDL2<\/a><\/li>\n<li><a href=\"https:\/\/turtleware.eu\/posts\/Multipass-Translator-for-CLIM.html\">Multipass Translator for CLIM <\/a><\/li>\n<li><a href=\"http:\/\/turtleware.eu\/posts\/Implementing-a-simpleminded-REPL-from-scratch.html\">McCLIM: Implementing a simpleminded REPL from scratch<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/zakbpg\/debugging_lisp_trace_options_break_on_conditions\/\">Debugging Lisp: trace options, break on conditions<\/a>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=34252796#34279723\">HN comments (28)<\/a>, I learned, again, new tips.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/blog.djha.skin\/p\/developing-common-lisp-using-gnu-screen-rlwrap-and-vim\/\">Developing Common Lisp using GNU Screen, Rlwrap, and Vim<\/a>\n<ul>\n<li>again, learned new tips. The <code>--remember<\/code> flag of <code>rlwrap<\/code> allows to TAB-complete whatever was previously typed at the prompt. That\u2019s dumb autocompletion, but autocompletion nonetheless. My <a href=\"https:\/\/github.com\/vindarel\/common-lisp-course-in-videos\/blob\/master\/exercises\/chapter%201%20-%20getting%20started\/rlwrap-enhanced.md\">summary<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.n16f.net\/blog\/configuring-slime-cross-referencing\/\">Configuring Slime cross-referencing<\/a><\/li>\n<li><a href=\"https:\/\/www.n16f.net\/blog\/slime-compilation-tips\/\">SLIME Compilation Tips<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/lisp-tips\/lisp-tips\/issues\/38\">How to save lisp and die from Slime or Sly. trivial-dump-core<\/a>\n<ul>\n<li>that may be super useful, at least if answers a question everybody has one time or another. I should try it more.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/uyubo1\/how_to_approach_a_lisp_sandbox_environment\/\">How to approach a Lisp sandbox environment<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/zqsv3w\/log4cl_questions\/\">log4cl questions<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/stumpwm\/comments\/zgigdt\/a_stumpwm_debugger\/\">A StumpWM debugger<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zfkiem\/windows_environment_for_sbcl\/\">Windows environment for SBCL<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/thspgt\/securing_quicklisp_through_mitmproxy\/\">Securing Quicklisp through mitmproxy<\/a>\n<ul>\n<li>because Quicklisp doesn\u2019t use HTTPS. Here\u2019s how to add security. The new CLPM uses HTTPS.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/susam.net\/blog\/lisp-in-vim.html\">Lisp in Vim<\/a><\/li>\n<\/ul>\n<h2 id=\"scripting\">Scripting<\/h2>\n<ul>\n<li><a href=\"https:\/\/fukamachi.hashnode.dev\/day-3-roswell-common-lisp-scripting\">Day 3: Roswell: Common Lisp scripting<\/a>, by E. Fukamachi.<\/li>\n<li><a href=\"https:\/\/fukamachi.hashnode.dev\/qlot-tutorial-with-docker\">Qlot tutorial with Docker<\/a>\n<ul>\n<li><a href=\"https:\/\/github.com\/fukamachi\/qlot\">Qlot v1.0.0<\/a> was officially released.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/fukamachi.hashnode.dev\/day-4-roswell-how-to-make-roswell-scripts-faster\">Day 4: Roswell: How to make Roswell scripts faster<\/a><\/li>\n<li><a href=\"https:\/\/fukamachi.hashnode.dev\/day-5-roswell-hidden-feature-of-s-option\">Day 5: Roswell: Hidden feature of \u201c-s\u201d option<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zwtfak\/writing_scripts_in_lisp\/\">Writing scripts in lisp?<\/a>\n<ul>\n<li>a legitimate question. Many tips.<\/li>\n<li>where I show my very new and un-released <a href=\"https:\/\/ciel-lang.github.io\/CIEL\/#\/scripting\">CIEL scripting<\/a> facility. Batteries included for Common Lisp. That\u2019s for 2023 but you can be an early adopter :p<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zosu50\/lisp_for_unixlike_systems\/\">Lisp for Unix-like systems<\/a>\n<ul>\n<li>in particular, read <a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zosu50\/lisp_for_unixlike_systems\/j0owuqn\/\">this answer by \/u\/lispm<\/a> to learn about past and present attempts and solutions.<\/li>\n<li>will the OP manage to make WCL work? \u201cWCL: Delivering efficient Common Lisp applications under Unix\u201d, an implementation \u201ctailored to zillions of small Lisp programs. Make sure that much of Lisp is shared memory. Be able to create shared memory libraries\/applications\u201d.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zopsxq\/sbcl_is_there_a_way_to_detect_if_lisp_code_was\/\">(SBCL) Is there a way to detect if lisp code was run by \u2013script vs interactively?<\/a><\/li>\n<\/ul>\n<h2 id=\"around-the-language\">Around the language<\/h2>\n<ul>\n<li>???? <a href=\"https:\/\/coalton-lang.github.io\/20220906-quantum-compiler\/\">Using Coalton to Implement a Quantum Compiler<\/a>\n<ul>\n<li>Coalton brings Haskell-like type checking on top of Common Lisp. Groundbreaking. They use it for their quantum compiler.<\/li>\n<li>it is still under development and there is <a href=\"https:\/\/discord.com\/invite\/cPb6Bc4xAH\">their Discord<\/a> to talk about it.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/ztzekh\/eliminating_clos_for_a_45x_speedup\/\">Eliminating CLOS for a 4.5x speedup<\/a>\n<ul>\n<li>sometimes it\u2019s easy, use a struct.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.tfeb.org\/fragments\/2022\/12\/16\/the-empty-list\/\">The empty list.<\/a> \u201cSomeone has been getting really impressively confused and cross on reddit about empty lists, booleans and so on in Common Lisp, which led us to a discussion about what the differences really are. Here\u2019s a summary which we think is correct.\u201d<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/zfna4y\/are_there_any_tutorials_or_examples_people_would\/\">Are there any tutorials or examples people would recommend to get started with unit testing common lisp?<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/wylmfx\/fun_with_macros_dofile\/\">Fun with Macros: Do-File<\/a><\/li>\n<li><a href=\"http:\/\/funcall.blogspot.com\/2022\/07\/series-tips-and-tricks.html\">Series tips and tricks<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/phoe\/articles\/blob\/main\/2022-01-29-static-let\/static-let.md\">STATIC-LET, Or How I Learned To Stop Worrying And Love LOAD-TIME-VALUE<\/a><\/li>\n<\/ul>\n<p>History:<\/p>\n<ul>\n<li><a href=\"http:\/\/informatimago.free.fr\/i\/develop\/lisp\/com\/informatimago\/small-cl-pgms\/wang.html\">Old LISP programs still run in Common Lisp<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"http:\/\/dnaeon.github.io\/common-lisp-web-dev-ningle-middleware\/\">Common Lisp web development and the road to a middleware<\/a><\/li>\n<li>???? <a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/z8s9o8\/lisp_for_the_web_building_one_standalone_binary\/\">Lisp for the web: building one standalone binary with foreign libraries, templates and static assets<\/a>\n<ul>\n<li>what I managed to do here, with the help of the community, represents a great step forward for my Lisp web stack.<\/li>\n<li>I can build a standalone binary for my web app, containing all static assets (a patch was required for the Djula HTML templating engine), so I can just <code>rsync<\/code> it to my server and it works.<\/li>\n<li>a standalone binary is easy to integrate into an Electron window. Stay tuned.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/xetci2\/lisp_for_the_web_deploying_with_systemd_gotchas\/\">Lisp for the web: deploying with Systemd, gotchas and solutions<\/a>\n<ul>\n<li>all the little gotchas I faced are now google-able.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/fukamachi.hashnode.dev\/woo-a-high-performance-common-lisp-web-server\">Woo: a high-performance Common Lisp web server<\/a>, by E. Fukamachi.<\/li>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/http-over-unix-sockets-in-common-lisp-4l72\">HTTP over unix sockets in Common Lisp<\/a>. By the same author:\n<ul>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/using-tailwindcss-in-common-lisp-web-apps-without-nodejs-tooling-3a8m\">Using TailwindCSS in Common Lisp web apps without Node.js tooling<\/a><\/li>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/using-svgs-in-common-lisp-web-apps-with-djula-5f00\">Using SVGs in Common Lisp web apps with Djula<\/a><\/li>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/create-a-common-lisp-web-app-using-ningle-1oj7\">Create a Common Lisp Web app using ningle<\/a><\/li>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/how-to-use-environment-variables-with-cl-dotenv-in-a-common-lisp-web-app-5eb5\">Using environment variables with cl-dotenv in Common Lisp<\/a><\/li>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/mito-an-orm-for-common-lisp-1n8n\">Mito: An ORM for Common Lisp<\/a><\/li>\n<li><a href=\"https:\/\/dev.to\/rajasegar\/running-docker-commands-from-common-lisp-repls-350p\">Running docker commands from Common Lisp REPLs<\/a><\/li>\n<li>he also put up several little examples of a Common Lisp web app with HTMX, such as <a href=\"https:\/\/github.com\/rajasegar\/cl-beers\">cl-beer<\/a>. His stack: Caveman, Djula templates, HTMX for the interactivity. Thanks again, they are super useful.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/hiphish.github.io\/blog\/2022\/10\/02\/a-new-static-site-generator\/\">A new static site generator<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/ze2n7u\/web_development_with_cl_backend_and_clojurescript\/\">Web Development with CL Backend and ClojureScript Frontend<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/wr0b6c\/update_on_grpc_server\/\">Update on gRPC Server<\/a> &#8211; gRPC now has the ability to create servers based on protocol buffer service descriptors.<\/li>\n<li>???? <a href=\"https:\/\/observablehq.com\/@m-g-r\/almost-600000-entries-per-second-from-lisp-to-accumulo\">Almost 600,000 entries per second from Lisp to Apache Accumulo over Apache Thrift<\/a><\/li>\n<li><a href=\"https:\/\/lisp-journey.gitlab.io\/blog\/clog-contest\/\">Writing an interactive web app in Common Lisp: Hunchentoot then CLOG<\/a><\/li>\n<li><a href=\"https:\/\/sabracrolleton.github.io\/json-review.html\">Review of CL Json Libraries, updated 15 Jan 2022<\/a><\/li>\n<\/ul>\n<p>Call for action:<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/ykbi3x\/jacl_call_for_collaboration\/\">JACL call for collaboration<\/a><\/li>\n<\/ul>\n<h2 id=\"other-articles\">Other articles<\/h2>\n<ul>\n<li><a href=\"https:\/\/borretti.me\/article\/astronomical-calculations-for-hard-sf-common-lisp\">Astronomical Calculations for Hard Science Fiction in Common Lisp, by Fernando Borretti<\/a>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=34058658\">HN comments (42)<\/a> (yes, 42)<\/li>\n<li>we miss you Fernando. Oh, he just released a new library: <a href=\"https:\/\/github.com\/eudoxia0\/lcm\">lcm<\/a>: \u201cManage your system configuration in Common Lisp. Think of it as Ansible, for your localhost\u201d<\/li>\n<\/ul>\n<\/li>\n<li>???? <a href=\"https:\/\/maxtaylor.dev\/posts\/2022\/12\/lisp-repl\">A LISP REPL Inside ChatGPT<\/a><\/li>\n<li><a href=\"https:\/\/www.shaka.today\/freebsd-jail-quick-setup-with-networking-2022\/\">FreeBSD Jail Quick Setup with Networking for a Common Lisp environment<\/a><\/li>\n<li><a href=\"https:\/\/arxiv.org\/html\/2205.11103\">Proceedings<\/a>, Seventeenth International Workshop on the <strong>ACL2 Theorem Prover<\/strong> and its Applications, 2022<\/li>\n<li><a href=\"http:\/\/retro-style.software-by-mabe.com\/blog\/House+automation+tooling+-+Part+2+-+Getting+Serial\">Case study &#8211; house automation tool &#8211; part 2 &#8211; getting serial<\/a><\/li>\n<\/ul>\n<h2 id=\"screencasts-and-podcasts\">Screencasts and podcasts<\/h2>\n<p>New videos by me:<\/p>\n<ul>\n<li>???? <a href=\"https:\/\/lisp-journey.gitlab.io\/blog\/debugging-lisp-fix-and-resume-a-program-from-any-point-in-stack\/\">Debugging Lisp: fix and resume a program from any point in stack ????<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=TAtwcBh1QLg\">How to request the GitHub API: demo of Dexador, Jonathan, Shasht (and Serapeum), livecoding in Emacs and SLIME.<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/XFc513MJjos\">How to create, run, build and load a new Lisp project<\/a>, with my fully-featured project skeleton.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=KsHxgP3SRTs\">Interactively Fixing Failing Tests in Common Lisp<\/a><\/li>\n<\/ul>\n<p>by Gavin Freeborn:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtu.be\/GWdf1flcLoM\">Why Learn Lisp In 2022?<\/a><\/li>\n<li><a href=\"https:\/\/youtube.com\/watch?v=M4qj2ictRpg&#038;feature=share\">Why Are Lisp Macros So Great!?<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=AfY_zGR_QBI\">Lisp Is More Than Just A Language It\u2019s An Environment<\/a><\/li>\n<li><a href=\"https:\/\/youtube.com\/watch?v=QHwghMNKVtg&#038;feature=share\">Rewrite Your Scripts In LISP &#8211; with Roswell<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/LqBbGFMPcDI\">Creating Your First Lisp Project &#8211; Quicklisp, asdf, and Packages<\/a><\/li>\n<li><a href=\"https:\/\/youtube.com\/watch?v=0DLdQ6yb7h8\">Unleash the REPL with SLY<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/Ph8M8ThBgPc\">Lem: what if Emacs was multithreaded<\/a><\/li>\n<\/ul>\n<p>KONS-9 series:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=nSJcuOLmkl8\">Kaveh\u2019s Common Lisp Lesson 01: points and shapes<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/WFa4Xqcisrs\">Common Lisp OpenGL programming tutorial #12 &#8211; Animation &#038; Hierarchies<\/a><\/li>\n<\/ul>\n<p>CLOG series:<\/p>\n<ul>\n<li><a href=\"https:\/\/youtube.com\/watch?v=jEBDwjMnFXE\">CLOG Extra 3 &#8211; The CLOG Project System for CLOG and NON-CLOG projects<\/a><\/li>\n<li><a href=\"https:\/\/youtube.com\/watch?v=CgTJMxsz3EY\">CLOG Extra 4 &#8211; All about panels<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/w4zwm3\/common_lisp_repl_style_dev_visually_with_clog\/\">Repl Style. Dev <em>visually<\/em> with CLOG Builder<\/a>\n<ul>\n<li>\u201cThis is amazing work! Having Pharo\/Smalltalk capabilities with Common Lisp is fascinating.\u201d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>CL study group:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=oEjdONXZP1o\">Roswell (part II)<\/a><\/li>\n<\/ul>\n<p>Others:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=RCWiqrdGcOs\">Common Lisp Game of Life visualisation with LispWorks and CAPI<\/a><\/li>\n<li><a href=\"https:\/\/youtu.be\/wCHnb8pvneE\">Nyxt on GambiConf (The hacker\u2019s power-browser, written in Common Lisp)<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=UQZusJynjiM\">Far and Away the Simplest Tutorial on Macros<\/a><\/li>\n<\/ul>\n<p>and of course, find 3h48+ of condensed Lisp content <a href=\"https:\/\/www.udemy.com\/course\/common-lisp-programming\/?referralCode=2F3D698BBC4326F94358\">on my Udemy video course<\/a>! (I\u2019m still working on new content, as a student you get updates).<\/p>\n<p>Aside screncasts, some <strong>podcasts<\/strong>:<\/p>\n<ul>\n<li><a href=\"https:\/\/corecursive.com\/lisp-in-space-with-ron-garret\/\">CORECURSIVE #076: LISP in Space, With Ron Garret \u2190 a podcast, trascribed with pictures<\/a>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=31234338\">HN comments (98)<\/a><\/li>\n<li>same topic: <a href=\"https:\/\/thenewstack.io\/nasa-programmer-remembers-debugging-lisp-in-deep-space\/\">NASA Programmer Remembers Debugging Lisp in Deep Space<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.arraycast.com\/episodes\/episode23-andrew-sengul\">The Array Cast &#8211; Andrew Sengul, creator of the April language tells us about the advantages of combining Lisp and APL<\/a><\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/jBBS4FeY7XM\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<h2 id=\"other-discussions\">Other discussions<\/h2>\n<ul>\n<li>???? <a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/y6xpxr\/impressions_of_common_lisp_and_the_lisp_community\/\">Impressions of Common Lisp and the Lisp Community<\/a>\n<ul>\n<li>\u201cSo, thank you. I\u2019m glad I found this group (and some other Lisp groups) on Reddit. You guys are a real blessing.\u201d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.timmons.dev\/posts\/cl-community-norms.html\">CL Community(?) Norms<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/zanm37\/in_what_domains_is_common_lisp_used_2022\/\">In what domains is common lisp used in 2022?<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/zx9qnq\/what_are_you_working_on\/\">What are you working on?<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/ystf9s\/a_brief_interview_with_common_lisp_creator_dr\/\">A brief interview with Common Lisp creator Dr. Scott Fahlman<\/a><\/li>\n<\/ul>\n<h2 id=\"learning-lisp\">Learning Lisp<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/zagmm3\/advice_on_professional_development_in_common_lisp\/\">Advice on professional development in Common Lisp?<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/z4rev7\/trying_to_get_into_lisp_feeling_overwhelmed\/\">Trying to get into Lisp, Feeling overwhelmed<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/yydgrf\/looking_for_good_common_lisp_projects_on_github\/\">Looking for good common lisp projects on github to read?<\/a>\n<ul>\n<li>this <a href=\"https:\/\/github.com\/search?p=2&#038;q=defclass+user%3A40ants+user%3Aruricolist+user%3Ashinmera+user%3Ashirakumo+user%3Aedicl+language%3A%22Common+Lisp%22&#038;type=Code\">GitHub advanced search<\/a> searches for <code>defclass<\/code> in 4 users projects: Shinmera, 40ants, Ruricolist, edicl (maintained Edi Weitz libraries):<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/yw8jgl\/teach_lisp_to_high_schoolers\/\">Teach lisp to high schoolers?<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/yq2t4r\/why_buy_lispworks\/\">Why buy LispWorks?<\/a>\n<ul>\n<li>it\u2019s expensive (there\u2019s a free limited edition), but all this feedback is much interesting.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/Common_Lisp\/comments\/xqibzx\/writing_robust_software_in_cl\/\">Writing robust software in CL<\/a>\n<ul>\n<li>talking Erlang, Actors libraries.<\/li>\n<li><a href=\"https:\/\/github.com\/ruricolist\/moira\">Moira<\/a> &#8211;  Monitor and restart background threads.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/vz9l55\/what_should_a_new_programmer_writing_in_common\/\">What should a new programmer writing in Common Lisp know about security?<\/a><\/li>\n<\/ul>\n<h2 id=\"common-lisp-vs\">Common Lisp VS \u2026<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/z69ko5\/what_were_the_lessons_you_learned_from\/\">what were the lessons you learned from programming in Lisp that carried over to other languages (more on the imperative side)?<\/a><\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/xo2ue7\/for_seriousindustrialbusiness_use_in_what_ways_do\/\">For serious\/industrial\/business use, in what ways do you think Common Lisp beat Clojure, and vice versa?<\/a>\n<ul>\n<li>and: <a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/wn7qhr\/when_should_i_choose_common_lisp_over_clojure_for\/\">When should I choose Common Lisp over Clojure (for business), and vice versa?<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/gist.github.com\/vindarel\/c1ef5e043773921e3b11d8f4fe1ca7ac\">Common Lisp VS Racket<\/a> (openly biased over CL, with testimonies of lispers knowing both)\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=32723784\">HN comments (143)<\/a>:  \u201cI\u2019m a heavy user of Common Lisp, and I only dabble in Racket from time to time. While Common Lisp is my tool of choice for a lot of reasons stated in the post, since the post largely skews favorably toward Common Lisp, I\u2019ll offer two things that Racket shines at.\u201d<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/gist.github.com\/digikar99\/24decb414ddfa15a220b27f6748165d7\">Why not: from Common Lisp to Julia<\/a>\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=32745318\">HackerNews comments (200)<\/a> (for this post and the post it responds to)<\/li>\n<li>The author of the first post said he was \u201cmigrating from Common Lisp to Julia as [his] primary programming language\u201d. He was starting \u201cto grow increasingly frustrated with various aspects of the language\u201d and the CL ecosystem. Many of his arguments were harsh towards CL and didn\u2019t mention existing better alternatives.<\/li>\n<li>Two months later, in <a href=\"https:\/\/mfiano.net\/posts\/2022-11-05-programming-languages-i-use\/\">another blog<br \/>\npost<\/a>,<br \/>\nhe admits the previous article \u201cwas unfair to both languages\u201d, and<br \/>\nwhile \u201c[he] is still mostly using Julia\u201d, \u201cCommon Lisp is still on the table for [him]\u201c.<\/li>\n<li>On<br \/>\n<a href=\"https:\/\/irclog.tymoon.eu\/libera\/%23commonlisp?around=1669837028#1669837028\">LiberaChat<\/a>,<br \/>\nhe says he\u2019s back from Julia to Common Lisp: \u201cAs of yesterday, I\u2019m<br \/>\nback to making libraries in CL. I cannot consider Julia as a<br \/>\nserious language anymore, for it has deceived me after 7 years of<br \/>\nresearch.\u201d\n<\/li>\n<li>Welcome back and thanks to him for the past and future CL libraries.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.reddit.com\/r\/lisp\/comments\/wgdy51\/is_lisp_too_malleable_to_use_for_serious\/\">Is Lisp too malleable to use for serious development?<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/naver\/lispe\/wiki\/6.16-Why-Lisp\">Why Lisp?<\/a> (<a href=\"https:\/\/github.com\/naver\/lispe\/wiki\/6.16-Pourquoi-Lisp\">version fran\u00e7aise<\/a>). \u201cWe will show how our own LispE interpreter was implemented.\u201d\n<ul>\n<li><a href=\"https:\/\/news.ycombinator.com\/item?id=33462454\">HN comments (200)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr>\n<p>Thanks everyone, happy lisping and see you around!<\/p>\n<\/div>\n<p><a href=\"https:\/\/lisp-journey.gitlab.io\/blog\/these-years-in-common-lisp-2022-in-review\/\" class=\"button purchase\" rel=\"nofollow noopener\" target=\"_blank\">Read More<\/a><br \/>\n Tomi Serna<\/p>\n","protected":false},"excerpt":{"rendered":"<p>And 2022 is over. The Common Lisp language and environment are solid and stable, yet evolve. Implementations, go-to libraries, best practices, communities evolve. We don\u2019t need a \u201cState of the Ecosystem\u201d every two weeks but still, what happened and what did you miss in 2022? This is my pick of the most exciting, fascinating, interesting<\/p>\n","protected":false},"author":1,"featured_media":595972,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22742,661,46],"tags":[],"class_list":{"0":"post-595971","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-common","8":"category-review","9":"category-technology"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/posts\/595971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/comments?post=595971"}],"version-history":[{"count":0,"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/posts\/595971\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/media\/595972"}],"wp:attachment":[{"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/media?parent=595971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/categories?post=595971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/newsycanuse.com\/index.php\/wp-json\/wp\/v2\/tags?post=595971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}