Programming languages are called Turing-complete if they allow to represent all calculable functions in the sense of Turing and Church . In particular, this allows the use of loops, which allow the iteration of functions in smart-contracts, which opens up the field of possibilities in terms of application programming. Solidity or Vyper are Turing-complete programming languages.