我正在查看GHC.Unicode
库源,并意识到几乎所有的Haskell内部库大多数时候都避免了默认编程(也就是无点样式)。简单的函数可以很容易地转换,例如:
isLatin1 :: Char -> Bool
isLatin1 c = c <= '\xff'
导致:
isLatin1 :: Char -> Bool
isLatin1 = (<= '\xff')
但有些情况我无法应用它,例如当我有更复杂的功能时,例如:
isOctDigit c = c >= '0' && c <= '7'
很难推断出一种构成操作的方法。我并不意味着进入范围,我的意思是仅仅通过编写功能来进行多项操作。以下内容:
isOctDigit = (>= '0') && (<= '7')
无效,并且由于返回类型不同,(>= '0') . (<= '7')
明显也不会发生。
考虑到这些意见,我有以下问题: