Skip to main content

doge_runtime/
lib.rs

1mod builtins;
2mod display;
3mod error;
4mod functions;
5mod methods;
6mod objects;
7mod ops;
8mod ordered_map;
9mod pack;
10mod stdlib;
11mod value;
12
13pub use builtins::{bark, gib, interp, len, range, to_bytes, to_decimal, to_float, to_int, to_str};
14pub use error::{
15    assert_error, bonk_error, enter_call, error_field, error_value, exit_call, DogeError,
16    DogeResult, ErrorKind,
17};
18pub use functions::{callee_function, cell_get, cell_set, function_arity_error};
19pub use methods::{builtin_method, has_builtin_method};
20pub use objects::{
21    attr_get, attr_get_or_bind, attr_set, method_arity_error, no_such_method, object_class_id,
22};
23pub use ops::{
24    add, bitand, bitnot, bitor, bitxor, div, eq, floordiv, ge, gt, in_, index_get, index_set,
25    iter_value, le, lt, mul, ne, neg, not_, not_in, pow, rem, shl, shr, slice_get, sub,
26    unpack_value, values_equal,
27};
28pub use ordered_map::OrderedMap;
29pub use pack::{
30    finish_pup, pack_snapshot, pack_value, unpack_globals, unpack_packed, BowlHandle, PackMode,
31    Packed, PackedError, PupEntry,
32};
33pub use stdlib::chase::chase_run;
34pub use stdlib::dson::{dson_emit, dson_parse};
35pub use stdlib::env::{env_args, env_get, set_script_args};
36pub use stdlib::fetch::{
37    fetch_append, fetch_basename, fetch_copy, fetch_delete, fetch_exists, fetch_ext, fetch_join,
38    fetch_list, fetch_make_dir, fetch_read, fetch_read_bytes, fetch_remove_dir, fetch_rename,
39    fetch_stat, fetch_write, fetch_write_bytes,
40};
41pub use stdlib::howl::{
42    howl_accept, howl_close, howl_connect, howl_get, howl_listen, howl_port, howl_post, howl_recv,
43    howl_recv_line, howl_send,
44};
45pub use stdlib::hunt::{hunt_find, hunt_find_all, hunt_groups, hunt_replace, hunt_test};
46pub use stdlib::json::{json_emit, json_parse};
47pub use stdlib::nap::{nap_mono, nap_now, nap_parse, nap_rest, nap_stamp};
48pub use stdlib::nerd::{
49    nerd_abs, nerd_ceil, nerd_floor, nerd_max, nerd_min, nerd_pow, nerd_round, nerd_sqrt,
50};
51pub use stdlib::pack::{pack_bowl, pack_drop, pack_fetch, pack_sniff, pack_zoom, spawn_pup};
52pub use stdlib::roll::{roll_choice, roll_float, roll_int, roll_sample, roll_seed, roll_shuffle};
53pub use stdlib::strings::{
54    strings_beeg, strings_contains, strings_join, strings_replace, strings_smoll, strings_split,
55    strings_trim,
56};
57pub use value::{BoundMethodData, Cell, FunctionData, Value};
58
59// Re-exported so the generated glue can build capture cells without importing
60// std directly — it only ever writes `use doge_runtime::*;`.
61pub use std::cell::RefCell;
62pub use std::rc::Rc;