janet-sh
roswell
Our great sponsors
janet-sh | roswell | |
---|---|---|
4 | 11 | |
77 | 1,736 | |
- | 0.6% | |
2.3 | 4.9 | |
4 months ago | about 1 month ago | |
Janet | Common Lisp | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
janet-sh
- Writing Small CLI Programs in Common Lisp (2021)
-
Getting started with lisp
Right now, the one that is most attractive is Janet, with its wonderful shell programming integration and built-in http request. Those are both things I'm working a lot with.
-
Janet – a Lisp-like functional, imperative programming language
I use Janet most often as a glue for shell utilities using the sh package (https://github.com/andrewchambers/janet-sh). It's a great tool for building small containerized jobs. I think it has a ton of potential as the ecosystem grows and matures.
Some rough spots:
- No canonical http client. There are a few attempts at wrapping libcurl but nothing complete and well documented yet. However, the creator of Joy framework for Janet does have an http client library.
- The main http server circlet is MIT licensed, but it is built on top of Mongoose, which is GPL/paid commercial. Something to be aware of if you want to distribute binaries made with this library.
- I have never been successful getting any of the UI or drawing libraries to work.
- Naming of packages is a bit confusing even if you have watched the Good Place and are aware of all of the inside jokes.
-
Writing Small CLI Programs in Common Lisp
The arguments I have seen are based on Janet using arrays/tuples rather than cons cells. Here is the author addressing this on reddit a while back. https://old.reddit.com/r/programming/comments/aqwedz/janet_i...
The debate continues in the thread. Either way, I think Janet is very useful for situations where you want something lisp like and also want/need small executables. I've experimented with it quite a bit and have found it really useful for putting together cli apps. The sh package is really useful for gluing together other shell programs. https://github.com/andrewchambers/janet-sh
roswell
- Roswell image size reduction options (anyone tried?)
-
Babashka: GraalVM Helped Create a Scripting Environment for Clojure
BTW, Roswell makes it easier to run scripts: https://github.com/roswell/roswell/wiki/Roswell-as-a-Scripti...
It is also a tool to install various CL implementations, and to install software.
It doesn't come with a choice of built-in libraries.
-
is ~/.roswell/init.lisp a documented feature?
The Github wiki: https://github.com/roswell/roswell/wiki
- Why Lisp?
-
Error while building a custom package
download failed "https://github.com/roswell/roswell/releases/download/21.10.14.111/roswell_21.10.14.111_amd64.zip" 404 "Not Found"
-
Project and EDE: A potential way to organize project types?
You could also be a roswell user, in which case your project might have a roswell directory. Again, you can look at the qlot project for reference.
-
Create a Common Lisp Web app using ningle
Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack. Clack provides a script to start a web server. It's useful when you deploy to production environment. You need to install Roswell before as Clack depends on it.
- Roswell binary *much* slower than SBCL scrip
-
Writing Small CLI Programs in Common Lisp
Common Lisp itself has Roswell, which I am disappointed to see is not even mentioned in the article.
https://github.com/roswell/roswell
-
Examples of "short" (~300 lines or less) or longer sysadmin/devops scripts in Lisp?
w.r.t to image size, ScriptL takes care of that since everything is in the same image. You could also use something like buildapp or cl-launch to make a multi-call binary that you compile your scripts into. I think I recall roswell allowing multiple entry points too, but I never could get it to work. Possibly PEBKAC on my end.
What are some alternatives?
janetdocs - A community documentation site for the janet programming language
common-lisp-jupyter - A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels.
termp - Trivial utility: are we in a terminal window or in a dumb one? (like Emacs' Slime)
lisp-xl - Common Lisp Microsoft XLSX (Microsoft Excel) loader for arbitrarily-sized / big-size files
freja - Self-modifiable editor for coding graphical things
cl-cookbook - The Common Lisp Cookbook
janet-pobox - Clojure like atoms/spinlocking in Janet
cl-str - Modern, simple and consistent Common Lisp string manipulation library.
hofmod-cli - Hofstadter generator for Golang CLIs
abcl - Armed Bear Common Lisp <git+https://github.com/armedbear/abcl/> <--> <svn+https://abcl.org/svn> Bridge
janet - A dynamic language and bytecode vm
cl-wget - The Non-Interactive Network Downloader: cl-wget is a free software for retrieving files using HTTPS; cl-wget makes mirroring websites easy.