Conversation

What's the usual approach to bidirectional type checking for applications of lambdas without annotations? Synthesize func type A -> B containing a metavar, check arg type against A, have checking unify and return substitutions that you apply to B?
2
8
The "traditional" bidirectional approach is to give up, and expect annotations at bare beta-redexes. You can do a little better by adopting the "Let Arguments Go First" approach [1], but I'm pretty sure anything more would require HM. [1]
4
8
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more