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

Explainer about writing circuits #169

Open
mitschabaude opened this issue Nov 28, 2022 · 0 comments
Open

Explainer about writing circuits #169

mitschabaude opened this issue Nov 28, 2022 · 0 comments
Assignees
Labels

Comments

@mitschabaude
Copy link
Contributor

mitschabaude commented Nov 28, 2022

Why?

The most consistent feedback item that I got from the builder's program was that the docs should have more complex examples, and specifically: examples for writing complex circuits.
It's true: all the actual circuits used in our docs are extremely simple. We don't currently teach users about any of the subtleties involved in writing circuits, at all. So, this issue is intended to mitigate that gap -- give users at least one detailed example of writing a complex circuit, and explain many of the subtleties along the way.

How?

This should be written in the form of an explainer, not a tutorial. That means, we don't give the user a step-by-step instruction to follow along (not really useful here), and instead we go in depth on some lengthy explanations (essentially forbidden for a tutorial, but needed here).

The idea is that we explain how to implement the (currently missing) Field.pow function. There are some subtleties of algorithmic nature that will be fun for advanced users, and also, most importantly, there are subtleties in how parts of the algorithm are transferred to in-circuit logic.

Evidence that this example would hit the right spot: An advanced user indicated on discord that he thought pow() was hard to implement in a circuit, and asked whether that was the reason it doesn't exist: https://discord.com/channels/484437221055922177/915745847692636181/1063439581237755935

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants