Haskell DeriveGeneric pragma无法识别

问题描述 投票:2回答:1

我在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.

它似乎不接受我对普通的pragma。我究竟做错了什么?看看similar questions,这似乎应该有效。

haskell pragma
1个回答
8
投票

您还需要导入GHC.Generics

-- other imports
import GHC.Generics
-- more imports
© www.soinside.com 2019 - 2024. All rights reserved.