From 8a51602b3507a18a5ffae1710ba4e915cf31fe39 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 5 Dec 2017 16:40:15 -0400 Subject: - All analysis procedures have been turned into extensions. --- new-luxc/source/luxc/lang/extension.lux | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'new-luxc/source/luxc/lang/extension.lux') 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 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 [ ] @@ -77,8 +85,8 @@ _ (..set (update@ (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] ) -- cgit v1.2.3