-1
매개 변수화 된 유형에 대해 자동화 된 DeriveGeneric을 사용하고 싶습니다. 나는 오류가 발생합니다. FromJSON 형식의 yaml 파일을 디코드하고 싶습니다.DeriveGeneric을 매개 변수화 된 유형으로 사용하십시오.
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneriC#-}
{-# LANGUAGE TypeFamilies #-}
import Web.Scotty
import Data.ByteString.Char8 (pack, unpack)
import Data.ByteString.Lazy (toStrict, fromStrict)
import Data.List
import Data.Yaml
import GHC.Generics
data EPSG a = EPSG { epsg3857 :: a }
data Resolution = Resolution { max :: Int, items :: [Double]}
data Config = Config { minX :: EPSG Double, minY :: EPSG Double, maxX :: EPSG Double, maxY :: EPSG Double
, resolution :: EPSG Resolution
, metersPerUnit :: EPSG Double
, pixelSize :: EPSG Double
, scaleNames :: EPSG [String]
, tileWidth :: EPSG Double
, tileHeight :: EPSG Double
, subdirBit :: EPSG [Int]
, subdirShiftBit :: EPSG [Int]
, subdirNumSize :: EPSG [Int]
, fileNameNumSize :: EPSG [Int] } deriving Generic
instance FromJSON EPSG *
instance FromJSON Resolution
instance FromJSON Config
라인 EPSG *가 발생합니다. 어떻게 수정해야합니까?
너무에서'DeriveAnyClass'이있는 경우, 데이터 EPSG의 A = EPSG'로 바로 이동할 수 있습니다 {epsg3857 : A} (일반, FromJSON)을'유도. – Alec
@Alec 팁 주셔서 감사! 그게'DeriveGeneric'을 대체합니까? 아니면 그 외에? – jkeuhlen
아니, 'DeriveGeneric'도 필요합니다. 기능은 직각의 일종입니다. – Alec