Haskell:MakeLens-数据构造函数不在范围内
我这里有一个简单的代码来定义一个类型,并使用Haskell:MakeLens-数据构造函数不在范围内,haskell,template-haskell,Haskell,Template Haskell,我这里有一个简单的代码来定义一个类型,并使用makelents来生成镜头 module Api.Jira.Types.Search ( SearchRequest(..) ) where import GHC.Generics import qualified Data.Text as T import Data.Aeson (FromJSON, ToJSON) import Control.Lens import Data.Aeson import Data.Aeson.Ty
makelents
来生成镜头
module Api.Jira.Types.Search
(
SearchRequest(..)
) where
import GHC.Generics
import qualified Data.Text as T
import Data.Aeson (FromJSON, ToJSON)
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
data SearchRequest = SearchRequest
{ _jql :: T.Text
, _startAt :: Maybe Int
, _maxResults :: Maybe Int
, _fields :: Maybe [T.Text]
, _expand :: Maybe [T.Text]
, _properties :: Maybe [T.Text]
} deriving (Show, Generic)
instance ToJSON SearchRequest where
toJSON = genericToJSON defaultOptions {
fieldLabelModifier = drop 1 }
instance FromJSON SearchRequest where
parseJSON = genericParseJSON defaultOptions {
fieldLabelModifier = drop 1 }
makeLenses SearchRequest''
这将导致以下错误:
数据构造函数不在范围内:
搜索请求“”
::template-haskell-2.11.1.0:Language.haskell.TH.Syntax.Name
•也许你的意思是:
“SearchRequest”(第20行),变量“SearchRequest”(第39行)
我发现了两个与此相关的问题,但它们与声明顺序相关,在这里似乎不适用,因为SearchRequest
中包含的所有类型都已定义
你知道是什么原因吗?这是
“SearchRequest
,而不是SearchRequest
这是“SearchRequest
,而不是SearchRequest'
哈哈,哎哟。那太尴尬了。。。谢谢你的快速回复,我会接受期限一过。哈哈。那太尴尬了。。。谢谢你的快速回复,我会接受一旦期限到期。