functions_ai 0.1.2

Function to string implementation for LLMs
Documentation
# Function AI Crate

The 'ai_function' crate provides a Rust procedural macro that allows you to transform any function into a function that returns its own definition as a string. This is useful for sending the function's code to a large language model for further processing.

## Installation

Add the following to your 'Cargo.toml' file:

```toml
[dependencies]
ai_function = "0.1.0"
```

Then run cargo build to download and compile the ai_function crate.

## Usage

To use the ai_function macro, simply annotate your function with #[ai_function].

use ai_function::ai_function;

```
#[ai_function]
fn example_function(arg: i32) -> i32 {
  arg \* 2
}
```

When you call example_function(), instead of returning arg * 2, it will return a string containing the source code of the example_function.

## Limitations

The #[ai_function] macro currently does not support functions with complex control flow like loops or conditionals. It only supports simple function definitions.

```
use ai_functions::ai_function;

#[ai_function]
fn add(a: i32, b: i32) -> i32 {
    a + b
}

fn main() {
    assert_eq!(add(2, 3), "fn add(a: i32, b: i32) -> i32 {\n    a + b\n}");
}
```