{- | Module: Telescope.Asdf Copyright: (c) 2024 Sean Hess License: BSD3 Maintainer: Sean Hess Stability: experimental Portability: portable Read, and Write ASDF (Advanced Scientific Data Format) files > import Data.ByteString qualified as BS > import Telescope.Asdf > > data Example = Example > { name :: Text > , items :: [Text] > , sequence :: [Int64] > , random :: Array D Ix1 Double > } > deriving (Generic, FromAsdf) > > example :: IO () > example = do > inp <- BS.readFile "samples/example.asdf" > ex :: Example <- decodeM inp > print ex.name > print ex.items > print $ take 30 ex.sequence > print $ take 10 $ M.toList ex.random -} module Telescope.Asdf ( -- * Encoding encodeM , encode , ToAsdf (..) -- * Decoding , decodeM , decodeEither , decode , FromAsdf (..) , (.:) , (.:?) , AsdfError , Parser -- * Binary Data , FromNDArray (..) , ToNDArray (..) , NDArrayData (..) -- * ASDF Tree , Asdf (..) , Node (..) , Value (..) , Key , Object , fromValue , SchemaTag -- * JSON Reference , jsonPointer , jsonReference , JSONReference (..) , JSONPointer (..) -- * YAML Anchors , Anchor (..) -- ** Exports , Generic ) where import GHC.Generics import Telescope.Asdf.Class import Telescope.Asdf.Core (Asdf (..)) import Telescope.Asdf.Encoding import Telescope.Asdf.Error import Telescope.Asdf.NDArray import Telescope.Asdf.Node