# Standard Library
The PL/XML Standard Library allows access to system functions
such as input/output, file access and array manipulation.
## Table of Contents
- [PRINT](#print)
- [PRINT-LINE](#print-line)
- [INPUT](#input)
- [STRING-SPLIT](#string-split)
- [ARRAY-SET](#array-set)
- [ARRAY-PUSH](#array-push)
- [ARRAY-POP](#array-pop)
- [ARRAY-GET](#array-get)
- [ARRAY-LENGTH](#array-length)
- [TO-ASCII](#to-ascii)
- [FROM-ASCII](#from-ascii)
- [GET-ARGS](#get-args)
- [WRITE-FILE](#write-file)
- [READ-FILE](#read-file)
## PRINT
Writes a string as-is to the standard output
### Arguments
- `string` value to print
### Returns
Nothing
### Minimal example
```xml
```
## PRINT-LINE
Writes a string to the standard output, appending a new line
### Arguments
- `string` value to print
### Returns
Nothing
### Minimal example
```xml
```
## INPUT
Reads from the standard input
### Arguments
Nothing
### Returns
`string` value read
### Minimal example
```xml
```
## STRING-SPLIT
Splits a string into a vector of single-character strings
### Arguments
- `string` value to split
### Returns
`array` value of strings
### Minimal examples
```xml
```
```xml
```
## ARRAY-SET
Sets a value at a specific index of an array.
### Arguments
- `array` to update
- `integer` index
- `any` value to set
### Returns
Nothing
### Minimal example
```xml
```
## ARRAY-PUSH
Pushes a value at the end of an array
### Arguments
- `array` to update
- `any` value to push
### Returns
Nothing
### Minimal example
```xml
```
## ARRAY-POP
Removes and returns the value at the end of an array
### Arguments
- `array` to update
### Returns
`any` value
### Minimal example
```xml
```
## ARRAY-GET
Returns the value at index of an array
### Arguments
- `array` to query
- `integer` index
### Returns
`any` value
### Minimal example
```xml
```
## ARRAY-LENGTH
Returns the length of an array
### Arguments
- `array` to query
### Returns
`integer` length
### Minimal example
```xml
```
## TO-ASCII
Converts an integer value into an ASCII character string
### Arguments
- `integer` to convert
### Returns
`string` corresponding ASCII character
### Minimal example
```xml
```
## FROM-ASCII
Converts a one-character string into its ASCII integer value
### Arguments
- `string` character to convert
### Returns
`integer` ASCII value
### Minimal example
```xml
```
## GET-ARGS
Returns an array of arguments passed to the program
### Arguments
Nothing
### Returns
`array` of strings
### Minimal example
```xml
```
## WRITE-FILE
Writes a string to a file, optionally appending
### Arguments
- `string` filename
- `string` to write
- `any` falsy to replace, truthy to append
### Returns
Nothing
### Minimal example
```xml
```
## READ-FILE
Reads a file into a string
### Arguments
- `string` filename
### Returns
- `string` file contents
### Minimal example
```xml
```