samth
2021-3-5 14:50:25

@kellysmith12.21 they are different precisely because a type system doesn’t work at runtime — that’s what it means to be a type system


abmclin
2021-3-5 16:00:17

@samth is there also another good distinction between types and contracts in that types should always be decidable and terminate in finite time but contracts can possibly express non-terminating arbitrary computations?


samth
2021-3-5 16:01:52

@abmclin there are undecidable type systems (lots of them) and type systems with programs in them (ie dependent types). The distinction is really about compile-time vs run-time


abmclin
2021-3-5 16:02:47

thanks for the info!