如果有耐心的人向我解释下面的情况,我将非常感激.在我看来,好像Haskell准备好在从函数返回值时执行某种整数类型的强制.另一方面,我已经读过Haskell永远不会隐式转换类型.
如果我输入GHCi:
> import Data.Word
> let t :: (Integer, Word32);
t = let { y = fromIntegral (-1) -- line breaks added for readability
; y' :: Integer
; y' = fromIntegral y } in (y', y)
Run Code Online (Sandbox Code Playgroud)
GHCi后来告诉我t = (-1,4294967295).但是,如果我将本地y类型专门限制为Word32:
> let t :: (Integer, Word32);
t = let { y :: Word32
; y = fromIntegral (-1) -- line breaks added for readability
; y' :: Integer
; y' = fromIntegral y …Run Code Online (Sandbox Code Playgroud) polymorphism haskell types functional-programming type-coercion
如何列出两次提交之间“触及”的所有文件?我正在寻找一个类似于git diff COMMIT1..COMMIT2 --name-only但包括稍后修改和恢复的文件的命令。
例如,假设我有一个包含一系列提交(线性历史)的存储库:C0<-C1<-C2<-C3<-C4。提交 C1 引入了一个新文件 F,然后提交 C3 将其从存储库中删除。我正在寻找一个命令,给定 C0 和 C4,它会告诉我中间有一个文件 F。即使 C0 和 C4 中没有这样的文件。因此git diff根本不会提及文件F。