以下是一个简单的Haskell HTTP服务示例,使用Servant库来构建RESTful API:
```haskell {-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-}
import Servant import Network.Wai import Network.Wai.Handler.Warp
type API = "hello" :> Get '[JSON] String
server :: Server API server = return "Hello, World!"
app :: Application app = serve (Proxy :: Proxy API) server
main :: IO () main = run 8080 app ```
2. 数据处理与分析
以下是使用Haskell进行数据分析的简单示例,假设我们有一个CSV文件需要读取并进行处理:
```haskell {-# LANGUAGE OverloadedStrings #-}
import Data.Csv import qualified Data.ByteString.Lazy as BL import Control.Applicative import Data.Vector (Vector)
data Record = Record { name :: String, age :: Int } deriving Show
instance FromNamedRecord Record where parseNamedRecord r = Record <$> r .: "name" <*> r .: "age"
main :: IO () main = do csvData <- BL.readFile "data.csv" case decodeByName csvData of Left err -> putStrLn $ "Error: " ++ err Right (_, records) -> print (records :: Vector Record) ```
3. 云服务的自动化摆设