#literals #conversion #simfony

simfony-as-rust

Tools for working with Simfony as literal Rust

5 releases

new 0.1.5 Sep 2, 2024
0.1.4 Aug 20, 2024
0.1.3 Jul 28, 2024

#471 in Cryptography

Download history 251/week @ 2024-07-04 71/week @ 2024-07-11 4/week @ 2024-07-18 127/week @ 2024-07-25 17/week @ 2024-08-01 111/week @ 2024-08-15 21/week @ 2024-08-22 135/week @ 2024-08-29

267 downloads per month

CC0 license

88KB
1.5K SLoC

Interface between Simfony as Rust

GitHub crates.io docs.rs

The Simfony language feels very similar to Rust. This crate provides tools to work with Simfony as literal Rust.

Documentation ✅

We define a Rust type for each Simfony type. We define a Rust function for each Simfony jet. rustdoc can be used to generate Simfony documentation.

Source code conversion 🚧

Simfony code is almost Rust code. For the most part, Simfony lacks advanced features such as generics, so the corresponding syntax is missing.

Because there are only few and predictable differences, we can convert Simfony code to Rust code with a simple static algorithm. This tool hasn't been written yet, but it would enable us to compile Simfony code with the Rust compiler.

This means there would be two paths for a Simfony program:

  1. Simfony → Simplicity → Bit Machine
  2. Simfony → Rust → any CPU

Using this library as prelude, the Simfony program in (1) that runs on the Bit Machine should behave exactly as the Simfony program in (2) that runs on any CPU.

Dependencies

~45KB