diff --git a/kiss/src/kiss/CompilerTools.hx b/kiss/src/kiss/CompilerTools.hx index 913bfa91..2a0759b9 100644 --- a/kiss/src/kiss/CompilerTools.hx +++ b/kiss/src/kiss/CompilerTools.hx @@ -190,7 +190,7 @@ class CompilerTools { } // return an expression for a lambda that calls new Process() that runs the target-specific file - var callingCode = 'function (?inputLines:Array) { return kiss.Prelude.assertProcess("$command", [haxe.io.Path.join(["${args.outputFolder}", "$mainClassName.$scriptExt"])], inputLines); }'; + var callingCode = 'function (?inputLines:Array) { return kiss.Prelude.assertProcess("$command", [haxe.io.Path.join(["${args.outputFolder}", "$mainClassName.$scriptExt"])].concat(inputLines)); }'; #if test trace(callingCode); #end diff --git a/kiss/src/kiss/Macros.hx b/kiss/src/kiss/Macros.hx index ccd462d9..e92a5399 100644 --- a/kiss/src/kiss/Macros.hx +++ b/kiss/src/kiss/Macros.hx @@ -856,21 +856,23 @@ class Macros { bindingList[idx + 1] = untypedName; default: } + stringifyExpList.push(b.the(b.symbol("String"), b.callSymbol("tink.Json.stringify", [b.the(b.symbol(type), bindingList[idx + 1])]))); parseBindingList.push(bindingList[idx]); - parseBindingList.push(b.callSymbol("tink.Json.parse", [b.callField("readLine", b.callSymbol("Sys.stdin", []), [])])); + parseBindingList.push(b.callSymbol("tink.Json.parse", [b.callField("shift", b.symbol("__args__"), [])])); idx += 2; } var externExps = [ - b.print( - b.callSymbol("tink.Json.stringify", [ - b.the(bodyType, if (bindingList.length > 0) { - b.let(parseBindingList, exps); - } else { - b.begin(exps); - }) - ])) + b.let([b.symbol("__args__"), b.callSymbol("Sys.args", [])], + [b.print( + b.callSymbol("tink.Json.stringify", [ + b.the(bodyType, if (bindingList.length > 0) { + b.let(parseBindingList, exps); + } else { + b.begin(exps); + }) + ]))]) ]; b.the( bodyType,