如何理解Haskell函数参数
在以下函数定义中:如何理解Haskell函数参数,haskell,signature,Haskell,Signature,在以下函数定义中: app :: Application app _ respond = do putStrLn "I've done some IO here" respond $ responseLBS status200 [("Content-Type", "text/plain")] "Hello, Web!" 您好,应用程序函数似乎不接受参数。为什么在上面的示例中有两个参数?是类型同义词。其定义如下: type Appl
app :: Application
app _ respond = do
putStrLn "I've done some IO here"
respond $ responseLBS
status200
[("Content-Type", "text/plain")]
"Hello, Web!"
您好,应用程序函数似乎不接受参数。为什么在上面的示例中有两个参数?是类型同义词。其定义如下:
type Application = Request -> (Response -> IO ResponseReceived) -> IO ResponseReceived
type Application=Request->(Response->IO ResponseReceived)->IO ResponseReceived
因此,它是一个接受
请求
的函数,以及一个将响应
映射到接收到的IO响应
的函数,然后生成一个接收到的IO响应
。通常,此类函数会生成一个响应
,然后由响应进行后处理。它确实生成应用程序
是请求->(响应->IO响应接收)->IO响应接收的类型同义词
: