diff options
Diffstat (limited to 'lux-python')
-rw-r--r-- | lux-python/project.lux | 8 | ||||
-rw-r--r-- | lux-python/source/program.lux | 11 |
2 files changed, 13 insertions, 6 deletions
diff --git a/lux-python/project.lux b/lux-python/project.lux index 57672fdea..118bc95b2 100644 --- a/lux-python/project.lux +++ b/lux-python/project.lux @@ -1,8 +1,8 @@ -{"" +["" [#identity ["com.github.luxlang" "lux-python" "0.6.0-SNAPSHOT"] - #deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/" - "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"} + #deploy_repositories ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/" + "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"] #repositories ["https://oss.sonatype.org/content/repositories/snapshots/" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"] @@ -11,4 +11,4 @@ #dependencies [["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT" "tar"] ["org.python" "jython-standalone" "2.7.2" "jar"]] - #program "program"]} + #program "program"]] 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)) |