On 17 February 2015 at 07:49, Jonathan S. Shapiro <[email protected]> wrote:

> In any case, do people agree that this ambiguity of interpretation exists,
> and that the type-driven AST rewrite is not somehow unclean?
>

I'm a bit uncomfortable with what happens in the case of let-bound
native-arity-polymorphic case:

let f = choose_one x y z -- different arities​
in f n m
​​
How do you choose a native arity for the callsite?  If you say "it's 2",
the algorithm is overspecified.  If you say that depends on the dynamic
branch taken in choose_one, you can CPS transform and pass *all three*
continuations.   I don't think you want to do that.  Can we adopt a calling
convention from something like STG or FORTH?  There would still need to be
a bunch of dynamic checks.

Have I misunderstood how you intend to compile this?

-- 
William Leslie

Notice:
Likely much of this email is, by the nature of copyright, covered under
copyright law.  You absolutely MAY reproduce any part of it in accordance
with the copyright law of the nation you are reading this in.  Any attempt
to DENY YOU THOSE RIGHTS would be illegal without prior contractual
agreement.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to