aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Expand)AuthorFilesLines
2012-12-14More flexible and unified code pass design.David Robillard3-52/+66
2012-12-14Real implementation of algebraic data types, and parametric types.David Robillard7-54/+248
2012-10-15Update for LLVM 3.1David Robillard6-68/+76
2011-05-16Oops.David Robillard1-1/+1
2011-05-16Fix pretty-printing of defines with list values.David Robillard1-2/+5
2011-05-15Simplify compile_cons.David Robillard1-11/+6
2011-05-15Remove cast form (unnecessary since compile stage casts paramters as needed a...David Robillard4-17/+8
2011-05-15Generate code entirely via emitting flat IR (don't special case main/repl).David Robillard5-59/+73
2011-05-15Leave symbols alone in GC (currently causes memory errors)David Robillard1-1/+3
2011-05-14Fix global set/get (top level variable definitions in the REPL).David Robillard2-53/+74
2011-05-14Tidy.David Robillard1-5/+3
2011-05-14Create 'main' in IR and compile it like any other function.David Robillard3-23/+52
2011-05-14Tidy.David Robillard2-8/+8
2011-05-14Make currentFn private to the backend.David Robillard4-33/+25
2011-05-14Use recursive types in IR rather than fugly __REC kludge.David Robillard2-14/+9
2011-05-14Don't garbage collect types that are stored in data structures in the compile...David Robillard1-7/+15
2011-05-14Improve pretty-printing spacing (don't double space flat IR).David Robillard1-1/+5
2011-05-14Add flatten stage to generate flat s-expression IR for the (now simpler) comp...David Robillard6-91/+274
2011-05-14Don't print type annotations for def formsDavid Robillard1-0/+3
2011-05-14Disable compilation of rotting C backend.David Robillard1-2/+2
2011-05-14Update header for new Engine APIDavid Robillard1-3/+6
2011-05-14More granular if compilation API (towards assembly-like IR stage and simpler ...David Robillard2-30/+92
2011-05-13Update for LLVM 2.8.David Robillard1-9/+9
2011-05-13Don't pass 'false' for pointer parameter.David Robillard1-1/+1
2011-01-13Tidier FreeVars::index.David Robillard1-9/+4
2011-01-13Fix erroneous rejection of (def (f x) ...) forms with multiple body expressions.David Robillard1-1/+1
2011-01-13Fix crash on `(def)'.David Robillard1-4/+4
2011-01-13Fix error location reporting.David Robillard3-14/+16
2011-01-09Partially resurrect CPS translation pass.David Robillard4-123/+157
2011-01-09Set type of lifted closure component accesses.David Robillard1-1/+3
2011-01-09Don't access type stuff when type annotations are not requested.David Robillard1-1/+1
2010-12-31Fix -P (don't look at types in printer unless annotations are requested).David Robillard1-3/+7
2010-12-31Use standard LLVM optimization passes, and optimize entire module (much more ...David Robillard1-11/+15
2010-12-31Only compile symbols once (cache compiled symbol values specially for this).David Robillard2-5/+7
2010-12-31Compile match 'else' case to unreachable instruction.David Robillard1-5/+7
2010-12-31Report parsing errors.David Robillard2-0/+2
2010-12-31Fix parsing of #f.David Robillard2-2/+3
2010-12-31Fix crash due to recursive initialization.David Robillard1-1/+1
2010-12-31Saner type unification.David Robillard1-13/+3
2010-12-31Print fn parameter type annotations correctly.David Robillard1-9/+16
2010-12-31Only print def type annotations when requested.David Robillard1-1/+1
2010-12-31Define named (and possibly recursive) types for closures and functions.David Robillard5-36/+131
2010-12-31Don't execute code if -S is given.David Robillard1-1/+2
2010-12-31Remove unused Engine::objectType().David Robillard3-18/+0
2010-12-31Remove duplicated type compilation code.David Robillard1-26/+4
2010-12-30Add rrst().David Robillard1-0/+1
2010-12-30More human readable names for allocated memory in output IR.David Robillard1-2/+3
2010-12-30Less code.David Robillard1-5/+2
2010-12-30Abbreviate (def (fn ...))David Robillard1-7/+17
2010-12-30Fix calling inline fn expressions (don't allocate closure twice).David Robillard1-1/+1