“IoC is all about inverting the control. To explain this in layman’s terms, suppose you drive a car to your work place. This means you control the car. The IoC principle suggests to invert the control, meaning that instead of driving the car yourself, you hire a cab, where another person will drive the car. Thus, this is called inversion of the control — from you to the cab driver. You don’t have to drive a car yourself and you can let the driver do the driving so that you can focus on your main work.”
If you were at…
All functions are values but not all values are functions.
This is really about operational semantics, which are sometimes tricky to talk about in Haskell because Haskell is only defined in terms of its denotational semantics — that is, what value an expression evaluates to, rather than how that evaluation happens. It’s not a side-effect because the “stateful” nature of memoization is still hidden behind the abstraction of purity: while there is some internal state (represented in the partial graph-reduction of the program), there…
This is the first segment of a multi-part series of articles describing how to go about implement ZKSnarks using the Ethereum protocol. So, for the uninitiated, what are ZKSnarks?
So let’s start off Wikipedia’s description of what a Non-interactive zero-knowledge proof is:
“Non-interactive zero-knowledge proofs are a variant of zero-knowledge proofs in which no interaction is necessary between prover and verifier.”
If that still sounds foreign; zero-knowledge proofs let you validate the truth of something without revealing how you came to learn about that truth, as the prover, and without sharing the content of this truth with the verifier.