package com.acme.javaInterop; import church.lang.Array; import church.lang.Array.$WriteElementsToStream; import church.lang.Array.$WriteEmbracedElementsToStream; import church.lang.ByteStream; import church.lang.operators.Relational.$$equal; import church.lang.operators.Streams.$$encode; import church.primitives.Objects; import static church.lang.Array.array; import static church.lang.System.stream; import static church.lang.operators.Streams.output; @SuppressWarnings("unchecked") public class ArrayStreams2 { private static final $$equal<String> $S0 = Objects::$equal; private static final $$encode<ByteStream, String> $S1 = Objects::$encode; private static final $$encode<ByteStream, Object> $S2 = Objects::$encode; private static final $WriteElementsToStream<ByteStream, Object> $S3 = Array.writeElementsToStream($S2, $S1); private static final $WriteEmbracedElementsToStream<ByteStream, Object, String, String> $S4 = Array.writeEmbracedElementsToStream($S1, $S3, $S1); private static final $$encode<ByteStream, Object[]> $S5 = Array.$encode($S4); public static void main(String[] args) { Object[] s = stream(array("Apple", "Pear")).map(e -> $S0.$equal(e, "Apple")).toArray(); $S1.$encode($S5.$encode(output, s), "\n"); } }