ssm-lang / sslang

A language built atop the Sparse Synchronous Model
BSD 3-Clause "New" or "Revised" License
18 stars 0 forks source link

Type annotated binders #150

Closed yiming-fang closed 1 year ago

yiming-fang commented 1 year ago

This PR adds type annotations/holes to all binders in lets, lambdas, and patterns, which get filled during the elaboration pass of type inference.

j-hui commented 1 year ago

This is passing all tests locally. Thank you so much @yiming-fang and @leoqiao18 for helping me port this!

Since the changes are quite large, I'm just going to go ahead and format all the files we touched. In particular, I think the typechecker and IR.IR need reformatting since I never did those post-Brittany.

j-hui commented 1 year ago

Oh right, @yiming-fang is still working on getting lambda lifting working with recursive functions (which should also close #111). Since that's orthogonal to this PR, maybe you could merge that in on a separate PR?

yiming-fang commented 1 year ago

Oh right, @yiming-fang is still working on getting lambda lifting working with recursive functions (which should also close #111). Since that's orthogonal to this PR, maybe you could merge that in on a separate PR?

Sure, I can open a separate PR for lambda lifting mutually recursive lets.