Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix spellings (#12277) [backport] | Federico Ceratto | 2019-09-27 | 1 | -1/+1 |
| | |||||
* | Small ast.nim cleanup (#12156) | Clyybber | 2019-09-09 | 1 | -2/+2 |
| | | | | | * Remove sonsLen * Use Indexable | ||||
* | fixes #12121 (#12126) | Andreas Rumpf | 2019-09-05 | 1 | -1/+1 |
| | |||||
* | new gensym handling (#11985) | Andreas Rumpf | 2019-08-23 | 1 | -3/+11 |
| | | | | | | | | | | | * new .gensym implementation * make astspec test green again * introduce a --useVersion switch to group compatibility switches * fixes #10180 * fixes #11494 * fixes #11483 * object constructor fields and named parameters are also not gensym'ed * disabled broken package | ||||
* | [refactoring] remove unused imports in the compiler and in some stdlib modules | Araq | 2019-07-18 | 1 | -2/+1 |
| | |||||
* | Remove immediate pragma (#11308) | Arne Döring | 2019-05-29 | 1 | -1/+1 |
| | | | | | * remove immediate from tests * remove immediate from the compiler | ||||
* | Replace countup(x, y-1) with x ..< y | Clyybber | 2019-05-07 | 1 | -3/+3 |
| | |||||
* | fixes #10192 | Araq | 2019-05-06 | 1 | -1/+1 |
| | |||||
* | it's spelt callsite | Andreas Rumpf | 2019-02-22 | 1 | -1/+1 |
| | |||||
* | 32 bit fixes (#10608) | Arne Döring | 2019-02-13 | 1 | -4/+3 |
| | |||||
* | fixes nested gensym'ed parameters; fixes #9476 | Araq | 2018-12-08 | 1 | -4/+10 |
| | |||||
* | IC: further progress | Araq | 2018-12-01 | 1 | -1/+1 |
| | |||||
* | docgen: fixes #9432 [backport] | Araq | 2018-10-31 | 1 | -0/+20 |
| | |||||
* | baby steps for incremental compilation | Andreas Rumpf | 2018-05-30 | 1 | -1/+1 |
| | |||||
* | remove more global variables in the Nim compiler | Andreas Rumpf | 2018-05-27 | 1 | -5/+4 |
| | |||||
* | remove ast.emptyNode global; cleanup configuration.nim | Araq | 2018-05-16 | 1 | -1/+1 |
| | |||||
* | fixes testament compilation | Araq | 2018-05-14 | 1 | -1/+1 |
|\ | |||||
| * | Better support for treating templates and macros as symbols. | Zahary Karadjov | 2018-05-07 | 1 | -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. | ||||
* | | more modules compile again | Andreas Rumpf | 2018-05-12 | 1 | -1/+1 |
| | | |||||
* | | more modules compile again | Andreas Rumpf | 2018-05-12 | 1 | -10/+18 |
|/ | |||||
* | allow setting template/macro recursive evaluation limits (#7652) | jcosborn | 2018-04-19 | 1 | -2/+3 |
| | | | | | | | * allow setting template/macro recursive evaluation limits * revert setting template/macro eval limits set them to 1000 | ||||
* | first steps in adding template/macro calls to stack traces | Araq | 2017-12-21 | 1 | -3/+7 |
| | |||||
* | Fix usage of parameters types in templates #6756 (#6768) | Anatoly Galiulin | 2017-11-29 | 1 | -1/+1 |
| | |||||
* | deprecated unary '<' | Andreas Rumpf | 2017-10-29 | 1 | -1/+1 |
| | |||||
* | Fix #4020; Better handling of templates within concepts | Zahary Karadjov | 2017-06-20 | 1 | -0/+2 |
| | |||||
* | lift parameter-less do block to lambdas | Zahary Karadjov | 2017-04-10 | 1 | -5/+1 |
| | |||||
* | fix the do notation when used with procs | Zahary Karadjov | 2017-04-09 | 1 | -1/+5 |
| | |||||
* | Fixes #5167 and related problems (#5475) | zah | 2017-03-12 | 1 | -0/+5 |
| | | | | | | | | | This commit returns to a bit less strict checking of the number of macro arguments, because some old immediate macros rely on a behavior where even the arity of the macro is not being checked. It may be better if such macros are just declared to use varargs[expr], but this remains for another day. | ||||
* | macros are now checked to not produce cyclic ASTs | Andreas Rumpf | 2017-02-08 | 1 | -1/+0 |
| | |||||
* | make tests green again | Araq | 2016-12-18 | 1 | -1/+1 |
| | |||||
* | fixes #4308, fixes #4905 | Araq | 2016-12-18 | 1 | -1/+20 |
| | |||||
* | hotfix: don't crash for wrong template calls | Andreas Rumpf | 2016-06-03 | 1 | -1/+1 |
| | |||||
* | remove funny debug output | Andreas Rumpf | 2016-05-27 | 1 | -1/+0 |
| | |||||
* | fixes #4227 | Andreas Rumpf | 2016-05-27 | 1 | -4/+5 |
| | |||||
* | Merge pull request #3500 from nanoant/patch/fix-3498-generic-args-in-tmpl | Andreas Rumpf | 2016-01-14 | 1 | -1/+2 |
|\ | | | | | fixes #3498 | ||||
| * | fixes #3498 | Adam Strzelecki | 2015-10-30 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | Previously it was not possible to use template arguments in template body as the symbols were not resolved correctly leading to Error: undeclared identifier: 'XX', eg.: template defaultOf[T](t: T): expr = (var d: T; d) echo defaultOf(1) #<- invalid identifier, but should output 0 | ||||
* | | better nimsuggest support | Araq | 2015-11-03 | 1 | -4/+4 |
|/ | |||||
* | fixes #3359 | Araq | 2015-09-23 | 1 | -3/+2 |
| | |||||
* | compiler: Trim .nim files trailing whitespace | Adam Strzelecki | 2015-09-04 | 1 | -3/+3 |
| | | | | via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} + | ||||
* | Disable the new generic params handling for immediate template and macros | Zahary Karadjov | 2015-08-02 | 1 | -1/+11 |
| | | | | | | | | | | | | | | Since immediate templates are not subjected to the standard sigmatching algorithm, they will have a number of deficiencies when it comes to generic params: Type dependencies between the parameters won't be honoured and the bound generic symbols won't be resolvable within their bodies. We could try to fix this, but it may be wiser to just deprecate immediate templates and macros now that we have working untyped parameters. Disabling the new features is admittedly not the greatest way to handle this situations as it introduces inconsistency in the language, but at least it makes the code backwards-compatible with the previous version of the compiler instead of triggering more serious problems. | ||||
* | fix #1858 again; restores the support for static macro params | Zahary Karadjov | 2015-08-02 | 1 | -16/+34 |
| | |||||
* | fixes #3044 | Araq | 2015-07-02 | 1 | -1/+3 |
| | |||||
* | fixes #1940; code breakage! stricter template evaluation | Araq | 2015-03-07 | 1 | -5/+5 |
| | |||||
* | nimsuggest improvements | Araq | 2015-01-30 | 1 | -1/+1 |
| | |||||
* | fixes #1915 | Araq | 2015-01-12 | 1 | -1/+1 |
| | |||||
* | Revert 5e4ae8d | Dustin Lacewell | 2015-01-07 | 1 | -33/+17 |
| | |||||
* | fix #1858; Add support for generic templates and macros | Zahary Karadjov | 2015-01-05 | 1 | -17/+33 |
| | | | | | | | | | Implementation notes: Just after overload resolution, the resolved generic params will be added to the call expression to be later processed in evalTemplate and evalMacroCall. These procs have been modified to handle the increased number of parameters, but one remaining issue is that immediate templates and macros don't go through the same process. The next commit will outlaw the use of generic parameters with such macros. | ||||
* | Nimrod renamed to Nim | Araq | 2014-08-28 | 1 | -1/+1 |
| | |||||
* | case consistency: next steps | Araq | 2013-12-29 | 1 | -1/+1 |
| | |||||
* | case consistency part 4 | Araq | 2013-12-27 | 1 | -6/+6 |
| |