dwango / fialyzer

[WIP] Faster Implementation of Dialyzer
https://dwango.github.io/fialyzer/
Apache License 2.0
56 stars 8 forks source link

Support catch expr #250

Closed yoshihiro503 closed 5 years ago

yoshihiro503 commented 5 years ago

What are catch expressions in Erlang

see http://erlang.org/doc/reference_manual/expressions.html#catch-and-throw

Derivation rules

Γ |- e : τ, C
-------------------------------[CATCH]
Γ |- catch e : any(), C

Generated PDF

https://1275-87309195-gh.circle-artifacts.com/0/home/opam/fialyzer/docs/derivation-rules.pdf (via https://circleci.com/gh/dwango/fialyzer/1275#artifacts/containers/0 )

Don't we need to support throw expressions?

throw is a BIF(built-in function). see https://github.com/dwango/fialyzer/issues/196