Haskell DeriveGeneric прагма не признается - PullRequest
3 голосов
/ 11 апреля 2019

В верхней части моего файла на Haskell есть следующее:

{-# LANGUAGE DeriveGeneric,  OverloadedStrings,  DefaultSignatures,  TypeOperators,  FlexibleContexts, RecordWildCards, FlexibleInstances, ExtendedDefaultRules #-}

module Main where

import qualified Data.Map as Map
import qualified Data.Set as Set
import Data.Text (Text)
import Data.DateTime
import Data.Aeson

newtype Price = Price Float deriving Generic

Однако, когда я бегу:

$ stack ghci
...
Prelude> :l myfile.hs

[1 of 1] Compiling Main             ( myfile.hs, interpreted )

myfile.hs:13:38: error:
    Not in scope: type constructor or class ‘Generic’
   |
13 | newtype Price = Price Float deriving Generic
   |                                      ^^^^^^^
Failed, no modules loaded.

Кажется, я не принимаю мою прагму для дженериков. Что я делаю неправильно? Глядя на похожие вопросы , кажется, что это должно сработать.

1 Ответ

8 голосов
/ 11 апреля 2019

Вам также необходимо импортировать GHC.Generics:

-- other imports
import GHC.Generics
-- more imports
...