HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ciel-lang
CIEL
Common Lisp2022–2026
ciel-lang / CIEL

CIEL

CIEL Is an Extended Lisp. Scripting with batteries included.

2Distinct people
13Mentions
1Explicit recommenders
421GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

CIEL Is an Extended Lisp. Scripting with batteries included.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

Hi o/ Hopefully the goal of CIEL is well explained. I use it daily (with the core image, in my editor), I ship products with it. It saves me a load of time, when I start a new…

vindarel used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2022-12-09 12:09:01 UTC to 2026-01-02 11:54:46 UTC.

012342022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

13 sources
> so many shortcomings and missing features I suggest to have a look at CIEL: https://github.com/ciel-lang/CIEL/ -> CL, with batteries out of the box: http, json, csv, DB, functional data structures, regexp, pattern matching, missing docstrings, missing functions, easy script runner… and to Epsilon: https://github.com/jbouwman/epsilon/ > Epsilon is a Lisp programming environment built using SBCL that provides functional data structures and some encoding, cryptographic hashing and network programming capabilities.
In Extensibility: The "100% Lisp" Fallacy
> writing your shell scripts in Lisp instead of Bash. in a Lisp ;) Related, for Common Lisp: - unix in lisp https://github.com/PuellaeMagicae/unix-in-lispMount Unix system into Common Lisp image. - kiln https://github.com/ruricolist/kiln - an infrastructure (managing a hidden multicall binary) to make Lisp scripting efficient and ergonomic. - CIEL https://github.com/ciel-lang/CIEL/ - CIEL Is an Extended Lisp is a collection of dozens of libraries useful for mundane tasks (HTTP, JSON, regexps…). It also comes as a binary that is able to run scripts from sources. Scripts that use the built-in libraries start fast without a compilation step. [project of mine] - discussed here: https://news.ycombinator.com/item?id=41401415 - Lish https://github.com/nibbula/lish - maybe someday a Lisp shell - SHCL https://github.com/bradleyjensen/shcl - a POSI
Read the rest
X shell in CL (stalling) - lserver https://notabug.org/quasus/lserver/ - live-coding remote function calls for the shell. Write a command in the REPL, and run it instantly in the shell. I use CIEL ;) And, built-in: use the --load flag or build a self-contained binary, compiled to machine code with SBCL. It can contain your web assets (html, js etc). A compressed binary weights ±30MB and starts fast. A stripped off binary with LispWork$ (no compiler, no debugger etc) is ±5MB. There's ECL too.
In Show HN: A Lisp Interpreter for Shell Scripting
vindarel·Aug 30, 2024Recommendation phrase
Hi o/ Hopefully the goal of CIEL is well explained. I use it daily (with the core image, in my editor), I ship products with it. It saves me a load of time, when I start a new project, when I need to interact with the outside world, when I want to write a little something and ship it on the server without Python's mess, etc. Speaking of which, Django is of course difficult to replace, but I started an automatic DB dashboard for CRUD operations, something's on the way (unreleased). I integrated CL step by step for my clients' work, and CIEL is another means to this end. To use CL, for real. None of my projects need CL's superpowers, but I want them for development, deployment and monitoring! --- Today I fixed a few issues and released a v0.2: https://github.com/ciel-lang/CIEL/releases/tag/v02 The key point is that CIEL should be much easie
Read the rest
r to install, specially on Mac. We now rely on many less system dependencies. If you find out that CIEL is still difficult to install on your platform, don't hesitate to send details on an issue. Thanks in advance. --- TLDR; May CIEL ease and soften your CL journey. ps: you have no idea how much time it took me to discover certain things! Now you have them here, ready, packaged :-]
In CIEL Is an Extended Lisp
Nice article, I learned a couple tricks. A first gotcha: > you could just replace it with… #!/usr/bin/sbcl –load /home/youruser/.sbclrc –script this doesn't work, since a shebang only accepts one argument. --- There are 2 main caveats to the described approach: starting SBCL like this from sources and not from a binary takes a little time. And you don’t have batteries included. Want a HTTP client, a CSV parser? You have to quickload them and this adds up in the startup time. We can rely on long-running images in the editor and run stuff from there, bypassing the terminal altogether, or build binaries, or try other approaches (Lish shell, a lisp server https://notabug.org/quasus/lserver/) But that’s why I started CIEL, CL with batteries included. You can get a binary and run scripts that start fast and can do common tasks. It’s also a supe
Read the rest
rset of useful libraries that you can quickload or use with a core image (for a fast startup in your editor). https://github.com/ciel-lang/CIEL/ http://ciel-lang.org/ It’s in beta, polishing phase.
In Common Lisp for shell scripting (2021)
> lots of interoperability libraries That's true. For cases when you want to start with a good set of libraries (json, csv, databases, HTTP client, CLI args, language extensions…), I am putting up this collection together: https://github.com/ciel-lang/CIEL/ It can be used as a normal Quicklisp library, or as a core image (it then starts up instantly) or as a binary. It can run scripts nearly instantly too (so it isn't unlike Babashka). We are ironing out the details, not at v1.0 yet. > handling a runtime error by just fixing the broken code--in-place, without any restarts [from the blog] Also (second shameless plug) I should have illustrated this here: https://www.youtube.com/watch?v=jBBS4FeY7XM We run a long and intensive computation and, bad luck, we get an error in the last step. Instead of re-running everything again from zero, we get
Read the rest
the interactive debugger, we go to the erroneous line, we compile the fixed function, we come back to the debugger, we choose a point on the stackframe to resume execution from (the last step), and we see our program pass. Hope this illustrates the feature well!
In It's 2023, so of course I'm learning Common Lisp
I quite agree, so I'm making a meta-library to have useful libraries available out of the box: https://github.com/ciel-lang/CIEL/ It's CL, batteries included. You can use it as a library, as a core CL image (loads up faster), and as a binary to have a REPL, and to run scripts: ciel --script myscript.lisp (edit) or just ./myscript with a #!/usr/bin/env ciel shebang. where you have access to HTTP clients, JSON parsers, CSV readers, DB drivers… and much more, out of the box. It is not done, I am dogfooding it.
In Common Lisp Implementations in 2023
Howdy, I just added scripting support. $ ciel myscript.lisp where we can use all the available libraries, it works instantly. It's brand new, not many options right now ;) > like janet-lang I don't think so, since Janet advertises itself as an embedable Lisp like Lua or Guile (and ECL). But yes, in the sense it comes with batteries included. Like Babashka, I guess. Thanks for your initial question! --- So, in CIEL scripts right now, we can make HTTP requests (dex:get or http:get), parse JSON, CSV etc, run shell commands (cmd:cmd, the "!" shortcut in the CIEL shell), or even (defalias ! #'cmd:cmd) (! "pwd") and more. https://github.com/ciel-lang/CIEL/
In Babashka is a fast-starting scripting environment for Clojure
No, we have to build a binary, which starts up super quickly. I began to put together a "distribution" of useful CL libraries for everyday tasks: https://github.com/ciel-lang/CIEL/ It comes as: - a lisp core, which you can use in your editor setup instead of sbcl or ccl, the advantage is that it loads instantly with all these libraries built-in (instead of quickloading all of them when needed) - a readline REPL, with completion, syntax highlighting and some goodies (a shell passthrough, quick doc lookup…), albeit it needs more love - a lisp library which you can quickload like the rest, it just comes with a bunch of dependencies. - I want to add scripting capacity too. It ships libraries for: HTTP requests, file formats handling (JSON, XML, CSV, TOML…), shell utils, file utils, threads, a nice hash-table notation, DB access, plotting, str
Read the rest
ings, other language extensions etc. It is not finished but I am doog-fooding it for clients' projects.
In Babashka is a fast-starting scripting environment for Clojure

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.