# Uniot Lisp

The **UniotLisp** interpreter is a lightweight implementation of the Lisp programming language, designed for embedded systems and resource-constrained environments. This document provides an overview of its implementation, available primitives, instructions for extending functionality, and examples for developers.\
\
This guide is divided into two main parts to cater to different user needs:

1. [**Language Description**](https://docs.uniot.io/advanced/uniot-lisp/language-description)
   * Explains the UniotLisp language features, including data types, operators, conditionals, loops, macros, and more.
   * Provides examples and usage scenarios to illustrate how to effectively use the language.
   * Ideal for developers and programmers looking to write UniotLisp code.
2. [**Embedding Instructions**](https://docs.uniot.io/advanced/uniot-lisp/embedding-instructions)
   * Covers setup, initialization, extending the interpreter, managing environments, error handling, and utilizing the API.
   * Includes practical examples to demonstrate embedding techniques.
   * Perfect for developers who want to extend the functionality of the interpreter and understand the details better.
