on ce652d9 help sign in
ce652d9Print errors more nicelyEvan Czaplicki 45b43e8When creating a named var, allow it to be flexible.Evan Czaplicki 2673890Make error message in solver slightly more specificEvan Czaplicki b540fb4Fix bug in generating Def for ADT constructorsEvan Czaplicki b87e45aChange module prefixes for some valuesEvan Czaplicki c881bd8Fix bug in type application when converting SourceSyntax.Type to Type.TypeEvan Czaplicki 901179cMarginally better errors when a variable is undefined.Evan Czaplicki a3a7b3eRefactor type environmentEvan Czaplicki 90c5c7dAdd terse way to do type applicationEvan Czaplicki 334d39cManual dead code elimination ;)Evan Czaplicki 1d10836Fix naming bug for List typeEvan Czaplicki e852ae2Add field to MetadataModule for datatypesEvan Czaplicki 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