logoalt Hacker News

drdaemantoday at 7:39 PM0 repliesview on HN

What we need are refinement types, where there’s a base type and a predicate. F* has this:

     val (/) : int -> (divisor:int { divisor <> 0 }) -> int