Cicada is a dependency type programming language and an interactive theorem prover.
Cicada language project is mainly to help the public understand that software development and mathematics research are actually the same kind of activities. People who practice these two activities can learn from each other and help each other in a very good way.
Installation mode
npm install // Install dependencies npm run build // Compile `src/` to `lib/` npm run watch // Watch the compilation npm run test // Run test
Sample code
The natural number is defined as Inductive data type( inductive datatype ) 。
datatype Nat { zero: Nat add1(prev: Nat): Nat } function add(x: Nat, y: Nat): Nat { return recursion (x) { case zero => y case add1(prev, almost) => add1(almost.prev) } }