Lumesh Sys Module

wiki libs

Overview of the Sys Module

The Sys module provides system-level operations and environment management functionalities, including environment variable management, variable definition checks, expression quoting, error handling, and system information retrieval. All functions support pipeline operations and provide a unified error handling mechanism.

Function Overview

Function Category Main Functions Purpose
Environment Management env, set, unset Get and manage root environment variables
Variable Checks vars, has, defined Check variable definition status
Expression Operations quote Quote an expression
Error Handling error, ecodes_rt, ecodes_lm Error generation and error code queries
System Information info Retrieve operating system information
Output Control print_tty, discard TTY output and data discard

Environment Management Functions

These functions are used to manage system environment variables:

env - Get the root environment as a mapping

  • Parameters: None
  • Returns: Map - All variables in the root environment

set <var> <val> - Define a variable in the root environment

  • Parameters: var (required): String - Variable name, val (required): Any - Variable value
  • Returns: None

unset <var> - Remove a variable from the root environment

  • Parameters: var (required): String - Name of the variable to remove
  • Returns: None

Variable Check Functions

These functions are used to check the definition status of variables:

vars - Get the defined variables in the current environment

  • Parameters: None
  • Returns: Map - Mapping of variables in the current environment

has <var> - Check if a variable is defined in the current environment

  • Parameters: var (required): String - Name of the variable to check
  • Returns: Boolean - Whether the variable exists

defined <var> - Check if a variable is defined in the current environment tree

  • Parameters: var (required): String - Name of the variable to check
  • Returns: Boolean - Whether the variable is defined in the environment tree

Expression Operation Functions

quote <expr> - Quote an expression

  • Parameters: expr (required): Expression - Expression to quote
  • Returns: Quote - Quoted expression

Error Handling Functions

These functions are used for error handling and debugging:

error <msg> - Return a runtime error

  • Parameters: msg (required): String - Error message
  • Returns: Throws LmError::CustomError

ecodes_rt - Display runtime error codes

  • Parameters: None
  • Returns: Expression - List of runtime error codes

ecodes_lm - Display LmError error codes

  • Parameters: None
  • Returns: Expression - List of LmError error codes

System Information Functions

info - Get operating system information

  • Parameters: None
  • Returns: String - Operating system information string

Output Control Functions

print_tty <arg> - Print control sequences to TTY

  • Parameters: arg (required): String - Content to print
  • Returns: None

discard <arg> - Send data to /dev/null

  • Parameters: arg (required): Any - Data to discard
  • Returns: None

Notes

The Sys module is one of the core components of the Lumesh built-in module system, registered as “Sys” in the module registry. The functions in this module are primarily used for system-level operations, complementing other application-level modules such as String and Parse.

The set and unset functions in the module are also available as global built-in functions and can be used directly without the module prefix.