-module(differance). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([empty/0, singleton/1, to_list/1, from_list/1, append/2, concat/1, length/1, reverse/1, head/1, tail/1, zip/2, map/2, map2/3, fold/3, fold_right/3]). -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 13). -spec empty() -> fun((list(EZC)) -> list(EZC)). empty() -> fun(Rest) -> Rest end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 19). -spec singleton(EZE) -> fun((list(EZE)) -> list(EZE)). singleton(Elem) -> fun(Rest) -> [Elem | Rest] end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 25). -spec to_list(fun((list(EZG)) -> list(EZG))) -> list(EZG). to_list(Diff) -> Diff([]). -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 31). -spec from_list(list(EZJ)) -> fun((list(EZJ)) -> list(EZJ)). from_list(List) -> fun(Rest) -> lists:append(List, Rest) end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 37). -spec append(fun((list(EZM)) -> list(EZM)), fun((list(EZM)) -> list(EZM))) -> fun((list(EZM)) -> list(EZM)). append(First, Second) -> fun(Rest) -> _pipe = Rest, _pipe@1 = Second(_pipe), First(_pipe@1) end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 43). -spec concat(list(fun((list(EZQ)) -> list(EZQ)))) -> fun((list(EZQ)) -> list(EZQ)). concat(Diffs) -> _pipe = Diffs, gleam@list:fold(_pipe, empty(), fun append/2). -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 49). -spec length(fun((list(EZU)) -> list(EZU))) -> integer(). length(Diff) -> _pipe = Diff, _pipe@1 = to_list(_pipe), erlang:length(_pipe@1). -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 56). -spec reverse(fun((list(EZW)) -> list(EZW))) -> fun((list(EZW)) -> list(EZW)). reverse(Diff) -> fun(Rest) -> _pipe = Rest, _pipe@1 = Diff(_pipe), lists:reverse(_pipe@1) end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 62). -spec head(fun((list(EZZ)) -> list(EZZ))) -> gleam@option:option(EZZ). head(Diff) -> case to_list(Diff) of [] -> none; [X | _] -> {some, X} end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 72). -spec tail(fun((list(FAC)) -> list(FAC))) -> gleam@option:option(fun((list(FAC)) -> list(FAC))). tail(Diff) -> case to_list(Diff) of [] -> none; [_ | Rest] -> _pipe = Rest, _pipe@1 = from_list(_pipe), {some, _pipe@1} end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 83). -spec zip(fun((list(FAG)) -> list(FAG)), fun((list(FAI)) -> list(FAI))) -> fun((list({FAG, FAI})) -> list({FAG, FAI})). zip(Diff, Other) -> fun(Rest) -> _pipe = gleam@list:zip(to_list(Diff), to_list(Other)), lists:append(_pipe, Rest) end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 93). -spec map(fun((list(FAL)) -> list(FAL)), fun((FAL) -> FAN)) -> fun((list(FAN)) -> list(FAN)). map(Diff, F) -> fun(Rest) -> _pipe = Diff, _pipe@1 = to_list(_pipe), _pipe@2 = gleam@list:map(_pipe@1, F), lists:append(_pipe@2, Rest) end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 101). -spec map2( fun((list(FAP)) -> list(FAP)), fun((list(FAR)) -> list(FAR)), fun((FAP, FAR) -> FAT) ) -> fun((list(FAT)) -> list(FAT)). map2(Diff1, Diff2, F) -> fun(Rest) -> _pipe = gleam@list:map2(to_list(Diff1), to_list(Diff2), F), lists:append(_pipe, Rest) end. -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 111). -spec fold(fun((list(FAV)) -> list(FAV)), FAX, fun((FAX, FAV) -> FAX)) -> FAX. fold(Diff, Initial, F) -> _pipe = Diff, _pipe@1 = to_list(_pipe), gleam@list:fold(_pipe@1, Initial, F). -file("/home/tttardigrade/Documents/Code/Projects/Gleam/differance/src/differance.gleam", 122). -spec fold_right(fun((list(FAY)) -> list(FAY)), FBA, fun((FBA, FAY) -> FBA)) -> FBA. fold_right(Diff, Initial, F) -> _pipe = Diff, _pipe@1 = to_list(_pipe), gleam@list:fold_right(_pipe@1, Initial, F).