aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2012-12-25Use C++11 range-based for loops.David Robillard14-149/+147
git-svn-id: http://svn.drobilla.net/resp/trunk@444 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-25Preliminary syntax-rules macro implementation.David Robillard9-72/+249
git-svn-id: http://svn.drobilla.net/resp/trunk@443 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-23Move towards standard Scheme syntax.David Robillard32-99/+99
git-svn-id: http://svn.drobilla.net/resp/trunk@442 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-17Fix calling functions that lexically enclose the current function.David Robillard4-44/+76
In particular this makes it possible to walk lists with match, since match clauses expand to fns. git-svn-id: http://svn.drobilla.net/resp/trunk@441 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-15Write forward declarations for all types and functions for mutual and/or ↵David Robillard7-16/+89
nested recursion. git-svn-id: http://svn.drobilla.net/resp/trunk@440 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-15Compile constructors as LLVM struct types.David Robillard8-43/+105
Use LLVM type names instead of hyper verbose literal types in more places in general. More work on quoting. git-svn-id: http://svn.drobilla.net/resp/trunk@439 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-15Add Subst::augment function.David Robillard2-0/+11
git-svn-id: http://svn.drobilla.net/resp/trunk@438 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-14Use explicit 'call' form after lifting pass.David Robillard4-10/+13
This way every form afterwards has a symbol head. git-svn-id: http://svn.drobilla.net/resp/trunk@437 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-14Fix typo.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@436 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-14More flexible and unified code pass design.David Robillard3-52/+66
git-svn-id: http://svn.drobilla.net/resp/trunk@435 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-14Real implementation of algebraic data types, and parametric types.David Robillard8-55/+250
git-svn-id: http://svn.drobilla.net/resp/trunk@434 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-10-15Update for LLVM 3.1David Robillard7-78/+89
git-svn-id: http://svn.drobilla.net/resp/trunk@433 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-10-15Waf build systemDavid Robillard5-123/+114
git-svn-id: http://svn.drobilla.net/resp/trunk@432 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-16Oops.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@431 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-16Fix pretty-printing of defines with list values.David Robillard1-2/+5
git-svn-id: http://svn.drobilla.net/resp/trunk@430 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Simplify compile_cons.David Robillard1-11/+6
git-svn-id: http://svn.drobilla.net/resp/trunk@429 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Remove cast form (unnecessary since compile stage casts paramters as needed ↵David Robillard4-17/+8
anyway). git-svn-id: http://svn.drobilla.net/resp/trunk@428 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Generate code entirely via emitting flat IR (don't special case main/repl).David Robillard5-59/+73
git-svn-id: http://svn.drobilla.net/resp/trunk@427 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Leave symbols alone in GC (currently causes memory errors)David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@426 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Fix global set/get (top level variable definitions in the REPL).David Robillard2-53/+74
git-svn-id: http://svn.drobilla.net/resp/trunk@425 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Tidy.David Robillard1-5/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@424 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Create 'main' in IR and compile it like any other function.David Robillard3-23/+52
git-svn-id: http://svn.drobilla.net/resp/trunk@423 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Tidy.David Robillard2-8/+8
git-svn-id: http://svn.drobilla.net/resp/trunk@422 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Make currentFn private to the backend.David Robillard4-33/+25
git-svn-id: http://svn.drobilla.net/resp/trunk@421 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Use recursive types in IR rather than fugly __REC kludge.David Robillard2-14/+9
git-svn-id: http://svn.drobilla.net/resp/trunk@420 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Don't garbage collect types that are stored in data structures in the ↵David Robillard1-7/+15
compiler (partially fix REPL). git-svn-id: http://svn.drobilla.net/resp/trunk@419 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Improve pretty-printing spacing (don't double space flat IR).David Robillard1-1/+5
git-svn-id: http://svn.drobilla.net/resp/trunk@418 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Add flatten stage to generate flat s-expression IR for the (now simpler) ↵David Robillard7-91/+275
compilation stage. git-svn-id: http://svn.drobilla.net/resp/trunk@417 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Don't print type annotations for def formsDavid Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@416 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Parameterize compilerDavid Robillard1-5/+8
git-svn-id: http://svn.drobilla.net/resp/trunk@415 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Disable compilation of rotting C backend.David Robillard2-3/+4
git-svn-id: http://svn.drobilla.net/resp/trunk@414 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Update header for new Engine APIDavid Robillard1-3/+6
git-svn-id: http://svn.drobilla.net/resp/trunk@413 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14More granular if compilation API (towards assembly-like IR stage and simpler ↵David Robillard2-30/+92
backends) git-svn-id: http://svn.drobilla.net/resp/trunk@412 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-13Update for LLVM 2.8.David Robillard2-13/+13
git-svn-id: http://svn.drobilla.net/resp/trunk@411 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-13Don't pass 'false' for pointer parameter.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@410 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Tidier FreeVars::index.David Robillard1-9/+4
git-svn-id: http://svn.drobilla.net/resp/trunk@409 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Fix erroneous rejection of (def (f x) ...) forms with multiple body expressions.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@408 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Fix crash on `(def)'.David Robillard1-4/+4
Fish error location reporting for list expressions. git-svn-id: http://svn.drobilla.net/resp/trunk@407 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Fix error location reporting.David Robillard3-14/+16
git-svn-id: http://svn.drobilla.net/resp/trunk@406 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-09Partially resurrect CPS translation pass.David Robillard5-123/+158
git-svn-id: http://svn.drobilla.net/resp/trunk@405 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-09Set type of lifted closure component accesses.David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@404 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-09Don't access type stuff when type annotations are not requested.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@403 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-06Update syntax highlighting script.David Robillard2-17/+18
git-svn-id: http://svn.drobilla.net/resp/trunk@402 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-06Reorganize in standard SVN hierarchy.David Robillard0-0/+0
git-svn-id: http://svn.drobilla.net/resp/trunk@401 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Fix -P (don't look at types in printer unless annotations are requested).David Robillard1-3/+7
git-svn-id: http://svn.drobilla.net/resp/resp@400 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Revert accidental change to ack.resp.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@399 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Use standard LLVM optimization passes, and optimize entire module (much more ↵David Robillard3-14/+18
aggressive optimization than previous code). git-svn-id: http://svn.drobilla.net/resp/resp@398 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Update match test case to match expected output in test.sh.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/resp/resp@397 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Only compile symbols once (cache compiled symbol values specially for this).David Robillard3-10/+16
Working pattern matching / deconstruction when object is a function parameter. git-svn-id: http://svn.drobilla.net/resp/resp@396 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Compile match 'else' case to unreachable instruction.David Robillard1-5/+7
git-svn-id: http://svn.drobilla.net/resp/resp@395 ad02d1e2-f140-0410-9f75-f8b11f17cedd