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

chore: Pull out aztec macros to their own crate and create an API for them in the compiler frontend #3578

Merged
merged 21 commits into from
Nov 28, 2023

Conversation

kevaundray
Copy link
Contributor

Description

This PR creates an API for macros to modify the AST before and after type checking. The aztec macro is pulled out into its own crate and is now feature flagged on the noirc_driver.

Problem*

Resolves

Summary*

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@kevaundray kevaundray changed the title chore: Pull out aztec_macro to its own crate chore: Pull out aztec macros to their own crate and create an API for them in the compiler frontend Nov 26, 2023
@kevaundray
Copy link
Contributor Author

Since we have pulled out the aztec macros code into a separate crate which always compiles, we can remove the yml workflow Build with aztec feature flag

@kevaundray kevaundray marked this pull request as ready for review November 26, 2023 19:09
aztec_macros/src/lib.rs Outdated Show resolved Hide resolved
@kevaundray kevaundray added this pull request to the merge queue Nov 28, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 28, 2023
@kevaundray kevaundray enabled auto-merge November 28, 2023 01:38
@kevaundray kevaundray added this pull request to the merge queue Nov 28, 2023
Merged via the queue into master with commit ae56683 Nov 28, 2023
33 checks passed
@kevaundray kevaundray deleted the kw/create-api-for-macros branch November 28, 2023 02:48
TomAFrench added a commit that referenced this pull request Nov 28, 2023
* master: (65 commits)
  chore: nargo fmt (#3612)
  fix: Flatten public inputs according to their index in numerial rather than ascii order (#3605)
  chore(docs): correct typo in `poseidon_hash` example in standard_library (#3608)
  feat: aztec-packages (#3599)
  chore: update code formatting to prevent parameter line wrapping (#3588)
  chore: Update ACIR artifacts (#3597)
  chore: Pull out aztec macros to their own crate and create an API for them in the compiler frontend (#3578)
  chore(ci): deduplicate javascript testing workflows (#3563)
  chore: Release Noir(0.19.4) (#3548)
  chore: update barretenberg to 0.16.0 (#3598)
  chore: move suite of test programs up to repository root (#3485)
  feat: send and receive unflattened public inputs to backend (#3543)
  feat: remove type arrays for flat slices (#3466)
  chore: clippy fix (#3561)
  chore: fix wrapping issue for constraints (#3590)
  feat: add support for tuple values in `noir_codegen` (#3592)
  chore: Remove concept of storage slot from the compiler (#3582)
  chore: Update ACIR artifacts (#3591)
  feat: export `CompiledCircuit` from codegened TS (#3589)
  fix: use 128 bits for constant bit shift (#3586)
  ...
TomAFrench added a commit that referenced this pull request Nov 28, 2023
* master: (47 commits)
  chore(docs): Links to Aztec docs from errors (#3423)
  chore: nargo fmt (#3612)
  fix: Flatten public inputs according to their index in numerial rather than ascii order (#3605)
  chore(docs): correct typo in `poseidon_hash` example in standard_library (#3608)
  feat: aztec-packages (#3599)
  chore: update code formatting to prevent parameter line wrapping (#3588)
  chore: Update ACIR artifacts (#3597)
  chore: Pull out aztec macros to their own crate and create an API for them in the compiler frontend (#3578)
  chore(ci): deduplicate javascript testing workflows (#3563)
  chore: Release Noir(0.19.4) (#3548)
  chore: update barretenberg to 0.16.0 (#3598)
  chore: move suite of test programs up to repository root (#3485)
  feat: send and receive unflattened public inputs to backend (#3543)
  feat: remove type arrays for flat slices (#3466)
  chore: clippy fix (#3561)
  chore: fix wrapping issue for constraints (#3590)
  feat: add support for tuple values in `noir_codegen` (#3592)
  chore: Remove concept of storage slot from the compiler (#3582)
  chore: Update ACIR artifacts (#3591)
  feat: export `CompiledCircuit` from codegened TS (#3589)
  ...
github-merge-queue bot pushed a commit that referenced this pull request Dec 12, 2023
# Description

This is a followup to #3578 where
we move the feature flag from compile time to runtime producing a single
binary.

EDIT: This was initially was meant to change it to runtime flag, but
there was quite a lot of effort to make this work. We can introduce an
environment variable in the future to turn off all macros if this turn
out to be a problem

## Problem\*

Resolves <!-- Link to GitHub Issue -->

## Summary\*



## Additional Context



## Documentation\*

Check one:
- [ ] No documentation needed.
- [ ] Documentation included in this PR.
- [ ] **[Exceptional Case]** Documentation to be submitted in a separate
PR.

# PR Checklist\*

- [ ] I have tested the changes locally.
- [ ] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.

---------

Co-authored-by: Tom French <[email protected]>
Co-authored-by: Tom French <[email protected]>
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.

3 participants