package com.acme.arrays; import church.lang.Array; import church.lang.Array.$WriteElementsToStream; import church.lang.Array.$WriteEmbracedElementsToStream; import church.lang.ByteStream; import church.lang.operators.Streams.$$encode; import church.primitives.Integers; import church.primitives.Objects; import static church.lang.Array.array; import static church.lang.operators.Streams.output; @SuppressWarnings("unchecked") public class ArrayLiterals { private static final $$encode<ByteStream, String> $S0 = Objects::$encode; private static final $$encode<ByteStream, Integer> $S1 = Integers::$encode; private static final $WriteElementsToStream<ByteStream, Integer> $S2 = Array.writeElementsToStream($S1, $S0); private static final $WriteEmbracedElementsToStream<ByteStream, Integer, String, String> $S3 = Array.writeEmbracedElementsToStream($S0, $S2, $S0); private static final $$encode<ByteStream, Integer[]> $S4 = Array.$encode($S3); public static void main(String[] args) { Integer[] oneOrTheOther = true ? array(1, 2, 3) : array(); $S0.$encode($S4.$encode(output, oneOrTheOther), "\n"); } }