forked from Orchid/orchid
- Atoms now use MFBI to distinguish between thin and owned atoms. - Introduced TryFromExpr and ToExpr (formerly ToClause) from the old FFI - Standardized on Bottom being a ProjErr, which means that there will be no RTErr
37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
The role and relations of the crates in this monorepo
|
|
|
|
# orcx
|
|
|
|
Reference runtime built using [`orchid-host`](#orchid-host)
|
|
|
|
# orchid-std
|
|
|
|
Standard library and reference extension built using [`orchid-extension`](#orchid-extension)
|
|
|
|
# orchid-host
|
|
|
|
Interpreter library with extension host. This is built to support embedding in arbitrary host applications for scripting, although it is not security hardened.
|
|
|
|
# orchid-extension
|
|
|
|
Extension development toolkit. It routes the requests to handlers in a nice object model, and manages resources like `ExprTicket`.
|
|
|
|
# orchid-base
|
|
|
|
Common items used by both [`orchid-host`](#orchid-host) and [`orchid-extension`](#orchid-extension). Most notably, both sides of the string interner are defined here because it has to be callable from other items defined in this crate through the same set of global functions in both environments.
|
|
|
|
# orchid-api
|
|
|
|
Definition of the extension API. This crate should not contain any logic, it should hold only serializable message structs, and their relations should represent how they fit into the protocol.
|
|
|
|
# orchid-api-derive
|
|
|
|
Derive macros for the traits in [`orchid-api-traits`](#orchid-api-traits) to make the definitions in [`orchid-api`](#orchid-api) more concise.
|
|
|
|
# orchid-api-traits
|
|
|
|
Traits with a semantic meaning with respect to the protocol elements defined in [`orchid-api`](#orchid-api):
|
|
|
|
- `Encode`, `Decode` and `Coding` define how types serialize.
|
|
- `Request` associates requests with their response types.
|
|
- `InHierarchy`, `Extends` and `UnderRoot` associate requests and notifications with the category hierarchy they belong to. |