簡體   English   中英

如果 haskell 中的每個 function 都是咖喱的,那我怎么不能創建部分對?

[英]If every function in haskell is curried then how come i can't create partial pairs?

菜鳥在這里。 我不確定每個 function 是否應該被咖喱(但這就是我的感覺)。

如果確實是這樣,那怎么會

(,) 1

拋出錯誤? 它不應該返回一個 function 當應用於另一個值時給出一個元組?

(,) 1怎么會報錯? 它不應該返回 function [...]嗎?

這兩個都可能是真的。

λ> let f = (,) 1 in f 2
(1,2)

但由於函數沒有Show實例,只需鍵入(,) 1引發錯誤:

λ> (,) 1

<interactive>:4:1: error:
    • No instance for (Show (b0 -> (Integer, b0)))
        arising from a use of ‘print’
        (maybe you haven't applied a function to enough arguments?)
    • In a stmt of an interactive GHCi command: print it

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM