Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@366 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
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
|
|
Step towards having first class symbols...
git-svn-id: http://svn.drobilla.net/resp/resp@362 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@359 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@355 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@352 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@329 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@328 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@326 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
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
|
|
Add some utilities to for using named types.
git-svn-id: http://svn.drobilla.net/resp/resp@313 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@306 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@297 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@290 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@289 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@287 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@285 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@284 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@282 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@279 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@278 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
pairs), rather than tuple structure.
Remove unused/crufty depoly stage.
Remove cps from AST interface (but keep cps.cpp code around for later).
Improved command line interface for compilation stages (options -T -L -S).
git-svn-id: http://svn.drobilla.net/resp/resp@277 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@270 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
(i.e. a type symbol), e.g. (Thing 2), is a call to a type constructor which creates a Tup
containing the arguments, with the symbol as the first element in the type expression,
e.g. (Thing 2) has type (Thing Int) and compiles to a tuple containing a single Int.
The type constructor `Tup' can be used as a `cons' replacement to construct
generic tuples.
git-svn-id: http://svn.drobilla.net/resp/resp@264 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@262 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
A Lexeme is any "token" read from input, a lexeme has not yet beeen parsed
and could parse to anything, e.g. a string, an expression, a number, etc.
Lexemes are not (yet?) exposed to the language or ever compiled.
A String is a string literal, which can contain any character directly
except " and \. There are two special escapes: \" and \\, any other
character following a \ is a syntax error.
Fix garbage collection of REPL objects, leading to type errors from
type variable re-use because a type variable for a given AST's /address/
exists, but that address has actually been deleted and reused by new
(i.e. make top level REPL expressions and types be GC roots).
git-svn-id: http://svn.drobilla.net/resp/resp@261 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Causes REPL to succeed silently instead of printing an error.
git-svn-id: http://svn.drobilla.net/resp/resp@260 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
preserve locations during substitution).
git-svn-id: http://svn.drobilla.net/resp/resp@256 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Implement support for closures (via lambda lifting phase).
git-svn-id: http://svn.drobilla.net/resp/resp@254 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
More efficient constraints construction (c') in unify().
git-svn-id: http://svn.drobilla.net/resp/resp@253 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@252 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@238 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@236 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@235 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@232 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@229 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@227 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Unify function types globally, rather than construct a "generic type" locally, since this didn't
take into consideration captured bindings, leaving the generic type not as solved as it could be.
git-svn-id: http://svn.drobilla.net/resp/tuplr@226 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@225 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@222 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@221 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@220 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@218 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@216 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@212 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@211 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@203 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@193 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@191 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|