update the readme

This commit is contained in:
Balazs Komuves 2025-03-14 12:29:39 +01:00
parent dcdfa24ca4
commit 60b4d8d8f4
No known key found for this signature in database
GPG Key ID: F63B7AEF18435562

View File

@ -2,15 +2,23 @@
Circom witness generators
-------------------------
This piece of software takes the computation graph files generated by
[`circom-witnesscalc`](https://github.com/iden3/circom-witnesscalc),
The original idea behind this small project was to take the "computation graph"
files generated by [`circom-witnesscalc`](https://github.com/iden3/circom-witnesscalc),
and either interprets or compiles them to various algebra backends.
While this is quite straightforward in principle, and seems to work on small
examples, it turns out that `circom-witnesscalc` itself is completely broken,
in the sense that it doesn't seem to be able to handle nontrivial circuits using any
kind of meaningful metaprogramming (that being the only thing which makes `circom`
borderline useful).
And this doesn't look fixable without something like a full rewrite of `circom-witnesscalc` (?).
### Implementation status
Compiler (in Haskell):
- [x] parsing the graph files
- [x] parsing the graph file
- [x] naive interpreter
- [ ] constantine backend
- [ ] zikkurat backend
@ -18,7 +26,7 @@ Compiler (in Haskell):
Nim witness generator:
- [x] parsing the graph files
- [x] parsing the graph file
- [ ] generating the witness
- [ ] proper error handling