-module(rememo@memo). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([create/1, set/3, get/2, memoize/3]). -file("/home/wsl/gleam/rememo/src/rememo/memo.gleam", 24). -spec create(fun((carpenter@table:set(any(), any())) -> IJY)) -> IJY. create(Fun) -> internal@ets@memo:create(Fun). -file("/home/wsl/gleam/rememo/src/rememo/memo.gleam", 36). -spec set(carpenter@table:set(IJM, IJN), IJM, IJN) -> nil. set(Cache, Key, Value) -> internal@ets@memo:set(Cache, Key, Value). -file("/home/wsl/gleam/rememo/src/rememo/memo.gleam", 48). -spec get(carpenter@table:set(IJQ, IKC), IJQ) -> {ok, IKC} | {error, nil}. get(Cache, Key) -> internal@ets@memo:get(Cache, Key). -file("/home/wsl/gleam/rememo/src/rememo/memo.gleam", 70). -spec memoize(carpenter@table:set(IJT, IKE), IJT, fun(() -> IKE)) -> IKE. memoize(Cache, Key, Fun) -> internal@ets@memo:memoize(Cache, Key, Fun).