| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
* render curly braces
* fix typo
* fix test
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
|
|
|
|
|
|
| |
* => supports pragmas & names (+ changed behavior)
(x, y: int) is now parsed as (x: int, y: int) instead of
(x: auto, y: int) inside => and ->.
* fix pragma check
* fixes, use since & LHS of -> supports pragmas
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix typeSym.getImpl for ref types
* Fix a codegen issue affecting the test suite of nim-beacon-chain
* Fix tests/stdlib/tjsonmacro
To understand the fix better it may help to take a look
at the history of the replaced code.
The nil check that is removed in this commit was introduced
in another fix that failed to identify the root cause of the
issue - namely that we allow an object type to exist for which
no ast is present:
https://github.com/nim-lang/Nim/pull/9601/files
The original intention of the code is more obvious here:
https://github.com/nim-lang/Nim/pull/9538/files
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add expectIdent to macros
* apply feedback
* Update lib/core/macros.nim
Co-Authored-By: Clyybber <darkmine956@gmail.com>
* Update texpectIdent2.nim
* Update texpectIdent1.nim
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* fix #12740
* A different kind of a hack
* proper fix
* fix typo
|
|
|
|
|
|
| |
* fix regression in align
* add test typesym without type
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Implement isExported for macros
* Reimplement isExported using VM callback mechanism
* VM does not support exceptions, use stacktrace() instead.
|
|
|
|
|
|
| |
* reject to modify type checked AST
* add flag to back out
* Introduce legacy feature set.
|
| |
|
|
|
|
|
|
|
|
| |
[bugfix]
* add vm value preparation proc
* small optimization
|
|
|
|
|
|
| |
* macrocache improvements
* fix macrocache implementation
|
|
|
|
|
|
| |
* intVal works now on enum field symbols
* disable flakey titerators test
|
| |
|
| |
|
|
|
|
|
| |
* remove immediate from tests
* remove immediate from the compiler
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* allow void macro result
* add test for void macro result type
|
| |
|
| |
|
|
|
|
|
| |
* fixes #11180, forbid casting to unchecked array.
* allow UncheckedArray as param
|
|
|
| |
Merging
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Revert "Support for stmtListExpr in parser after major keywords. Scaled down version. (#10852)"
This reverts commit 862897dc0f122e374c0e4d44770ffcd8825e51e3.
* redo fix for #4035
* render stmtlistExpr using semicolon
* Revert "render stmtlistExpr using semicolon"
This reverts commit cafb78b8d5b125b5f6ba94248377a1433b3138cb.
* revert test
|
|
|
|
|
|
|
|
|
|
| |
This plugin provides essential building block for implementing incremental computations in your programs. The idea behind incremental computations is that if you do the same calculation multiple times but with slightly different inputs you don't have to recompute everything from scratch. Also you don't want to adopt special algorithms either, you would like to write your code in standard from scratch manner and get incrementality for free when it is possible.
The plugin computes the digest of the proc bodies, recursively hashing all called procs as well . Such digest with the digest of the argument values gives a good "name" for the result. Terminology loosely follows paper "Incremental Computation with Names" link below. It works well if you have no side effects in your computations. If you have global state in your computations then you will need problem specific workarounds to represent global state in set of "names" . SideEffect tracking in Nim also useful in this topic.
Classical examples:
Dashboard with ticking data. New data arrives non stop and you would like to update the dashboard recomputing only changed outputs.
Excel spreadsheet where user changes one cell and you would like to recompute all cells that are affected by the change, but do not want to recompute every cell in the spreadsheet.
|
|
|
|
|
|
|
| |
version. (#10852)
* Support for stmtListExpr in parser after major keywords
* fixes #4035
|
| |
|
|
|
|
|
| |
* fixes #10807
* use nkAddr instead of nkHiddenAddr
|
|
|
|
|
|
| |
* --define:nimQuirky exception handling for Nim; in preparation of a blog post
* make it work with latest system.nim
* make code more readable
* fixes #10702
|
| |
|
|
|
| |
Fixes #8997
|
|
|
| |
Fixes #10548
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #10339 by checking for nkObjConstr
* revert check for nkObjConstr, return type from nkEmpty node
The correct type needed in `semObjConstr` to fix #10339 is indeed
available, but attached to an `nkEmpty` node. These were previously
discarded in `semTypeNode`, which is used to extract the type for the
object.
* simplify return of PType from `nkEmpty`
* also fixes #9866, add test case
|
| |
|
| |
|
| |
|
| |
|
| |
|