3 ms·
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://githu
by vindarel 4y ago
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/ 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