|
|
|
|
|
by josevalim
1106 days ago
|
|
For the paper, we have decided to go as precise as possible, since its goal is to discuss the type-system semantics and not its syntax, so parentheses are everywhere. You will for sure be able to drop the outer parens in your case and you _may_ be able to drop them on the function types too (to be decided). Ending up with something like this: $ (integer -> integer) and (true -> false) and (false -> true) and (a -> a) when a: not(integer or boolean)
def negate(arg)
We will also allow intersections to be broken across multiple declarations: $ integer -> integer
$ true -> false
$ false -> true
$ a -> a when a: not(integer or boolean)
def negate(arg)
|
|