Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "simfony-as-rust"
version = "0.1.7"
name = "simplicityhl-as-rust"
version = "0.1.8"
edition = "2021"
authors = ["Christian Lewe <[email protected]>"]
description = "Tools for working with Simfony as literal Rust"
description = "Tools for working with SimplicityHL as literal Rust"
license = "CC0-1.0"
repository = "https://github.com/uncomputable/simfony-as-rust"
repository = "https://github.com/blockstreamresearch/simplicityhl-as-rust"

[dependencies]
either = "1.13.0"
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# Interface between Simfony as Rust
# Interface between SimplicityHL as Rust

[![GitHub](https://img.shields.io/badge/github-repo-blue.svg)](https://github.com/uncomputable/simfony-as-rust)
[![crates.io](https://img.shields.io/crates/v/simfony-as-rust.svg)](https://crates.io/crates/simfony-as-rust)
[![docs.rs](https://docs.rs/simfony-as-rust/badge.svg)](https://docs.rs/simfony-as-rust)
[![GitHub](https://img.shields.io/badge/github-repo-blue.svg)](https://github.com/blockstreamresearch/simplicityhl-as-rust)
[![crates.io](https://img.shields.io/crates/v/simplicityhl-as-rust.svg)](https://crates.io/crates/simplicityhl-as-rust)
[![docs.rs](https://docs.rs/simplicityhl-as-rust/badge.svg)](https://docs.rs/simplicityhl-as-rust)

The [Simfony](https://github.com/BlockstreamResearch/simfony) language feels very similar to Rust. This crate provides tools to work with Simfony as literal Rust.
The [SimplicityHL](https://github.com/BlockstreamResearch/simplicityhl) language feels very similar to Rust. This crate provides tools to work with SimplicityHL 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.
We define a Rust type for each SimplicityHL type. We define a Rust function for each SimplicityHL jet. `rustdoc` can be used to generate SimplicityHL 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.
SimplicityHL code is almost Rust code. For the most part, SimplicityHL 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.
Because there are only few and predictable differences, we can convert SimplicityHL code to Rust code with a simple static algorithm. This tool hasn't been written yet, but it would enable us to compile SimplicityHL code with the Rust compiler.

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

1. Simfony → Simplicity → Bit Machine
2. Simfony → Rust → any CPU
1. SimplicityHL → Simplicity → Bit Machine
2. SimplicityHL → 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.
Using this library as prelude, the SimplicityHL program in (1) that runs on the Bit Machine should behave exactly as the SimplicityHL program in (2) that runs on any CPU.
6 changes: 3 additions & 3 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! Interface between Simfony as Rust
//! Interface between SimplicityHL as Rust
//!
//! The [Simfony](https://github.com/BlockstreamResearch/simfony) language feels very similar to Rust.
//! This crate provides tools to work with Simfony as literal Rust.
//! The [SimplicityHL](https://github.com/BlockstreamResearch/simplicityhl) language feels very similar to Rust.
//! This crate provides tools to work with SimplicityHL as literal Rust.

pub mod jet;