Advanced: the Symbolic Compiler

Symbolic computations are functions polymorphic in a type a that belongs to a class Symbolic. This class places several requirements on the type a (see the definition). Most importantly, it must be a prime field.

x :: Zp BLS12_381_Scalar

f :: Symbolic a => a -> a

f x :: Zp BLS12_381_Scalar
// A circuit representing a "free variable" x of type (Zp BLS12_381_Scalar).
x :: ArithmeticCircuit (Zp BLS12_381_Scalar)

f :: Symbolic a => a -> a

// A circuit representing f(x).
f x :: ArithmeticCircuit (Zp BLS12_381_Scalar)

Last updated