Rust ffi for embeddable common lisp
  • Rust 70.3%
  • C 29.7%
Find a file
2026-11-05 20:29:05 +07:00
eclisp feat: context load and register_functions 2026-11-05 20:29:05 +07:00
eclisp-sys feat: callbacks 2026-11-05 19:39:00 +07:00
.gitignore feat: sys crate that links with ecl 2026-11-05 11:58:09 +07:00
Cargo.lock chore: bump version 2026-11-05 20:22:07 +07:00
Cargo.toml feat: context load and register_functions 2026-11-05 20:29:05 +07:00
README.md feat: prepare to publish 2026-11-05 17:04:23 +07:00

Embeddable Common Lisp Bindings

Safe bindings for the ECL project.

Example

use eclisp::{Lisp, LispError};

fn main() -> Result<(), LispError> {
    let lisp = Lisp::new()?;

    let value = lisp.eval("(+ 1 2)")?;
    println!("Result of (+ 1 2): {:?}", value.try_as_i64());

    lisp.eval("(defun double (n) (* n 2))")?;
    let doubled = lisp.call("double", &[&lisp.int(3)?])?;
    println!("3 doubled = {}", doubled);

    Ok(())
}