diff --git a/README.md b/README.md index efd1bf7..b5ff5df 100644 --- a/README.md +++ b/README.md @@ -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