我很好奇是否可以在 Haskell 中编写这样的(伪代码):
data Clock = Clock {hour :: (0 <= Int <= 24), minutes :: (0 <= Int <= 60)}
Run Code Online (Sandbox Code Playgroud)
使(在类型级别)无法创建如下内容:
let a = Clock 34 236
Run Code Online (Sandbox Code Playgroud)
或者应该使用一种时钟构建器来检查并创建有效的时钟时间?