google-research / dex-lang

Research language for array processing in the Haskell/ML family
BSD 3-Clause "New" or "Revised" License
1.58k stars 106 forks source link

Separate types and atoms into two ADTs #1287

Closed dougalm closed 1 year ago

dougalm commented 1 year ago

Types can still appear in atoms but only the CoreIR. This makes SimpIR a bit more precise, but the main reason for the change is to allow us to relax the ANF constraint on types so that we can do things like indexing within types.