diff options
Diffstat (limited to '')
-rw-r--r-- | lux-python/source/program.lux | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lux-python/source/program.lux b/lux-python/source/program.lux index 2d6c858aa..5404b13d4 100644 --- a/lux-python/source/program.lux +++ b/lux-python/source/program.lux @@ -25,6 +25,7 @@ ["[0]" array {"+" Array}] ["[0]" list ("[1]#[0]" functor)]]] ["[0]" macro + ["^" pattern] ["[0]" template] ["[0]" code]] [math @@ -174,16 +175,16 @@ (case [(org/python/core/PyObject::__getitem__ (ffi.as_int +0) host_object) (org/python/core/PyObject::__getitem__ (ffi.as_int +1) host_object) (org/python/core/PyObject::__getitem__ (ffi.as_int +2) host_object)] - (^or [{try.#Failure try} _ _] - [_ {try.#Failure try} _] - [_ _ {try.#Failure try}]) + (^.or [{try.#Failure try} _ _] + [_ {try.#Failure try} _] + [_ _ {try.#Failure try}]) {try.#Failure try} - (^multi [{try.#Success tag} {try.#Success flag} {try.#Success value}] - [(read tag) - {try.#Success tag}] - [(read value) - {try.#Success value}]) + (^.multi [{try.#Success tag} {try.#Success flag} {try.#Success value}] + [(read tag) + {try.#Success tag}] + [(read value) + {try.#Success value}]) {try.#Success [tag (: Any (case (ffi.check org/python/core/PyNone @@ -269,11 +270,11 @@ (in (loop [it it inputs inputs] (`` (`` (case inputs - (^ (list)) + (pattern (list)) (:as org/python/core/PyObject self) (~~ (template [<arity>] - [(^ (list (~~ (static.literals code.local_symbol (inputs/? <arity>))))) + [(pattern (list (~~ (static.literals code.local_symbol (inputs/? <arity>))))) (to_host ((:as (~~ (static.literal function.identity (function/? <arity>))) it) (~~ (static.literals code.local_symbol (inputs/? <arity>)))))] @@ -286,8 +287,8 @@ [7] [8])) - (^ (list& (~~ (static.literals code.local_symbol (inputs/? 8))) - input/+)) + (pattern (list& (~~ (static.literals code.local_symbol (inputs/? 8))) + input/+)) (again ((:as (~~ (static.literal function.identity (function/? 8))) it) (~~ (static.literals code.local_symbol (inputs/? 8)))) input/+)))))))))))) |