Programming Assignment #1 ========================= Due 2/8 at 11:59pm In Haskell: 1) Extend the implicitly-typed definitional interpreter for STLC that we discussed in class to support sums and products. This should be pretty easy. 2) Define a HOAS-style implicitly typed interpreter for STLC. Define a type-preserving translation from HOAS-style STLC to De Bruijn STLC. 3) Extend your De Bruijn STLC from 1) to support existentials. 4EC) Extend your De Bruijn STLC from 1) or 3) to support references.