diff --git a/kiss/src/kiss/SpecialForms.hx b/kiss/src/kiss/SpecialForms.hx index 4129cba3..009dd519 100644 --- a/kiss/src/kiss/SpecialForms.hx +++ b/kiss/src/kiss/SpecialForms.hx @@ -220,8 +220,9 @@ class SpecialForms { }; map["return"] = (wholeExp:ReaderExp, args:Array, k:KissState) -> { - wholeExp.checkNumArgs(1, 1, '(return [value])'); - EReturn(k.convert(args[0])).withMacroPosOf(wholeExp); + wholeExp.checkNumArgs(0, 1, '(return [?value])'); + var returnExpr = if (args.length == 1) k.convert(args[0]) else null; + EReturn(returnExpr).withMacroPosOf(wholeExp); }; map["break"] = (wholeExp:ReaderExp, args:Array, k:KissState) -> {