Hacker News new | ask | show | jobs
by tromp 3791 days ago
Church of the No Fixed Point programmer:

    succChurch n f = n f . f

    facChurch n f = n g (const f) id where
            g f n = n (f (succChurch n))

    toChurch 0 = const id
    toChurch k = succChurch (toChurch (k-1))

    fromChurch n = n succ 0

    fac = fromChurch . facChurch . toChurch