summary refs log tree commit diff stats
path: root/compiler/semstmts.nim
Commit message (Collapse)AuthorAgeFilesLines
* reference implementation of a vector swizzle libraryZahary Karadjov2014-03-201-9/+6
| | | | | This also provides the initial steps towards support for type class "filtered" type inference fixes an "ordinal type expected" ICE, related to the use of static params
* fix #715 againZahary Karadjov2014-03-161-1/+3
| | | | the regression was caused by the introduction of "generic" lambdas
* implements higher-order inline iterators and return type inference for iteratorsZahary Karadjov2014-03-081-8/+10
|
* Merge branch 'devel' of github.com:Araq/Nimrod into develZahary Karadjov2014-03-061-1/+1
|\
| * fixes #942Araq2014-03-051-1/+1
| |
* | split the inline and closure iterators into different symbol kinds for ↵Zahary Karadjov2014-03-061-10/+12
| | | | | | | | easier discrimination between them
* | iterators now return tyIter(T);Zahary Karadjov2014-03-051-2/+3
|/ | | | | | | | tyIter(T) represents an "iteration yielding values of type T" I'm planning to use that in the context of the `is` operator supporting predicates such as `C.items is iterator` and also in the upcoming support for higher-order inline iterators.
* Merge branch 'vm2_2' into develAraq2014-02-251-3/+6
|\
| * new VM is getting stableAraq2014-02-241-3/+6
| |
* | fix #945Zahary Karadjov2014-02-201-4/+5
| |
* | fix #204;Zahary Karadjov2014-02-181-1/+6
|/
* fix #807Zahary Karadjov2014-02-171-2/+2
|
* quite messy implementation of generic lambdas, needs reworking; fixes #715Zahary Karadjov2014-02-171-13/+50
|
* fix #188Zahary Karadjov2014-02-171-0/+24
|
* tyTypeDesc and tyRange always have 1 child; this might be tyNone but it is ↵Araq2014-02-051-2/+2
| | | | required for skipTypes
* macro tests almost greenAraq2014-02-031-0/+3
|
* fixes #844Araq2014-02-021-4/+6
|
* Merge branch 'devel' of https://www.github.com/Araq/Nimrod into develZahary Karadjov2014-01-261-2/+9
|\
| * next steps for closure iteratorsAraq2014-01-221-2/+9
| |
* | implements #766;Zahary Karadjov2014-01-241-1/+1
|/ | | | | | expressions such as Type.field are now recognised by the compiler. This also fixes a bug, preventing the user-defined to check for the presence of regular fields in addition to procs
* parser support anon iteratorsAraq2014-01-201-2/+6
|
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-4/+6
|
* fixed #597Zahary Karadjov2014-01-021-1/+1
|
* clean-up some obsolete code; close #602Zahary Karadjov2013-12-311-10/+6
|
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-6/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * make more tests greenZahary Karadjov2013-12-291-2/+6
| |
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-291-11/+11
| |
* | case consistency: next stepsAraq2013-12-291-6/+6
| |
* | case consistency part 4Araq2013-12-271-76/+76
| |
* | case consistency part 1Araq2013-12-271-5/+5
| |
* | new VM: passes more testsAraq2013-12-061-7/+12
| |
* | Merge branch 'master' into vm2Araq2013-12-051-17/+24
|\| | | | | | | | | Conflicts: compiler/sem.nim
| * fixes #696Araq2013-12-011-0/+2
| |
| * fixes #663Araq2013-11-191-9/+9
| |
| * Merge pull request #680 from Varriount/core/fix-generic-crashesAndreas Rumpf2013-11-191-2/+3
| |\ | | | | | | Prevent lambdas from crashing if given implicit generic parameters.
| | * Prevent lambdas from crashing if given implicit generic parameters.Clay Sweetser2013-11-181-2/+3
| | | | | | | | | | | | Fixes issues #599 and #641 (and possibly other generic-related issues)
| * | simple unit test and better documentation for the user defined type classesZahary Karadjov2013-11-171-6/+10
| |/
* | tcnstseq works againAraq2013-11-071-1/+3
| |
* | compiler bootstraps with new VMAraq2013-10-151-2/+2
|/
* improvements for TR macrosAraq2013-09-171-3/+8
|
* Merge branch 'type-classes' into upstreamZahary Karadjov2013-09-031-2/+9
|\
| * implemented delegators and improved the error messages of unmatched type classesZahary Karadjov2013-08-261-1/+8
| |
| * prevent eval crashes due to PContext-dependent ops not being available in ↵Zahary Karadjov2013-08-251-1/+1
| | | | | | | | evalConstExpr
* | fixes #554, fixes #179Araq2013-08-311-3/+6
| |
* | fixes #578Araq2013-08-301-1/+1
|/
* Experimental support for delayed instantiation of genericsZahary Karadjov2013-08-231-6/+10
| | | | | | | | | | | | | | | | | | | | 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.
* Revert "Revert "static and default params for generics""Zahary Karadjov2013-08-191-1/+2
| | | | This reverts commit 0662ec4a434f4656b5afc486bc4ebaab82c52da6.
* 'nimrod pretty' usableAraq2013-07-311-1/+1
|
* fixes lots of regressionsAraq2013-06-291-1/+2
|
* var tuple unpacking works at compile timeAraq2013-06-281-5/+6
|