mirror of
https://github.com/urbit/shrub.git
synced 2024-11-23 20:26:54 +03:00
e43036d748
This extends `gol` "backward-inference" typechecking to thread through cores. Recall that `gol` is used exclusively for receiving more specific error messages; these changes should have no effect on programs which already compile successfully. Before, this would type-fail on the second `|%`. ``` !: ^+ ^? |% ++ foo *@ud -- |% ++ foo ?: =(1 1) 2 %foo -- ``` With these changes, it gives a mint-nice at `%foo`. It will also give you explicit errors if you have the wrong number/names of arms, including which arms it expects. This is becoming much more important with static gall, since it's the first time we've used core subtyping so extensively and in userspace. |
||
---|---|---|
.. | ||
brass.pill | ||
ivory.pill | ||
solid.pill |