summary refs log tree commit diff stats
path: root/compiler/sem.nim
Commit message (Collapse)AuthorAgeFilesLines
* AST quasi-quoting for macrosZahary Karadjov2012-11-111-0/+1
|
* next steps for exception trackingAraq2012-11-031-1/+1
|
* nimbuild should work againAraq2012-11-011-0/+1
|
* cas improvementsAraq2012-10-241-1/+2
|
* caas barely works nowAraq2012-10-241-3/+3
|
* syntax compatibility between do blocks and stmt blocksZahary Karadjov2012-10-041-5/+4
| | | | | | | | | | | | See the section `do notation` in the manual for more info. * nkMacroStmt has been removed Macro statements are now mapped to regular nkCall nodes. The support for additional clauses (such as else, except, of, etc) have been restored - they will now appear as additional arguments for the nkCall node (as nkElse, nkExcept, etc nodes) * fixed some regressions in the `is` operator and semCompiles
* experimental support for querying the type of expressions within macrosZahary Karadjov2012-10-031-0/+11
| | | | normalised the line endings of macros.nim (minor edits otherwise)
* fixes ttypeselectorsZahary Karadjov2012-09-281-1/+12
|
* proc bodies can be expressions with a typeAraq2012-09-221-0/+1
|
* fixes #194Araq2012-09-201-1/+3
|
* bugfix: 'nimrod i' works againAraq2012-09-181-1/+3
|
* some support for passing blocks to overloaded templates/macrosAraq2012-09-171-1/+2
|
* semExpr/semStmt mergedAraq2012-09-131-2/+9
|
* made more tests green; fixes #201Araq2012-09-121-13/+16
|
* term rewriting improvementsAraq2012-09-081-49/+2
|
* term rewriting macros fully implemented; still buggyAraq2012-09-031-9/+41
|
* next steps towards term rewriting macros; simple examples workAraq2012-08-301-1/+5
|
* first steps towards term rewriting macrosAraq2012-08-301-1/+14
|
* parameter passing works the same for macros and templates; use callsite ↵Araq2012-08-281-3/+3
| | | | magic to access the invokation AST
* implemented generic templatesAraq2012-08-271-3/+1
|
* next steps to hygienic templatesAraq2012-08-201-4/+2
|
* first steps to make templates hygienicAraq2012-08-201-2/+13
|
* bugfix: typo in actors.nimAraq2012-08-151-0/+1
|
* made tests green againAraq2012-08-141-1/+1
|
* top level closures should work; transf is not a pass anymore; next steps for ↵Araq2012-08-131-1/+3
| | | | first class iterator support
* idetools: 'usages' and 'def' should work now; documented js backendAraq2012-08-051-4/+5
|
* made compiler more robust for idetools supportAraq2012-07-301-5/+5
|
* better error handling for better idetools supportAraq2012-07-291-10/+18
|
* improvements for idetools; system.compiles improvedAraq2012-07-291-0/+3
|
* fixes #140Araq2012-06-211-0/+2
|
* Added system.staticExec proc for executing external command at compile-timeZahary Karadjov2012-06-021-9/+2
|
* completing the "types as first class values" reformZahary Karadjov2012-04-061-1/+1
|
* typedesc and expr paramsZahary Karadjov2012-03-311-1/+1
| | | | | | | | | | | | types are now valid proc/template/macro params and you can overload over them: proc foo(T: typedesc) # accept any type proc foo(T: typedesc{int}) # overload specifically for int proc foo(T: typedesc{int or float or Callable}) # overload for any type matching the constraints expr{type} is a param expecting compile time value of the designated type (or type class). when typedesc or expr params are used with a proc, the proc will be instantiated once for each unique type/value used as parameter.
* merged branch overloading-for-macrosZahary Karadjov2012-03-191-12/+15
|\
| * bootstraps fine with overloadable templatesZahary Karadjov2012-03-141-13/+16
| |
* | clean separation of PNimrodNode and tyExprAraq2012-03-161-2/+2
| |
* | first steps for cleaner static/const distinctionAraq2012-03-131-7/+0
|/
* attempt to make tests green againAraq2012-03-111-1/+1
|
* pragma on/off improvements; endb rewrittenAraq2012-01-281-0/+1
|
* bugfix: endless recursion in 'semAfterMacroCall'Araq2012-01-131-0/+5
|
* test t99bott.nim works nowAraq2012-01-061-1/+1
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* alias analysis as required for the code gen and the HLOAraq2011-12-081-1/+1
|
* macros and templates can be expanded anywhere where a type is expected.Zahary Karadjov2011-11-181-4/+16
| | | | | This allows for various type selection algorithms to be implemented. See tests / accept / compile / ttypeselectors.nim for examples.
* lazy loading of body ast implementedAraq2011-10-301-1/+1
|
* compilation cache: slurped files are a dependency tooAraq2011-10-301-0/+6
|
* eval context for macros lives as long as the current module is compiledAraq2011-10-281-2/+3
|
* compilation cache: mostly working; generics not yetAraq2011-10-251-4/+4
|
* bugfixes for ROD file generation; nimcache dir is now flatAraq2011-10-201-6/+4
|
* much more efficient rod file generationAraq2011-10-181-1/+1
|