BigIntegersTest.java
package com.acme.math;

import church.lang.ByteStream;
import church.lang.operators.Arithmetic.$$prd;
import church.lang.operators.Streams.$$encode;
import church.math.BigIntegers;
import church.primitives.Objects;

import static church.lang.operators.Streams.output;
import static church.math.BigIntegers.bigInteger;

@SuppressWarnings("unchecked")
public class BigIntegersTest {
    private static final $$prd<java.math.BigInteger, java.math.BigInteger> $S0 = BigIntegers::$prd;
    private static final $$encode<ByteStream, String>                      $S1 = Objects::$encode;
    private static final $$encode<ByteStream, java.math.BigInteger>        $S2 = BigIntegers.$encode($S1);

    public static void main(String[] args) {
        java.math.BigInteger i1 = bigInteger(1000);
        java.math.BigInteger i2 = $S0.$prd(i1, i1);
        java.math.BigInteger i3 = $S0.$prd(i2, i2);
        java.math.BigInteger i4 = $S0.$prd(i3, i3);
        java.math.BigInteger i5 = $S0.$prd(i4, i4);
        $S1.$encode($S2.$encode(output, i5), "\n");
    }

}