From 85f0f5bd9ba573ad288ed582399b37e126f598c9 Mon Sep 17 00:00:00 2001 From: tslil Date: Fri, 24 Apr 2026 08:37:02 +0100 Subject: checking for injections, projections, rm vesitigial App --- grammar.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'grammar.txt') diff --git a/grammar.txt b/grammar.txt index 34d8e1b..607d759 100644 --- a/grammar.txt +++ b/grammar.txt @@ -10,7 +10,7 @@ instance_decl = "let instance" , inst_var , "::" , signature , "=" , instanc set = record_set | variant_set | builtin_set | claimed_set | set_var | "(" , set , ")" ; record_set = "record" , "{" , [ set_field { "," , set_field } ] , "}" ; set_field = "." , lower_ident , ":" , set ; -variant_set = "variant" , "{" , [ variant_field { "|" , variant_field } ] , "}" ; +variant_set = "variant" , "[" , [ variant_field { "|" , variant_field } ] , "]" ; variant_field = lower_ident , "." , ":" , set ; builtin_set = "Nat" | "Int" | "Float" | "Str" | "Bool" ; claimed_set = "set" , "(" , instance , ")" ; @@ -22,10 +22,9 @@ function_sig = param_list , "->" , signature ; param_list = param { param } ; param = "(" , elem_var , ":" , set , ")" ; -element = case_elem | app_elem ; +element = case_elem | dot_elem ; case_elem = "case" , element , "of" , "{" , [ case_arm { "|" , case_arm } ] , "}" ; case_arm = inject_elem , elem_var , "=>" , element ; -app_elem = dot_elem { dot_elem } ; dot_elem = { inject_elem } , atom_elem , { project_elem } ; inject_elem = ident , "." ; project_elem = "." , ident ; -- cgit v1.3.1