aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-12-27Update error messages for new Scheme style names.David Robillard2-6/+6
git-svn-id: http://svn.drobilla.net/resp/trunk@451 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-27Fix depoly crash on forward declarations.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@450 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-26Fix lifted type declarations.David Robillard2-3/+4
git-svn-id: http://svn.drobilla.net/resp/trunk@449 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-26Fix type constraints for lambdas with no arguments.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/resp/trunk@447 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-25Implement ellipses as in R*RS.David Robillard2-27/+47
Let macro is now the one from R7RS, but missing the second clause (no letrec yet). git-svn-id: http://svn.drobilla.net/resp/trunk@446 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-25Support multiple ellipses in macros.David Robillard8-76/+104
Support lambda expressions with empty argument lists. git-svn-id: http://svn.drobilla.net/resp/trunk@445 ad02d1e2-f140-0410-9f75-f8b11f17cedd
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 Robillard7-72/+239
git-svn-id: http://svn.drobilla.net/resp/trunk@443 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-23Move towards standard Scheme syntax.David Robillard10-40/+40
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 Robillard2-29/+62
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 Robillard6-43/+77
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 Robillard7-54/+248
git-svn-id: http://svn.drobilla.net/resp/trunk@434 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-10-15Update for LLVM 3.1David Robillard6-68/+76
git-svn-id: http://svn.drobilla.net/resp/trunk@433 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 Robillard6-91/+274
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-14Disable compilation of rotting C backend.David Robillard1-2/+2
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 Robillard1-9/+9
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 Robillard4-123/+157
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
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-31Use standard LLVM optimization passes, and optimize entire module (much more ↵David Robillard1-11/+15
aggressive optimization than previous code). git-svn-id: http://svn.drobilla.net/resp/resp@398 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Only compile symbols once (cache compiled symbol values specially for this).David Robillard2-5/+7
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