Core libraries

thox provides a few libraries for helping to develop components for the system. These sections describe libraries you have to require and are not accessible through system calls.

Todo

Library ideas useful for system components and other protocols implementation:

  • Wrappers for common RPC calls:

    • Filesystem-related.

    • Modem-related.

    • Position-related (GPS).

  • HTTP library, eventually based on system daemons.

  • Websocket library, for implementing Skynet and rednoot and eventually based on system daemons for using native hardware capabilities.

  • Crypto (at least ChaCha20, ECC, AES, HMAC, PBKDF2, SHA-256 for implementing OPUS protocols and other protocols encountered in the wild for ComputerCraft), eventually based on plc. With support for xxHash64 using lua-xxh64?

  • JSON library, for rednoot modems.

  • CBOR library, for Skynet modems, eventually based on Lua-CBOR.

  • TOML library, for configuration.

  • Compression library, implementing at least gzip and zstd for package distribution.

  • Archiving library, implementing at least zip and tar based on the compression library above.

Plus some UI libraries? Might not be required for now, I’d like to at least have some basic terminal operations running, with scrolling and history keeping (!!).

And some audio libraries, for MIDI sound, for speakers.