lib/formula/function.ex
defmodule Formula.Function do
@moduledoc """
Represents the function
"""
alias Formula.Symbol
@type t :: %__MODULE__{
name: atom(),
arguments: list(Symbol.t())
}
defstruct [:name, :arguments]
@spec new(atom(), list(Symbol.t())) :: t()
def new(name, arguments) do
%__MODULE__{name: name, arguments: arguments}
end
end