aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2010-12-25Use type of primitive rather than type of first argument to determine type ↵David Robillard1-2/+2
of operation. git-svn-id: http://svn.drobilla.net/resp/resp@349 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-25Simplify let to fn, rather than deal with it through to compilation.David Robillard5-68/+66
The previous implementation of let was a premature optimization intended to make let cheap/free, but screws up closure creation and variable indexing because a new scope is created by something other than fn. Only compile top level expressions to globals (with associated store/retrieve overhead) in a REPL when it is necessary. Add `do' form (ala scheme `begin') to backend (used by `match' simplify). git-svn-id: http://svn.drobilla.net/resp/resp@348 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-25Print missing trailing `)'.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@347 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-10Simplify if into nested 2-branch (scheme style) ifs at simplify stage.David Robillard5-95/+79
git-svn-id: http://svn.drobilla.net/resp/resp@346 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-10Fix type of lifted calls.David Robillard1-5/+3
git-svn-id: http://svn.drobilla.net/resp/resp@345 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-10Move simplification from lift stage to a new (post-typing) simplify stage.David Robillard5-46/+114
git-svn-id: http://svn.drobilla.net/resp/resp@344 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-10Partially update cps.cpp (still doesn't compile).David Robillard1-35/+23
git-svn-id: http://svn.drobilla.net/resp/resp@343 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-10Convert match form to if at lift stage (remove knowledge of match from ↵David Robillard4-42/+89
compile stage and backends). git-svn-id: http://svn.drobilla.net/resp/resp@342 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Sort code.David Robillard1-11/+11
git-svn-id: http://svn.drobilla.net/resp/resp@341 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Add option -a to annotate printed code (for -T and -L).David Robillard2-16/+20
git-svn-id: http://svn.drobilla.net/resp/resp@340 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Remove trailing whitespace.David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/resp/resp@339 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09More readable names for lifted fn implementations.David Robillard1-2/+4
git-svn-id: http://svn.drobilla.net/resp/resp@338 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Strip trailing whitespace.David Robillard6-35/+35
git-svn-id: http://svn.drobilla.net/resp/resp@336 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Document the free variable implementation (mostly in lift_symbol) better.David Robillard2-12/+20
git-svn-id: http://svn.drobilla.net/resp/resp@335 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Print newlines after def symbol if type annotation is printed.David Robillard1-2/+5
git-svn-id: http://svn.drobilla.net/resp/resp@334 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Print def form more tersely (no newline after symbol).David Robillard1-5/+4
git-svn-id: http://svn.drobilla.net/resp/resp@333 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Decent pretty printing for all forms.David Robillard1-60/+71
git-svn-id: http://svn.drobilla.net/resp/resp@331 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Less code.David Robillard1-23/+11
git-svn-id: http://svn.drobilla.net/resp/resp@330 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Fix cpplint warnings.David Robillard12-17/+50
git-svn-id: http://svn.drobilla.net/resp/resp@329 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Add let form.David Robillard5-3/+121
git-svn-id: http://svn.drobilla.net/resp/resp@328 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Fix indentation.David Robillard1-4/+2
git-svn-id: http://svn.drobilla.net/resp/resp@327 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Sort code.David Robillard3-231/+233
git-svn-id: http://svn.drobilla.net/resp/resp@326 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09read_expression => PEnv::parse.David Robillard4-16/+10
git-svn-id: http://svn.drobilla.net/resp/resp@325 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Make environment always referenced by symbols.David Robillard9-77/+87
Intern symbol strings, but not ASymbol objects themselves, so each symbol can have a different Cursor. Fixes missing locations in error reporting. git-svn-id: http://svn.drobilla.net/resp/resp@324 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Const-correct parser.David Robillard4-14/+13
git-svn-id: http://svn.drobilla.net/resp/resp@323 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09ValVec => CVals.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/resp/resp@322 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Consistent engine global[Set|Get] interface.David Robillard4-10/+10
git-svn-id: http://svn.drobilla.net/resp/resp@321 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Clean up engine code.David Robillard5-266/+311
git-svn-id: http://svn.drobilla.net/resp/resp@320 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-09Tidy.David Robillard1-107/+107
git-svn-id: http://svn.drobilla.net/resp/resp@319 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Remove Engine::compileMatch.David Robillard4-32/+35
git-svn-id: http://svn.drobilla.net/resp/resp@318 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Eliminate some backend specific code in LLVMEngine::compileMatch (towards ↵David Robillard2-5/+4
moving it to compile.cpp). git-svn-id: http://svn.drobilla.net/resp/resp@317 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Remove Engine::compileIfDavid Robillard4-36/+47
git-svn-id: http://svn.drobilla.net/resp/resp@316 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Use factored out if compilation methods to compile match.David Robillard1-49/+23
git-svn-id: http://svn.drobilla.net/resp/resp@315 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Consistent naming for Engine compile methods.David Robillard4-15/+19
git-svn-id: http://svn.drobilla.net/resp/resp@314 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Clean up function compilation stuff.David Robillard6-40/+52
Add some utilities to for using named types. git-svn-id: http://svn.drobilla.net/resp/resp@313 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Print type annotations correctly.David Robillard1-3/+10
Print newlines between definitions. git-svn-id: http://svn.drobilla.net/resp/resp@312 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08Slightly shrink code.David Robillard1-10/+5
git-svn-id: http://svn.drobilla.net/resp/resp@311 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-08compileTup => compileConsDavid Robillard4-6/+6
git-svn-id: http://svn.drobilla.net/resp/resp@310 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-07Tidy.David Robillard1-14/+13
git-svn-id: http://svn.drobilla.net/resp/resp@309 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-07Rename 'lex' to the now more appropriate 'parse'.David Robillard1-0/+0
git-svn-id: http://svn.drobilla.net/resp/resp@308 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-07Rename 'parse' to the now more accurate 'expand'.David Robillard4-18/+17
git-svn-id: http://svn.drobilla.net/resp/resp@307 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-07Saner recursive descent lexer/parser.David Robillard11-216/+200
git-svn-id: http://svn.drobilla.net/resp/resp@306 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-07Pretty print booleans correctly.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@305 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-07Factor if compilation into smaller bits (towards a more assembly like IR ↵David Robillard1-45/+83
stage before actual backend code emission). git-svn-id: http://svn.drobilla.net/resp/resp@304 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-05Remove cruft.David Robillard1-26/+8
git-svn-id: http://svn.drobilla.net/resp/resp@303 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-05Move resp_gc.cpp contents into gc.cpp.David Robillard2-49/+29
git-svn-id: http://svn.drobilla.net/resp/resp@302 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-05Check constructors first (implying no special forms start with an uppercase ↵David Robillard1-3/+3
letter). git-svn-id: http://svn.drobilla.net/resp/resp@301 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-05Simplify parser.David Robillard3-31/+21
git-svn-id: http://svn.drobilla.net/resp/resp@300 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-05Remove worthless "macro" system.David Robillard2-67/+40
git-svn-id: http://svn.drobilla.net/resp/resp@299 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-04Tidy up unify.cppDavid Robillard2-8/+8
git-svn-id: http://svn.drobilla.net/resp/resp@298 ad02d1e2-f140-0410-9f75-f8b11f17cedd