microcad-builtin 0.2.2

µcad Builtin Library
Documentation
// Copyright © 2024-2025 The µcad authors <info@ucad.xyz>
// SPDX-License-Identifier: AGPL-3.0-or-later

//! Builtin print method

use microcad_lang::{eval::*, resolve::*, syntax::*, value::*};

pub fn print() -> Symbol {
    Symbol::new_builtin(
        Identifier::no_ref("print"),
        None,
        &|_params, args, context| {
            args.iter()
                .try_for_each(|(_, arg)| -> Result<(), EvalError> {
                    context.print(format!("{value}", value = arg.value));
                    Ok(())
                })?;
            Ok(Value::None)
        },
    )
}