@kelsny/quo
v0.0.1
Published
An interpreted Lisp-like scripting language for data processing.
Downloads
3
Readme
Challenging the status quo since February 10, 2022
About
Lisp was always one of the more beautiful and simple languages at the core. It had few concepts that built upon each other to give way to a powerful language for data processing. In fact, Lisp is named after LISt Processing (and not because you'll get a lisp if you try to read it).
But it's old. Really old. There are many more alternatives to Lisp that are just way easier to use. Screw that. Let's remake Lisp to be more with the times.
Quo is a small dialect of Lisp with a few different rules. Its primary purpose is to provide an easy interface to script task automation and data processing, just like Lisp was doing. However, arguably, Quo is a bit more modern, in the sense of behaviour and features. Hopefully, Quo will provide you some good times, with good old Lisp syntax.
Usage
Say you think Quo sounds pretty cool, but you don't know how to get started? Well my friend, it's the same as any other language: install, learn, use.
Installation
$ npm install @kelsny/quo -g
$ yarn global add @kelsny/quo
Learn
Luckily, Quo is very easy to pick up and learn, just like Lisp.
If you aren't familiar with Lisp syntax, refer to the documentation. There are also some examples in the spec/
folder as well, if you want to learn by example.
Use
Quo comes with a CLI, but you can of course also use it programmatically.
CLI documentation is available here, or you can run this to figure it out for yourself.
$ quo help
The programmatic way is to import the library like so:
import { execute } from "@kelsny/quo";
execute(
"main",
`
(print "hello world")
`
);
For the full public API, please see this page.
Help
Something not working correctly? Interpreter bugs, strange errors, and expectations not being met? Either open an issue or better yet, a pull request to fix it! Still having trouble? Contact me on Discord and we'll have a chat!
Contributing
Seems like you enjoyed using Quo and have ideas to improve it? You're in the right place.
Unlike most other open source projects, I'm a pretty lax cursor when it comes to pull requests and guidelines. All you have to do is open a pull request, have decently descriptive commit messages, and describe the pull request!
Please note that it might take a long time for me to respond since I'm busy most of the time. Thank you!