Current section
Files
Jump to
Current section
Files
include/clojerl_protocol.hrl
-ifndef(CLOJERL_PROTOCOL).
-define(CLOJERL_PROTOCOL, true).
-define(CATCH_ALL_TAG, '$catch_all$').
-define(CATCH_ALL_MAP_TAG, '$catch_all_map$').
-define( PRIMITIVE_TYPES
, #{ 'clojerl.String' => #{pred => is_binary, order => 1}
, 'clojerl.BitString' => #{pred => is_bitstring, order => 2}
, 'clojerl.Integer' => #{pred => is_integer, order => 3}
, 'clojerl.Float' => #{pred => is_float, order => 4}
, 'clojerl.Boolean' => #{pred => is_boolean, order => 5}
, 'erlang.List' => #{pred => is_list, order => 6}
, 'erlang.Map' => #{pred => is_map, order => 7}
, 'erlang.Tuple' => #{pred => is_tuple, order => 8}
, 'erlang.Fn' => #{pred => is_function, order => 9}
, ?NIL_TYPE => #{pred => ?NIL, order => 10}
, 'clojerl.Keyword' => #{pred => is_atom, order => 11}
, 'erlang.Port' => #{pred => is_port, order => 12}
, 'erlang.Process' => #{pred => is_pid, order => 13}
, 'erlang.Reference' => #{pred => is_reference, order => 14}
}
).
-define( GUARDS2TYPES
, #{ is_binary => 'clojerl.String'
, is_bitstring => 'clojerl.BitString'
, is_integer => 'clojerl.Integer'
, is_float => 'clojerl.Float'
, is_boolean => 'clojerl.Boolean'
, is_list => 'erlang.List'
, is_map => 'erlang.Map'
, is_tuple => 'erlang.Tuple'
, is_function => 'erlang.Fn'
, is_atom => 'clojerl.Keyword'
, is_port => 'erlang.Port'
, is_pid => 'erlang.Process'
, is_reference => 'erlang.Reference'
}).
-endif.