Mar*_*rgo 5 haskell tacit-programming
我正在查看GHC.Unicode库源并意识到几乎所有的Haskell内部库大多数时候都避免了默认编程(也称为无点样式).简单的功能可以轻松转换,例如:
isLatin1 :: Char -> Bool
isLatin1 c = c <= '\xff'
Run Code Online (Sandbox Code Playgroud)
导致:
isLatin1 :: Char -> Bool
isLatin1 = (<= '\xff')
Run Code Online (Sandbox Code Playgroud)
但有些情况下我无法应用它,例如当我有更复杂的功能时,例如:
isOctDigit c = c >= '0' && c <= '7'
Run Code Online (Sandbox Code Playgroud)
难以推断出构成操作的方法.我并不是指进入范围,我的意思是仅通过编写函数来执行多个操作.下列:
isOctDigit = (>= '0') && (<= '7')
Run Code Online (Sandbox Code Playgroud)
是无效的,也因为不同的退货类型也(>= '0') . (<= '7') 显然不可能发生.
考虑到这些观察结果,我有以下问题: