forked from argumentcomputer/lurk-beta
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix license #1
Merged
Merged
Fix license #1
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Removed `AppSettings` and `AppSettings::DeriveDisplayOrder` from `fcomm.rs`, cleaning up unused imports. See https://github.com/clap-rs/clap/blob/a3d93f485f0178f13fabedc55664071778d3f1d9/CHANGELOG.md?plain=1#L731 - Upgraded 'clap' package in `Cargo.toml` to align with the workspace version. - Updated 'clap-verbosity-flag' package from '1.0' to '2.0',
- Propagate 'portable', 'cuda' and 'opencl' features in 'bellperson' and 'nova'.
* fixed with custom parser * add a test case * fix test * why is CI so finnicky
* refactor: Refactor match statements for duplicate arms - Consolidated redundant match arms in several files to streamline the code - Introduced project-wide clippy lint `match_same_arms` in the `.cargo/config` file. * feat: Refactor enum conversion using `TryFromRepr` macro - Implemented use of `TryFromRepr` macro for enum type conversion instead of custom `TryFrom<u16>` in `tag.rs`. - Implemented `proc_macro_derive(TryFromRepr)` for automatic deriving of `TryFrom<foo>` for enum type T with `#[repr(foo)]`. * fix: revert & except change to HashName impls
* Reorganize CI to minimize unneeded jobs * Add back arm64 in matrix job
…omputer#612) - Activated the `ci_ignored.yml` workflow on the master branch's push event.
* initial draft * WIP * second version * first draft for import * fix Package and import * remove TODO * use Rc for symbols hashmap; add docstrings * lurk package and package manager * SymbolRef for efficiency * WIP printing * implement format * initiating the default package manager * start formalizing the state * fix printing * general printing behavior works! * sequential interning * progress on syntax * plumbing the state * killing lurk_sym * more progress * mutability dillema * solve mutability issue * clippy works * update intern_symbol * add Syntax::RelPath * fix interning of relative paths * checkpoint * more test fixes * some fixes on syntax tests * more fixes * more syntax tests fixes * write with state * fix dumb lang test * small optimizations * more simplifications * fix raw sym/key parsing * some parsing/syntax optimizations * restructure native packages structure, including the .lurk.meta package * intern the head of meta commands in the .lurk.meta package * plumbing for meta commands * first versions of some meta commands to handle packages * undo stateful interning * state mutability plumbing * WIP * more progress * recover syntax interning roundtrip proptest * fix import * recover syntax write-read roundtrip tests * all tests are passing? * parser optimizations * fix fcomm output * fmt * xclippy * fix proof key * uncomment test * use a package in the trie coprocessor and beefup the install function * small adjustments * some review suggestions * some review suggestions * lurk_sym_ptr macro * document state.rs * rename State::mutable to State::rccell
) * refactor: Standardize linting rules - Removed split linting warnings across multiple files, removing clippy::too_many_arguments allowances - Modified the clippy lint settings, denying previously allowed lints, and used config to enforce prior behavior * chore: Error on clippy::cast_lossless This fires when there is a guaranteed lossless type conversion that could replace a cast. * refactor: Add and fix rust_2018_idioms lint - Corrected lifetime specifications in `BenchmarkGroup` for all benchmarking functions in `fibonacci.rs` and `synthesis.rs`. - Added `-Wrust_2018_idioms` lint to the `xclippy` alias in the `.cargo` config, and removed thenredundant `rust_2018_idioms` from the deny lint attributes in the library root. * refactor: derive `Eq` trait across various structs and types + enforce this with cargo - Adds the `Eq` trait to derive macros a series of data structures across multiple files, - Strictened linting rules by implementing a new clippy lint check for unpaired `PartialEq` and `Eq` derivations, * chore: reject large types passed by value - Lint is designed to identify and flag instances of large types being passed by value * chore: Add a couple of (respected) lints - Incorporates lint checks for specific behaviors including needless borrows, misuse of ok_or, and unused lifetimes. chore: set up checked conversions lint * chore: set up inefficient_to_string lint - Implement an update to the `to_string()` function usage in `init_lurk_state` for efficiency. - Modify the creation of hex strings in `parse_unicode` for efficiency. - Include `inefficient_to_string` lint checker * refactor: refactor and set up Option / Result iteration lints - Enhanced Rust's Clippy linting capabilities by adding four new lints: `filter_map_next`, `flat_map_option`, `map_flatten`, and `map_unwrap_or` in `.cargo/config` file.
* chore: setup dependencies on dev forks * chore: Adapt to upstream bellpepper & nova * Unsafe Serialization for Faster Public Parameter Caching (argumentcomputer#474) * checkpoint3 * fix missing args, todo unhack later * add timing features, mmap attempt * fix * attempt to use closures * attempt to use closures * utlra fast param decoding * match APIs, bugfix * cargo fmt * add a Clone * refactor: Enhance error handling in `get_with_timing` method - Refactored `get_with_timing` method in `src/public_parameters/file_map.rs` for more streamlined functionality * chore: clippy --------- Co-authored-by: Hanting Zhang <hantingz@usc.edu> * Witness generation (ICFP benchmarks, on dev) (argumentcomputer#478) * Use neptune witness-generation. * Add itcalc example. * fix: adapt end2end benchmark & associated files * Refactor version handling and vergen version - Overhauled the method of obtaining commit date and short sha across files by replacing module functions with environment variables. - Upgraded the `vergen` dependency from version `0.1` to `8` in `Cargo.toml` and imported limited features. * fix: restore test_prove_fibonacci * test: refactor mismatch test utility * chore:cleanup --------- Co-authored-by: porcuquine <porcuquine@users.noreply.github.com> * Switch to arecibo * chore: Switch to lurk-lab fork of abomonation_derive * chore: remove the Cargo.lock The "rolling release" model based on the dev forks will make it hard for us to update with a checked-in Cargo.lock https://doc.rust-lang.org/cargo/faq.html#why-do-binaries-have-cargolock-in-version-control-but-not-libraries --------- Co-authored-by: François Garillot <francois@garillot.net> Co-authored-by: François Garillot <4142+huitseeker@users.noreply.github.com> Co-authored-by: Hanting Zhang <hantingz@usc.edu> Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
* Implement div * add Op::Lt * fix Op::Div parameters * Progress on u64 * `Op::Lt` finished * slot allocation for is_diff_neg * slot allocation for hide/open * Implement enforce_u64 * `enforce_u64` -> `implies_u64` * Fixed `implies_u64` * Progress on eval * Added equality operator * Fixed div namespace issue * rename debug display function * `Add` and `Sub` for u64 finished * Fixed tests * More progress on eval * Eval finished! * `div_rem` fixed * fix nil instantiation in the step function * slight code improvements * suggested renamings * error when dividing by zero; adding capacity to vector of bits * Op::Commit -> Op::Hide * Tree -> Tuple * Less confusing comment and numbers * fix comm * bitwise_and -> truncate, to_bits_le -> to_bits_le_strict * Simplified `Trunc` * Added assertions around `Trunc` * Include implie_u64 proptest * Rename unit tests * remove cargo lock * Rename linear to enforce_product_and_sum * code suggestions * Fmt * fmt * inline always -> inline * Add docstring to implies_u64 * Review docstrings * Remove obsolete test --------- Co-authored-by: emmorais <eduardo.morais@gmail.com> Co-authored-by: Arthur Paulino <arthurleonardo.ap@gmail.com>
…gumentcomputer#626) - Updated code comments in `src/proof/nova.rs` to clearly state that `SS1<F>` and `SS2<F>` do not utilize computational commitments - Enhanced `public_params` function with two new parameters: `commitment_size_hint1` and `commitment_size_hint2`, aligning the setup of `nova::PublicParams` with argumentcomputer/arecibo#5
* refactor: avoid manual reimplementation of assert macros - Implemented project-wide clippy lint `manual_assert` for improved code quality checks. - Enhanced error feedback in `is_unique` function through replacement of panic call with assert. - Improved error handling in "assert-emitted" clause of `repl.rs`, replacing panic statement with assert macro. - Streamlined output in "handle_meta" function by removing unnecessary newline. * ci: Remove upstream update Github workflow - Deleted the `upstream_update.yml` workflow from the Github workflows
* Rebase * First circom-sha256 co-proc, bad performance * rebase to new branch, add artifacts for now * add circom to CLI * delete artifacts, API to load circom configs * remove wtns artifact * cargo fmt * new API, everything works!! * cargo fmt * more comments * improve binary download/setup logic and better err * cleanup validation code * try updated circom-scotia * tokio limit to rt * fix * seal circom api to non_wasm * more non_wasm * fix * allow unused variable * add lots of documentation * add sha256 for example * fix CI and fmt * remove tokio * no errors whew * integrate current LURK_DIR workflow * remove non-wasm modules * cargo fmt * docs * wasm fix * remove sha256 * avoid wasm again i guess * fix imports * cargo fmt * Move the docs * cargo fmt * apply suggestions * implicitly get field info * setup ci test * fix ci * fix again * cargo fmt * try manual paths in ci * try again * again * fix and licenses * fix and remove ci * fix again * update to crates.io dep * try ci again * undo ci * apply suggestions * bump bellpepper * lurk_field, set_lurk_dirs fix * cargo fmt * make example simpler * typos and nits * bump circom-scotia * fix * circom-scotia to dev --------- Co-authored-by: emmorais <eduardo.morais@gmail.com>
* WIP Match optimization Still need to fix the default case for matches. It is currently underconstrained * Optimized `IfEq` * Added the proper constrains to `IfEq` * Added the proper constraints to MatchVal/MatchTag * Better default case * test: Enhance test coverage for new implications - Revised the testing functions within the `constraints.rs` file to simplify functionality.. - Introduced new testing functions, `test_implies_equal_const`, `test_implies_unequal`, `test_implies_unequal_const`, and `test_implies_equal_const`. --------- Co-authored-by: François Garillot <francois@garillot.net>
* fix printing for keywords * bump msrv and rust toolchain
* chore: remove uneeded Phantom for prover * chore: formatting * refactor: Refactor CircuitFrame and MultiFrame, remove uneeded genericity Removed unused generic parameters in MultiFrame * refactor: simplify circuit frame calculations and vector resizing - Simplified calculation logic for `MultiFrame` instances in `circuit_frame.rs` - Optimized vector resizing using `Vec::resize` resulting in improved performance and code readability * refactor: Refactor hash computations in circuit_frame.rs - Introduced variables `next_expr_hash`, `next_env_hash`, and `next_cont_hash` to store the results of these hash computations, circumventing the need to repeat identical computations.
…ng (argumentcomputer#627) * initial commit * attempt to remove log * chore: Refactor logging remnants to tracing - Removed `log` as a workspace dependency and replaced it with `tracing` throughout the project, - Updated clippy linting configuration in `.cargo/config`. - Adapted from `log` crate's `info` module to `tracing` crate's `info` module in `lurk-metrics/src/data.rs` * chore: clippy * fix: adjust test_basic_functionality * chore: fmt * cargo fmt * remove pretty_env_logger * deduplicate sha test * remove dbg! * add env_filter to restore old behavior * cargo fmt * address comments * clippy --------- Co-authored-by: François Garillot <francois@garillot.net>
* fix hashing of symbols * add test for the correctness of hashing symbols
* --wip-- * --wip-- * --wip-- * add small code example, make bits match * example and bench * add benchmarks * cargo fmt * cargo fmt * add comments * move to tracing * cargo fmt :( * put more emphasis on batch sizes * batch_size from arity -> iterations * cargo fmt --------- Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rgumentcomputer#652) - Added `Debug` derivation to multiple structures and enums across various files, improving debugging capabilities and error reporting. - see [C-COMMON-TRAITS](https://rust-lang.github.io/api-guidelines/interoperability.html#types-eagerly-implement-common-traits-c-common-traits) - No functional or logical changes made to the code. The changes are purely for debugging and error-reporting enhancement.
) - Removed the unnecessary `sppark` crate from the patch section in the project's Cargo.toml file Fixes argumentcomputer#272
…ter#651) - Refactored `Ptr` struct into a generic `GPtr` struct, introducing type parameter `T` and associating it with `Tag` interface. - Created `Ptr` and `ContPtr` types derived from `GPtr`. - Transferred pertinent predicate methods such as `is_nil`, `is_cons`, `is_atom`, `is_list`, `as_cons`, `as_list` to the new `GPtr<F, ExprTag>` implementation. - Transferred `ContPtr` struct and corresponding methods to `GPtr<F, ContTag>`. - No modifications made to `ExprTag` and associated enum elements in `tag.rs`. - Added `std::hash::Hash` trait to `Tag` interface in `tag.rs`.
…ter#649) * refactor: Refactor error handling to assume infallibility of alloc in some conditions - Removed uneeded `Result` wrapping from various functions and methods across several files, making them infallible and changing the error handling approach. - Materialize that certain closures, such as the ones passed in `AllocatedNum::alloc`, are infallible, - Improved code readability by eliminating unnecessary question marks and unwrapping of Results in various function calls and test cases. - Modified various methods to return their results directly instead of wrapping them in a `Result` type, simplifying error handling. - Adapted the corresponding function call sites and test cases according to the changes in return types. * refactor: rebase on latest bellpepper - Updated function usage in `data.rs` and `constraints.rs`, replacing `alloc` with `alloc_infallible` for better error handling in symbolic expression and operator allocation.
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
* add help command to repl * add help command to META_PACKAGE_SYMBOLS_NAMES * chore: cargo fmt * move meta commands in sub-module * Apply suggestions from code review Co-authored-by: Arthur Paulino <arthurleonardo.ap@gmail.com> * remove redundant comments and strings * cargo fmt * xclippy suggestions --------- Co-authored-by: François Garillot <francois@garillot.net> Co-authored-by: Arthur Paulino <arthurleonardo.ap@gmail.com>
* Implement NIVC Coprocessors. * simplify Lang internals (argumentcomputer#678) * sha256 nivc test + fix some arecibo API calls --------- Co-authored-by: porcuquine <porcuquine@users.noreply.github.com> Co-authored-by: Arthur Paulino <arthurleonardo.ap@gmail.com>
* Removed unnecessary functions in lem/circuit.rs * Removed unnecessary mutable borrows and annotations * Better namespaces * `alloc_infallible`
…ntcomputer#660) * refactor: Enhance error handling and messaging across modules - Enhanced clarity and detail of error messages in multiple modules (`clutch/src/lib.rs`, `fcomm/src/lib.rs`, `src/z_data/z_ptr.rs`, and `src/public_parameters/mem_cache.rs`). - This includes displaying previously-silenced specific errors in proof key generation, expression/environment reading, base32 decoding, and disk write errors in the public parameters module. * fix: inline format arguments (clippy) * chore: remove uneeded lifetimes * fix: Remove unecessary panic - Enhanced error handling in `verify` function within `clutch/src/lib.rs` to improve program stability. * refactor: Refactor code while reading LEM - Updated import specifications across numerous files for clarity:, these include changes to `backend.rs`, `circuit.rs`, `path.rs`, `eval.rs`, `macros.rs`, and `pointers.rs`. - Modified and refactored code for improved error handling, examples include changes to `interpreter.rs`, `mod.rs`, `var_map.rs`, `writer.rs`, `store.rs`. - Included implementation of Debug traits in `var_map.rs` and `zstore.rs`. - Enhanced handling of invalid u16 values in `Tag` implementation - Implemented several lint checks in `.cargo/config` to ensure code quality. - Refined match syntax in the `num_paths_taken` method on `path.rs` and `fetch_symbol_path`, `read_maybe_meta`, `hash_ptr` on `store.rs` for better performance and error handling. * chore: clippy
…uter#690) That PR was on auto-merge.
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
* Added Boolean types to the interpreter * Boolean operators and general if statement * Added `AllocatedVal` * Added Booleans to the circuit * WIP fixing eval and circuit * Removed `IfEq`, replaced with `If`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.