diff options
Diffstat (limited to 'stdlib/source/lux/macro/poly/functor.lux')
-rw-r--r-- | stdlib/source/lux/macro/poly/functor.lux | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/stdlib/source/lux/macro/poly/functor.lux b/stdlib/source/lux/macro/poly/functor.lux index c9de93cbb..17fd7808f 100644 --- a/stdlib/source/lux/macro/poly/functor.lux +++ b/stdlib/source/lux/macro/poly/functor.lux @@ -80,7 +80,7 @@ (wrap (list analysis synthesis)))) cases)] - (wrap (` (: (~ (->Functor (type;type-to-ast :x:))) + (wrap (` (: (~ (->Functor (type;to-ast :x:))) (struct (def: ((~ g!map) (~ g!func) (~ g!input)) (case (~ g!input) (~@ (List/join pattern-matching))))) @@ -95,7 +95,7 @@ body (|elem| g!slot :slot:)] (wrap [g!slot body]))) members)] - (wrap (` (: (~ (->Functor (type;type-to-ast :x:))) + (wrap (` (: (~ (->Functor (type;to-ast :x:))) (struct (def: ((~ g!map) (~ g!func) (~ g!input)) (case (~ g!input) [(~@ (List/map product;left pm))] @@ -109,7 +109,7 @@ g!ins (seqM @ (list;repeat (list;size :ins:) (compiler;gensym "g!arg")))] - (wrap (` (: (~ (->Functor (type;type-to-ast :x:))) + (wrap (` (: (~ (->Functor (type;to-ast :x:))) (struct (def: ((~ g!map) (~ g!func) (~ g!input)) (lambda [(~@ g!ins)] (let [(~ g!out) ((~ g!input) (~@ g!ins))] @@ -117,10 +117,10 @@ ## No structure (as you'd expect from Identity) (do @ [_ (poly;var new-env (n.dec num-vars) :x:)] - (wrap (` (: (~ (->Functor (type;type-to-ast :x:))) + (wrap (` (: (~ (->Functor (type;to-ast :x:))) (struct (def: ((~ g!map) (~ g!func) (~ g!input)) ((~ g!func) (~ g!input)))))))) ## Failure... - (compiler;fail (format "Can't create Functor for: " (type;type-to-text :x:))) + (compiler;fail (format "Can't create Functor for: " (%type :x:))) )) ))) |