# Modules
Standard modules are built into the interpreter. Functions can be imported
from standard modules using the [`use` operator](operators.md#use).
```lisp
ketos=> (use math (sqrt))
()
ketos=> (sqrt 4.0)
2
```
## `code`
The `code` module offers facilities for inspecting compiled bytecode objects.
* `compile` returns a compiled `lambda` value from an expression.
* `disassemble` prints information about a `lambda` value to stdout.
* `documentation` returns the docstring for the named item.
* `get-const` returns a numbered const value from a `lambda` object.
* `get-value` returns a numbered enclosed value from a `lambda` object.
* `module-documentation` returns the docstring for the named module.
## `math`
The `math` module contains mathematical constants and functions.
These functions are identical to their Rust counterparts and include:
`acos`, `acosh`, `asin`, `asinh`, `atan`, `atanh`, `atan2`, `cos`, `cosh`,
`degrees`, `ln`, `log`, `log2`, `log10`, `radians`, `sin`, `sinh`, `sqrt`,
`tan`, and `tanh`.
Constants included are: `e` (Euler's number) and `pi`.
## `random`
The `random` module provides access to random number generation functions.
* `random` returns a random float value in the range `[0.0, 1.0)`.
* `shuffle` returns a given list in random order.