summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* small code cleanupsAraq2014-01-231-1/+0
|
* next steps for closure iteratorsAraq2014-01-221-0/+1
|
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-1/+1
|
* progress towards fixing tgenericshardcasesZahary Karadjov2014-01-061-0/+1
|
* introduce tyFromExpr; fixes #618Zahary Karadjov2014-01-041-8/+20
|
* Templates will pick the candidate in the nearest scope when symbols are mixed-inZahary Karadjov2013-12-311-0/+4
|
* handle recursive types during the instantiation of meta types; propagate ↵Zahary Karadjov2013-12-301-2/+6
| | | | tfHasMeta more carefully
* restore return type inferenceZahary Karadjov2013-12-301-0/+3
|
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-11/+25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: compiler/ccgutils.nim compiler/msgs.nim compiler/sem.nim compiler/semexprs.nim compiler/seminst.nim compiler/semmagic.nim compiler/semstmts.nim compiler/semtypes.nim compiler/semtypinst.nim compiler/sigmatch.nim compiler/types.nim compiler/vmgen.nim lib/core/macros.nim lib/system.nim tests/reject/tenummix.nim web/news.txt
| * integrate the logic of fixupProcType into ReplaceTypeVarsZahary Karadjov2013-12-291-5/+15
| |
| * towards support for composite type classes such as seq[Number] and ↵Zahary Karadjov2013-12-271-1/+2
| | | | | | | | SquareMatrix[T]
| * better integration of tyStatic into typeRelZahary Karadjov2013-12-251-0/+1
| |
| * wip type class reforms (the compiler bootstraps fine)Zahary Karadjov2013-12-251-4/+4
| | | | | | | | | | | | * replace tfAny and tfAll with tyAnd and tyOr * integrate matchTypeClass into typeRel * introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-3/+5
| | | | | | | | | | | | | | This introduces tyStatic and successfully bootstraps and handles few simple test cases. Static params within macros are no longer treated as PNimrodNodes - they are now equivalent to constants of the designated type.
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-291-9/+9
| |
* | case consistency: next stepsAraq2013-12-291-7/+7
| |
* | case consistency part 4Araq2013-12-271-11/+11
| |
* | case consistency part 3Araq2013-12-271-4/+4
| |
* | Merge branch 'vm2' of github.com:Araq/Nimrod into vm2Araq2013-12-241-1/+2
|\ \
| * | Merge branch 'master' into vm2Araq2013-12-131-1/+10
| |\|
| * | Merge branch 'master' into vm2Araq2013-12-051-2/+0
| |\ \ | | | | | | | | | | | | | | | | Conflicts: compiler/sem.nim
| * | | VM now supports lambda liftingAraq2013-11-061-1/+2
| | | |
* | | | Correct the spelling of the word 'implicitly'Satish BD2013-12-231-2/+2
| |_|/ |/| |
* | | progress towards adding negative type classesZahary Karadjov2013-12-091-1/+10
| |/ |/| | | | | | | | | [unittest bugfixes] the block form of check now allows comments errors when inspecting the arguments of var-accepting procs
* | support for multiple test variables and var qualifiers in user-defined type ↵Zahary Karadjov2013-11-131-2/+0
|/ | | | classes
* 'noStackFrame' implies 'naked' in the generated C codeAraq2013-10-061-2/+2
|
* implemented 'import a as b'Araq2013-09-241-2/+21
|
* fixes #576Araq2013-09-181-1/+2
|
* implemented the using statementZahary Karadjov2013-08-311-0/+2
|
* fix tnoopZahary Karadjov2013-08-261-0/+1
| | | | | | | | This commit requires further investigation. Fixing semExpr(nkCall) once and for all to work with sym-choices and to allow overloading with immediate templates and macros will probably set this straight too.
* implemented delegators and improved the error messages of unmatched type classesZahary Karadjov2013-08-261-2/+4
|
* working code for simple cases of user-defined type classesZahary Karadjov2013-08-251-0/+3
|
* parsing of user defined type classesZahary Karadjov2013-08-231-0/+1
|
* Experimental support for delayed instantiation of genericsZahary Karadjov2013-08-231-3/+4
| | | | | | | | | | | | | | | | | | | | This postpones the semantic pass over the generic's body until the generic is instantiated. There are several pros and cons for this method and the capabilities that it enables may still be possible in the old framework if we teach it a few new trick. Such an attempt will follow in the next commits. pros: 1) It allows macros to be expanded during generic instantiation that will provide the body of the generic. See ``tmacrogenerics``. 2) The instantiation code is dramatically simplified. Dealing with unknown types in the generic's body pre-pass requires a lot of hacky code and error silencing in semTypeNode. See ``tgenericshardcases``. cons: 1) There is a performance penalty of roughly 5% when bootstrapping. 2) Certain errors that used to be detected in the previous pre-pass won't be detected with the new scheme until instantiation.
* check the owners of generic instantiations properly and fix tinvalidclosureZahary Karadjov2013-08-191-1/+10
|
* Revert "Revert "made some tests green""Zahary Karadjov2013-08-191-1/+2
|
* Revert "Revert "fix tforwardgeneric""Zahary Karadjov2013-08-191-2/+2
| | | | This reverts commit e3f93241c3824e49b69c647bbd44726a79e8f8f8.
* Revert "Revert "static and default params for generics""Zahary Karadjov2013-08-191-0/+2
| | | | This reverts commit 0662ec4a434f4656b5afc486bc4ebaab82c52da6.
* remerge "Fixes #267"Zahary Karadjov2013-08-191-10/+5
|
* lfFullExternalName for 'nimrod pretty'Araq2013-07-301-0/+3
|
* added macros.genSymAraq2013-07-241-1/+1
|
* refactorings for the eval engine; bugfix: clean templates as accessorsAraq2013-07-191-6/+6
|
* some small performance improvement for the evaluatorAraq2013-06-281-0/+1
|
* implements the 'codegenDecl' pragmaAraq2013-06-271-3/+3
|
* fixed a long standing xml parser bug; html parser bugfixes + speed improvementsAraq2013-06-271-0/+3
|
* improvements for 'not nil' checkingAraq2013-06-131-3/+11
|
* implemented large parts of the 'not nil' checkingAraq2013-06-091-6/+23
|
* fixes #385Araq2013-06-031-1/+32
|
* astToStr is now immediateAraq2013-06-021-0/+11
|
* Revert "fixes #267"Araq2013-05-271-5/+10
| | | | This reverts commit 7fccdedcb5d1e583039b2ea2ae6564412a0f5104.