package com.acme.collections; import church.lang.Array; import church.lang.Array.$WriteElementsToStream; import church.lang.Array.$WriteEmbracedElementsToStream; import church.lang.ByteStream; import church.lang.Hash.$HashCode; import church.lang.operators.Relational.$$equal; import church.lang.operators.Streams.$$encode; import church.math.Vector; import church.primitives.Integers; import church.primitives.Objects; import church.util.HashSet; import church.util.HashSet.$Set; import static church.lang.Array.array; import static church.lang.operators.Streams.output; import static church.math.Vector.vector; @SuppressWarnings("unchecked") public class NestedLiterals { 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); private static final $WriteElementsToStream<ByteStream, Integer[]> $S5 = Array.writeElementsToStream($S4, $S0); private static final $WriteEmbracedElementsToStream<ByteStream, Integer[], String, String> $S6 = Array.writeEmbracedElementsToStream($S0, $S5, $S0); private static final $$encode<ByteStream, Integer[][]> $S7 = Array.$encode($S6); private static final $$encode<ByteStream, Vector<Integer[]>> $S8 = Vector.$encode($S6); private static final $$encode<ByteStream, Vector<Integer>> $S9 = Vector.$encode($S3); private static final $WriteElementsToStream<ByteStream, Vector<Integer>> $S10 = Array.writeElementsToStream($S9, $S0); private static final $WriteEmbracedElementsToStream<ByteStream, Vector<Integer>, String, String> $S11 = Array.writeEmbracedElementsToStream($S0, $S10, $S0); private static final $$encode<ByteStream, Vector<Integer>[]> $S12 = Array.$encode($S11); private static final $$equal<Integer> $S13 = Integers::$equal; private static final $HashCode<Integer> $S14 = Integers::hashCode; private static final $Set<Integer> $S15 = HashSet.set($S13, $S14); private static final $$encode<ByteStream, HashSet<Integer>> $S16 = HashSet.$encode($S1); private static final $WriteElementsToStream<ByteStream, HashSet<Integer>> $S17 = Array.writeElementsToStream($S16, $S0); private static final $WriteEmbracedElementsToStream<ByteStream, HashSet<Integer>, String, String> $S18 = Array.writeEmbracedElementsToStream($S0, $S17, $S0); private static final $$encode<ByteStream, HashSet<Integer>[]> $S19 = Array.$encode($S18); private static final $$equal<Integer[]> $S20 = Array.$equal($S13); private static final $HashCode<Integer[]> $S21 = Array.hashCode($S14); private static final $Set<Integer[]> $S22 = HashSet.set($S20, $S21); private static final $$encode<ByteStream, HashSet<Integer[]>> $S23 = HashSet.$encode($S4); public static void main(String[] args) { Integer[][] a0 = array(array(1, 2), array(3, 4)); $S0.$encode($S7.$encode(output, a0), "\n"); Vector<Integer[]> v1 = vector(array(1, 2), array(3, 4)); $S0.$encode($S8.$encode(output, v1), "\n"); Vector<Integer>[] a1 = array(vector(1, 2), vector(3, 4)); $S0.$encode($S12.$encode(output, a1), "\n"); HashSet<Integer>[] a2 = array($S15.set(1, 2), $S15.set(3, 4)); $S0.$encode($S19.$encode(output, a2), "\n"); HashSet<Integer[]> s1 = $S22.set(array(1, 2), array(3, 4)); $S0.$encode($S23.$encode(output, s1), "\n"); } }