Skip to content

Conversation

@jappeace
Copy link

@jappeace jappeace commented Nov 8, 2025

it's to solve build errors like these on ghc 9.8.4:

language-ecmascript> src/Language/ECMAScript3/Syntax.hs:327:21: error: [GHC-88464]
language-ecmascript>     Variable not in scope:
language-ecmascript>       liftM2
language-ecmascript>         :: (Bool -> Bool -> Bool)
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>     Suggested fix:
language-ecmascript>       Perhaps use one of these:
language-ecmascript>         ‘liftA2’ (imported from Prelude),
language-ecmascript>         ‘lift’ (imported from Control.Monad.State),
language-ecmascript>         ‘liftIO’ (imported from Control.Monad.State)
language-ecmascript>     |
language-ecmascript> 327 |   IfStmt _ _ t e -> liftM2 (&&) (checkStmtM t) (checkStmtM e)
language-ecmascript>     |                     ^^^^^^
language-ecmascript>
language-ecmascript> src/Language/ECMAScript3/Syntax.hs:329:37: error: [GHC-88464]
language-ecmascript>     Variable not in scope:
language-ecmascript>       liftM2
language-ecmascript>         :: (Bool -> Bool -> Bool)
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>            -> a0
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>     Suggested fix:
language-ecmascript>       Perhaps use one of these:
language-ecmascript>         ‘liftA2’ (imported from Prelude),
language-ecmascript>         ‘lift’ (imported from Control.Monad.State),
language-ecmascript>         ‘liftIO’ (imported from Control.Monad.State)
language-ecmascript>     |
language-ecmascript> 329 |   TryStmt _ body mcatch mfinally -> liftM2 (&&) (checkStmtM body) $

Also bumps the bounds

it's to solve build errors like these on ghc 9.8.4:

```
language-ecmascript> src/Language/ECMAScript3/Syntax.hs:327:21: error: [GHC-88464]
language-ecmascript>     Variable not in scope:
language-ecmascript>       liftM2
language-ecmascript>         :: (Bool -> Bool -> Bool)
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>     Suggested fix:
language-ecmascript>       Perhaps use one of these:
language-ecmascript>         ‘liftA2’ (imported from Prelude),
language-ecmascript>         ‘lift’ (imported from Control.Monad.State),
language-ecmascript>         ‘liftIO’ (imported from Control.Monad.State)
language-ecmascript>     |
language-ecmascript> 327 |   IfStmt _ _ t e -> liftM2 (&&) (checkStmtM t) (checkStmtM e)
language-ecmascript>     |                     ^^^^^^
language-ecmascript>
language-ecmascript> src/Language/ECMAScript3/Syntax.hs:329:37: error: [GHC-88464]
language-ecmascript>     Variable not in scope:
language-ecmascript>       liftM2
language-ecmascript>         :: (Bool -> Bool -> Bool)
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>            -> a0
language-ecmascript>            -> State ([Label], [EnclosingStatement]) Bool
language-ecmascript>     Suggested fix:
language-ecmascript>       Perhaps use one of these:
language-ecmascript>         ‘liftA2’ (imported from Prelude),
language-ecmascript>         ‘lift’ (imported from Control.Monad.State),
language-ecmascript>         ‘liftIO’ (imported from Control.Monad.State)
language-ecmascript>     |
language-ecmascript> 329 |   TryStmt _ body mcatch mfinally -> liftM2 (&&) (checkStmtM body) $
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant