summary refs log tree commit diff stats
path: root/compiler/seminst.nim
Commit message (Collapse)AuthorAgeFilesLines
* progress towards fixing tgenericshardcasesZahary Karadjov2014-01-061-2/+1
|
* clean-up some obsolete code; close #602Zahary Karadjov2013-12-311-146/+8
|
* handle recursive types during the instantiation of meta types; propagate ↵Zahary Karadjov2013-12-301-0/+1
| | | | tfHasMeta more carefully
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-9/+32
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+2
| |
| * make more tests greenZahary Karadjov2013-12-291-1/+18
| |
| * lift generic parameters from concrete composite type classesZahary Karadjov2013-12-281-1/+4
| |
| * towards support for composite type classes such as seq[Number] and ↵Zahary Karadjov2013-12-271-2/+4
| | | | | | | | SquareMatrix[T]
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-4/+4
| | | | | | | | | | | | | | 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-5/+5
| |
* | case consistency: next stepsAraq2013-12-291-1/+1
| |
* | case consistency part 4Araq2013-12-271-16/+16
| |
* | case consistency part 1Araq2013-12-271-5/+3
|/
* progress towards adding negative type classesZahary Karadjov2013-12-091-2/+3
| | | | | | [unittest bugfixes] the block form of check now allows comments errors when inspecting the arguments of var-accepting procs
* Experimental support for delayed instantiation of genericsZahary Karadjov2013-08-231-6/+43
| | | | | | | | | | | | | | | | | | | | 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.
* hacky fix for generic constraints matchingZahary Karadjov2013-08-191-0/+2
|
* work-in-progress for compiling generics in their owner moduleZahary Karadjov2013-08-191-3/+4
|
* Revert "Revert "made some tests green""Zahary Karadjov2013-08-191-16/+21
|
* Revert "Revert "further fixes for void stripping. fixes tvoid.""Zahary Karadjov2013-08-191-20/+25
| | | | This reverts commit d11cf5d1915d83159094f5074a6e17a72c65d9fa.
* Revert "Revert "fix threading tests""Zahary Karadjov2013-08-191-8/+16
| | | | This reverts commit 9c45e33d8c8b1a5f5fca69a467fda87b9b547057.
* Revert "Revert "fix tforwardgeneric""Zahary Karadjov2013-08-191-2/+0
| | | | This reverts commit e3f93241c3824e49b69c647bbd44726a79e8f8f8.
* remerge "Fixes #267"Zahary Karadjov2013-08-191-19/+84
|
* Revert "fixes #267"Araq2013-05-271-84/+19
| | | | This reverts commit 7fccdedcb5d1e583039b2ea2ae6564412a0f5104.
* Revert "fix tforwardgeneric"Araq2013-05-271-0/+2
| | | | This reverts commit d82a032566de1612ff1ed2d82cc7ec2bd58267d7.
* Revert "fix threading tests"Araq2013-05-271-16/+8
| | | | This reverts commit d5fffc032f2b390abd7b4c4fea2e49b1a0ef9736.
* Revert "further fixes for void stripping. fixes tvoid."Araq2013-05-271-25/+20
| | | | This reverts commit 4ae4005f805c5b2e329b2e060fcf40169238a9f9.
* Revert "more test made green"Araq2013-05-271-21/+16
| | | | This reverts commit 911e6e710f28f454cf8bc1bb493c1a28c4694b76.
* more test made greenZahary Karadjov2013-05-261-16/+21
| | | | | | | | | 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
* further fixes for void stripping. fixes tvoid.Zahary Karadjov2013-05-261-20/+25
|
* fix threading testsZahary Karadjov2013-05-261-8/+16
| | | | | * more type names are valid expressions now * void is properly stripped off during generic instantiation
* fix tforwardgenericZahary Karadjov2013-05-261-2/+0
|
* fixes #267Zahary Karadjov2013-05-261-19/+84
|
* switch to a linked list of scopesZahary Karadjov2013-05-111-4/+4
|
* Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
|
* merged upstream masterZahary Karadjov2013-01-271-3/+3
|\
| * implemented generic multi methodsAraq2013-01-161-0/+1
| |
| * some fixes for generic first class iteratorsAraq2012-12-151-3/+3
| |
* | remove any traces of the old global generics cacheZahary Karadjov2013-01-271-4/+4
| |
* | store the instantiation cache in the generic symbolZahary Karadjov2012-11-281-20/+16
|/
* implemented return type inferenceZahary Karadjov2012-10-031-3/+8
| | | | | | Other fixes: * bind once is now the default for type classes as documented in the manual * fixes an issue in template overloading (erroneous ambiguity when different typedesc params were used)
* improved support for typedesc valuesZahary Karadjov2012-09-251-34/+5
| | | | | * can be stored in constants and variables (including in containers like sequences) * can be passed to and returned from macros
* proc bodies can be expressions with a typeAraq2012-09-221-1/+1
|
* fixes #194Araq2012-09-201-1/+17
|
* made more tests green; fixes #201Araq2012-09-121-3/+4
|
* term rewriting improvementsAraq2012-09-081-0/+1
|
* implemented generic templatesAraq2012-08-271-1/+4
|
* next steps to hygienic templatesAraq2012-08-201-2/+1
|
* top level closures should work; transf is not a pass anymore; next steps for ↵Araq2012-08-131-2/+1
| | | | first class iterator support
* idetools: 'usages' and 'def' should work now; documented js backendAraq2012-08-051-2/+2
|
* 'addSon' for types deprecated for 'int literal type' analysisAraq2012-07-091-1/+1
|