4 ms·
Is there something similar for Common Lisp?
by ducktective 4y ago
Is there something similar for Common Lisp?
- comma_at 4y agoI think SBCL starts up fast enough as-is, no? If you want a batteries included version with libraries, just load them and save a new base image with SAVE-LISP-AND-DIE
- vindarel 4y agoNo, 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/ 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, strings, other language extensions etc. It is not finished but I am doog-fooding it for clients' projects.
- ducktective 4y agoThank you very much! So the scope of it is like Janet-lang, right?
- vindarel 4y agoHowdy, 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/ https://github.com/ciel-lang/CIEL/
- vindarel 4y agoand just added running the file, with an appropriate shebang: $ ./myscript.lisp
- vindarel 4y agoBTW, Roswell makes it easier to run scripts: https://github.com/roswell/roswell/wiki/Roswell-as-a-Scripting-Environment 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.