我写这个有什么区别?
data Book = Book Int Int
Run Code Online (Sandbox Code Playgroud)
与
newtype Book = Book (Int, Int) -- "Book Int Int" is syntactically invalid
Run Code Online (Sandbox Code Playgroud) 我正在研究mtl图书馆并试图做一些我自己的MonadTransformers.我正在检查Control.Monad.State.StateT声明,并且在所有代码中,我看到了这种语法:
execStateT :: (Monad m) => StateT s m a -> s -> m s
execStateT m s = do
~(_, s') <- runStateT m s
return s'
Run Code Online (Sandbox Code Playgroud)
这个~操作数是什么意思?