diff --git a/.github/BENCH_REGRESSION.md b/.github/BENCH_REGRESSION.md index cadc4fc0..aa69855b 100644 --- a/.github/BENCH_REGRESSION.md +++ b/.github/BENCH_REGRESSION.md @@ -1,9 +1,9 @@ --- title: "perf: Benchmark regression detected" -labels: debt, automated-issues +labels: debt, automated-issue --- A performance regression has occurred for the benchmarks in `tests`. {{ env.SLOW_TESTS }} -See {{ env.WORKFLOW_URL }}) for details. +See [Workflow URL]({{ env.WORKFLOW_URL }}) for details. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1bf7de10..ba8d8079 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,9 +1,7 @@ name: Tests on: - push: - branches: - - main + merge_group: pull_request: concurrency: @@ -151,9 +149,9 @@ jobs: ${{ steps.regression-check.outputs.slow-tests }} - ${{ env.WORKFLOW_URL }} + [Workflow URL](${{ env.WORKFLOW_URL }}) - uses: JasonEtco/create-an-issue@v2 - if: steps.regression-check.outputs.regression == 'true' && github.event_name == 'push' + if: steps.regression-check.outputs.regression == 'true' && github.event_name == 'merge_group' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} WORKFLOW_URL: ${{ env.WORKFLOW_URL }} diff --git a/.github/workflows/rust-version.yml b/.github/workflows/rust-version.yml index 5f905496..13a8fb71 100644 --- a/.github/workflows/rust-version.yml +++ b/.github/workflows/rust-version.yml @@ -12,39 +12,32 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly - - name: Parse rust-toolchain.toml - run: echo "TOOLCHAIN_VERSION=$(rustup show | grep rustc | awk -F'[()]| ' '{ print $(NF-1) }')" | tee -a $GITHUB_ENV - - name: Get latest nightly Rust version - run: | - echo "RUST_VERSION=$(rustup check | grep nightly | awk -F'[()]| ' '{print $(NF-1)}')" | tee -a $GITHUB_ENV - - name: Compare Rust versions - id: compare-versions - run: | - if [[ $(printf '%s\n' "$TOOLCHAIN_VERSION" "$RUST_VERSION" | sort -V | head -n 1) != "$RUST_VERSION" ]]; then - echo "outdated=true" | tee -a $GITHUB_OUTPUT - fi - - name: Update Cargo.toml - if: steps.compare-versions.outputs.outdated == 'true' - run: | - sed -i 's/channel = .*/channel = "nightly-${{ env.RUST_VERSION }}"/' rust-toolchain.toml + - uses: actions/checkout@v4 + with: + repository: argumentcomputer/ci-workflows + path: ci-workflows + - uses: ./ci-workflows/.github/actions/rust-version + id: rust-version + with: + toolchain: nightly - uses: tibdex/github-app-token@v2 - if: steps.compare-versions.outputs.outdated == 'true' + if: steps.rust-version.outputs.outdated == 'true' id: generate-token with: app_id: ${{ secrets.TOKEN_APP_ID }} private_key: ${{ secrets.TOKEN_APP_PRIVATE_KEY }} # Open PR if Rust version is out of date with latest nightly - name: Create Pull Request - if: steps.compare-versions.outputs.outdated == 'true' + if: steps.rust-version.outputs.outdated == 'true' uses: peter-evans/create-pull-request@v7 with: token: ${{ steps.generate-token.outputs.token }} branch: "ci-update-rust-version" - title: "chore: Update Rust version to nightly-${{ env.RUST_VERSION }}" - commit-message: "chore: Update Rust version to nightly-${{ env.RUST_VERSION }}" + title: "chore: Update Rust version to `nightly-${{ steps.rust-version.outputs.new-version }}`" + commit-message: "chore: Update Rust version to `nightly-${{ steps.rust-version.outputs.new-version }}`" labels: "automated-issue" reviewers: "arthurpaulino, wwared, huitseeker, samuelburnham" body: | - This is an automated PR updating the Rust version from `nightly-${{ env.TOOLCHAIN_VERSION }}` to `nightly-${{ env.RUST_VERSION }}` + This is an automated PR updating the Rust version from `nightly-${{ steps.rust-version.outputs.old-version }}` to `nightly-${{ steps.rust-version.outputs.new-version }}` Workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/Cargo.lock b/Cargo.lock index 674aa78f..e1bfcbc2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -299,7 +299,7 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" name = "byte_lookup" version = "0.1.0" dependencies = [ - "loam", + "lurk", "p3-air", "p3-baby-bear", "p3-field", @@ -1279,8 +1279,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] -name = "loam" +name = "loam-macros" version = "0.1.0" +dependencies = [ + "ascent", + "derive-syn-parse", + "itertools 0.13.0", + "lazy_static", + "proc-macro2", + "quote", + "syn 2.0.85", +] + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "lru" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.0", +] + +[[package]] +name = "lurk" +version = "0.5.0" dependencies = [ "anyhow", "arc-swap", @@ -1337,44 +1375,6 @@ dependencies = [ "vergen", ] -[[package]] -name = "loam-macros" -version = "0.1.0" -dependencies = [ - "ascent", - "derive-syn-parse", - "itertools 0.13.0", - "lazy_static", - "proc-macro2", - "quote", - "syn 2.0.85", -] - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" - -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.0", -] - [[package]] name = "match_opt" version = "0.1.2" diff --git a/Cargo.toml b/Cargo.toml index de6a5852..fb053b6a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "loam" -version = "0.1.0" +name = "lurk" +version = "0.5.0" edition.workspace = true repository.workspace = true @@ -11,7 +11,7 @@ path = "src/main.rs" [workspace.package] authors = ["Argument Engineering "] edition = "2021" -repository = "https://github.com/argumentcomputer/loam" +repository = "https://github.com/argumentcomputer/lurk" license = "MIT" diff --git a/benches/fib.rs b/benches/fib.rs index 5667ae86..89e04a10 100644 --- a/benches/fib.rs +++ b/benches/fib.rs @@ -9,7 +9,11 @@ use sphinx_core::{ }; use std::time::Duration; -use loam::{ +use lurk::{ + core::{ + eval_direct::build_lurk_toplevel_native, + zstore::{lurk_zstore, ZPtr}, + }, lair::{ chipset::{Chipset, NoChip}, execute::{QueryRecord, Shard}, @@ -18,10 +22,6 @@ use loam::{ toplevel::Toplevel, List, }, - lurk::{ - eval_direct::build_lurk_toplevel_native, - zstore::{lurk_zstore, ZPtr}, - }, }; const DEFAULT_FIB_ARG: usize = 100000; diff --git a/benches/lcs.rs b/benches/lcs.rs index 755194b1..7e1749bc 100644 --- a/benches/lcs.rs +++ b/benches/lcs.rs @@ -9,7 +9,11 @@ use sphinx_core::{ }; use std::time::Duration; -use loam::{ +use lurk::{ + core::{ + eval_direct::build_lurk_toplevel_native, + zstore::{lurk_zstore, ZPtr}, + }, lair::{ chipset::{Chipset, NoChip}, execute::{QueryRecord, Shard}, @@ -18,10 +22,6 @@ use loam::{ toplevel::Toplevel, List, }, - lurk::{ - eval_direct::build_lurk_toplevel_native, - zstore::{lurk_zstore, ZPtr}, - }, }; fn get_lcs_args() -> (&'static str, &'static str) { diff --git a/benches/lurk.rs b/benches/lurk.rs index 3d4b52ea..60949dfe 100644 --- a/benches/lurk.rs +++ b/benches/lurk.rs @@ -1,7 +1,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; use std::time::Duration; -use loam::lurk::eval_direct::build_lurk_toplevel_native; +use lurk::core::eval_direct::build_lurk_toplevel_native; fn toplevel(c: &mut Criterion) { c.bench_function("toplevel", |b| { diff --git a/benches/sum.rs b/benches/sum.rs index bb944d55..427b2256 100644 --- a/benches/sum.rs +++ b/benches/sum.rs @@ -9,7 +9,11 @@ use sphinx_core::{ }; use std::time::Duration; -use loam::{ +use lurk::{ + core::{ + eval_direct::build_lurk_toplevel_native, + zstore::{lurk_zstore, ZPtr}, + }, lair::{ chipset::{Chipset, NoChip}, execute::{QueryRecord, Shard}, @@ -18,10 +22,6 @@ use loam::{ toplevel::Toplevel, List, }, - lurk::{ - eval_direct::build_lurk_toplevel_native, - zstore::{lurk_zstore, ZPtr}, - }, }; const DEFAULT_SUM_ARG: usize = 100000; diff --git a/examples/byte_lookup/Cargo.toml b/examples/byte_lookup/Cargo.toml index 80449671..eda49793 100644 --- a/examples/byte_lookup/Cargo.toml +++ b/examples/byte_lookup/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -loam = { path = "../.." } +lurk = { path = "../.." } p3-air = { workspace = true } p3-baby-bear = { workspace = true } p3-field = { workspace = true } @@ -15,4 +15,4 @@ p3-maybe-rayon = { workspace = true } sphinx-core = { workspace = true } sphinx-derive = { workspace = true } rand = { workspace = true } -rand_chacha = { workspace = true } \ No newline at end of file +rand_chacha = { workspace = true } diff --git a/examples/byte_lookup/src/main.rs b/examples/byte_lookup/src/main.rs index 23b28d0c..c099c0e6 100644 --- a/examples/byte_lookup/src/main.rs +++ b/examples/byte_lookup/src/main.rs @@ -2,8 +2,8 @@ pub mod memoset; use crate::memoset::DemoChip; -use loam::air::builder::{LookupBuilder, ProvideRecord, RequireRecord}; -use loam::air::debug::{debug_constraints_collecting_queries, TraceQueries}; +use lurk::air::builder::{LookupBuilder, ProvideRecord, RequireRecord}; +use lurk::air::debug::{debug_constraints_collecting_queries, TraceQueries}; use p3_air::{Air, AirBuilder, BaseAir, PairBuilder}; use p3_baby_bear::BabyBear; use p3_field::{AbstractField, Field, PrimeField32}; diff --git a/examples/byte_lookup/src/memoset.rs b/examples/byte_lookup/src/memoset.rs index 6b381f5d..007a5526 100644 --- a/examples/byte_lookup/src/memoset.rs +++ b/examples/byte_lookup/src/memoset.rs @@ -1,4 +1,4 @@ -use loam::air::builder::{LookupBuilder, ProvideRecord, RequireRecord}; +use lurk::air::builder::{LookupBuilder, ProvideRecord, RequireRecord}; use p3_air::{Air, AirBuilder, BaseAir}; use p3_field::{AbstractField, Field, PrimeField32}; use p3_matrix::dense::RowMajorMatrix; diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 323bf374..17ba0069 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] # The default profile includes rustc, rust-std, cargo, rust-docs, rustfmt and clippy. profile = "default" -channel = "nightly-2024-08-13" +channel = "nightly-2024-11-04" diff --git a/src/air/debug.rs b/src/air/debug.rs index b431e2e0..ddf8d233 100644 --- a/src/air/debug.rs +++ b/src/air/debug.rs @@ -215,13 +215,13 @@ pub struct DebugConstraintBuilder<'a, F> { queries: &'a mut TraceQueries, } -impl<'a, F: PrimeField32> PairBuilder for DebugConstraintBuilder<'a, F> { +impl PairBuilder for DebugConstraintBuilder<'_, F> { fn preprocessed(&self) -> Self::M { self.preprocessed } } -impl<'a, F: PrimeField32> LookupBuilder for DebugConstraintBuilder<'a, F> { +impl LookupBuilder for DebugConstraintBuilder<'_, F> { fn receive( &mut self, relation: impl Relation, @@ -318,7 +318,7 @@ impl<'a, F: PrimeField32> AirBuilderWithPublicValues for DebugConstraintBuilder< } } -impl<'a, F: PrimeField32> LairBuilder for DebugConstraintBuilder<'a, F> {} +impl LairBuilder for DebugConstraintBuilder<'_, F> {} impl<'a, F: PrimeField32> DebugConstraintBuilder<'a, F> { #[inline] diff --git a/src/lurk/big_num.rs b/src/core/big_num.rs similarity index 99% rename from src/lurk/big_num.rs rename to src/core/big_num.rs index 14a6355c..d53c4a24 100644 --- a/src/lurk/big_num.rs +++ b/src/core/big_num.rs @@ -115,6 +115,7 @@ mod test { use crate::{ air::debug::debug_chip_constraints_and_queries_with_sharding, + core::chipset::lurk_chip_map_native, func, lair::{ execute::{QueryRecord, Shard}, @@ -122,7 +123,6 @@ mod test { lair_chip::{build_chip_vector, build_lair_chip_vector, LairMachineProgram}, toplevel::Toplevel, }, - lurk::chipset::lurk_chip_map_native, }; #[test] diff --git a/src/lurk/chipset.rs b/src/core/chipset.rs similarity index 99% rename from src/lurk/chipset.rs rename to src/core/chipset.rs index e3869eda..847ccc4e 100644 --- a/src/lurk/chipset.rs +++ b/src/core/chipset.rs @@ -12,7 +12,7 @@ use crate::{ poseidon::config::{BabyBearConfig24, BabyBearConfig32, BabyBearConfig40}, }; -use crate::lurk::poseidon::PoseidonChipset; +use crate::core::poseidon::PoseidonChipset; use super::{big_num::BigNum, u64::U64, zstore::Hasher}; diff --git a/src/lurk/cli/comm_data.rs b/src/core/cli/comm_data.rs similarity index 99% rename from src/lurk/cli/comm_data.rs rename to src/core/cli/comm_data.rs index 1a868b42..aa4ff8fa 100644 --- a/src/lurk/cli/comm_data.rs +++ b/src/core/cli/comm_data.rs @@ -3,11 +3,11 @@ use serde::{Deserialize, Serialize}; use std::hash::Hash; use crate::{ - lair::chipset::Chipset, - lurk::{ + core::{ tag::Tag, zstore::{ZPtr, ZStore, DIGEST_SIZE, HASH3_SIZE}, }, + lair::chipset::Chipset, }; use super::zdag::ZDag; diff --git a/src/lurk/cli/config.rs b/src/core/cli/config.rs similarity index 100% rename from src/lurk/cli/config.rs rename to src/core/cli/config.rs diff --git a/src/lurk/cli/debug.rs b/src/core/cli/debug.rs similarity index 99% rename from src/lurk/cli/debug.rs rename to src/core/cli/debug.rs index 8fc66bb4..e8cc9ce4 100644 --- a/src/lurk/cli/debug.rs +++ b/src/core/cli/debug.rs @@ -20,7 +20,7 @@ pub(crate) struct FormattedDebugData<'a> { pub(crate) breakpoints: &'a [usize], } -impl<'a> FormattedDebugData<'a> { +impl FormattedDebugData<'_> { fn is_empty(&self) -> bool { self.entries.is_empty() } diff --git a/src/lurk/cli/lurk_data.rs b/src/core/cli/lurk_data.rs similarity index 96% rename from src/lurk/cli/lurk_data.rs rename to src/core/cli/lurk_data.rs index 33048829..19d5d960 100644 --- a/src/lurk/cli/lurk_data.rs +++ b/src/core/cli/lurk_data.rs @@ -2,8 +2,8 @@ use p3_field::AbstractField; use serde::{Deserialize, Serialize}; use crate::{ + core::zstore::{ZPtr, ZStore}, lair::chipset::Chipset, - lurk::zstore::{ZPtr, ZStore}, }; use super::zdag::ZDag; diff --git a/src/lurk/cli/meta.rs b/src/core/cli/meta.rs similarity index 99% rename from src/lurk/cli/meta.rs rename to src/core/cli/meta.rs index 6679872c..3183ed5a 100644 --- a/src/lurk/cli/meta.rs +++ b/src/core/cli/meta.rs @@ -8,8 +8,7 @@ use sphinx_core::stark::StarkGenericConfig; use std::net::TcpStream; use crate::{ - lair::{chipset::Chipset, lair_chip::LairMachineProgram}, - lurk::{ + core::{ big_num::field_elts_to_biguint, package::{Package, SymbolRef}, stark_machine::new_machine, @@ -18,6 +17,7 @@ use crate::{ tag::Tag, zstore::{ZPtr, DIGEST_SIZE}, }, + lair::{chipset::Chipset, lair_chip::LairMachineProgram}, ocaml::compile::compile_and_transform_single_file, }; diff --git a/src/lurk/cli/microchain.rs b/src/core/cli/microchain.rs similarity index 99% rename from src/lurk/cli/microchain.rs rename to src/core/cli/microchain.rs index 65388298..c996bc9e 100644 --- a/src/lurk/cli/microchain.rs +++ b/src/core/cli/microchain.rs @@ -9,8 +9,7 @@ use std::{ }; use crate::{ - lair::{chipset::Chipset, lair_chip::LairMachineProgram}, - lurk::{ + core::{ big_num::field_elts_to_biguint, chipset::LurkChip, cli::{paths::microchains_dir, rdg::rand_digest}, @@ -19,6 +18,7 @@ use crate::{ stark_machine::new_machine, zstore::{ZPtr, ZStore, DIGEST_SIZE}, }, + lair::{chipset::Chipset, lair_chip::LairMachineProgram}, }; use super::{ diff --git a/src/lurk/cli/mod.rs b/src/core/cli/mod.rs similarity index 100% rename from src/lurk/cli/mod.rs rename to src/core/cli/mod.rs diff --git a/src/lurk/cli/paths.rs b/src/core/cli/paths.rs similarity index 100% rename from src/lurk/cli/paths.rs rename to src/core/cli/paths.rs diff --git a/src/lurk/cli/proofs.rs b/src/core/cli/proofs.rs similarity index 99% rename from src/lurk/cli/proofs.rs rename to src/core/cli/proofs.rs index 2f33df93..7f00131a 100644 --- a/src/lurk/cli/proofs.rs +++ b/src/core/cli/proofs.rs @@ -10,11 +10,11 @@ use sphinx_core::{ }; use crate::{ - lair::{chipset::Chipset, provenance::DEPTH_W}, - lurk::{ + core::{ tag::Tag, zstore::{ZPtr, ZStore, DIGEST_SIZE, ZPTR_SIZE}, }, + lair::{chipset::Chipset, provenance::DEPTH_W}, }; use super::{lurk_data::LurkData, microchain::CallableData, zdag::ZDag}; diff --git a/src/lurk/cli/rdg.rs b/src/core/cli/rdg.rs similarity index 100% rename from src/lurk/cli/rdg.rs rename to src/core/cli/rdg.rs diff --git a/src/lurk/cli/repl.rs b/src/core/cli/repl.rs similarity index 99% rename from src/lurk/cli/repl.rs rename to src/core/cli/repl.rs index fbfda07f..c8dcff44 100644 --- a/src/lurk/cli/repl.rs +++ b/src/core/cli/repl.rs @@ -18,13 +18,7 @@ use sphinx_core::{ use std::{fmt::Debug, io::Write, marker::PhantomData}; use crate::{ - lair::{ - chipset::{Chipset, NoChip}, - execute::{DebugEntry, DebugEntryKind, QueryRecord, QueryResult, Shard}, - lair_chip::LairMachineProgram, - toplevel::Toplevel, - }, - lurk::{ + core::{ big_num::field_elts_to_biguint, chipset::LurkChip, cli::{ @@ -46,6 +40,12 @@ use crate::{ tag::Tag, zstore::{quote, ZPtr, ZStore, DIGEST_SIZE}, }, + lair::{ + chipset::{Chipset, NoChip}, + execute::{DebugEntry, DebugEntryKind, QueryRecord, QueryResult, Shard}, + lair_chip::LairMachineProgram, + toplevel::Toplevel, + }, }; #[derive(Helper, Highlighter, Hinter, Completer)] diff --git a/src/lurk/cli/tests/first.lurk b/src/core/cli/tests/first.lurk similarity index 100% rename from src/lurk/cli/tests/first.lurk rename to src/core/cli/tests/first.lurk diff --git a/src/lurk/cli/tests/loaded-nested.lurk b/src/core/cli/tests/loaded-nested.lurk similarity index 100% rename from src/lurk/cli/tests/loaded-nested.lurk rename to src/core/cli/tests/loaded-nested.lurk diff --git a/src/lurk/cli/tests/loaded.lurk b/src/core/cli/tests/loaded.lurk similarity index 100% rename from src/lurk/cli/tests/loaded.lurk rename to src/core/cli/tests/loaded.lurk diff --git a/src/lurk/cli/tests/mod.rs b/src/core/cli/tests/mod.rs similarity index 84% rename from src/lurk/cli/tests/mod.rs rename to src/core/cli/tests/mod.rs index 6427d0cd..c13cadc8 100644 --- a/src/lurk/cli/tests/mod.rs +++ b/src/core/cli/tests/mod.rs @@ -1,4 +1,4 @@ -use crate::lurk::cli::{ +use crate::core::cli::{ config::{set_config_if_unset, Config}, repl::Repl, }; @@ -8,11 +8,11 @@ fn test_meta_commands() { set_config_if_unset(Config::default()); let mut repl = Repl::new_native(); assert!(repl - .load_file("src/lurk/cli/tests/first.lurk".into(), false) + .load_file("src/core/cli/tests/first.lurk".into(), false) .is_ok()); let mut repl = Repl::new_native(); assert!(repl - .load_file("src/lurk/cli/tests/second.lurk".into(), false) + .load_file("src/core/cli/tests/second.lurk".into(), false) .is_ok()); std::fs::remove_file("repl-test-two").unwrap(); } @@ -23,11 +23,11 @@ fn test_meta_commands_with_proofs() { set_config_if_unset(Config::default()); let mut repl = Repl::new_native(); assert!(repl - .load_file("src/lurk/cli/tests/prove.lurk".into(), false) + .load_file("src/core/cli/tests/prove.lurk".into(), false) .is_ok()); let mut repl = Repl::new_native(); assert!(repl - .load_file("src/lurk/cli/tests/verify.lurk".into(), false) + .load_file("src/core/cli/tests/verify.lurk".into(), false) .is_ok()); std::fs::remove_file("repl-test-protocol-proof").unwrap(); std::fs::remove_file("repl-test-protocol").unwrap(); diff --git a/src/lurk/cli/tests/prove.lurk b/src/core/cli/tests/prove.lurk similarity index 100% rename from src/lurk/cli/tests/prove.lurk rename to src/core/cli/tests/prove.lurk diff --git a/src/lurk/cli/tests/second.lurk b/src/core/cli/tests/second.lurk similarity index 100% rename from src/lurk/cli/tests/second.lurk rename to src/core/cli/tests/second.lurk diff --git a/src/lurk/cli/tests/verify.lurk b/src/core/cli/tests/verify.lurk similarity index 100% rename from src/lurk/cli/tests/verify.lurk rename to src/core/cli/tests/verify.lurk diff --git a/src/lurk/cli/zdag.rs b/src/core/cli/zdag.rs similarity index 98% rename from src/lurk/cli/zdag.rs rename to src/core/cli/zdag.rs index 74306a06..9b09f567 100644 --- a/src/lurk/cli/zdag.rs +++ b/src/core/cli/zdag.rs @@ -3,8 +3,8 @@ use rustc_hash::{FxHashMap, FxHashSet}; use serde::{Deserialize, Serialize}; use crate::{ + core::zstore::{ZPtr, ZPtrType, ZStore}, lair::chipset::Chipset, - lurk::zstore::{ZPtr, ZPtrType, ZStore}, }; /// Holds Lurk data meant to be persisted and/or shared diff --git a/src/lurk/compile.rs b/src/core/compile.rs similarity index 99% rename from src/lurk/compile.rs rename to src/core/compile.rs index 10c6d2c4..ca526bac 100644 --- a/src/lurk/compile.rs +++ b/src/core/compile.rs @@ -4,9 +4,9 @@ use p3_baby_bear::BabyBear; use p3_field::{AbstractField, PrimeField32}; use crate::{ + core::{error::EvalErr, ingress::InternalTag}, func, lair::{chipset::NoChip, expr::FuncE, toplevel::Toplevel}, - lurk::{error::EvalErr, ingress::InternalTag}, }; use super::{ingress::SymbolsDigests, tag::Tag}; diff --git a/src/lurk/error.rs b/src/core/error.rs similarity index 100% rename from src/lurk/error.rs rename to src/core/error.rs diff --git a/src/lurk/eval_compiled.rs b/src/core/eval_compiled.rs similarity index 99% rename from src/lurk/eval_compiled.rs rename to src/core/eval_compiled.rs index f865c965..258441b0 100644 --- a/src/lurk/eval_compiled.rs +++ b/src/core/eval_compiled.rs @@ -3,6 +3,12 @@ use p3_field::{AbstractField, PrimeField32}; use rustc_hash::FxHashSet; use crate::{ + core::{ + big_num::field_elts_to_biguint, + compile::{Op, Val}, + error::EvalErr, + ingress::InternalTag, + }, func, lair::{ chipset::{Chipset, NoChip}, @@ -10,12 +16,6 @@ use crate::{ toplevel::Toplevel, FxIndexMap, }, - lurk::{ - big_num::field_elts_to_biguint, - compile::{Op, Val}, - error::EvalErr, - ingress::InternalTag, - }, }; use super::{ diff --git a/src/lurk/eval_direct.rs b/src/core/eval_direct.rs similarity index 99% rename from src/lurk/eval_direct.rs rename to src/core/eval_direct.rs index 08b41c77..2bd371e5 100644 --- a/src/lurk/eval_direct.rs +++ b/src/core/eval_direct.rs @@ -3,6 +3,7 @@ use p3_field::{AbstractField, PrimeField32}; use rustc_hash::FxHashSet; use crate::{ + core::{big_num::field_elts_to_biguint, error::EvalErr}, func, lair::{ chipset::{Chipset, NoChip}, @@ -10,7 +11,6 @@ use crate::{ toplevel::Toplevel, FxIndexMap, Name, }, - lurk::{big_num::field_elts_to_biguint, error::EvalErr}, }; use super::{ @@ -1845,12 +1845,12 @@ mod test { use crate::{ air::debug::debug_constraints_collecting_queries, + core::{state::State, zstore::ZPtr}, lair::{ execute::{QueryRecord, Shard}, func_chip::FuncChip, List, }, - lurk::{state::State, zstore::ZPtr}, }; use super::*; diff --git a/src/lurk/ingress.rs b/src/core/ingress.rs similarity index 100% rename from src/lurk/ingress.rs rename to src/core/ingress.rs diff --git a/src/lurk/lang.rs b/src/core/lang.rs similarity index 100% rename from src/lurk/lang.rs rename to src/core/lang.rs diff --git a/src/lurk/misc.rs b/src/core/misc.rs similarity index 100% rename from src/lurk/misc.rs rename to src/core/misc.rs diff --git a/src/lurk/mod.rs b/src/core/mod.rs similarity index 100% rename from src/lurk/mod.rs rename to src/core/mod.rs diff --git a/src/lurk/package.rs b/src/core/package.rs similarity index 100% rename from src/lurk/package.rs rename to src/core/package.rs diff --git a/src/lurk/parser/base.rs b/src/core/parser/base.rs similarity index 99% rename from src/lurk/parser/base.rs rename to src/core/parser/base.rs index 297192e1..17b2a62d 100644 --- a/src/lurk/parser/base.rs +++ b/src/core/parser/base.rs @@ -10,7 +10,7 @@ use nom::{ InputTakeAtPosition, }; -use crate::lurk::parser::{ +use crate::core::parser::{ error::{map_parse_err, ParseError, ParseErrorKind}, ParseResult, Span, }; diff --git a/src/lurk/parser/error.rs b/src/core/parser/error.rs similarity index 98% rename from src/lurk/parser/error.rs rename to src/core/parser/error.rs index 82cd5a76..4f733801 100644 --- a/src/lurk/parser/error.rs +++ b/src/core/parser/error.rs @@ -8,7 +8,7 @@ use std::{ use nom::{error::ErrorKind, AsBytes, Err, IResult, InputLength}; use num_bigint::BigUint; -use crate::lurk::parser::{base, Span}; +use crate::core::parser::{base, Span}; #[derive(PartialEq, Eq, Debug, Clone)] pub enum ParseErrorKind { @@ -87,7 +87,7 @@ impl ParseError { } } -impl<'a> fmt::Display for ParseError> { +impl fmt::Display for ParseError> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let mut res = String::new(); diff --git a/src/lurk/parser/mod.rs b/src/core/parser/mod.rs similarity index 100% rename from src/lurk/parser/mod.rs rename to src/core/parser/mod.rs diff --git a/src/lurk/parser/position.rs b/src/core/parser/position.rs similarity index 98% rename from src/lurk/parser/position.rs rename to src/core/parser/position.rs index 5d395486..edbcb381 100644 --- a/src/lurk/parser/position.rs +++ b/src/core/parser/position.rs @@ -1,6 +1,6 @@ use std::hash::Hash; -use crate::lurk::parser::Span; +use crate::core::parser::Span; /// Source code position of an expression in a file #[derive(Clone, Copy, Debug)] diff --git a/src/lurk/parser/string.rs b/src/core/parser/string.rs similarity index 100% rename from src/lurk/parser/string.rs rename to src/core/parser/string.rs diff --git a/src/lurk/parser/syntax.rs b/src/core/parser/syntax.rs similarity index 99% rename from src/lurk/parser/syntax.rs rename to src/core/parser/syntax.rs index 03bc8745..3a5a5591 100644 --- a/src/lurk/parser/syntax.rs +++ b/src/core/parser/syntax.rs @@ -12,7 +12,7 @@ use nom_locate::LocatedSpan; use num_bigint::BigUint; use p3_field::Field; -use crate::lurk::{ +use crate::core::{ package::SymbolRef, parser::{ base, @@ -503,7 +503,7 @@ pub fn parse( mod test { use p3_baby_bear::BabyBear; - use crate::lurk::{parser::syntax::parse_syntax, state::State}; + use crate::core::{parser::syntax::parse_syntax, state::State}; #[test] fn test_digest() { diff --git a/src/lurk/poseidon.rs b/src/core/poseidon.rs similarity index 100% rename from src/lurk/poseidon.rs rename to src/core/poseidon.rs diff --git a/src/lurk/stark_machine.rs b/src/core/stark_machine.rs similarity index 100% rename from src/lurk/stark_machine.rs rename to src/core/stark_machine.rs diff --git a/src/lurk/state.rs b/src/core/state.rs similarity index 100% rename from src/lurk/state.rs rename to src/core/state.rs diff --git a/src/lurk/symbol.rs b/src/core/symbol.rs similarity index 100% rename from src/lurk/symbol.rs rename to src/core/symbol.rs diff --git a/src/lurk/syntax.rs b/src/core/syntax.rs similarity index 100% rename from src/lurk/syntax.rs rename to src/core/syntax.rs diff --git a/src/lurk/tag.rs b/src/core/tag.rs similarity index 97% rename from src/lurk/tag.rs rename to src/core/tag.rs index f0ffcbb7..843deca7 100644 --- a/src/lurk/tag.rs +++ b/src/core/tag.rs @@ -58,7 +58,7 @@ impl From for i32 { #[cfg(test)] mod test { - use crate::lurk::tag::Tag; + use crate::core::tag::Tag; use num_traits::FromPrimitive; use p3_baby_bear::BabyBear; use p3_field::PrimeField32; diff --git a/src/lurk/tests/eval_compiled.rs b/src/core/tests/eval_compiled.rs similarity index 99% rename from src/lurk/tests/eval_compiled.rs rename to src/core/tests/eval_compiled.rs index 4b9661d3..9cb3863c 100644 --- a/src/lurk/tests/eval_compiled.rs +++ b/src/core/tests/eval_compiled.rs @@ -6,8 +6,7 @@ use p3_field::AbstractField; use sphinx_core::utils::BabyBearPoseidon2; use crate::{ - lair::{chipset::NoChip, toplevel::Toplevel}, - lurk::{ + core::{ chipset::{lurk_hasher, LurkChip}, error::EvalErr, eval_compiled::build_lurk_toplevel_native, @@ -16,6 +15,7 @@ use crate::{ tag::Tag, zstore::{ZPtr, ZStore}, }, + lair::{chipset::NoChip, toplevel::Toplevel}, }; use super::run_tests; diff --git a/src/lurk/tests/eval_direct.rs b/src/core/tests/eval_direct.rs similarity index 99% rename from src/lurk/tests/eval_direct.rs rename to src/core/tests/eval_direct.rs index bd095d73..468bec6c 100644 --- a/src/lurk/tests/eval_direct.rs +++ b/src/core/tests/eval_direct.rs @@ -6,8 +6,7 @@ use p3_field::AbstractField; use sphinx_core::utils::BabyBearPoseidon2; use crate::{ - lair::{chipset::NoChip, toplevel::Toplevel}, - lurk::{ + core::{ chipset::{lurk_hasher, LurkChip}, error::EvalErr, eval_direct::build_lurk_toplevel_native, @@ -16,6 +15,7 @@ use crate::{ tag::Tag, zstore::{ZPtr, ZStore}, }, + lair::{chipset::NoChip, toplevel::Toplevel}, }; use super::run_tests; diff --git a/src/lurk/tests/eval_ocaml.rs b/src/core/tests/eval_ocaml.rs similarity index 99% rename from src/lurk/tests/eval_ocaml.rs rename to src/core/tests/eval_ocaml.rs index e12dbb54..9c6bdf2e 100644 --- a/src/lurk/tests/eval_ocaml.rs +++ b/src/core/tests/eval_ocaml.rs @@ -3,8 +3,7 @@ use once_cell::sync::OnceCell; use sphinx_core::utils::BabyBearPoseidon2; use crate::{ - lair::{chipset::NoChip, toplevel::Toplevel}, - lurk::{ + core::{ chipset::LurkChip, eval_direct::build_lurk_toplevel_native, parser::Span, @@ -12,6 +11,7 @@ use crate::{ tag::Tag, zstore::{ZPtr, ZStore}, }, + lair::{chipset::NoChip, toplevel::Toplevel}, ocaml::{ compile::{compile_single_file_contents, transform_lambda_program}, parser::syntax::parse_syntax, diff --git a/src/lurk/tests/lang_compiled.rs b/src/core/tests/lang_compiled.rs similarity index 100% rename from src/lurk/tests/lang_compiled.rs rename to src/core/tests/lang_compiled.rs diff --git a/src/lurk/tests/lang_direct.rs b/src/core/tests/lang_direct.rs similarity index 99% rename from src/lurk/tests/lang_direct.rs rename to src/core/tests/lang_direct.rs index 31f3837a..ffcb64c9 100644 --- a/src/lurk/tests/lang_direct.rs +++ b/src/core/tests/lang_direct.rs @@ -8,9 +8,7 @@ use rustc_hash::FxHashSet; use sphinx_core::utils::BabyBearPoseidon2; use crate::{ - func, - lair::{chipset::Chipset, toplevel::Toplevel, Name}, - lurk::{ + core::{ chipset::LurkChip, error::EvalErr, eval_direct::build_lurk_toplevel, @@ -20,6 +18,8 @@ use crate::{ tag::Tag, zstore::{ZPtr, ZStore}, }, + func, + lair::{chipset::Chipset, toplevel::Toplevel, Name}, }; use super::run_tests; diff --git a/src/lurk/tests/mod.rs b/src/core/tests/mod.rs similarity index 99% rename from src/lurk/tests/mod.rs rename to src/core/tests/mod.rs index 33789d63..6b6ead71 100644 --- a/src/lurk/tests/mod.rs +++ b/src/core/tests/mod.rs @@ -10,6 +10,10 @@ use sphinx_core::{stark::StarkMachine, utils::BabyBearPoseidon2}; use crate::{ air::debug::debug_chip_constraints_and_queries_with_sharding, + core::{ + chipset::LurkChip, + zstore::{ZPtr, ZStore}, + }, lair::{ chipset::Chipset, execute::{QueryRecord, Shard, ShardingConfig}, @@ -19,10 +23,6 @@ use crate::{ }, toplevel::Toplevel, }, - lurk::{ - chipset::LurkChip, - zstore::{ZPtr, ZStore}, - }, }; fn run_tests>( diff --git a/src/lurk/tests/ocaml/fib.ml b/src/core/tests/ocaml/fib.ml similarity index 100% rename from src/lurk/tests/ocaml/fib.ml rename to src/core/tests/ocaml/fib.ml diff --git a/src/lurk/u64.rs b/src/core/u64.rs similarity index 99% rename from src/lurk/u64.rs rename to src/core/u64.rs index f1e53964..234b5b4b 100644 --- a/src/lurk/u64.rs +++ b/src/core/u64.rs @@ -229,6 +229,7 @@ mod test { use crate::{ air::debug::debug_chip_constraints_and_queries_with_sharding, + core::chipset::lurk_chip_map_native, func, lair::{ execute::{QueryRecord, Shard}, @@ -236,7 +237,6 @@ mod test { lair_chip::{build_chip_vector, build_lair_chip_vector, LairMachineProgram}, toplevel::Toplevel, }, - lurk::chipset::lurk_chip_map_native, }; #[test] diff --git a/src/lurk/zstore.rs b/src/core/zstore.rs similarity index 99% rename from src/lurk/zstore.rs rename to src/core/zstore.rs index f8371728..2fc574e6 100644 --- a/src/lurk/zstore.rs +++ b/src/core/zstore.rs @@ -10,8 +10,7 @@ use serde::{Deserialize, Serialize}; use std::marker::PhantomData; use crate::{ - lair::{chipset::Chipset, List}, - lurk::{ + core::{ big_num::field_elts_to_biguint, chipset::{lurk_hasher, LurkChip}, error::EvalErr, @@ -21,6 +20,7 @@ use crate::{ syntax::Syntax, tag::Tag, }, + lair::{chipset::Chipset, List}, }; pub(crate) const DIGEST_SIZE: usize = 8; @@ -744,7 +744,10 @@ impl> ZStore { Symbol::new_from_vec(self.fetch_symbol_path(zptr), zptr.tag == Tag::Key) } - pub fn fetch_list<'a>(&'a self, mut zptr: &'a ZPtr) -> (Vec<&ZPtr>, Option<&'a ZPtr>) { + pub fn fetch_list<'a>( + &'a self, + mut zptr: &'a ZPtr, + ) -> (Vec<&'a ZPtr>, Option<&'a ZPtr>) { assert!(zptr.tag == Tag::Cons || zptr == &self.nil); let mut elts = vec![]; while zptr.tag == Tag::Cons { @@ -759,7 +762,7 @@ impl> ZStore { } } - pub fn fetch_env<'a>(&'a self, mut zptr: &'a ZPtr) -> Vec<(&ZPtr, &ZPtr)> + pub fn fetch_env<'a>(&'a self, mut zptr: &'a ZPtr) -> Vec<(&'a ZPtr, &'a ZPtr)> where F: PrimeField32, { @@ -888,8 +891,7 @@ mod test { use p3_field::AbstractField; use crate::{ - lair::execute::QueryRecord, - lurk::{ + core::{ chipset::lurk_hasher, eval_direct::build_lurk_toplevel_native, state::{builtin_sym, user_sym, State}, @@ -897,6 +899,7 @@ mod test { tag::Tag, zstore::lurk_zstore, }, + lair::execute::QueryRecord, }; use super::{into_sized, ZPtr}; diff --git a/src/gadgets/big_num/cmp.rs b/src/gadgets/big_num/cmp.rs index 530a6f36..738c9fa8 100644 --- a/src/gadgets/big_num/cmp.rs +++ b/src/gadgets/big_num/cmp.rs @@ -1,8 +1,8 @@ +use crate::core::zstore::DIGEST_SIZE; use crate::gadgets::bytes::{ByteAirRecord, ByteRecord}; use crate::gadgets::unsigned::cmp::{CompareResult, CompareWitness}; use crate::gadgets::unsigned::field::FieldToWord32; use crate::gadgets::unsigned::WORD32_SIZE; -use crate::lurk::zstore::DIGEST_SIZE; use p3_air::AirBuilder; use p3_field::{AbstractField, PrimeField32}; use sphinx_derive::AlignedBorrow; diff --git a/src/gadgets/bytes/record.rs b/src/gadgets/bytes/record.rs index 7601dd97..382a898a 100644 --- a/src/gadgets/bytes/record.rs +++ b/src/gadgets/bytes/record.rs @@ -109,7 +109,7 @@ impl BytesRecord { /// - Get the records for the index of the byte operation in the ByteChip, or default initialize it. /// - Populate the next available `RequireRecord` using the record we have stored. /// - Update the stored record with the nonce for this access. -impl<'a> ByteRecord for ByteRecordWithContext<'a> { +impl ByteRecord for ByteRecordWithContext<'_> { fn range_check_u8_pair(&mut self, i1: u8, i2: u8) { let input = ByteInput::from_u8_pair(i1, i2); let range_u8 = &mut self.record.get_mut(input).range_u8; diff --git a/src/gadgets/debug.rs b/src/gadgets/debug.rs index 69ffcfd7..e93e7440 100644 --- a/src/gadgets/debug.rs +++ b/src/gadgets/debug.rs @@ -144,13 +144,13 @@ pub struct ByteAirRecordPassingTester<'a, F: Field> { record: &'a mut ByteRecordTester, } -impl<'a, F: Field> Drop for ByteAirRecordPassingTester<'a, F> { +impl Drop for ByteAirRecordPassingTester<'_, F> { fn drop(&mut self) { assert_eq!(self.num_requires, 0); } } -impl<'a, F: Field> ByteAirRecordPassingTester<'a, F> { +impl ByteAirRecordPassingTester<'_, F> { fn push_air_event(&mut self, relation: ByteRelation, is_real: impl Into) { self.num_requires -= 1; let is_real = is_real.into(); @@ -167,7 +167,7 @@ impl<'a, F: Field> ByteAirRecordPassingTester<'a, F> { } } -impl<'a, F: Field> ByteAirRecord for ByteAirRecordPassingTester<'a, F> { +impl ByteAirRecord for ByteAirRecordPassingTester<'_, F> { fn range_check_u8_pair(&mut self, i1: impl Into, i2: impl Into, is_real: impl Into) { self.push_air_event(ByteRelation::range_u8_pair(i1, i2), is_real); } diff --git a/src/lair/air.rs b/src/lair/air.rs index c443b24b..044ebdf8 100644 --- a/src/lair/air.rs +++ b/src/lair/air.rs @@ -130,7 +130,7 @@ fn eval_depth( out.extend(dep_depth.iter().cloned()); } -impl<'a, AB, C1: Chipset, C2: Chipset> Air for FuncChip<'a, AB::F, C1, C2> +impl, C2: Chipset> Air for FuncChip<'_, AB::F, C1, C2> where AB: AirBuilder + LookupBuilder, ::Var: Debug, diff --git a/src/lair/execute.rs b/src/lair/execute.rs index fef48ceb..6674f003 100644 --- a/src/lair/execute.rs +++ b/src/lair/execute.rs @@ -123,13 +123,13 @@ impl<'a, F: PrimeField32> Shard<'a, F> { } } -impl<'a, F: PrimeField32> Indexed for Shard<'a, F> { +impl Indexed for Shard<'_, F> { fn index(&self) -> u32 { self.index } } -impl<'a, F: PrimeField32> MachineRecord for Shard<'a, F> { +impl MachineRecord for Shard<'_, F> { type Config = ShardingConfig; fn set_index(&mut self, index: u32) { diff --git a/src/lair/func_chip.rs b/src/lair/func_chip.rs index 9b000215..29aabe9a 100644 --- a/src/lair/func_chip.rs +++ b/src/lair/func_chip.rs @@ -79,7 +79,7 @@ impl<'a, F, C1: Chipset, C2: Chipset> FuncChip<'a, F, C1, C2> { } } -impl<'a, F: Sync, C1: Chipset, C2: Chipset> BaseAir for FuncChip<'a, F, C1, C2> { +impl, C2: Chipset> BaseAir for FuncChip<'_, F, C1, C2> { fn width(&self) -> usize { self.width() } diff --git a/src/lair/lair_chip.rs b/src/lair/lair_chip.rs index 9f6b79b6..24e768b2 100644 --- a/src/lair/lair_chip.rs +++ b/src/lair/lair_chip.rs @@ -29,7 +29,7 @@ pub enum LairChip<'a, F, C1: Chipset, C2: Chipset> { }, } -impl<'a, F, C1: Chipset, C2: Chipset> LairChip<'a, F, C1, C2> { +impl, C2: Chipset> LairChip<'_, F, C1, C2> { #[inline] pub fn entrypoint(func: &Func) -> Self { let partial = if func.partial { DEPTH_W } else { 0 }; @@ -55,7 +55,7 @@ impl<'a, F: PrimeField32, C1: Chipset, C2: Chipset> EventLens, C2: Chipset> BaseAir for LairChip<'a, F, C1, C2> { +impl, C2: Chipset> BaseAir for LairChip<'_, F, C1, C2> { fn width(&self) -> usize { match self { Self::Func(func_chip) => func_chip.width(), @@ -153,7 +153,7 @@ impl<'a, F: PrimeField32, C1: Chipset, C2: Chipset> MachineAir } } -impl<'a, AB, C1: Chipset, C2: Chipset> Air for LairChip<'a, AB::F, C1, C2> +impl, C2: Chipset> Air for LairChip<'_, AB::F, C1, C2> where AB: AirBuilderWithPublicValues + LookupBuilder + PairBuilder, ::Var: std::fmt::Debug, diff --git a/src/lair/toplevel.rs b/src/lair/toplevel.rs index 29256f83..c826d5f1 100644 --- a/src/lair/toplevel.rs +++ b/src/lair/toplevel.rs @@ -178,7 +178,7 @@ struct LinkCtx<'a, C1, C2> { chip_map: &'a FxIndexMap>, } -impl<'a, C1, C2> CheckCtx<'a, C1, C2> { +impl CheckCtx<'_, C1, C2> { fn save_state(&mut self) -> BindMap { self.bind_map.clone() } @@ -196,7 +196,7 @@ impl ExpandCtx { } } -impl<'a, C1, C2> LinkCtx<'a, C1, C2> { +impl LinkCtx<'_, C1, C2> { fn save_state(&mut self) -> (usize, LinkMap) { (self.var_index, self.link_map.clone()) } diff --git a/src/lair/trace.rs b/src/lair/trace.rs index 2cbf14b2..cd16f80e 100644 --- a/src/lair/trace.rs +++ b/src/lair/trace.rs @@ -69,7 +69,7 @@ impl<'a, T> ColumnMutSlice<'a, T> { } } -impl<'a, F: PrimeField32, C1: Chipset, C2: Chipset> FuncChip<'a, F, C1, C2> { +impl, C2: Chipset> FuncChip<'_, F, C1, C2> { /// Per-row parallel trace generation pub fn generate_trace(&self, shard: &Shard<'_, F>) -> RowMajorMatrix { let func_queries = &shard.queries().func_queries()[self.func.index]; diff --git a/src/lib.rs b/src/lib.rs index 6288eeaa..4cd56765 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,8 +5,8 @@ pub mod lair; // #[allow(dead_code)] // pub mod logup; +pub mod core; pub mod gadgets; pub mod loam; -pub mod lurk; pub mod ocaml; pub mod poseidon; diff --git a/src/loam/allocation.rs b/src/loam/allocation.rs index 71aafea5..41bf3f9c 100644 --- a/src/loam/allocation.rs +++ b/src/loam/allocation.rs @@ -11,11 +11,11 @@ use rustc_hash::FxHashMap; use crate::loam::memory::{Memory, VPtr, VirtualMemory}; use crate::loam::{LEWrap, Ptr, Wide, WidePtr, LE}; -use crate::lurk::chipset::{lurk_hasher, LurkHasher}; -use crate::lurk::tag::Tag; -use crate::lurk::zstore::{DIGEST_SIZE, HASH3_SIZE, HASH4_SIZE, HASH5_SIZE}; +use crate::core::chipset::{lurk_hasher, LurkHasher}; +use crate::core::tag::Tag; +use crate::core::zstore::{DIGEST_SIZE, HASH3_SIZE, HASH4_SIZE, HASH5_SIZE}; -use crate::lurk::{ +use crate::core::{ chipset::LurkChip, zstore::{ZPtr, ZStore}, }; @@ -561,11 +561,11 @@ mod test { use p3_baby_bear::BabyBear; use crate::{ - loam::memory::{DistillationOptions, PPtr, Store}, - lurk::{ + core::{ chipset::LurkChip, zstore::{lurk_zstore, ZPtr, ZStore}, }, + loam::memory::{DistillationOptions, PPtr, Store}, }; use super::*; diff --git a/src/loam/distilled_evaluation.rs b/src/loam/distilled_evaluation.rs index 61b8ac96..c9daf299 100644 --- a/src/loam/distilled_evaluation.rs +++ b/src/loam/distilled_evaluation.rs @@ -5,13 +5,13 @@ use num_traits::FromPrimitive; use p3_baby_bear::BabyBear; +use crate::core::chipset::LurkChip; +use crate::core::state::BUILTIN_SYMBOLS; +use crate::core::tag::Tag; +use crate::core::zstore::{builtin_set, lurk_zstore, ZPtr}; use crate::loam::lurk_sym_index; use crate::loam::memory::{initial_tag_relation, Memory}; use crate::loam::{LEWrap, LoamProgram, Num, Ptr, PtrEq, Wide, WidePtr, LE}; -use crate::lurk::chipset::LurkChip; -use crate::lurk::state::BUILTIN_SYMBOLS; -use crate::lurk::tag::Tag; -use crate::lurk::zstore::{builtin_set, lurk_zstore, ZPtr}; use p3_field::{AbstractField, Field, PrimeField32}; @@ -1018,15 +1018,15 @@ mod test { use p3_baby_bear::BabyBear; use crate::{ + core::{ + chipset::LurkChip, + zstore::{lurk_zstore, ZPtr, ZStore}, + }, loam::{ evaluation::EvaluationProgram, memory::{generate_lisp_program, DistillationOptions}, LoamProgram, }, - lurk::{ - chipset::LurkChip, - zstore::{lurk_zstore, ZPtr, ZStore}, - }, }; use super::*; diff --git a/src/loam/evaluation.rs b/src/loam/evaluation.rs index 87d6d5a1..d7e8ccf7 100644 --- a/src/loam/evaluation.rs +++ b/src/loam/evaluation.rs @@ -7,6 +7,10 @@ use p3_baby_bear::BabyBear; use rustc_hash::FxHashMap; use strum::EnumCount; +use crate::core::chipset::LurkChip; +use crate::core::state::BUILTIN_SYMBOLS; +use crate::core::tag::Tag; +use crate::core::zstore::{builtin_set, lurk_zstore, ZPtr, ZStore}; use crate::loam::allocation::Allocator; use crate::loam::lurk_sym_index; use crate::loam::memory::{ @@ -14,10 +18,6 @@ use crate::loam::memory::{ initial_symbol_relation, initial_tag_relation, Memory, VPtr, VirtualMemory, }; use crate::loam::{LEWrap, LoamProgram, Num, Ptr, PtrEq, Wide, WidePtr, LE}; -use crate::lurk::chipset::LurkChip; -use crate::lurk::state::BUILTIN_SYMBOLS; -use crate::lurk::tag::Tag; -use crate::lurk::zstore::{builtin_set, lurk_zstore, ZPtr, ZStore}; use p3_field::{AbstractField, Field, PrimeField32}; @@ -1220,8 +1220,8 @@ mod test { use p3_baby_bear::BabyBear; use super::*; - use crate::lurk::chipset::LurkChip; - use crate::lurk::zstore::{self, ZPtr}; + use crate::core::chipset::LurkChip; + use crate::core::zstore::{self, ZPtr}; fn err() -> WidePtr { WidePtr(Tag::Err.value(), Wide::widen(LE::from_canonical_u32(0))) diff --git a/src/loam/memory.rs b/src/loam/memory.rs index e63df01a..36d6250e 100644 --- a/src/loam/memory.rs +++ b/src/loam/memory.rs @@ -6,14 +6,14 @@ use p3_field::{AbstractField, PrimeField32}; use rustc_hash::{FxHashMap, FxHashSet}; use crate::{ - loam::{allocation::Allocator, LEWrap, Num, Ptr, PtrEq, Wide, WidePtr, LE}, - lurk::{ + core::{ chipset::LurkChip, error::EvalErr, state::{StateRcCell, BUILTIN_SYMBOLS}, tag::Tag, zstore::{self, builtin_set, lurk_zstore, ZPtr, ZStore}, }, + loam::{allocation::Allocator, LEWrap, Num, Ptr, PtrEq, Wide, WidePtr, LE}, }; #[derive(Clone, Debug, Default, PartialEq, Eq)] diff --git a/src/loam/mod.rs b/src/loam/mod.rs index c2827f4b..47add15f 100644 --- a/src/loam/mod.rs +++ b/src/loam/mod.rs @@ -10,10 +10,10 @@ use p3_baby_bear::BabyBear; use p3_field::{AbstractField, PrimeField32}; use rustc_hash::FxHashMap; -use crate::lurk::chipset::LurkChip; -use crate::lurk::state::BUILTIN_SYMBOLS; -use crate::lurk::tag::Tag; -use crate::lurk::zstore::{self, lurk_zstore, ZPtr, ZStore}; +use crate::core::chipset::LurkChip; +use crate::core::state::BUILTIN_SYMBOLS; +use crate::core::tag::Tag; +use crate::core::zstore::{self, lurk_zstore, ZPtr, ZStore}; mod allocation; mod distilled_evaluation; diff --git a/src/main.rs b/src/main.rs index 28763fc5..376ee1d2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,5 +6,5 @@ fn main() -> Result<()> { env!("VERGEN_GIT_COMMIT_DATE"), env!("VERGEN_GIT_SHA") ); - loam::lurk::cli::run() + lurk::core::cli::run() } diff --git a/src/ocaml/compile.rs b/src/ocaml/compile.rs index 22b74808..52c4d52b 100644 --- a/src/ocaml/compile.rs +++ b/src/ocaml/compile.rs @@ -7,12 +7,12 @@ use p3_field::Field; use tempfile::tempdir; use crate::{ - lair::chipset::Chipset, - lurk::{ + core::{ parser::Span, state::{builtin_sym, user_sym, StateRcCell, BUILTIN_SYMBOLS}, zstore::{ZPtr, ZStore}, }, + lair::chipset::Chipset, ocaml::parser::syntax::parse_syntax, }; diff --git a/src/ocaml/parser/syntax.rs b/src/ocaml/parser/syntax.rs index 5c44f254..e5f613d5 100644 --- a/src/ocaml/parser/syntax.rs +++ b/src/ocaml/parser/syntax.rs @@ -9,7 +9,7 @@ use nom::{ }; use crate::{ - lurk::parser::{ + core::parser::{ base, error::{ParseError, ParseErrorKind}, position::Pos, diff --git a/src/ocaml/syntax.rs b/src/ocaml/syntax.rs index 1c3e40b4..d8c164fc 100644 --- a/src/ocaml/syntax.rs +++ b/src/ocaml/syntax.rs @@ -1,4 +1,4 @@ -use crate::lurk::parser::position::Pos; +use crate::core::parser::position::Pos; /// OCaml's Lambda IR after parsing #[derive(Clone, Debug, PartialEq)] diff --git a/tests/fib.rs b/tests/fib.rs index 0847222c..710d6e6c 100644 --- a/tests/fib.rs +++ b/tests/fib.rs @@ -11,7 +11,11 @@ use sphinx_core::{ }; use std::time::Instant; -use loam::{ +use lurk::{ + core::{ + eval_direct::build_lurk_toplevel_native, + zstore::{lurk_zstore, ZPtr}, + }, lair::{ chipset::{Chipset, NoChip}, execute::{QueryRecord, Shard}, @@ -20,10 +24,6 @@ use loam::{ toplevel::Toplevel, List, }, - lurk::{ - eval_direct::build_lurk_toplevel_native, - zstore::{lurk_zstore, ZPtr}, - }, }; const DEFAULT_FIB_ARG: usize = 500;