{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {- | Module: TREXIO.LowLevel.Scheme Description: The TREXIO scheme Copyright: Phillip Seeber 2024 License: BSD-3-Clause Maintainer: phillip.seeber@uni-jena.de Stability: experimental Portability: POSIX -} module TREXIO.LowLevel.Scheme where import Control.Monad import Data.Aeson import Data.Map qualified as Map import Data.Massiv.Array as Massiv hiding (Dim, forM) import Language.Haskell.TH import TREXIO.Internal.Base import TREXIO.Internal.TH import Language.Haskell.TH.Syntax (lift) scheme :: TrexioScheme scheme :: TrexioScheme scheme = $(do Just trexio <- runIO $ decodeFileStrict @TrexioScheme "./data/trexio.json" lift trexio )