Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | added another version of eqIdent | Araq | 2016-05-10 | 1 | -1/+17 |
| | |||||
* | Fixed macros unpackX procedured to return values correctly | Ruslan Mustakov | 2016-04-04 | 1 | -3/+3 |
| | |||||
* | Use ``when insideRLocksModule`` instead of ``when compiles`` | Anatoly Galiulin | 2016-03-31 | 1 | -0/+1 |
| | |||||
* | Fix ``XDeclaredButNotUsed`` warning when locks or rlocks module is used | Anatoly Galiulin | 2016-03-31 | 2 | -1/+2 |
| | |||||
* | Documentation for `withLock`. | Dominik Picheta | 2016-03-23 | 1 | -0/+2 |
| | |||||
* | Rename locks.lock tmplt to withLock and change body to untyped. | Dominik Picheta | 2016-03-23 | 1 | -1/+1 |
| | |||||
* | Implement a `lock` template in `locks` module. | Dominik Picheta | 2016-03-18 | 1 | -0/+8 |
| | |||||
* | use 'using' instead of 'sig' keyword; cleans up new features a bit | Andreas Rumpf | 2016-02-29 | 1 | -2/+1 |
| | |||||
* | added 'sig' feature; removed tfShared support in the compiler | Andreas Rumpf | 2016-02-28 | 1 | -1/+7 |
| | |||||
* | Added rlocks module to documentation and news.txt | Anatoly Galiulin | 2016-02-18 | 1 | -3/+3 |
| | |||||
* | Added fixes from Araq's comments | Anatoly Galiulin | 2016-02-17 | 1 | -2/+2 |
| | |||||
* | Added reentrant locks module to stdlib | Anatoly Galiulin | 2016-02-17 | 1 | -0/+50 |
| | |||||
* | Added nnkTemplateDef and nnkConverterDef to RoutineNodes set | Ruslan Mustakov | 2016-02-10 | 1 | -1/+1 |
| | |||||
* | first implementation of the new lambda-lifting pass; barely anything works | Andreas Rumpf | 2015-12-26 | 1 | -1/+1 |
| | |||||
* | Fix code generation issues with TNimType. | Reimer Behrends | 2015-12-15 | 1 | -5/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an alternative attempt to fix issue #2841 in a way that does not rely on non-standard C compiler behavior. The underlying problem is that the typeinfo module includes system/hti.nim, but system/hti.nim is also included by system.nim. The result is that the compiler at any given point has two instances of TNimType with the same external name and will generate code either for one or both of them. Code generation for the second version is normally suppressed by using {.importc.}, but that results in a missing type declaration for modules that only use the second version. This happens for modules that import typeinfo, because the the second component of typeinfo.Any has type PNimType = ptr TNimType, which generates a "TNimType *" struct member. The previous solution was to have a typedef for TNimType in nimbase.h; however, this results in duplicate typedefs (specifically, but not only for the code generated for typeinfo.nim). Duplicate typedefs with the same type name are allowed in C++ and C11, but are explicitly forbidden in C89 and C99. Modern versions of gcc and clang accept them anyway, but this is not standard-compliant and may break for other C compilers or older versions of gcc and clang. This patch attempts to fix the issue by making the second component of typeinfo.Nim a pointer instead of a PNimType and casting back and forth as needed. Thus, the second version of TNimType occurs only within the code for typeinfo.nim, where it can be safely omitted. | ||||
* | fixes #3541 | Araq | 2015-11-18 | 1 | -2/+1 |
| | |||||
* | Move deprecated modules into lib/deprecated/ | Adam Strzelecki | 2015-09-30 | 1 | -18/+0 |
| | | | | | This gives clear indication what modules are now deprecated and reduce clutter in non-deprecated module directories. | ||||
* | fixes bootstrapping | Araq | 2015-08-21 | 1 | -1/+2 |
| | |||||
* | implemented macros.getImpl | Araq | 2015-08-21 | 1 | -0/+4 |
| | |||||
* | Fixed macros.nim not compiling. | Dominik Picheta | 2015-08-03 | 1 | -1/+4 |
| | | | | Iterator aliases are not possible. | ||||
* | Added documentation to macros.items. | Dominik Picheta | 2015-08-03 | 1 | -0/+1 |
| | |||||
* | Merge branch 'macro-items' of https://github.com/transfuturist/Nim into ↵ | Dominik Picheta | 2015-08-03 | 1 | -1/+3 |
|\ | | | | | | | transfuturist-macro-items | ||||
| * | Update macros.nim | transfuturist | 2015-07-03 | 1 | -1/+1 |
| | | |||||
| * | Undeprecate children | transfuturist | 2015-06-20 | 1 | -1/+1 |
| | | |||||
| * | Change check for NimNode items to node kind | transfuturist | 2015-05-17 | 1 | -1/+1 |
| | | |||||
| * | Add value check for NimNode items | transfuturist | 2015-05-16 | 1 | -3/+4 |
| | | |||||
| * | Better solution: deprecation | transfuturist | 2015-05-16 | 1 | -4/+2 |
| | | |||||
| * | NimNode needs an items iterator to be used nicely in for statements | transfuturist | 2015-05-16 | 1 | -0/+4 |
| | | |||||
* | | removed macros.high as it never worked outside of macros.nim | Araq | 2015-07-28 | 1 | -10/+8 |
| | | |||||
* | | fixes #2841 | Araq | 2015-07-22 | 1 | -43/+43 |
| | | |||||
* | | Merge pull request #2272 from def-/unsigned | Andreas Rumpf | 2015-07-11 | 1 | -46/+7 |
|\ \ | | | | | | | Move unsigned int operations to system module | ||||
| * | | Update deprecation notice about unsigned module | def | 2015-07-02 | 1 | -1/+1 |
| | | | |||||
| * | | Add unsigned exports for backwards-compatibility | def | 2015-07-01 | 1 | -0/+3 |
| | | | |||||
| * | | Move unsigned int operations to system module | def | 2015-07-01 | 1 | -47/+5 |
| | | | | | | | | | | | | | | | This should lead to less confusion because uint numbers and literals seem to work, but operators are just missing. | ||||
* | | | Nimrod -> Nim rename | Araq | 2015-07-08 | 1 | -1/+1 |
| | | | |||||
* | | | fixes bootstrapping problem | Araq | 2015-07-04 | 1 | -1/+2 |
| | | | |||||
* | | | macros: Introduce sameType(a, b) for node types | Adam Strzelecki | 2015-07-03 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously introduced node comparison `==` was working somehow wrong on nodes returned from getType(a), comparing just ids of the symbols. Recently introduced `==` change 47dce2688633fad840a2f5e4073c531f1cd640ca started comparing symbol nodes pointer-wise, thus strictly. Since getType(a) always creates new symbol pointing to the type, comparing two such nodes using `==` always returns false, even they point to the same type. That is why we need a new sameType macro to be able to tell if these nodes point to the same type. | ||||
* | | | fixes #3046 | Araq | 2015-07-03 | 1 | -1/+5 |
| | | | |||||
* | | | made macros.$ a bit smarter; but really this one needs to die | Araq | 2015-07-03 | 1 | -0/+2 |
|/ / | |||||
* | | Merge branch 'more_concurrency' into devel | Araq | 2015-06-30 | 1 | -2/+1 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/tut1.txt lib/core/locks.nim lib/pure/collections/tables.nim lib/pure/selectors.nim | ||||
| * | | get rid of deprecated effects | Araq | 2015-05-13 | 1 | -18/+6 |
| |/ | |||||
* | | conditional TGenericSeq extension | Stefan Talpalaru | 2015-06-16 | 1 | -3/+7 |
| | | |||||
* | | Merge branch 'devel' into gogc | Stefan Talpalaru | 2015-06-15 | 2 | -81/+86 |
|\ \ | |||||
| * \ | Merge pull request #2643 from grncdr/TAny-and-inheritance | Andreas Rumpf | 2015-06-07 | 1 | -0/+2 |
| |\ \ | | | | | | | | | Resolve base type fields in `[](TAny, string)` | ||||
| | * | | Resolve base type fields in `[](TAny, string)` | Stephen Sugden | 2015-05-03 | 1 | -0/+2 |
| | |/ | |||||
| * | | lib/core - Dropped 'T' from types | pdw | 2015-06-04 | 2 | -81/+84 |
| | | | |||||
* | | | the Go GC - initial implementation | Stefan Talpalaru | 2015-05-31 | 1 | -2/+2 |
|/ / | |||||
* | | get rid of deprecated effects | Araq | 2015-05-28 | 1 | -18/+6 |
| | | |||||
* | | Macros: Introduce getType(t: typedesc): NimNode | Adam Strzelecki | 2015-05-17 | 1 | -0/+6 |
|/ | | | | | | | | | | | | | Since typedesc are exception in macros and they are not implicitly converted to NimNode on macro call, we need some means to perform such conversion on demand. Fortunately it is as simple as declaring new magic "NGetType" proc with typedesc parameter. NOTE: Keeping actual macro exceptional behavior for typedesc is important, since it allows passing typedesc macro parameter to other procs or macros expecting type parameter. If typedesc parameter was implicitly converted, then we would lost this ability. | ||||
* | macros: added bool literal support | Araq | 2015-04-20 | 1 | -0/+6 |
| |