diff options
Diffstat (limited to 'stdlib/source/lux/type/abstract.lux')
-rw-r--r-- | stdlib/source/lux/type/abstract.lux | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/stdlib/source/lux/type/abstract.lux b/stdlib/source/lux/type/abstract.lux index 1bb084cf5..0cbe49087 100644 --- a/stdlib/source/lux/type/abstract.lux +++ b/stdlib/source/lux/type/abstract.lux @@ -48,8 +48,8 @@ plist' (#.Cons [k' v'] (remove k plist'))))) -(def: down-cast Text "@abstraction") -(def: up-cast Text "@representation") +(def: down-cast Text ":abstraction") +(def: up-cast Text ":representation") (def: macro-anns Code (' {#.macro? true})) (def: representation-name @@ -165,14 +165,14 @@ (list/compose primitives (list (` ((~! un-install-casts))))))))) -(syntax: #export (^@representation {name (s.form s.local-symbol)} +(syntax: #export (^:representation {name (s.form s.local-symbol)} body {branches (p.some s.any)}) (let [g!representation (code.local-symbol name)] (do @ [current-module macro.current-module-name - #let [g!@representation (code.symbol [current-module "@representation"])]] + #let [g!:representation (code.symbol [current-module up-cast])]] (wrap (list& g!representation - (` (.let [(~ g!representation) ((~ g!@representation) (~ g!representation))] + (` (.let [(~ g!representation) ((~ g!:representation) (~ g!representation))] (~ body))) branches))))) |