Skip to content

sysu/cicada

 
 

Repository files navigation

Cicada Language

[ HOMEPAGE | MANUAL | PLAY | ABOUT ]

Welcome *^-^*/

Cicada language is a dependently typed programming language and an interactive theorem prover.

The aim of cicada project is to help people understand that developing software and developing mathematics are increasingly the same kind of activity, and people who practice these developments can learn from each other, and help each other in very good ways.

Development

npm install           # Install dependencies
npm run build         # Compile `src/` to `lib/`
npm run build:watch   # Watch the compilation
npm run format        # Format the code
npm run test          # Run test
npm run test:watch    # Watch the testing

Thanks

Thanks, PLCT Lab, for sponsoring our community at very early stage of our project.

Thank you, Daniel P. Friedman, for we learned most of our knowledge about programming language design from your little books.

Thank you, David Christiansen, for coauthoring "The Little Typer" with Dan, and writing up great tutorials (1, 2) about dependent types.

Community

GitHub:

Telegram:

Contributions

To make a contribution, fork this project and create a pull request.

Please read the STYLE-GUIDE.md before you change the code.

Remember to add yourself to AUTHORS. Your line belongs to you, you can write a little introduction to yourself but not too long.

It is assumed that all non draft PRs are ready to be merged. If your PR is not ready to be merged yet, please make it a draft PR:

During the development of your PR, you can make use of the TODO.md file to record ideas temporarily, and this file should be clean again at the end of your development.

License

GPLv3

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.9%
  • Other 0.1%