macro_rules! define_builtins {
(
$(
$(#[$attr:meta])*
$variant:ident => $name:literal
),* $(,)?
) => { ... };
}Expand description
Macro for defining built-in functions.
This macro generates the Builtin enum, its name() method, and the ALL constant
from a single declarative definition. To add a new builtin, simply add a new entry
to the macro invocation (and implement its evaluation in grift_eval).
§Syntax
use grift_parser::define_builtins;
define_builtins! {
/// Documentation comment
VariantName => "lisp-name",
// ... more builtins
}§Example
To add a new builtin my-builtin:
use grift_parser::define_builtins;
define_builtins! {
// ... existing builtins ...
/// (my-builtin x) - Does something with x
MyBuiltin => "my-builtin",
}Note: After adding a builtin here, you must also implement its evaluation
logic in the grift_eval crate.