on 1fcb01f help sign in
1fcb01fFinish switching over to '_Tuple' format for tuples.Evan Czaplicki 0070a84Switch the internal data constructor name for tuples. Before tuple constructors could be shadowed by user defined ADT's such as "Tuple0", "Tuple2", etc. Now it uses "_Tuple0" to make it impossible to overlap with user defined ASTs.Evan Czaplicki e7b949dBegin adding testing framework to .cabal file.Evan Czaplicki 003ebfdAdd new syntax to the changelogEvan Czaplicki 343dcf2Add support for unary negation with the '-' symbol. Makes the use of '-' whitespace sensitive, as in the unary negation proposal in elm-discuss.Evan Czaplicki 08ff939Be more flexible with the position of the closing bracket of a record type.Evan Czaplicki fe7357aExport boundVars function, which is currently reeded to generate JS.Evan Czaplicki 87d2f8dGet declarations parsing properly. The definition parser needs to be the last option.Evan Czaplicki 2b9853cGet variable reordering working for Declarations.Evan Czaplicki fe23c0efix pretty printer for charsEvan Czaplicki 7f43392Create module to sort let-blocks into "strongly connected components". This does two things:Evan Czaplicki 433b533Update tests to be actual programs, not just expressions. Content stays the same.Evan Czaplicki a6bfa5fAdd some basic test files for the type checker.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 b038782Fix error in generalization in which some variables would escape their rank. Problem was that young variables were not all being marked as young.Evan Czaplicki dabada1Make constraint pretty printing prettier.Evan Czaplicki cb914d9Get all of the Haskell files compiling with the new type checker. Does not actually work, undefined is used in some places as a stopgap measure.Evan Czaplicki abaa769Add Max's server changes to the changelog.Evan Czaplicki ca77056Improve quality of error messages.Evan Czaplicki d3bd238Add dependency on ansi-terminal for colorful results.Evan Czaplicki b5887f4Get type inference working in the basic case. Begin working on printing errors in a prettier way.Evan Czaplicki f87e316Make pretty printing properly parenthesize higher order functions. Not the best implementation, but it is simple and works well.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 ca62ee6Create type pools, have an organized model of state to flow through the State Transformer during constraint solving and variable unification.Evan Czaplicki 0b2b98dUpdate changelog for pretty printingEvan Czaplicki 4c51159Create a Type.Pool module specifically for variable pools. Start using a state transformer to thread the pool and errors through.Evan Czaplicki 2ef1882Start adding constraint generation for declarations.Evan Czaplicki 5cc99f5Remove the old type-checker code.Evan Czaplicki 0ed7205Add pretty printing for type constraints.Evan Czaplicki 96fd5bfUpdate program parser to use Parse.DeclarationsEvan Czaplicki d29ca3bCreate a Parse.Declaration file for all declarations. Get rid of special purpose Parse.Foreign library.Evan Czaplicki e4ca967Create a source syntax for types that will get converted into the internal type representation during type checking.Evan Czaplicki f2b3ed7Start using the PrettyPrint library to show expressions, literals, and patterns.Evan Czaplicki 078692aGet Optimize.hs updated for the newer AST.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 947b82eSwitch more files over to new ExpressionsEvan Czaplicki 5c68f6bConvert more files to the new Expression format that relies more on patterns. Seems to clean things up so far.Evan Czaplicki 69ed763Start switching over to an AST that uses patterns in lambdas and pulls the arguments out of Definitions (placing them in lambdas).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 74d3c35Fix optimization bug with > sign.Evan Czaplicki 60de915Merge branch 'dev' of https://github.com/evancz/Elm into devEvan Czaplicki d700acfFix substitutions for ExplicitList.Evan Czaplicki f32390cMerge pull request #184 from A1kmm/dont-print-constraints-during-unifyEvan Czaplicki 89cecdbAlso fix merge to remove extra newlineAndrew Miller 57d1084Fix up previous mergeAndrew Miller 1b4aca9Turn off debug code that printed all constraints during unify.Andrew Miller a2e9befMerge branch 'dev' of github.com:/A1kmm/Elm into devAndrew Miller