aboutsummaryrefslogtreecommitdiffstats
path: root/src/expand.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-12-25Implement ellipses as in R*RS.David Robillard1-17/+30
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 Robillard1-12/+25
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 Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/resp/trunk@444 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-25Preliminary syntax-rules macro implementation.David Robillard1-18/+148
git-svn-id: http://svn.drobilla.net/resp/trunk@443 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-23Move towards standard Scheme syntax.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/resp/trunk@442 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
2010-12-30Fix bug in previous commit.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@377 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-30Fix crash at expand phase when def contains no body.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/resp/resp@376 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-29Literal lists (i.e. list quoting).David Robillard1-1/+1
Compile type expressions. Only compile a top-level function if program has code to run (i.e. isn't just definitions). Cast tuples to Object when necessary to avoid LLVM IR type mismatches (for cons stores and return values). Fix memory leaks. git-svn-id: http://svn.drobilla.net/resp/resp@369 ad02d1e2-f140-0410-9f75-f8b11f17cedd
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 Robillard1-2/+2
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 Robillard1-1/+1
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-27Remove weird __tag_is form by adding a T_LITSYM type and using = operator.David Robillard1-1/+1
Step towards having first class symbols... git-svn-id: http://svn.drobilla.net/resp/resp@362 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-27Kill AType.David Robillard1-7/+7
git-svn-id: http://svn.drobilla.net/resp/resp@359 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Remove AType::PRIM.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@357 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-26Update headers.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@352 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-07Rename 'parse' to the now more accurate 'expand'.David Robillard1-0/+138
git-svn-id: http://svn.drobilla.net/resp/resp@307 ad02d1e2-f140-0410-9f75-f8b11f17cedd