import qualified Data.ByteString.Lazy as B
import qualified Data.Text as T
import GHC.Generics
+import System.Directory
instance FromJSON File where
parseJSON (Object v) = File
save :: T.Text -> Program -> IO ()
save filename program = do
+ createDirectoryIfMissing False "./programs/"
B.writeFile (T.unpack filename) (encodePretty program)
+
+readProgram :: String -> IO ( Maybe Program )
+readProgram filename = do
+ json_data <- B.readFile filename
+ return (decode json_data)