Modifications
Abel heavily modifies Lua environment and replaces some of the Lua's standard library with its own implementation for great isolation and concurrency. It also removes "unsafe" functions to prevent potential sandbox escaping.
Some part of the Lua standard library is removed:
rawgetandrawset: force metatable to be followedstring.dump: provides access to function bytecodeloadandloadfile: access to filesystemdebug: violates memory safety modelos: environment and file system accesspackage: reimplemented and moved to internal tableio: stdio, process and file system access
Some functions are re-implemented:
- Module imports has been redesigned. See Imports for more information.
- Error handling functions (including
error,assertandpcall) allows HTTP errors to be thrown. See Error Handling for more information. getmetatablenow only accepts tables as argument.os.getenv: currently always returnnil, will return environment variables specified in config file in the future.
For file system-related functions in io and os, you can use those in fs module instead. Note that APIs in fs differs from those counterparts.