f1和之间有什么区别f2?
$ ghci -XRankNTypes -XPolyKinds
Prelude> let f1 = undefined :: (forall a m. m a -> Int) -> Int
Prelude> let f2 = undefined :: (forall (a :: k) m. m a -> Int) -> Int
Prelude> :t f1
f1 :: (forall (a :: k) (m :: k -> *). m a -> Int) -> Int
Prelude> :t f2
f2 :: (forall (k :: BOX) (a :: k) (m :: k -> *). m a -> …Run Code Online (Sandbox Code Playgroud) GNU make 有以下选项可以避免重新编译:
-o file, --old-file=file, --assume-old=file
Do not remake the file file even if it is older than its dependen?
cies, and do not remake anything on account of changes in file.
Essentially the file is treated as very old and its rules are
ignored.
Run Code Online (Sandbox Code Playgroud)
所以给出以下内容Makefile:
A : B
touch A
B : C
touch B
C :
touch C
Run Code Online (Sandbox Code Playgroud)
假设所有文件在某个时候都存在,我可以运行以下命令:
$ touch C
$ make A -o B
make: `A' is up to date. …Run Code Online (Sandbox Code Playgroud)