packages feed

futhark-server 1.2.3.0 → 1.2.4.0

raw patch · 3 files changed

+27/−4 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Futhark.Server: cmdIndex :: Server -> VarName -> VarName -> [Int] -> IO (Maybe CmdFailure)
+ Futhark.Server: cmdShape :: Server -> VarName -> IO (Either CmdFailure [Int])

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for futhark-server +## 1.2.4.0 -- 2026-02-19++* Report exit code when server terminates with nonzero exit code.++* Support for `index` and `shape` commands.+ ## 1.2.3.0 -- 2024-10-25  * Add `abortServer`.
futhark-server.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               futhark-server-version:            1.2.3.0+version:            1.2.4.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
@@ -52,6 +52,10 @@     cmdProject,     cmdFields, +    -- * Arrays+    cmdShape,+    cmdIndex,+     -- ** Auxiliary     cmdReport,     cmdPauseProfiling,@@ -186,9 +190,13 @@   code <- P.waitForProcess $ serverProc s   case code of     ExitSuccess -> pure ()-    ExitFailure _ -> do+    ExitFailure x -> do       stderr_s <- readFile $ serverErrLog s-      error stderr_s+      error $+        "Server terminated with nonzero exit code "+          <> show x+          <> " and stderr:\n"+          <> stderr_s  -- | Terminate the server process.  You'll still need to call -- 'stopServer' unless used inside 'withServer', which does it for@@ -382,7 +390,7 @@  -- | @tuning_param_class param@ cmdTuningParamClass :: Server -> Text -> IO (Either CmdFailure Text)-cmdTuningParamClass s param = fmap head <$> sendCommand s "tuning_param_class" [param]+cmdTuningParamClass s param = fmap mconcat <$> sendCommand s "tuning_param_class" [param]  -- | @types@ cmdTypes :: Server -> IO (Either CmdFailure [Text])@@ -403,6 +411,15 @@ -- | @project to from field@ cmdProject :: Server -> Text -> Text -> Text -> IO (Maybe CmdFailure) cmdProject s to from field = helpCmd s "project" [to, from, field]++-- | @shape v@+cmdShape :: Server -> VarName -> IO (Either CmdFailure [Int])+cmdShape s v = fmap (map (read . T.unpack)) <$> sendCommand s "shape" [v]++-- | @index v0 v1 i0 ... iN-1@+cmdIndex :: Server -> VarName -> VarName -> [Int] -> IO (Maybe CmdFailure)+cmdIndex s v0 v1 is =+  helpCmd s "index" $ [v0, v1] <> map (T.pack . show) is  -- | Turn a 'Maybe'-producing command into a monadic action. cmdMaybe :: (MonadError Text m, MonadIO m) => IO (Maybe CmdFailure) -> m ()