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 )