-1
パラメータ化された型に自動DerivativeGenericを使用したい。私はエラーが発生します。 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