Skip to content
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

Better use of generics #97

Merged
merged 1 commit into from
Jan 14, 2024
Merged

Better use of generics #97

merged 1 commit into from
Jan 14, 2024

Conversation

dlubarov
Copy link
Collaborator

This addresses some limitations that were getting in the way of finishing the prover.

  • Removes FE from Machine - it's not really inherent to the machine, and we have it in StarkConfig.
  • Give Instruction a F: Field generic, so we can have instructions which only support certain fields.
  • Give Chip a SC: StarkConfig generic, so we can have chips which only support certain fields etc. (I think ideally it would be F: Field as above rather than SC: StarkConfig, but Rust doesn't support bounds like Chip<...>: for<'a> for<SC> Air<ConstraintFolder<'a, M, SC>>.)

This addresses some limitations that were getting in the way of finishing the prover.

- Removes `FE` from `Machine` - it's not really inherent to the machine, and we have it in `StarkConfig`.
- Give `Instruction` a `F: Field` generic, so we can have instructions which only support certain fields.
- Give `Chip` a `SC: StarkConfig` generic, so we can have chips which only support certain fields etc. (I think ideally it would be `F: Field` as above rather than `SC: StarkConfig`, but Rust doesn't support bounds like `Chip<...>: for<'a> for<SC> Air<ConstraintFolder<'a, M, SC>>`.)
@dlubarov dlubarov requested a review from maxgillett January 14, 2024 05:28
@dlubarov dlubarov merged commit 9a58428 into main Jan 14, 2024
2 checks passed
@dlubarov dlubarov deleted the more_stark_config_2 branch January 14, 2024 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants