extensible/YAML
package.yaml に含まれている default-extensions と version を抜き出す例。
Main.hs
code: (hs)
{- stack script
--resolver nightly-2018-05-09
--package extensible
--package yaml
-}
{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-} module Main where
import Data.Extensible
import Data.Yaml (decodeFileEither, prettyPrintParseException)
import System.Environment (getArgs)
type Package = Record
'[ "default-extensions" >: String , "version" >: String
]
main :: IO ()
main = do
res <- decodeFileEither path
case res of
Left e -> putStrLn $ prettyPrintParseException e
Right cfg -> print (cfg :: Package)
実行例
code: (hs)
$ ./Exten.hs package.yaml