diff --git a/lib/erlang/transpile.sx b/lib/erlang/transpile.sx index 12e14b6f..358acf2d 100644 --- a/lib/erlang/transpile.sx +++ b/lib/erlang/transpile.sx @@ -1485,9 +1485,15 @@ (size (er-eval-binary-size (get seg :size) env))) (cond (= spec "integer") - (let - ((bits (if (= size nil) 8 size))) - (er-emit-int! out val bits)) + (cond + (= (type-of val) "string") + (for-each + (fn (c) (er-emit-int! out (char->integer c) 8)) + (string->list val)) + :else + (let + ((bits (if (= size nil) 8 size))) + (er-emit-int! out val bits))) (= spec "binary") (cond (er-binary? val)