Adam Gundry introduced the Generalist’s lemma as part of his work on performing this task “in context.” An algorithm for this task generates a list of constraints in a set of expressions, then runs first-order unification to solve the constraints. Bidirectional methods for this task recursively perform elaboration and checking steps. Algorithm W, developed by Damas and Milner, performs this task in OCaml (“oh-camel”), which uses the parametrically polymorphic (*) Hindley–Milner system to make this task easier. “Bottom-up” methods for this task use a depth-first search of the AST. It doesn’t involve a rubber duck, but the “duck” method for this task tests an object’s methods rather than requiring an explicit declaration. For 10 points, a Microsoft-developed alternative to JavaScript allows users to do what task statically rather than dynamically? ■END■
ANSWER: typing [accept type checking; accept any description of assigning, declaring, verifying, or enforcing data types; accept type inference or type safety; accept bidirectional typing or duck typing or static typing or dynamic typing]
<RR, Other Science>
= Average correct buzz position