diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-10-10 18:43:13 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-10-10 18:43:13 -0600 |
commit | cef70019330bb482a1418c026c57045ed731d51b (patch) | |
tree | f6c568e644df202b8b87e8967698a98776183912 /src/Language/Fiddle/Parser.hs | |
parent | c2f195a23bdb0d0dc876cc548d4c3157534082c6 (diff) | |
download | fiddle-cef70019330bb482a1418c026c57045ed731d51b.tar.gz fiddle-cef70019330bb482a1418c026c57045ed731d51b.tar.bz2 fiddle-cef70019330bb482a1418c026c57045ed731d51b.zip |
Change Witness to be a GADT.
This makes is much simpler to represent. Surprised I missed this
ability.
Diffstat (limited to 'src/Language/Fiddle/Parser.hs')
-rw-r--r-- | src/Language/Fiddle/Parser.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Language/Fiddle/Parser.hs b/src/Language/Fiddle/Parser.hs index ef40cc9..b3eed63 100644 --- a/src/Language/Fiddle/Parser.hs +++ b/src/Language/Fiddle/Parser.hs @@ -140,7 +140,7 @@ fiddleDeclP = do PackageDecl (pure ()) <$> name <*> defer body packageBodyP - KWUsing -> UsingDecl (Witness ()) <$> name + KWUsing -> UsingDecl Witness <$> name KWLocation -> LocationDecl (pure ()) <$> ident <*> (tok TokEq >> expressionP) KWBits -> BitsDecl (pure ()) <$> ident <*> (tok TokColon >> bitTypeP) KWImport -> ImportDecl <$> importStatementP @@ -182,7 +182,7 @@ objTypeP = do (ReferencedObjType (pure ()) <$> name) <|> ( do t <- bodyTypeP - AnonymousObjType (Witness ()) <$> defer body (objTypeBodyP t) + AnonymousObjType Witness <$> defer body (objTypeBodyP t) ) exprInParenP :: Pa Expression @@ -198,7 +198,7 @@ objTypeDeclP = withMeta $ ( do tok_ KWAssertPos - AssertPosStatement (Witness ()) <$> exprInParenP + AssertPosStatement Witness <$> exprInParenP ) <|> ( do tok_ KWReserved @@ -278,7 +278,7 @@ registerBitsTypeRefP = do baseTypeRef = withMeta $ (RegisterBitsJustBits <$> exprInParenP) - <|> (RegisterBitsAnonymousType (Witness ()) <$> anonymousBitsTypeP) + <|> (RegisterBitsAnonymousType Witness <$> anonymousBitsTypeP) <|> (RegisterBitsReference (pure ()) <$> name) anonymousBitsTypeP :: Pa AnonymousBitsType |