on ca2be8a help sign in
all commits
15b9171Finish TODO on infinite type errorsEvan Czaplicki d7e3cd7Rename Mismatch to BadExprEvan Czaplicki b5df201Switch TRecord constructors to have (Maybe Name) extensionsEvan Czaplicki dd2feecCreate Type.Error module and simplify Error type a bitEvan Czaplicki 344579bCreate special "error type" that has extra informationEvan Czaplicki e3e4b66Remove SCC markerEvan Czaplicki 1248704Localize headers into the correct rank!Evan Czaplicki 6140a9dStop allocating on Type.Solve.restoreEvan Czaplicki 826b7ffHave fewer initial pool slotsEvan Czaplicki 466a5b5Actually pop the pool before solving contentEvan Czaplicki 1966810Rename to CLocal and CForeign / track variable names a bit differentEvan Czaplicki 2e099f9Tie all the phases togetherEvan Czaplicki 086880cUpdate pattern matches for less caching in canonical ASTEvan Czaplicki 7c33c13Get Type.Constrain.Module workingEvan Czaplicki 8b03cb7Get rid of Type.State and Solver monadEvan Czaplicki 1aaf793Update for max tuple size of 3 in typesEvan Czaplicki 25ea6b6Update Type.Solve for new ASTEvan Czaplicki ed26ecaSwitch to Data.Map.Strict in type inferenceEvan Czaplicki fbff9ceImprove the error messages for bad rigid type variablesEvan Czaplicki 40aafc6Stop attempting to rigidify when popping scheme poolEvan Czaplicki 428b0a1Keep a pool stack, not just old and youngEvan Czaplicki 696ee0aMake Type.State.introduce allocate a bit lessEvan Czaplicki 09076ebcosmetic: move generalize to bottom of Type.Solve moduleEvan Czaplicki 34a253dCreate a newtype for Marks so ranks and marks never get mixed upEvan Czaplicki 3e23ef2Use NOINLINE values to reduce allocation of Descriptors in constraint generationEvan Czaplicki b02b4aaDo not expose Description fields / optimize copy and flattenEvan Czaplicki dbe6c75Move constraint primitives into Type.ConstraintEvan Czaplicki e6b8eb3Only crawl type alias variables in adjustRankContent (and other optimizations)Evan Czaplicki d228087Use faster data structure in Type.Solve.generalizeEvan Czaplicki 52e43bbDisallow equivalent representations of the same typeEvan Czaplicki 60ca557Show better error messages on infinite comparable typesEvan Czaplicki 1408bc3The Error structure describes how it should be displayedEvan Czaplicki 368cdbcMove the occurs check into its own moduleEvan Czaplicki d5b0b43Name changes for simpler Type representationEvan Czaplicki 3399b4cUse AST.Module.Name.isKernel instead of string matchingEvan Czaplicki ae8d75cAdd SCC annotations throughout type inferenceEvan Czaplicki 7a8b568Build rankDict all in IOEvan Czaplicki b441190Redo Type.State.Solver to not use RWSEvan Czaplicki 5a33259cosmetic: clean up Type.State quite a bitEvan Czaplicki c4c5702Switch adjustRank to use IO directly, improving performanceEvan Czaplicki ae0c7e2Do a bit less work in adjustRankHelpEvan Czaplicki 3734effAllocate less in registerIfNotRedundant passEvan Czaplicki f3a7c77Allocate less in Type.Solve.adjustRankContentEvan Czaplicki 2f6c8fcStop building unneeded data structureEvan Czaplicki 46bc422Make changes to support Elm.Kernel.* code and symbol tablesEvan Czaplicki b09bb00Upgrade Type code from String to TextEvan Czaplicki c77af53Resolve -Wall errors from Type.SolveEvan Czaplicki db0d6cdEnable -Wall on Type.SolveEvan Czaplicki 4bec0ecRemove Type.Solve.allDistinct for rigid var uniqueness checkEvan Czaplicki 942ee24Use user-defined type variables whenever possibleEvan Czaplicki