#![warn(missing_docs)]
mod display_context;
mod error;
mod io;
mod types;
mod vm;
pub mod core_lib;
pub mod prelude;
mod send_sync;
pub use crate::{
display_context::DisplayContext,
error::{
Error, ErrorKind, InstructionFrame, Result, unexpected_args,
unexpected_args_after_instance, unexpected_type,
},
io::{BufferedFile, DefaultStderr, DefaultStdin, DefaultStdout, KotoFile, KotoRead, KotoWrite},
send_sync::{KotoSend, KotoSync},
types::{
BinaryOp, CallContext, IsIterable, KFunction, KIterator, KIteratorOutput, KList, KMap,
KNativeFunction, KNumber, KObject, KRange, KString, KTuple, KValue, KotoCopy, KotoEntries,
KotoField, KotoFunction, KotoHasher, KotoIterator, KotoObject, KotoType, MetaKey, MetaMap,
MethodContext, UnaryOp, ValueKey, ValueMap, ValueVec,
},
vm::{CallArgs, KotoVm, KotoVmSettings, ModuleImportedCallback, ReturnOrYield},
};
pub use koto_derive as derive;
pub use koto_memory::{Borrow, BorrowMut, KCell, Ptr, PtrMut, make_ptr, make_ptr_mut};