In a previous writing, we mentioned a family of types called substructural types. A type is substructural if it disallows any of the three structural rules: contraction (the ability to use a variable more than once), weakening (the ability to leave a variable unused), and exchange (the ability to reorder usages of two variables with respect to their declaration order). In this writing, we will look at several problems that substructural type systems can help us solve at compile time, in ...| blog.tchatzigiannakis.com