# arcis-interpreter

[![Crates.io](https://img.shields.io/crates/v/arcis-interpreter.svg)](https://crates.io/crates/arcis-interpreter)

Interpreter for MPC circuits written with the Arcis framework. This crate provides the runtime engine that executes compiled Arcis circuits, handling the secure multi-party computation protocols and managing encrypted data operations during circuit evaluation.

## Usage

```rust
use arcis_interpreter::{arcis_type_macro, library_macro, module_macro};

// Use macros to define circuit components
arcis_type_macro!{
    // Define custom types for circuits
}

library_macro!{
    // Define reusable library functions
}

module_macro!{
    // Define circuit modules
}
```

## Main Exports

### Macros

- `arcis_type_macro` - Define custom types that can be used in Arcis circuits
- `library_macro` - Create reusable library functions for circuits
- `module_macro` - Define modular circuit components
- `error_macro` - Handle errors within circuit execution

The interpreter handles the low-level execution of MPC protocols, managing communication between parties and ensuring secure computation of encrypted values.
