我需要使用Haskell自动生成一些程序.什么是最好的体系结构,它使用类型系统或其他haskell-cleverness强制执行语义规则?否则我只会有声明列表:
type program = [Statement]
data Statement =
Variable x |
IfStatement Condition [Statement] |
...
Run Code Online (Sandbox Code Playgroud) 我正在编写一个Web应用程序,其中异常用于处理错误情况.通常,我发现自己写这样的帮手:
def someHelper(...) : Boolean {...}
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
if (!someHelper(...)){
throw new SomeException()
}
Run Code Online (Sandbox Code Playgroud)
这些异常表示无效参数之类的事情,并且在处理时它们向用户发送有用的错误消息,例如
try {
...
} catch {
case e: SomeException => "Bad user!"
}
Run Code Online (Sandbox Code Playgroud)
这是一种合理的方法吗?我怎么能将异常传递给辅助函数并将其抛出?我在为这样的函数构造类型时遇到了麻烦.