aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/extension.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/extension.lux')
-rw-r--r--new-luxc/source/luxc/lang/extension.lux32
1 files changed, 20 insertions, 12 deletions
diff --git a/new-luxc/source/luxc/lang/extension.lux b/new-luxc/source/luxc/lang/extension.lux
index d38d564fb..248bfbb71 100644
--- a/new-luxc/source/luxc/lang/extension.lux
+++ b/new-luxc/source/luxc/lang/extension.lux
@@ -18,16 +18,24 @@
(exception: #export Cannot-Define-Translation-More-Than-Once)
(exception: #export Cannot-Define-Statement-More-Than-Once)
-(type: #export Expression
+(type: #export Analysis
+ (-> (-> Code (Meta Code))
+ (-> Type Code (Meta Top))
+ (List Code) (Meta Code)))
+
+(type: #export Synthesis
+ (-> (List Code) (Meta Code)))
+
+(type: #export Translation
(-> (List Code) (Meta Code)))
(type: #export Statement
(-> (List Code) (Meta Unit)))
(type: #export Extensions
- {#analysis (Dict Text Expression)
- #synthesis (Dict Text Expression)
- #translation (Dict Text Expression)
+ {#analysis (Dict Text Analysis)
+ #synthesis (Dict Text Synthesis)
+ #translation (Dict Text Translation)
#statement (Dict Text Statement)})
(def: #export fresh
@@ -61,10 +69,10 @@
#.None
(//.throw <exception> name))))]
- [find-analysis Expression #analysis Unknown-Analysis]
- [find-synthesis Expression #synthesis Unknown-Synthesis]
- [find-translation Expression #translation Unknown-Translation]
- [find-statement Statement #statement Unknown-Statement]
+ [find-analysis Analysis #analysis Unknown-Analysis]
+ [find-synthesis Synthesis #synthesis Unknown-Synthesis]
+ [find-translation Translation #translation Unknown-Translation]
+ [find-statement Statement #statement Unknown-Statement]
)
(do-template [<name> <type> <category> <exception>]
@@ -77,8 +85,8 @@
_ (..set (update@ <category> (dict.put name extension) extensions))]
(wrap [])))]
- [install-analysis Expression #analysis Cannot-Define-Analysis-More-Than-Once]
- [install-synthesis Expression #synthesis Cannot-Define-Synthesis-More-Than-Once]
- [install-translation Expression #translation Cannot-Define-Translation-More-Than-Once]
- [install-statement Statement #statement Cannot-Define-Statement-More-Than-Once]
+ [install-analysis Analysis #analysis Cannot-Define-Analysis-More-Than-Once]
+ [install-synthesis Synthesis #synthesis Cannot-Define-Synthesis-More-Than-Once]
+ [install-translation Translation #translation Cannot-Define-Translation-More-Than-Once]
+ [install-statement Statement #statement Cannot-Define-Statement-More-Than-Once]
)