futhark-server 1.2.0.0 → 1.2.1.0
raw patch · 3 files changed
+48/−5 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Futhark.Server: cmdEntryPoints :: Server -> IO (Maybe CmdFailure)
+ Futhark.Server: cmdFields :: Server -> Text -> IO (Either CmdFailure [Text])
+ Futhark.Server: cmdNew :: Server -> Text -> Text -> [Text] -> IO (Maybe CmdFailure)
+ Futhark.Server: cmdProject :: Server -> Text -> Text -> Text -> IO (Maybe CmdFailure)
+ Futhark.Server: cmdTypes :: Server -> IO (Either CmdFailure [Text])
Files
- CHANGELOG.md +4/−0
- futhark-server.cabal +1/−1
- src/Futhark/Server.hs +43/−4
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for futhark-server +## 1.2.1.0 -- 2022-07-01++* Added `cmdFields`, `cmdNew`, `cmdProject`, `cmdTypes`, and `cmdEntryPoints`.+ ## 1.2.0.0 -- 2022-05-14 * `ServerCfg` no longer has any type class instances.
futhark-server.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: futhark-server-version: 1.2.0.0+version: 1.2.1.0 synopsis: Client implementation of the Futhark server protocol. description: Provides an easy way to interact with a running Futhark
src/Futhark/Server.hs view
@@ -31,6 +31,8 @@ EntryName, InputType (..), OutputType (..),++ -- ** Main commands cmdRestore, cmdStore, cmdCall,@@ -39,6 +41,17 @@ cmdInputs, cmdOutputs, cmdClear,++ -- ** Interrogation+ cmdTypes,+ cmdEntryPoints,++ -- ** Records+ cmdNew,+ cmdProject,+ cmdFields,++ -- ** Auxiliary cmdReport, cmdPauseProfiling, cmdUnpauseProfiling,@@ -150,7 +163,9 @@ stderr_s <- readFile $ serverErrLog s removeFile $ serverErrLog s error $- "Command failed with " ++ show code ++ ":\n"+ "Command failed with "+ ++ show code+ ++ ":\n" ++ unwords (prog : options) ++ "\nStderr:\n" ++ stderr_s@@ -191,7 +206,8 @@ responseLines cmd s = do l <- T.hGetLine $ serverStdout s when (serverDebug s) $- T.hPutStrLn stderr $ "<<< " <> l+ T.hPutStrLn stderr $+ "<<< " <> l case l of "%%% OK" -> pure [] _ -> do@@ -230,7 +246,8 @@ let cmd_and_args' = T.unwords $ map quoteWord $ cmd : args when (serverDebug s) $- T.hPutStrLn stderr $ ">>> " <> cmd_and_args'+ T.hPutStrLn stderr $+ ">>> " <> cmd_and_args' T.hPutStrLn (serverStdin s) cmd_and_args' hFlush $ serverStdin s@@ -246,7 +263,9 @@ _ -> mempty stderr_s <- readFile $ serverErrLog s error $- "After sending command " ++ show cmd ++ " to server process:"+ "After sending command "+ ++ show cmd+ ++ " to server process:" ++ show e ++ code_msg ++ "\nServer stderr:\n"@@ -341,6 +360,26 @@ -- | @set_tuning_param param value@ cmdSetTuningParam :: Server -> Text -> Text -> IO (Either CmdFailure [Text]) cmdSetTuningParam s param value = sendCommand s "set_tuning_param" [param, value]++-- | @types@+cmdTypes :: Server -> IO (Either CmdFailure [Text])+cmdTypes s = sendCommand s "types" []++-- | @entry_points@+cmdEntryPoints :: Server -> IO (Maybe CmdFailure)+cmdEntryPoints s = helpCmd s "entry_points" []++-- | @fields type@+cmdFields :: Server -> Text -> IO (Either CmdFailure [Text])+cmdFields s t = sendCommand s "fields" [t]++-- | @new var0 type var1...@+cmdNew :: Server -> Text -> Text -> [Text] -> IO (Maybe CmdFailure)+cmdNew s var0 t vars = helpCmd s "new" $ var0 : t : vars++-- | @project to from field@+cmdProject :: Server -> Text -> Text -> Text -> IO (Maybe CmdFailure)+cmdProject s to from field = helpCmd s "project" [to, from, field] -- | Turn a 'Maybe'-producing command into a monadic action. cmdMaybe :: (MonadError Text m, MonadIO m) => IO (Maybe CmdFailure) -> m ()