小编Ada*_*cki的帖子

函数返回类型未强制执行

如果有耐心的人向我解释下面的情况,我将非常感激.在我看来,好像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

4
推荐指数
1
解决办法
116
查看次数

列出 git 中提交所触及的所有文件

如何列出两次提交之间“触及”的所有文件?我正在寻找一个类似于git diff COMMIT1..COMMIT2 --name-only但包括稍后修改和恢复的文件的命令。

例如,假设我有一个包含一系列提交(线性历史)的存储库:C0<-C1<-C2<-C3<-C4。提交 C1 引入了一个新文件 F,然后提交 C3 将其从存储库中删除。我正在寻找一个命令,给定 C0 和 C4,它会告诉我中间有一个文件 F。即使 C0 和 C4 中没有这样的文件。因此git diff根本不会提及文件F。

git git-diff git-log

4
推荐指数
1
解决办法
406
查看次数