10
大多數風格指南建議將行長度保持爲79個字符或更少。在Haskell中,縮進規則意味着表達式經常需要用新行來分解。
問題:
中的表達式,它在哪裏的法律來放置新行?
是否記錄在某處?
擴展問題:我看到GHC格式化我的代碼時,所以有人想出如何自動打破長行的過程報告錯誤。是否有一個實用工具,我可以把haskell代碼放進去,讓它把代碼轉換成很好的格式?
大多數風格指南建議將行長度保持爲79個字符或更少。在Haskell中,縮進規則意味着表達式經常需要用新行來分解。
問題:
中的表達式,它在哪裏的法律來放置新行?
是否記錄在某處?
擴展問題:我看到GHC格式化我的代碼時,所以有人想出如何自動打破長行的過程報告錯誤。是否有一個實用工具,我可以把haskell代碼放進去,讓它把代碼轉換成很好的格式?
您可以在表達式的詞彙標記之間的任何位置放置換行符。但是,對於換行符後面可能會有多少縮進存在限制。簡單的經驗法則是將下一行縮進到包含表達式的行的右側。除此之外,一些風格的東西:
如果您縮進出現在定義name = expression
的表達,這是很好的風格縮進到=
標誌的權利。
如果您縮進上的do
結合或列表理解的右側會出現一個表達,這是很好的風格縮進到<-
標誌的權利。
的權威文件可能是Haskell 98 Report是(Chapter 2詞法結構),但我個人不覺得這材料很容易閱讀。
看看這個軟件包https://hackage.haskell.org/package/haskell-formatter – Arnon
谷歌搜索格式應該給你幾個有用的結果。在haskell中,除了縮進規則(代碼至少和它所屬的塊一樣縮進,簡化)之外,空白(包括換行符)被忽略。 – Cubic