2
可以說我有以下幾點:哈斯克爾:如何定義嚴格的元組
f (a, b) = if a == 0 then (0, 0) else (a * b, a/b)
x1 = make_strict (0, undefined)
x2 = (0, undefined)
g f :: (b -> b) -> a -> a
如何界定make_strict
和g
:
g f x = ... f x ...
make_strict x = ...
這樣:
g f x1 == undef
g f x2 == (0, 0)
基本上我想要製作一個嚴格的版本,然後我可以將它傳遞給一個需要一對的函數,可能通過h必要時包裝g
。這裏的f
的具體實現只是一個例子,解決方案不應該依賴它。重點是我不能改變f
,我只能改變g
。
謝謝你,雖然你的答案使我意識到,也許這個問題是不是一個好一個,錯過了什麼,我試圖做的地步。 – Clinton