on 63243ca help sign in
all commits
329077fGet rid of input handlers for nowEvan Czaplicki 9dda928make conversion functions for input ports optionalEvan Czaplicki dc3bba7Capture the entire type of the handler for incoming portsEvan Czaplicki 3b9862aSwitch from Types to Variables in the representation of PortInEvan Czaplicki 39eb4c6Use one fewer variable for PortIn constraintsEvan Czaplicki 7cf5a56Add Expressions for ports to check and validate types nicelyEvan Czaplicki 6a8db4cGet rid of dead dependencies and add -Wall for some filesEvan Czaplicki 6f75310Get rid of redundant code that collapses ParseDefsEvan Czaplicki 56ecbbcImplement markdown interpolationEvan Czaplicki 7e1d95aMove the `markdown` function to the text libraryEvan Czaplicki 7c159b2Enable parsing of basic markdown interpolationEvan Czaplicki 95ec3a8Stop using `error` when constraining patterns and when instantiating source typesEvan Czaplicki 47d68d8Succeed on programs that have no expressionsEvan Czaplicki b7eb133Fix subtle bug with rigidVars vs rigidQuantifiers, was quantifing over the wrong variables in a forallEvan Czaplicki a736a28Properly quantify variables in Data expressions.Evan Czaplicki 585107eFix variable shadowing when pattern matching on a pattern with only one variable, when it appears in a let-expressionEvan Czaplicki 2e38f7bGive line numbers when there is a kind error in a patternEvan Czaplicki 51bc878Use new Located datastructure, add source strings where appropriateEvan Czaplicki 8e54751Correctly generate a type for markdown blocksEvan Czaplicki b1f53d0Pipe source locations through the type checkerEvan Czaplicki a4c4cf0Use `Location.none` lessEvan Czaplicki b26edccSimplify representation of source locationsEvan Czaplicki 576e979Simplify code to generate record constraintsEvan Czaplicki 46631c3Remove dead codeEvan Czaplicki 0681fbeGet rid of dead function and give instantiateTypeWithContext a shorter nameEvan Czaplicki 2b2bc08Minor cosmetic changeEvan Czaplicki 9fe6c9aChange functions for creating type variables, distinguish names of different constraint type variablesEvan Czaplicki a05c82fMess with whitespaceEvan Czaplicki d456cecOverload literal numbers without a decimal point to be either Ints or FloatsEvan Czaplicki 175798fFix type constraints for case-expressionsEvan Czaplicki d9471f6Add flexible variables for type annotated valuesEvan Czaplicki 4c0f716Change the representation of SolverState to have a "saved environment", recognize the "Save the Environment" variableEvan Czaplicki a3a7b3eRefactor type environmentEvan Czaplicki fceb46dTry to support polymorphic pattern matchingEvan Czaplicki 7f43392Create module to sort let-blocks into "strongly connected components". This does two things:Evan Czaplicki 4d7562fBegin generating constraints for whole programs. Need to perform dependency sort within let-expressions for things to work properly though.Evan Czaplicki 4208b5cRemove some debugging stuff and generally clean up the code. There was one potential error in which a debug needed to be a liftIO, the computation it performed was not optional.Evan Czaplicki ca77056Improve quality of error messages.Evan Czaplicki b5887f4Get type inference working in the basic case. Begin working on printing errors in a prettier way.Evan Czaplicki 497d478Get the solver working on basic programs. It outputs pretty types for the variables in the program. Need to test further and start doing some benchmarking.Evan Czaplicki 0ed7205Add pretty printing for type constraints.Evan Czaplicki b87b845Move the Environment.hs and Fragment.hs files down a directory.Evan Czaplicki ca8441fContinue getting the new type-checker in order.Evan Czaplicki 351c33cStart generating constraints for let-expressions. Account for mutual recursion, but will throw a runtime error if a user has given type annotations.Evan Czaplicki cdb63bdStart writing a new type checker based on the ATAPL chapter on efficient type-inference.Evan Czaplicki