summary refs log tree commit diff stats
path: root/compiler/semmagic.nim
Commit message (Collapse)AuthorAgeFilesLines
* use lower-case proc namesZahary Karadjov2017-03-241-4/+4
|
* new type traits: `GenericHead` and `StripGenericParams`Zahary Karadjov2017-03-241-2/+35
|
* implement the special treatment of explicit type params in conceptsZahary Karadjov2017-03-241-1/+1
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-1/+1
|
* recursive modules are only detected to improve error messagesAndreas Rumpf2016-11-241-1/+1
|
* remove remnants of tyIterJacek Sieka2016-10-241-1/+1
|
* Merge remote-tracking branch 'origin/devel' into compiler-cleanupJacek Sieka2016-08-171-2/+6
|\
| * Require ordinal or set argument to system.ordMatthew Baulch2016-08-111-2/+6
| |
* | remove unused stuffJacek Sieka2016-08-091-7/+0
|/
* fixes #4555Andreas Rumpf2016-08-021-1/+1
|
* fixes #3548Andreas Rumpf2016-07-151-1/+4
|
* fixes #4295Andreas Rumpf2016-06-071-1/+3
|
* Removed error that disallows slices with negative indexesbit2016-02-221-4/+0
|
* fixes a critical bug concerning a[^1] rewritingsAndreas Rumpf2015-12-141-1/+1
|
* fixes the most pressing regressions introduced by the new handling of a[i] ↵Araq2015-09-161-9/+16
| | | | in the compiler
* first attempt to fix 'a[i]' handling in genericsAraq2015-09-121-0/+34
|
* Untyped pointers godegen changed. addr expression fixed.Yuriy Glukhov2015-08-211-0/+2
|
* added system.unsafeAddrAraq2015-08-041-3/+3
|
* system.locals is now a plugin for educationAraq2015-04-241-29/+0
|
* fixes #2447Araq2015-04-221-1/+1
|
* added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin ↵Araq2015-04-221-0/+7
| | | | system to the compiler
* fixes #2420; negative indexing for slicing is obsolete (breaking change!)Araq2015-03-281-4/+4
|
* disallow negative indexingAraq2015-03-271-0/+13
|
* implemented a[^1] notationAraq2015-03-261-0/+30
|
* fixes #1805Araq2015-03-211-8/+28
|
* Happy new year!Guillaume Gelin2015-01-061-1/+1
|
* implemented procCall builtinAraq2014-11-281-0/+3
|
* fixes #1366Araq2014-08-301-1/+1
|
* Nimrod renamed to NimAraq2014-08-281-1/+1
|
* progress with futuresAraq2014-05-231-11/+0
|
* 'parallel' statement almost workingAraq2014-05-221-1/+11
|
* progress for the 'parallel' statementAraq2014-05-141-1/+1
|
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-1/+1
|
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-8/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-4/+3
| |
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-1/+1
| | | | | | | | | | | | | | 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: next stepsAraq2013-12-291-1/+1
| |
* | case consistency part 4Araq2013-12-271-7/+7
| |
* | new VM: globals kinda workAraq2013-12-131-1/+3
| |
* | new VM: improvementsAraq2013-12-121-11/+6
| |
* | compiler bootstraps with new VMAraq2013-10-151-0/+17
|/
* implemented delegators and improved the error messages of unmatched type classesZahary Karadjov2013-08-261-0/+1
|
* Experimental support for delayed instantiation of genericsZahary Karadjov2013-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | 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.
* get rid of ImportTablePos and ModuleTablePosZahary Karadjov2013-05-121-2/+3
|
* test-runner for caas multi-step testsZahary Karadjov2013-05-041-1/+2
|
* added system.localsAraq2013-03-211-1/+29
|
* improved support for typedesc valuesZahary Karadjov2012-09-251-2/+6
| | | | | * can be stored in constants and variables (including in containers like sequences) * can be passed to and returned from macros
* distinguish properly between nkOpen and nkClosedSymChoiceAraq2012-08-261-3/+9
|
* bindSym suffices; no 'bind' for macros anymoreAraq2012-08-251-0/+19
|
* better error handling for better idetools supportAraq2012-07-291-1/+1
|