From 7a2db8166b5e54ff20b0953e9086859eb37e39c9 Mon Sep 17 00:00:00 2001 From: Jeremy Baxter Date: Tue, 1 Aug 2023 17:57:24 +1200 Subject: [PATCH] "refactor" readme --- README.md | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 18920eb..e51af82 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,18 @@ A featureful extension runtime for Lua 5.4, using POSIX APIs. Callisto is an extension to Lua that adds commonly-needed functions -and features to the language, and includes a file library to manage -and manipulate files, a process library to find active processes and -manipulate signals, a socket and networking library using LuaSocket, +and features to the language, and includes a file system library to +manage and manipulate files, a process library to find active processes +and manipulate signals, a socket and networking library using LuaSocket, and a JSON manipulation library *among many more*. -It is a standalone runtime designed for people using Lua as a +It is a standalone program designed for people using Lua as a general scripting language, instead of using it embedded into another application. Before I made Callisto, I usually had to rely on three libraries: -luaposix for basic file manipulation and other routines, lua-cjson -for JSON parsing support and LuaSocket for networking. +luaposix for basic file system manipulation and other routines, +lua-cjson for JSON parsing support and LuaSocket for networking. luaposix provides most of the necessary functions, but is generally aimed towards people who already know how to use @@ -24,10 +24,13 @@ First and foremost, Callisto tries to be: - an all-in-one zero-dependencies library for Lua that includes most features people would need, out of the box - a library that works and integrates well with Lua and its - standard library, and is easy to use + standard library, and is easy to use for those who have no + experience with C -Callisto only works on POSIX-compliant operating systems such as -Linux and the BSDs. There is no plan for a Windows port. +Callisto relies on APIs specified in the POSIX specification; +therefore it does not support operating systems that do not +implement these APIs (like Microsoft Windows), only ones that +do (like Linux and the BSDs). ## Dependencies @@ -35,7 +38,8 @@ To build Callisto, you'll need nothing but a C compiler. The default C compiler is *cc* which is usually a symbolic link to your system's default C compiler. This should be gcc on Linux, and clang on most of the BSDs. If *cc* doesn't exist on your system, -change the `CC` variable in the Makefile to your desired C compiler. +override it by adding `CC=cc` to `make`'s command like (replace `cc` with +the name of or the path to your C compiler) **Callisto has zero runtime dependencies**, unless you built it with support for GNU libreadline. Lua 5.4 is statically linked in. @@ -47,20 +51,18 @@ not hard to compile. First, get the source code using one of the tarballs found in the [Releases](https://github.com/jtbx/callisto/releases) page. -Untar it then run `make` to compile Callisto. The compiled -executable will be named `csto`. +Untar it then run `make` to compile Callisto. -To install `csto` (the Callisto standalone executable) and -`libcallisto.so` (the Callisto shared library), run `make install` -as the root user in the source code directory. +Run `make install`as the root user in the source code directory +to install Callisto and its shared library. ## Usage The standalone Callisto interpreter is called `csto`. Running it will start a REPL so you can execute chunks of code interactively. -csto works like the standalone Lua 5.4 interpreter. To run a file, -run `csto ` where ** is the name of the file you want -to run. Alternatively, you can put `#!/usr/bin/env csto` at the top -of your script, run `chmod +x` on it, and then you can run the script -as if it was a standalone executable, for example `./yourscript.lua`. +csto works just like the standalone Lua 5.4 interpreter. To execute +a file, run `csto ` where *\* is the name of the file +you want to run. Alternatively, you can put `#!/usr/bin/env csto` at +the top of your script, run `chmod +x` on it, and then you can run the +script as if it was a standalone executable, for example `./yourscript.lua`.