Chicken Chicken is an implementation of the Chicken esoteric language. It compiles Chicken source code to ES2020-compliant JavaScript.
It's written entirely in CHICKEN Scheme. 🐔
It aims to be fully compatible with the original Chicken implementation, while still being:
- Efficient: No parsing occurs at runtime.
 - Tiny: It generates very tiny scripts. For big files (> 10KiB), compiler output will be 80% smaller.
 - Convenient: The VM will happily produce readable output when asked; no HTML escape codes. You can still demand HTML escape codes by enabling compatibility mode.
 
All examples from the original Chicken implementation work properly with Chicken Chicken.
Chicken Chicken is a self-contained static binary executable. Installation instructions can be found here.
If you wish to build it from source, instructions can be found here.
You can compile a Chicken script to JavaScript by doing:
chicken-chicken -o example.js example.chickenYou can compile with the --exec option and pipe the output to Node to run it:
chicken-chicken --exec example.chicken | nodeChicken Chicken can also generate ECMAscript modules and CommonJS modules, based on the flags given. The full documentation can be found here. 🐔
