aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-12-28Fix crash when def name is not a symbol.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/resp/resp@367 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-28Use fst ("first") instead of head and rst ("rest") instead of tail.David Robillard10-46/+38
git-svn-id: http://svn.drobilla.net/resp/resp@366 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-28Add quote form, to allow expressions literal symbols and lists (lists not ↵David Robillard7-4/+52
yet implemented). Quoting is a thin lexical concept - a quote of a symbol/list compiles to a symbol/list, rather than interpreted as code (i.e. a variable/call, respectively). A quote of anything else is equivalent to its quotee, e.g. a quote of a String is simply that string (the quote is removed at an early stage by the compiler). There is no Quote data type, or explicit unquoting, or anything like that. git-svn-id: http://svn.drobilla.net/resp/resp@365 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-28Print type annotations for top-level expressions when -a is given.David Robillard1-9/+14
git-svn-id: http://svn.drobilla.net/resp/resp@364 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-28Tidy.David Robillard1-15/+15
git-svn-id: http://svn.drobilla.net/resp/resp@363 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-27Remove weird __tag_is form by adding a T_LITSYM type and using = operator.David Robillard9-45/+30
Step towards having first class symbols... git-svn-id: http://svn.drobilla.net/resp/resp@362 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-27Less code.David Robillard1-38/+18
git-svn-id: http://svn.drobilla.net/resp/resp@361 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-27Make ATuple a normal LISPey cons cell (it always was anyway).David Robillard5-40/+26
git-svn-id: http://svn.drobilla.net/resp/resp@360 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-27Kill AType.David Robillard14-429/+394
git-svn-id: http://svn.drobilla.net/resp/resp@359 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Remove AType::DOTS.David Robillard3-7/+13
git-svn-id: http://svn.drobilla.net/resp/resp@358 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Remove AType::PRIM.David Robillard5-15/+12
git-svn-id: http://svn.drobilla.net/resp/resp@357 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Remove apparently unnecessary concrete_type.David Robillard1-18/+2
git-svn-id: http://svn.drobilla.net/resp/resp@356 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26More sensible check for Fn type.David Robillard1-3/+1
git-svn-id: http://svn.drobilla.net/resp/resp@355 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Remove AType copy constructor.David Robillard3-9/+6
git-svn-id: http://svn.drobilla.net/resp/resp@354 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Begin killing AType.David Robillard1-17/+17
git-svn-id: http://svn.drobilla.net/resp/resp@353 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Update headers.David Robillard15-19/+19
git-svn-id: http://svn.drobilla.net/resp/resp@352 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Indent let decently.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/resp/resp@351 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-25Add let-over-lambda test case.David Robillard2-11/+28
git-svn-id: http://svn.drobilla.net/resp/resp@350 ad02d1e2-f140-0410-9f75-f8b11f17cedd
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 Robillard6-46/+115
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-09Revert accidental change.David Robillard1-2/+0
git-svn-id: http://svn.drobilla.net/resp/resp@337 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 Robillard3-12/+22
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-09Remove wildly outdated and false intro.resp.David Robillard1-148/+0
git-svn-id: http://svn.drobilla.net/resp/resp@332 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 Robillard7-3/+129
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