diff options
author | Camil Staps | 2023-11-27 19:00:20 +0100 |
---|---|---|
committer | Camil Staps | 2023-11-27 19:00:20 +0100 |
commit | 5a3007ea91a3ee57a4fc3e34c0edd59a90b525c3 (patch) | |
tree | 3addc1233eb1e80657fa36b6599e3ebe3d097d88 /snug-clean/src/Snug/Syntax.dcl | |
parent | Update to base 2.0 (diff) |
WIP on code generation for case expressions
Diffstat (limited to 'snug-clean/src/Snug/Syntax.dcl')
-rw-r--r-- | snug-clean/src/Snug/Syntax.dcl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/snug-clean/src/Snug/Syntax.dcl b/snug-clean/src/Snug/Syntax.dcl index 5246dcd..f6ff0f2 100644 --- a/snug-clean/src/Snug/Syntax.dcl +++ b/snug-clean/src/Snug/Syntax.dcl @@ -1,5 +1,7 @@ definition module Snug.Syntax +from Data.Set import :: Set + :: TypeIdent :== String :: TypeVarIdent :== String :: ConstructorIdent :== String @@ -38,3 +40,8 @@ definition module Snug.Syntax | TypeDef !TypeIdent !Type | FunDef !SymbolIdent ![(SymbolIdent, Type)] !Type !Expression | TestDef !String !Type !Expression !String + +class usedSymbols a :: !a -> Set SymbolIdent +instance usedSymbols [a] | usedSymbols a +instance usedSymbols (a, b) | usedSymbols a & usedSymbols b +instance usedSymbols CaseAlternative, Expression, Pattern |