Current section
Files
Jump to
Current section
Files
src/gleamgen@function.erl
-module(gleamgen@function).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([new0/2, new1/3, new2/4, new3/5, new4/6, new5/7, new6/8, new7/9, new8/10, new9/11, to_unchecked/1, get_function_name/1]).
-export_type([function_/2]).
-type function_(JZE, JZF) :: {function,
list({binary(),
gleamgen@types:generated_type(gleamgen@types:unchecked())}),
gleamgen@types:generated_type(JZF),
gleamgen@expression:expression(JZF)} |
{gleam_phantom, JZE}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 12).
-spec new0(
gleamgen@types:generated_type(JZG),
fun(() -> gleamgen@expression:expression(JZG))
) -> function_(fun((any()) -> JZG), JZG).
new0(Returns, Handler) ->
Body = Handler(),
{function, [], Returns, Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 20).
-spec new1(
{binary(), gleamgen@types:generated_type(JZM)},
gleamgen@types:generated_type(JZO),
fun((gleamgen@expression:expression(JZM)) -> gleamgen@expression:expression(JZO))
) -> function_(fun((JZM) -> JZO), JZO).
new1(Arg1, Returns, Handler) ->
Body = Handler(gleamgen@expression:unchecked_ident(erlang:element(1, Arg1))),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 32).
-spec new2(
{binary(), gleamgen@types:generated_type(JZU)},
{binary(), gleamgen@types:generated_type(JZW)},
gleamgen@types:generated_type(JZY),
fun((gleamgen@expression:expression(JZU), gleamgen@expression:expression(JZW)) -> gleamgen@expression:expression(JZY))
) -> function_(fun((JZU, JZW) -> JZY), JZY).
new2(Arg1, Arg2, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 54).
-spec new3(
{binary(), gleamgen@types:generated_type(KAF)},
{binary(), gleamgen@types:generated_type(KAH)},
{binary(), gleamgen@types:generated_type(KAJ)},
gleamgen@types:generated_type(KAL),
fun((gleamgen@expression:expression(KAF), gleamgen@expression:expression(KAH), gleamgen@expression:expression(KAJ)) -> gleamgen@expression:expression(KAL))
) -> function_(fun((KAF, KAH, KAJ) -> KAL), KAL).
new3(Arg1, Arg2, Arg3, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 83).
-spec new4(
{binary(), gleamgen@types:generated_type(KAT)},
{binary(), gleamgen@types:generated_type(KAV)},
{binary(), gleamgen@types:generated_type(KAX)},
{binary(), gleamgen@types:generated_type(KAZ)},
gleamgen@types:generated_type(KBB),
fun((gleamgen@expression:expression(KAT), gleamgen@expression:expression(KAV), gleamgen@expression:expression(KAX), gleamgen@expression:expression(KAZ)) -> gleamgen@expression:expression(KBB))
) -> function_(fun((KAT, KAV, KAX, KAZ) -> KBB), KBB).
new4(Arg1, Arg2, Arg3, Arg4, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg4))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end},
{erlang:element(1, Arg4),
begin
_pipe@3 = erlang:element(2, Arg4),
gleamgen_ffi:identity(_pipe@3)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 116).
-spec new5(
{binary(), gleamgen@types:generated_type(KBK)},
{binary(), gleamgen@types:generated_type(KBM)},
{binary(), gleamgen@types:generated_type(KBO)},
{binary(), gleamgen@types:generated_type(KBQ)},
{binary(), gleamgen@types:generated_type(KBS)},
gleamgen@types:generated_type(KBU),
fun((gleamgen@expression:expression(KBK), gleamgen@expression:expression(KBM), gleamgen@expression:expression(KBO), gleamgen@expression:expression(KBQ), gleamgen@expression:expression(KBS)) -> gleamgen@expression:expression(KBU))
) -> function_(fun((KBK, KBM, KBO, KBQ, KBS) -> KBU), KBU).
new5(Arg1, Arg2, Arg3, Arg4, Arg5, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg5))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end},
{erlang:element(1, Arg4),
begin
_pipe@3 = erlang:element(2, Arg4),
gleamgen_ffi:identity(_pipe@3)
end},
{erlang:element(1, Arg5),
begin
_pipe@4 = erlang:element(2, Arg5),
gleamgen_ffi:identity(_pipe@4)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 153).
-spec new6(
{binary(), gleamgen@types:generated_type(KCE)},
{binary(), gleamgen@types:generated_type(KCG)},
{binary(), gleamgen@types:generated_type(KCI)},
{binary(), gleamgen@types:generated_type(KCK)},
{binary(), gleamgen@types:generated_type(KCM)},
{binary(), gleamgen@types:generated_type(KCO)},
gleamgen@types:generated_type(KCQ),
fun((gleamgen@expression:expression(KCE), gleamgen@expression:expression(KCG), gleamgen@expression:expression(KCI), gleamgen@expression:expression(KCK), gleamgen@expression:expression(KCM), gleamgen@expression:expression(KCO)) -> gleamgen@expression:expression(KCQ))
) -> function_(fun((KCE, KCG, KCI, KCK, KCM, KCO) -> KCQ), KCQ).
new6(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg6))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end},
{erlang:element(1, Arg4),
begin
_pipe@3 = erlang:element(2, Arg4),
gleamgen_ffi:identity(_pipe@3)
end},
{erlang:element(1, Arg5),
begin
_pipe@4 = erlang:element(2, Arg5),
gleamgen_ffi:identity(_pipe@4)
end},
{erlang:element(1, Arg6),
begin
_pipe@5 = erlang:element(2, Arg6),
gleamgen_ffi:identity(_pipe@5)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 194).
-spec new7(
{binary(), gleamgen@types:generated_type(KDB)},
{binary(), gleamgen@types:generated_type(KDD)},
{binary(), gleamgen@types:generated_type(KDF)},
{binary(), gleamgen@types:generated_type(KDH)},
{binary(), gleamgen@types:generated_type(KDJ)},
{binary(), gleamgen@types:generated_type(KDL)},
{binary(), gleamgen@types:generated_type(KDN)},
gleamgen@types:generated_type(KDP),
fun((gleamgen@expression:expression(KDB), gleamgen@expression:expression(KDD), gleamgen@expression:expression(KDF), gleamgen@expression:expression(KDH), gleamgen@expression:expression(KDJ), gleamgen@expression:expression(KDL), gleamgen@expression:expression(KDN)) -> gleamgen@expression:expression(KDP))
) -> function_(fun((KDB, KDD, KDF, KDH, KDJ, KDL, KDN) -> KDP), KDP).
new7(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg7))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end},
{erlang:element(1, Arg4),
begin
_pipe@3 = erlang:element(2, Arg4),
gleamgen_ffi:identity(_pipe@3)
end},
{erlang:element(1, Arg5),
begin
_pipe@4 = erlang:element(2, Arg5),
gleamgen_ffi:identity(_pipe@4)
end},
{erlang:element(1, Arg6),
begin
_pipe@5 = erlang:element(2, Arg6),
gleamgen_ffi:identity(_pipe@5)
end},
{erlang:element(1, Arg7),
begin
_pipe@6 = erlang:element(2, Arg7),
gleamgen_ffi:identity(_pipe@6)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 239).
-spec new8(
{binary(), gleamgen@types:generated_type(KEB)},
{binary(), gleamgen@types:generated_type(KED)},
{binary(), gleamgen@types:generated_type(KEF)},
{binary(), gleamgen@types:generated_type(KEH)},
{binary(), gleamgen@types:generated_type(KEJ)},
{binary(), gleamgen@types:generated_type(KEL)},
{binary(), gleamgen@types:generated_type(KEN)},
{binary(), gleamgen@types:generated_type(KEP)},
gleamgen@types:generated_type(KER),
fun((gleamgen@expression:expression(KEB), gleamgen@expression:expression(KED), gleamgen@expression:expression(KEF), gleamgen@expression:expression(KEH), gleamgen@expression:expression(KEJ), gleamgen@expression:expression(KEL), gleamgen@expression:expression(KEN), gleamgen@expression:expression(KEP)) -> gleamgen@expression:expression(KER))
) -> function_(fun((KEB, KED, KEF, KEH, KEJ, KEL, KEN, KEP) -> KER), KER).
new8(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg8))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end},
{erlang:element(1, Arg4),
begin
_pipe@3 = erlang:element(2, Arg4),
gleamgen_ffi:identity(_pipe@3)
end},
{erlang:element(1, Arg5),
begin
_pipe@4 = erlang:element(2, Arg5),
gleamgen_ffi:identity(_pipe@4)
end},
{erlang:element(1, Arg6),
begin
_pipe@5 = erlang:element(2, Arg6),
gleamgen_ffi:identity(_pipe@5)
end},
{erlang:element(1, Arg7),
begin
_pipe@6 = erlang:element(2, Arg7),
gleamgen_ffi:identity(_pipe@6)
end},
{erlang:element(1, Arg8),
begin
_pipe@7 = erlang:element(2, Arg8),
gleamgen_ffi:identity(_pipe@7)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 288).
-spec new9(
{binary(), gleamgen@types:generated_type(KFE)},
{binary(), gleamgen@types:generated_type(KFG)},
{binary(), gleamgen@types:generated_type(KFI)},
{binary(), gleamgen@types:generated_type(KFK)},
{binary(), gleamgen@types:generated_type(KFM)},
{binary(), gleamgen@types:generated_type(KFO)},
{binary(), gleamgen@types:generated_type(KFQ)},
{binary(), gleamgen@types:generated_type(KFS)},
{binary(), gleamgen@types:generated_type(KFU)},
gleamgen@types:generated_type(KFW),
fun((gleamgen@expression:expression(KFE), gleamgen@expression:expression(KFG), gleamgen@expression:expression(KFI), gleamgen@expression:expression(KFK), gleamgen@expression:expression(KFM), gleamgen@expression:expression(KFO), gleamgen@expression:expression(KFQ), gleamgen@expression:expression(KFS), gleamgen@expression:expression(KFU)) -> gleamgen@expression:expression(KFW))
) -> function_(fun((KFE, KFG, KFI, KFK, KFM, KFO, KFQ, KFS, KFU) -> KFW), KFW).
new9(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Returns, Handler) ->
Body = Handler(
gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg8)),
gleamgen@expression:unchecked_ident(erlang:element(1, Arg9))
),
{function,
[{erlang:element(1, Arg1),
begin
_pipe = erlang:element(2, Arg1),
gleamgen_ffi:identity(_pipe)
end},
{erlang:element(1, Arg2),
begin
_pipe@1 = erlang:element(2, Arg2),
gleamgen_ffi:identity(_pipe@1)
end},
{erlang:element(1, Arg3),
begin
_pipe@2 = erlang:element(2, Arg3),
gleamgen_ffi:identity(_pipe@2)
end},
{erlang:element(1, Arg4),
begin
_pipe@3 = erlang:element(2, Arg4),
gleamgen_ffi:identity(_pipe@3)
end},
{erlang:element(1, Arg5),
begin
_pipe@4 = erlang:element(2, Arg5),
gleamgen_ffi:identity(_pipe@4)
end},
{erlang:element(1, Arg6),
begin
_pipe@5 = erlang:element(2, Arg6),
gleamgen_ffi:identity(_pipe@5)
end},
{erlang:element(1, Arg7),
begin
_pipe@6 = erlang:element(2, Arg7),
gleamgen_ffi:identity(_pipe@6)
end},
{erlang:element(1, Arg8),
begin
_pipe@7 = erlang:element(2, Arg8),
gleamgen_ffi:identity(_pipe@7)
end},
{erlang:element(1, Arg9),
begin
_pipe@8 = erlang:element(2, Arg9),
gleamgen_ffi:identity(_pipe@8)
end}],
Returns,
Body}.
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 348).
-spec to_unchecked(function_(any(), any())) -> function_(gleamgen@types:unchecked(), gleamgen@types:unchecked()).
to_unchecked(Type_) ->
gleamgen_ffi:identity(Type_).
-file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 355).
-spec get_function_name(any()) -> binary().
get_function_name(Type_) ->
gleamgen_ffi:get_function_name(Type_).