fix all haskell warnings (sigh)
build / build (push) Successful in 1m8s

This commit is contained in:
2026-07-19 03:26:36 -06:00
parent 33fb0f831c
commit 0ba49ed85c
7 changed files with 25 additions and 111 deletions
+8 -12
View File
@@ -20,29 +20,27 @@ module Gyehoek.Scheme.Syntax
, primSexpIso
, pattern Void
, free
, qexp
, qprog
, subst
, getName
)
where
import Data.Text (Text)
import Data.List (List)
import Language.SexpGrammar
( SexpIso(..), list, el, (>>>), rest, sym, symbol )
( SexpIso(..), list, el, rest, sym, symbol )
import Language.SexpGrammar qualified as Sexp
import Language.Sexp.Located qualified as S
import Language.SexpGrammar.Generic
import GHC.Generics
import Prelude hiding ((.), id)
import Control.Category
import Data.List.NonEmpty (NonEmpty ((:|)))
import Data.List.NonEmpty (NonEmpty)
import Gyehoek.Sexp qualified
import Gyehoek.GenSym (Gen)
import Control.Lens
import Data.String (IsString)
import Data.Hashable (Hashable)
import Control.Lens.Unsound (prismSum)
import Data.Data (Data)
import Data.Functor.Foldable.TH (makeBaseFunctor)
import Data.Functor.Foldable hiding (fold)
@@ -51,10 +49,13 @@ import qualified Data.HashSet as HS
import Data.Foldable (fold)
newtype Name = MkName { getName :: Text }
newtype Name = MkName { inner :: Text }
deriving newtype (Show, Eq, IsString, Gen, Hashable)
deriving stock (Generic, Data)
getName :: Name -> Text
getName (MkName x) = x
data Prim e
= PrimAdd e e
| PrimSub e e
@@ -121,8 +122,6 @@ instance Each Program Program (Either Exp Def) (Either Exp Def) where
each = #commandsAndDefs . each . go
where
inj = either Command Definition
toeither (Command e) = Left e
toeither (Definition d) = Right d
go :: Traversal' CommandOrDef (Either Exp Def)
go k (Command e) = inj <$> k (Left e)
go k (Definition d) = inj <$> k (Right d)
@@ -184,7 +183,7 @@ instance SexpIso Lit where
instance SexpIso Sexp where
sexpIso = match
$ With (\cons -> cons . Gyehoek.Sexp.todo)
$ With (\conss -> conss . Gyehoek.Sexp.todo)
$ With (\s -> s . symbol)
$ With (\lit -> lit . sexpIso)
$ End
@@ -229,9 +228,6 @@ instance SexpIso CommandOrDef where
-- utilities
qexp = Gyehoek.Sexp.makeSx $ sexpIso @Exp
qprog = Gyehoek.Sexp.makeSxs (sexpIso @CommandOrDef) MkProgram
free :: Exp -> HashSet Name
free = cata \case
ExpVarF x -> HS.singleton x