summary refs log tree commit diff stats
path: root/compiler/semexprs.nim
Commit message (Collapse)AuthorAgeFilesLines
* propagate semExpr flags in macro/template expansionZahary Karadjov2014-04-061-8/+9
|
* tsymchoicefield compilesAraq2014-04-011-2/+4
|
* fixes #1025; don't know what this breaksAraq2014-03-261-3/+2
|
* implemented 'borrow dot' feature for distinct typesAraq2014-03-261-5/+5
|
* fix #1015Zahary Karadjov2014-03-201-3/+8
|
* reference implementation of a vector swizzle libraryZahary Karadjov2014-03-201-14/+29
| | | | | 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
* Added support for {.packed.} pragma on objectsAudun Wilhelmsen2014-03-181-1/+1
| | | | Added tests for packed and union pragmas
* make some tests greenZahary Karadjov2014-03-161-2/+8
|
* handle arbitrary expressions dependent on static input params in proc signaturesZahary Karadjov2014-03-161-1/+13
|
* more robust handling of proc signatures containing inter-param type referencesZahary Karadjov2014-03-161-5/+8
|
* first phase of tyGenericParam reforms needed for static paramsZahary Karadjov2014-03-161-2/+2
|
* fix #715 againZahary Karadjov2014-03-161-1/+6
| | | | the regression was caused by the introduction of "generic" lambdas
* fix #988Zahary Karadjov2014-03-101-3/+4
| | | | trivial crash caused due to unchecked iteration over an empty reclist
* fix #986Zahary Karadjov2014-03-101-13/+21
|
* fix #829; (macros.quote)Zahary Karadjov2014-03-091-1/+1
| | | | | | | | the fix is a little bit peculiar: the inserted call to getAst was getting a false-positive for being a lambda proc, because lambdalifting.isInnerProc takes into account who is the owner of a given symbol: (a nested proc is a callable symbol owned by the enclosing proc)
* fix #949Zahary Karadjov2014-03-091-1/+2
|
* implements higher-order inline iterators and return type inference for iteratorsZahary Karadjov2014-03-081-2/+14
|
* test cases for the new handling of iterators by the `is` operatorZahary Karadjov2014-03-061-5/+0
|
* split the inline and closure iterators into different symbol kinds for ↵Zahary Karadjov2014-03-061-11/+13
| | | | easier discrimination between them
* iterators now return tyIter(T);Zahary Karadjov2014-03-051-2/+2
| | | | | | | | 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.
* new VM is getting stableAraq2014-02-241-0/+4
|
* quite messy implementation of generic lambdas, needs reworking; fixes #715Zahary Karadjov2014-02-171-2/+2
|
* fix some regressions caused by tyTypeDesc[tyNone]Zahary Karadjov2014-02-151-10/+9
|
* the delegator pragma becomes a set of dot operatorsZahary Karadjov2014-02-151-24/+10
|
* fixes #797; generic procs can be used in places expecting matching concrete ↵Zahary Karadjov2014-02-111-1/+8
| | | | proc types
* fixes 'newSeq[T]' instantiation bugAraq2014-02-091-3/+9
|
* fixes #844Araq2014-02-021-2/+2
|
* remove the old testerAraq2014-02-021-21/+18
|\
| * the `is` operator now uses exactly the same algorithm as proc signature matchingZahary Karadjov2014-01-261-18/+7
| |
| * implements #766;Zahary Karadjov2014-01-241-3/+11
| | | | | | | | | | | | 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
| * support for parametric user-defined type classesZahary Karadjov2014-01-241-2/+2
| |
* | bugfix: object constructor doesn't allow 'distinct' typesAraq2014-02-011-2/+2
|/
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-23/+22
|
* better html generator for the tester; fixes some VM bugsAraq2014-01-171-1/+1
|
* progress towards fixing tgenericshardcasesZahary Karadjov2014-01-061-4/+6
|
* Templates will pick the candidate in the nearest scope when symbols are mixed-inZahary Karadjov2013-12-311-1/+1
|
* restore return type inferenceZahary Karadjov2013-12-301-1/+1
|
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-15/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+5
| |
| * wip type class reforms (the compiler bootstraps fine)Zahary Karadjov2013-12-251-1/+1
| | | | | | | | | | | | * replace tfAny and tfAll with tyAnd and tyOr * integrate matchTypeClass into typeRel * introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
| * make the current PContext accessible through TCandidateZahary Karadjov2013-12-251-8/+8
| | | | | | | | | | | | the goal here is to remove all the hacks from ParamTypeMatch and to handle all type matching in typeRel (the context there is required to evaluate any static params and to run the compilation tests of user-defined type classes)
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-4/+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-21/+24
| |
* | case consistency: next stepsAraq2013-12-291-8/+8
| |
* | case consistency part 4Araq2013-12-271-89/+89
| |
* | case consistency part 1Araq2013-12-271-10/+10
| |
* | Merge branch 'vm2' of github.com:Araq/Nimrod into vm2Araq2013-12-241-7/+8
|\ \
| * | Merge branch 'master' into vm2Araq2013-12-131-1/+1
| |\|
| * | new VM: improvementsAraq2013-12-121-3/+3
| | |
| * | more tests are greenAraq2013-12-081-1/+2
| | |