簡體   English   中英

哈斯克爾的咖喱

[英]Curry in Haskell

如您所知,foldl函數定義為:

  foldl :: (a -> b -> a ) -> a -> [b] -> a

我想將該函數重寫為未使用的函數

我嘗試了這個:

   foldl :: ( (a-> b-> a) , a , [b] ) -> a

那是對的嗎? 也許通俗易懂並不重要,但我要寫考試,而且我很確定這將是要做的任務之一。

謝謝您的期待!

好吧,那肯定是未經處理的foldl形式。 但是,您可以在更高的級別上執行此操作–“完全未經處理的表單”應該是

foldl'' :: ( ((a,b) -> a), a, [b] ) -> a

不僅函數本身,而且函數參數都不是未處理的。 OTOH,僅在函數上調用uncurry只會產生

foldl''' :: ( (a->b->a), a ) -> [b] -> a

這可能因此也被稱為“uncurried foldl ”,但它肯定不會在考試所需的解釋。

暫無
暫無

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

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