on fceb46d help sign in
fceb46dTry to support polymorphic pattern matchingEvan Czaplicki 3bb618bProvide the type *and definition* for data constructurs during type checkingEvan Czaplicki 82983a6Update more modules to use the MetadataModule data structureEvan Czaplicki 8145e60Create MetadataModule for more refined information about modulesEvan Czaplicki 621a9c2Add a way to flatten lets that have become nestedEvan Czaplicki 0cfae2eMore specific importsEvan Czaplicki 640f98eRename functions and modulesEvan Czaplicki 1ffaad1Create an `isOp` function for strings.Evan Czaplicki 91be5a0Rename the parser.Evan Czaplicki 025b7a1Update changelog with latest parser improvements.Evan Czaplicki ce357b3Switch to reporting errors with [Doc] for prettier layout.Evan Czaplicki 1c9da4bForce whitespace between number and operator in infix declarations.Evan Czaplicki 8590c6bAdd parsing for infix declarations. No support for actually using this information though.Evan Czaplicki 72bd5cbClean out this file, getting rid of dead code and adding some types.Evan Czaplicki a5bc960Minor cosmetic changesEvan Czaplicki 67ef1ecCreate the Type.Inference module which handles type inference from start to finish. Give it a Module and it returns a dictionary mapping top-level values to types.Evan Czaplicki 18adffcTurn unary negation back on.Evan Czaplicki 90d50dbTurn off unary negation parsing for now. It has weird behavior when paired with function calls:Evan Czaplicki 2b98863Fix parsing of unary negation when it is the first thing in parentheses.Evan Czaplicki 93a948cAdd back in checks for duplicate and out-of-order definitions.Evan Czaplicki 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