Current section

Files

Jump to
scheme lib scheme types.ex
Raw

lib/scheme/types.ex

defmodule Scheme.Types do
@valid_types [:integer, :float, :string, :map, :list, :boolean]
def check_type(term, type) do
case type do
:string ->
is_bitstring(term)
:boolean ->
is_boolean(term)
:integer ->
is_integer(term)
:float ->
is_float(term)
:map ->
is_map(term)
:list ->
is_list(term)
:any ->
!is_nil(term)
_ ->
false
end
end
def get_types do
@valid_types
end
end