packages feed

fortran-src-extras-0.5.0: src/Language/Fortran/Extras/JSON/Analysis.hs

-- | Aeson instances for definitions used later in processing (e.g. analyses).

{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE UndecidableInstances #-} -- required due to instance design

module Language.Fortran.Extras.JSON.Analysis() where

import Language.Fortran.Extras.JSON.Helpers
import Data.Aeson
import Language.Fortran.Common.Array

instance ToJSON a => ToJSON (Dim a) where
    toJSON = gtj $ jcProdDrop "dim"

instance (ToJSON a, ToJSON (t a), ToJSON (t (Dim a))) => ToJSON (Dims t a) where
    toJSON = gtj $ jcSumDrop "Dims"