# Lion ## Docs - [evaluate() — the core Lion dispatcher](https://docs.lionlang.dev/api/evaluate.md): Low-level dispatcher that routes a decoded LionExpressionType to the correct handler. Requires LionEnvironmentService; prefer run() for most use cases. - [run() — evaluate a Lion expression](https://docs.lionlang.dev/api/run.md): The primary entry point for executing Lion programs. Decodes, evaluates, and provisions the environment, returning a fully self-contained typed Effect. - [Lion schemas: Effect Schema definitions](https://docs.lionlang.dev/api/schemas.md): All Effect Schema definitions exported by @lionlang/core — expression types, special form schemas, primitives, and the callable value schema. - [TypeScript types and error classes](https://docs.lionlang.dev/api/types.md): Complete reference for EvaluateResult, ArgumentMismatchError, InvalidFunctionCallError, LionEnvironmentService, and the getService utility. - [Lion environments: binding names to values](https://docs.lionlang.dev/concepts/environment.md): Lion environments are plain JavaScript objects mapping string keys to values, forming a lexically-scoped chain consulted when a string expression is evaluated. - [How Lion evaluates expressions](https://docs.lionlang.dev/concepts/evaluation.md): Lion evaluates JSON through a three-stage pipeline: schema decoding, expression-type dispatch via Effect Match, and environment-backed execution. - [Lion expression model: JSON as code](https://docs.lionlang.dev/concepts/expression-model.md): Lion expressions are plain JSON values — primitives, arrays, and objects — each with distinct evaluation rules that make JSON directly executable. - [Special forms reference: Lion's built-in syntax](https://docs.lionlang.dev/concepts/special-forms.md): Lion's seven special forms — quote, eval, begin, define, lambda, cond, and match — cover all control flow and abstraction in the language. - [Building a custom Lion environment](https://docs.lionlang.dev/guides/custom-environment.md): Learn how to extend Lion's stdlib with your own values, functions, and objects, and how to organize custom modules with namespaceEntries. - [Handling Lion evaluation errors in TypeScript](https://docs.lionlang.dev/guides/error-handling.md): Learn how Lion surfaces typed evaluation errors through Effect so you can handle parse failures, argument mismatches, and invalid calls safely. - [Calling JavaScript from Lion programs](https://docs.lionlang.dev/guides/host-interop.md): Learn how Lion programs interact with host JavaScript objects, classes, and functions through the object and func standard library modules. - [Install @lionlang/core](https://docs.lionlang.dev/installation.md): Add @lionlang/core to your TypeScript project with npm, yarn, pnpm, or bun. Covers peer dependencies, package exports, and tsconfig requirements. - [Lion: Lisp Object Notation for JavaScript](https://docs.lionlang.dev/introduction.md): Lion is a JSON-based Lisp for TypeScript and JavaScript. Every Lion program is valid JSON — serializable, storable, and embeddable in any JS project. - [Get started with Lion](https://docs.lionlang.dev/quickstart.md): Install @lionlang/core, evaluate your first JSON expression, and add a custom environment to call your own JavaScript functions from Lion. - [array module: list operations in Lion](https://docs.lionlang.dev/stdlib/array.md): Lion's array module covers construction, access, length, concatenation, membership, and higher-order functions map, flat-map, and reduce. - [boolean module: logical operations in Lion](https://docs.lionlang.dev/stdlib/boolean.md): Lion's boolean module provides not, and, or, xor, nand, nor, and equals? — a complete set of logic gates for composing conditions in Lion expressions. - [console module: logging from Lion programs](https://docs.lionlang.dev/stdlib/console.md): Lion's console module provides log for printing strings and log-json for pretty-printing any value as formatted JSON to the console. - [func module: function utilities in Lion](https://docs.lionlang.dev/stdlib/func.md): Lion's func module provides bind, apply, partial application, and func/callback for converting Lion lambdas into plain JavaScript functions for host APIs. - [number module: arithmetic and comparisons](https://docs.lionlang.dev/stdlib/number.md): Lion's number module provides add, subtract, multiply, divide, and five comparison functions for working with numeric values in JSON expressions. - [object module: JS object interop in Lion](https://docs.lionlang.dev/stdlib/object.md): Lion's object module lets you read properties, traverse dot-paths, stringify to JSON, list keys/values, construct classes, and call host methods. - [Lion standard library modules overview](https://docs.lionlang.dev/stdlib/overview.md): A tour of all eight Lion stdlib modules — number, string, boolean, array, object, func, value, and console — and how to import them. - [string module: text operations in Lion](https://docs.lionlang.dev/stdlib/string.md): Lion's string module covers equality, length, concatenation, prefix/suffix checks, substring search, and index lookup for string values. - [value module: type predicates in Lion](https://docs.lionlang.dev/stdlib/value.md): Lion's value module provides type predicates (function?, number?, string?, boolean?, object?, array?, null?) and the identity passthrough for use in match. ## OpenAPI Specs - [openapi](https://docs.lionlang.dev/api-reference/openapi.json)