An open API service indexing awesome lists of open source software.

https://github.com/ggandor/churchbuzz

FizzBuzz implemented in Church encoding, from scratch
https://github.com/ggandor/churchbuzz

church-encoding clojure computer-science fizzbuzz lambda-calculus understanding-computation

Last synced: 8 months ago
JSON representation

FizzBuzz implemented in Church encoding, from scratch

Awesome Lists containing this project

README

          

ChurchBuzz
---

This repo contains a Church-encoded implementation of the FizzBuzz algorithm in
Clojure, using nothing else than anonymous functions, imitating the untyped
lambda calculus.

It is based on a chapter of Tom Stuart's magnificent book [Understanding
Computation](https://computationbook.com/), where he uses Ruby as the
implementation language. The port closely follows the steps presented on pages
162-192, with minor differences and additions (for example, naming the functions
according to Clojure/Lisp conventions, or using ASCII values for character
representation).

At the moment, this is not intended to be a standalone tutorial, but first and
foremost a study guide or reference for the related section, for people more
familiar with Lisp dialects.

Here is an [article](https://codon.com/programming-with-nothing) that is a
proto-version of the book chapter, with a video link, and pretty much the same
content.

See also the [code repo](https://github.com/tomstuart/computationbook) for the book.