aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/type/implicit.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/type/implicit.lux16
1 files changed, 8 insertions, 8 deletions
diff --git a/stdlib/source/lux/type/implicit.lux b/stdlib/source/lux/type/implicit.lux
index b38ade514..8c1718d84 100644
--- a/stdlib/source/lux/type/implicit.lux
+++ b/stdlib/source/lux/type/implicit.lux
@@ -286,7 +286,7 @@
(def: (var? input)
(-> Code Bit)
(case input
- [_ (#.Symbol _)]
+ [_ (#.Identifier _)]
#1
_
@@ -300,14 +300,14 @@
(-> Instance Code)
(case dependencies
#.Nil
- (code.symbol constructor)
+ (code.identifier constructor)
_
- (` ((~ (code.symbol constructor)) (~+ (list/map instance$ dependencies))))))
+ (` ((~ (code.identifier constructor)) (~+ (list/map instance$ dependencies))))))
(syntax: #export (:::
- {member s.symbol}
- {args (p.alt (p.seq (p.some s.symbol) s.end!)
+ {member s.identifier}
+ {args (p.alt (p.seq (p.some s.identifier) s.end!)
(p.seq (p.some s.any) s.end!))})
{#.doc (doc "Automatic structure selection (for type-class style polymorphism)."
"This feature layers type-class style polymorphism on top of Lux's signatures and structures."
@@ -345,8 +345,8 @@
(#.Cons chosen #.Nil)
(wrap (list (` (:: (~ (instance$ chosen))
- (~ (code.local-symbol (product.right member)))
- (~+ (list/map code.symbol args))))))
+ (~ (code.local-identifier (product.right member)))
+ (~+ (list/map code.identifier args))))))
_
(macro.fail (format "Too many options available: "
@@ -359,7 +359,7 @@
(do @
[labels (|> (macro.gensym "") (list.repeat (list.size args)) (monad.seq @))]
(wrap (list (` (let [(~+ (|> (list.zip2 labels args) (list/map join-pair) list/join))]
- (..::: (~ (code.symbol member)) (~+ labels)))))))
+ (..::: (~ (code.identifier member)) (~+ labels)))))))
))
(def: (implicit-bindings amount)