haskell / haskell/error-messages
Perhaps you want to use `pure`?
- Dominant language
- No language data
- Stars
- 76
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
Given this code:
```haskell
initModelContext :: FrameworkConfig -> IO ModelContext
initModelContext FrameworkConfig { environment, dbPoolIdleTime, dbPoolMaxConnections, databaseUrl } = do
let isDevelopment = environment == Env.Development
modelContext <- (\modelContext -> modelContext { queryDebuggingEnabled = isDevelopment }) <$> createModelContext dbPoolIdleTime dbPoolMaxConnections databaseUrl
modelContext
```
GHC errors with:
```haskell
IHP/Server.hs:133:5: error:
• Couldn't match expected type ‘IO ModelContext’
with actual type ‘ModelContext’
• In a stmt of a 'do' block: modelContext
In the expression:
do let isDevelopment = environment == Env.Development
modelContext <- (\ modelContext
-> modelContext {queryDebuggingEnabled = isDevelopment})
<$>
createModelContext dbPoolIdleTime dbPoolMaxConnections databaseUrl
modelContext
In an equation for ‘initModelContext’:
initModelContext
FrameworkConfig {environment, dbPoolIdleTime, dbPoolMaxConnections,
databaseUrl}
= do let isDevelopment = ...
modelContext <- (\ modelContext
-> modelContext {queryDebuggingEnabled = isDevelopment})
<$>
createModelContext
dbPoolIdleTime dbPoolMaxConnections databaseUrl
modelContext
|
133 | modelContext
```
A better error message would be:
```haskell
IHP/Server.hs:133:5: error:
• Perhaps you meant `pure modelContext`?
Couldn't match expected type ‘IO ModelContext’
with actual type ‘ModelContext’
• In a stmt of a 'do' block: modelContext
In the expression:
do let isDevelopment = environment == Env.Development
modelContext <- (\ modelContext
-> modelContext {queryDebuggingEnabled = isDevelopment})
<$>
createModelContext dbPoolIdleTime dbPoolMaxConnections databaseUrl
modelContext
In an equation for ‘initModelContext’:
initModelContext
FrameworkConfig {environment, dbPoolIdleTime, dbPoolMaxConnections,
databaseUrl}
= do let isDevelopment = ...
modelContext <- (\ modelContext
-> modelContext {queryDebuggingEnabled = isDevelopment})
<$>
createModelContext
dbPoolIdleTime dbPoolMaxConnections databaseUrl
modelContext
|
133 | modelContext
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.