Specialize is_scm
, from_scm
, and to_scm
for the 8 fundamental integer
types: {signed, unsigned} ⨯ {short, int, long, long long}.
Remove the specializations for size_t
because it is a typedef.
Because the is_scm
functions perform range checks, state the range
when one fails in LY_ASSERT_TYPE
calls. This avoids insults like
Wrong type argument in position 1 (expecting integer): 9999999999
Add a predicate for ly:wide-char->utf-8
and remove some C-style casts.