Skip to main content

geam_core/
lib.rs

1#![recursion_limit = "256"]
2
3#[cfg(not(target_pointer_width = "64"))]
4compile_error!("geam requires a 64-bit target");
5
6pub mod embedding;
7pub mod frontend;
8pub mod host;
9pub mod plan;
10pub mod planner;
11pub mod provider;
12pub mod runtime;
13
14#[doc(hidden)]
15pub mod __macro_support;
16#[doc(hidden)]
17pub mod provider_support;
18
19pub use frontend::{
20    FrontendError, HostedTypedProgram, ModuleSource, PackageSource, ProjectError, TypedProgram,
21    compile_typed_host_program, compile_typed_host_project, compile_typed_module,
22    compile_typed_package_program, compile_typed_program, compile_typed_project,
23};
24pub use host::{
25    FallibleHostFunction, HostCall, HostCallCompletion, HostCallError, HostCallable,
26    HostComponentProfile, HostConstruction, HostConstructions, HostCustom, HostCustomConstructor,
27    HostCustomConstructorAt, HostCustomConstructorDefinition, HostCustomConstructorList,
28    HostCustomConstructorListEnd, HostCustomConstructorSchema, HostCustomField,
29    HostCustomFieldList, HostCustomFieldListEnd, HostCustomFieldSchema, HostCustomIndex0,
30    HostCustomIndexNext, HostCustomSchema, HostCustomType, HostCustomTypeArgument,
31    HostCustomTypeSchema, HostExternal, HostExternalBinding, HostExternalEquality,
32    HostExternalHashing, HostExternalInspection, HostExternalPayloadBuilder,
33    HostExternalPayloadView, HostExternalSchema, HostExternalStorage, HostExternalStore,
34    HostExternalType, HostExternalTypeSchema, HostFailure, HostFunction, HostFunctionSchema,
35    HostFunctionType, HostList, HostListType, HostModule, HostProfile, HostProvider,
36    HostProviderComponent, HostProviderComponentInitialization, HostProviderComponentRegistration,
37    HostProviderConfiguration, HostProviderConfigurationValue, HostProviderInitializationError,
38    HostProviderModule, HostProviderSet, HostRegistrationError, HostSchemaType, HostStoredDynamic,
39    HostStoredType, HostStoredValue, HostTuple, HostTupleType, HostType, HostTypeAt,
40    HostTypeIndex0, HostTypeIndexNext, HostTypeList, HostTypeListEnd, HostTypeParameter,
41    HostTypeSequence, HostValue, ScopedConstructingHostFunction, ScopedDivergingHostFunction,
42    ScopedHostFunction, StatelessHostProfile,
43};
44pub use plan::execution::{
45    ExecutionPlan, ExecutionPlanExplanation, HostSpecializationError,
46    HostSpecializationErrorReason, HostedExecution,
47};
48pub use plan::{
49    BitArrayExpr, BitArrayLocalId, BoolExpr, BoolLocalId, CustomType, CustomTypeName, EchoSite,
50    Expr, ExternalType, ExternalTypeDefinition, ExternalTypeName, FunctionTemplate,
51    FunctionTemplateId, FunctionType, HostCallSite, HostFunctionTemplate, HostedModulePlan,
52    HostedPlannedModule, IntExpr, IntLocalId, LocalId, ModuleId, ModulePlan, NilExpr, NilLocalId,
53    PanicSite, Param, ParamBinding, PlannedModule, SourceContext, SourceSpan, Step, StringExpr,
54    StringLocalId, ValueType,
55};
56pub use planner::{
57    ExternalTypeProviderLinkReason, HostProviderLinkReason, PlanError, RequiredHostFunction,
58    plan_host_program, plan_module, plan_module_with_source, plan_program, required_host_functions,
59};
60pub use provider::List;
61pub use runtime::{
62    BitArraySegmentPanicReason, BitArrayValue, BitArrayValueLengthError, CustomFieldValue,
63    CustomValue, EchoLocation, EchoOutput, EchoSink, ExecutionError, ExternalValue,
64    ExternalValueIdentity, FunctionValue, HostError, HostLocation, HostOrigin, InvariantError,
65    ListValue, ListValueItemTypeMismatch, Panic, PanicDetails, PanicKind, PanicMessage, Value,
66    ValueInspection, run_main,
67};