diff options
Diffstat (limited to 'lux-python/source')
-rw-r--r-- | lux-python/source/program.lux | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lux-python/source/program.lux b/lux-python/source/program.lux index 553b07499..34f527aed 100644 --- a/lux-python/source/program.lux +++ b/lux-python/source/program.lux @@ -280,7 +280,14 @@ (..read output)))) execute! (: (-> (_.Statement Any) (Try Any)) (function (execute! input) - (org/python/util/PythonInterpreter::exec (_.code input) interpreter)))] + (case (org/python/util/PythonInterpreter::exec (_.code input) interpreter) + (#try.Failure error) + (if (text.contains? "maximum recursion depth exceeded" error) + (execute! input) + (#try.Failure error)) + + output + output)))] (: (Host (_.Expression Any) (_.Statement Any)) (implementation (def: evaluate! evaluate!) @@ -370,7 +377,7 @@ {keywords [java/lang/String]}) org/python/core/PyObject (try.trusted - (case (array.list inputs) + (case (array.list #.None inputs) (^ (list)) (\ try.monad in (host_phase (list) phase)) |