この問題を示す GHCI セッションは次のとおりです。
Prelude> import Network
Prelude Network> PortNumber 1234
PortNumber 1234
Prelude Network> let n = 1234
Prelude Network> PortNumber n
<interactive>:5:12:
Couldn't match expected type `PortNumber'
with actual type `Integer'
In the first argument of `PortNumber', namely `n'
In the expression: PortNumber n
In an equation for `it': it = PortNumber n
なぜこれが機能しないのですか?に格納されている変数が与えられた場合Integer
(または 、Word16
ユーザー入力を読み取っているので、柔軟に対応できます)、それを に渡すことができないのはなぜPortNumber
ですか?