aboutsummaryrefslogtreecommitdiff
path: root/lux-python/source/program.lux
diff options
context:
space:
mode:
Diffstat (limited to 'lux-python/source/program.lux')
-rw-r--r--lux-python/source/program.lux11
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))