SkillAgentSearch skills...

Keelung

The Keelung Language. A Haskell-embedded DSL for privacy-preserving computation, designed to optimize zero-knowledge proof generation with support for Snarkjs, Circom, and PLONKish backends.

Install / Use

/learn @btq-ag/Keelung
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Keelung

Keelung is a domain-specific language (DSL) embedded in Haskell that is designed for creating zero-knowledge proofs (ZKPs). With Keelung, developers can create high-quality and reliable ZKPs with ease, even without expertise in cryptography.

<img width="1268" alt="keelung5" src="https://user-images.githubusercontent.com/97019448/219329651-d30c0134-f153-4755-979f-c5b77d6d2724.png">

The Keelung Compiler

Keelung programs are compiled with the Keelung compiler.

Documentation

Check out our GitBook for more information.

Language Reference

The language reference is now available on Hackage.

Standard Library

The standard library is available here.

Discord

Find us on Discord!

Codespaces

Get started using Keelung in GitHub codespaces by navigating to Code -> Codespaces in Keelung Examples!

Roadmap

Roadmap

Current (v0.21.0)

  • A more precise method of reference counting on unsigned integers
  • Renaming of primitive datatype conversions
  • Tons of bug fixes and stability improvements

Upcoming (v0.22.0)

  • Operators for slicing and joining unsigned integers
  • Internal: improvement of representation of polynomials with our new precise reference counter
  • Internal: polynomial insertion is now 9x faster

Future

  • Snarkjs/Circom Integration: Snarkjs/Circom is currently the most popular ZK toolchain. We aim to tap into this ecosystem by integrating Keelung with Snarkjs/Circom.
  • Standard Library Optimization: We plan to heavily optimize ciphers and hash functions such as AES and Blake2.
  • PLONKish Backend Compilation Support: Supporting protocols like PLONK would allow Keelung programs to efficiently manage complex privacy-preserving computations, significantly enhancing their scalability and security across various applications.
  • Quantitative Information Flow Analysis: We are working with Prof. Kohei Suenaga of Kyoto University to enable privacy leakage analysis of Keelung programs.
  • DSL Refinement: We are transitioning statement operators (e.g. performDivMod, which is only allowed in the Comp monad) to pure operators to make these operations more versatile and easily integrated into different parts of our system.
  • Performance Improvement: We aim to speed up the compilation of operators on commonly used types such as Bytes, Word16, Word32, and Word64.
  • Benchmarking CI/CD: We plan to include benchmarking in the CI/CD pipeline.
View on GitHub
GitHub Stars53
CategoryCustomer
Updated1mo ago
Forks8

Languages

Haskell

Security Score

100/100

Audited on Feb 5, 2026

No findings