Skip to main content

geam_core/
lib.rs

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