On Tue, Mar 31, 2015 at 4:09 PM, William ML Leslie < [email protected]> wrote:
> On 1 April 2015 at 09:59, Jonathan S. Shapiro <[email protected]> wrote: > >> I have answered this several times. >> >> f is a *parameter* whose only type information is a fresh type variable. >> For example: >> >> def keean f a b c d tst { >> if tst >> f a b >> else >> f a b c d >> } >> >> So no type signature of any kind for f, as I've said several times now. >> The procedure definition above is all you have to work with. >> >> > I thought that neither the Shapiro nor the Schupke scheme allowed > underapplied functions? Ie, disagreement on the native arity of `f` is a > type error. > Not so. Under-application is only a concern for CFN types. All AFN types ultimately specialize to CFN types, but as long as we can find a suitable chain of CFN types there is nothing wrong with this application. It's not the partial application we're trying to restrict. It's the implicit closure allocation that might happen as a consequence of that application. It's contrived, but not an error. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
