Expand description
Orchid is a lazy, pure scripting language to be embedded in Rust applications. Check out the repo for examples and other links.
Modules§
- error
- Abstractions for handling various code-related errors under a common trait object.
- facade
- A simplified set of commands each grouping a large subset of the operations exposed by Orchid to make writing embeddings faster in the typical case.
- foreign
- Interaction with foreign code
- gen
- Abstractions and primitives for defining Orchid code in compile-time Rust constants. This is used both to generate glue code such as function call expressions at runtime and to define completely static intrinsics and constants accessible to usercode.
- intermediate
- Intermediate representation. Currently just an indirection between super::parse::parsed and super::interpreter::nort, in the future hopefully a common point for alternate encodings, optimizations and targets.
- interpreter
- functions to execute Orchid code
- libs
- Constants exposed to usercode by the interpreter
- location
- Structures that show where code or semantic elements came from
- name
- Various datatypes that all represent namespaced names.
- parse
- Parser, and abstractions for interacting with it from language extensions
- pipeline
- Loading Orchid projects from source
- rule
- Substitution rule processing
- tree
- Generic module tree structure
- utils
- Utilities that don’t necessarily have a well-defined role in the problem-domain of Orchid but are rather designed to fulfill abstract project-domain tasks.
- virt_fs
- Abstractions and primitives to help define the namespace tree used by Orchid.