summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Revert "static and default params for generics"Araq2013-05-271-2/+0
| | | | This reverts commit 46813bbe4e1423181521d4792b9af7593f48fa1f.
* Revert "fix tforwardgeneric"Araq2013-05-271-2/+2
| | | | This reverts commit d82a032566de1612ff1ed2d82cc7ec2bd58267d7.
* Revert "more test made green"Araq2013-05-271-2/+1
| | | | This reverts commit 911e6e710f28f454cf8bc1bb493c1a28c4694b76.
* more test made greenZahary Karadjov2013-05-261-1/+2
| | | | | | | | | the lambda lifting was trying too hard to ignore generic prods isGenericRoutine was producing false-negatives and only this allowed for some of the warning and error messages to be triggered. some files with mixed line endings were fixed