You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi I have been using Vamp-IR for some time, and while I initially found it intriguing, I have now hit significant limitations that I wanted to share with you.
As a developer working with zero-knowledge proofs, I appreciate the minimalistic and foundational approach of Vamp-IR. However, compared to more expressive languages, I find Vamp-IR's capabilities extremely restrictive. Even early assembly languages from the 1970s provided more operations and control flow constructs, such as shifts, rotations, conditional jumps, and loops.
The absence of basic operations like bitwise shifts or logical operations, as well as the lack of control flow constructs, makes it challenging to implement even moderately complex circuits. The requirement to manually unroll loops and the inability to use mutable state makes the development process cumbersome and error-prone. This is quite frustrating, especially when compared to other tools that provide a more developer-friendly environment without compromising the fundamental principles of zero-knowledge proof construction (I take ZoKrates as an example).
While I understand that Vamp-IR might be designed for specific use cases or to keep the circuit representation as simple as possible, it feels almost unusable for practical, real-world applications. It’s disappointing because I see the potential, but the limitations severely hinder its usability.
I believe that adding some basic constructs, even at a minimal level, would make Vamp-IR much more versatile and appealing to a broader audience. For now, I am inclined to switch to a more expressive tool like ZoKrates, but I hope that Vamp-IR can evolve to address these shortcomings.
Thank you for your work on Vamp-IR. I hope this feedback helps in making it a more powerful and practical tool for developers.
The text was updated successfully, but these errors were encountered:
Feedback: Limited Capabilities and Frustrations
Hi I have been using Vamp-IR for some time, and while I initially found it intriguing, I have now hit significant limitations that I wanted to share with you.
As a developer working with zero-knowledge proofs, I appreciate the minimalistic and foundational approach of Vamp-IR. However, compared to more expressive languages, I find Vamp-IR's capabilities extremely restrictive. Even early assembly languages from the 1970s provided more operations and control flow constructs, such as shifts, rotations, conditional jumps, and loops.
The absence of basic operations like bitwise shifts or logical operations, as well as the lack of control flow constructs, makes it challenging to implement even moderately complex circuits. The requirement to manually unroll loops and the inability to use mutable state makes the development process cumbersome and error-prone. This is quite frustrating, especially when compared to other tools that provide a more developer-friendly environment without compromising the fundamental principles of zero-knowledge proof construction (I take ZoKrates as an example).
While I understand that Vamp-IR might be designed for specific use cases or to keep the circuit representation as simple as possible, it feels almost unusable for practical, real-world applications. It’s disappointing because I see the potential, but the limitations severely hinder its usability.
I believe that adding some basic constructs, even at a minimal level, would make Vamp-IR much more versatile and appealing to a broader audience. For now, I am inclined to switch to a more expressive tool like ZoKrates, but I hope that Vamp-IR can evolve to address these shortcomings.
Thank you for your work on Vamp-IR. I hope this feedback helps in making it a more powerful and practical tool for developers.
The text was updated successfully, but these errors were encountered: