Current section

Files

Jump to
datum src t.erl
Raw

src/t.erl

-module(t).
% -compile({parse_transform, category}).
% -compile({parse_transform, generic}).
-export([t/0]).
-record(adt, {a, b, c}).
% % -record(xxx, {a, b, d, e, f}).
% % l() ->
% % Encode = generic:encode(#adt{}),
% % Decode = generic:decode(#adt{}),
% % fun(Fun, Focus) ->
% % lens:fmap(fun(X) -> Decode(X) end, Fun(Encode(Focus)))
% % end.
t() ->
generic:lens(#adt{}).
% ok.
% birthday(#{age : N} = Person) ->
% Person#{arg : N+1}.
% % lens:p(#adt{
% % a = lens:c(lens:at(<<"a">>, #{}),
% % lens:p(#adt{
% % a = lens:at(<<"1">>),
% % b = lens:at(<<"2">>),
% % c = lens:at(<<"3">>)
% % })
% % )
% % }).
% % generic_to:adt([z, t, r], generic_of:adt([z, t, r], #adt{a = a, b = b, c = c})).
% % G = generic_of:xxx(#xxx{a = a, b = b, e = e, f = f}),
% % generic_to:adt(G).
% % generic:encode(#adt{}, [a, c]).
% % generic:decode(#adt{}, [b, a]).
% % decoder:adt().
% % decoder:adt([a, c]).
% % encoder:
% % generic_of:adt(#adt{a = 1, b = 2, c = 3}).
% % generic:encode
% % labelled_of:xxx([
% % for(x, [<<"test">>, <<"blah">>])
% % ]).
% % % generic:decode(#adt{}).
% % % generic:codec(#adt{}).
% %%
% %% TODO
% %% 1. json encode/decode
% %% 2. map with binary labels encode/decode
% %%
% %% generic map codec