Crate orchidlang

Source
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.

Macros§

path_slice
Create a &PathSlice literal.
sym
Create a Sym literal.
vname
Create a VName literal.
vpath
Create a VPath literal.