получение Generic не работает, хотя DeriveGeneric включен - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь следовать руководству для библиотеки Beam Haskell: https://tathougies.github.io/beam/tutorials/tutorial1/

module Lib
    ( someFunc
    ) where

{-# LANGUAGE
    DeriveGeneric
  , GADTs
  , OverloadedStrings
  , FlexibleContexts
  , FlexibleInstances
  , TypeFamilies
  , TypeApplications
 #-}

import Database.Beam
import Database.Beam.Postgres
import GHC.Generics

import Data.Text (Text)

data UserT f
    = User
    { _userEmail     :: Columnar f Text
    , _userFirstName :: Columnar f Text
    , _userLastName  :: Columnar f Text
    , _userPassword  :: Columnar f Text }
    deriving Generic

someFunc :: IO ()
someFunc = putStrLn "someFunc"

Это приводит к следующей ошибке:

    • Can't make a derived instance of ‘Generic (UserT f)’:
        You need DeriveGeneric to derive an instance for this class
    • In the data declaration for ‘UserT’
   |
27 |     deriving Generic
   |              ^^^^^^^

Обратите внимание, что присутствует прагма DeriveGeneric.

Что мне здесь не хватает?

Среда построения:

  • стек lts-11.9
  • Linux

1 Ответ

0 голосов
/ 13 мая 2018
Декларация

A {-# LANGUAGE #-} должна находиться в самом верху файла, перед декларацией module.

...