summary refs log tree commit diff stats
path: root/lib/core
Commit message (Collapse)AuthorAgeFilesLines
* Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-071-1/+1
| | | | | | | | | | | | | | | | | | | This allows you to pass a template or a macro to another macro which can then inspect the implementation of the former template/macro using `getImpl`. Since templates can be freely redefined, this allows you to treat their symbols as compile-time variables that have lexical scope. A motivating PoC example for a logging library taking advantage of this will be provided in the next commit. Implementation details: * The name of a template or a macro will be consider a symbol if the template/macro requires parameters * For parameterless templates/macros, you can use `bindSym`, which was extended to also work outside of compile-time procs.
* hasCustomPragma/getCustomPragmaVal: small fix (#7650)RSDuck2018-04-191-1/+5
| | | | | | | | * fix hasCustomPragma/getCustomPragmaVal for types without pragma * fix pragma on pointer test * removed trailing spaces
* Fixes #7595 (#7623)Dmitry Atamanov2018-04-161-7/+6
| | | | | | | | * Fixes #7595 * Add brackets * Fix for treeRepr and lispRepr too
* update macros.nim: followup on pull #7598 (#7619)Timothee Cour2018-04-161-5/+2
| | | | @Araq @krux02 https://github.com/nim-lang/Nim/pull/7598 seemed inaccurate eg for NLineInfo there's `mNLineInfo` but no opcNLineInfo
* move eqIdent to vm.nim (#7585)Arne Döring2018-04-151-32/+51
| | | | | | * Strutils comment changes. * fix typo
* add example to docs for getTypeInst and getTypeImpl (#7206)jcosborn2018-04-151-9/+45
| | | | | | | | * add example to docs for getTypeInst and getTypeImpl * made examples use runnableExamples * changed assert to doAssert
* fixes #7451 (#7575)RSDuck2018-04-141-20/+65
|
* introduce nkTupleConstr AST node for unary tuple construction; breaking changeAndreas Rumpf2018-04-131-1/+2
|
* added comment to macros (#7598)Arne Döring2018-04-131-0/+6
| | | | | | * added comment to macros * Update macros.nim
* deprecate macros.callsite; fixes #7369Andreas Rumpf2018-04-121-1/+3
|
* Added a few useful os calls to VM (#7440)genotrance2018-04-121-0/+4
|
* Get symbol kind (#7491)Arne Döring2018-04-111-63/+99
|
* Fixes #7473 (#7475)Arne Döring2018-04-041-36/+8
| | | | | * removed code duplication * changelog entry, adopt tests for changes
* C codegen: preparations for different seq and string implementationsAndreas Rumpf2018-04-032-7/+6
|
* Add CommentStmt to astGenRepr (#7313)PMunch2018-03-161-2/+2
| | | | | | * Added codeRepr and dumpCode to the macros module. This allows those writing macros to write examples, get the code to generate the AST for that example, and then modify that code to be dynamic with the macro function.
* Implement custom annotations (#6987)cooldome2018-01-091-0/+54
|
* New runtime: fix allocator inheritable (#7046)Dmitry Atamanov2018-01-091-1/+1
|
* Fixes for new runtime (#7037)Dmitry Atamanov2018-01-082-6/+28
|
* new runtime: added typelayouts.nimAndreas Rumpf2018-01-043-17/+64
|
* allocators.nim: minor typoAndreas Rumpf2018-01-044-0/+332
|
* first steps in adding template/macro calls to stack tracesAraq2017-12-211-1/+1
|
* added macros.unpackVarargsAraq2017-11-301-0/+5
|
* Merge branch 'devel' of github.com:nim-lang/Nim into develAraq2017-11-211-14/+61
|\
| * cleaned up macros.nimAndreas Rumpf2017-11-191-14/+9
| |
| * macros.nim: deprecated ! operatorAndreas Rumpf2017-11-191-5/+11
| |
| * 'newEnum' proc added to macros.nim (#6000)WhiteDuke2017-11-191-0/+42
| |
| * replaced asArray with a much more powerful mapLiterals macroAndreas Rumpf2017-11-181-2/+6
| |
| * Trim remaining expr/stmt from stdlib (#6742)Lynn C. Rees2017-11-151-1/+1
| |
* | added a version of macros.expectLen that takes min/max valuesAraq2017-11-211-0/+7
|/
* work in progress: new implementation for 'a[^1]'Andreas Rumpf2017-10-291-8/+15
|
* more replacements for the deprecated '<'Andreas Rumpf2017-10-291-3/+3
|
* macros.nim: added missing pairs iteratorAraq2017-10-251-0/+5
|
* make the tester compile againAndreas Rumpf2017-09-251-1/+1
|
* first steps of making 'opt' a first class type for NimAndreas Rumpf2017-09-251-0/+1
|
* some work to make 'opt' a first class typeAndreas Rumpf2017-09-241-1/+1
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-3/+5
|
* in prepration for the upcoming different integer inference rulesAndreas Rumpf2017-09-161-1/+1
|
* equality check on NimSym has now support in the VM; refs #6139Araq2017-09-031-0/+3
|
* macros module: 'name' proc skips the export markerAndreas Rumpf2017-08-291-0/+2
|
* Fixed NimTypeKind enum, added missing values. (#6157)Yuriy Glukhov2017-07-301-2/+3
|
* Added codeRepr and dumpCode to the macros module. (#5778)PMunch2017-07-261-4/+101
|
* Remove expr/stmt (#5857)Arne Döring2017-07-251-1/+1
|
* Disable stacktrace in locks (#6128)Yuriy Glukhov2017-07-211-0/+4
|
* Lineinfo change (#6084)Arne Döring2017-07-171-1/+21
|
* fixes #6049 add mixin release, acquire to withLock (#6113)andri lim2017-07-161-0/+1
|
* newLit emty seq fix (#6091)Arne Döring2017-07-131-3/+10
| | | | * the type of the empty seq is still the correct type * updated test
* improved comment satement support in macros (#5904)Arne Döring2017-06-021-0/+8
|
* more and improved newLit procs in macros moduleArne Döring2017-05-231-3/+88
|
* Fixes regression introduced by #5739. Improves newNimNode proc.Dominik Picheta2017-05-171-1/+7
|
* fixes #5419Andreas Rumpf2017-02-241-0/+2
|