| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
* Locks modules should give a compile error when threads are not enabled.
* fix the compile flags to make the tests pass, or ignore files where necessary.
* Fixed when statement to account for doc builds.
|
| |
|
|
|
|
| |
avoid callsite for htmlgen
|
|
|
|
|
|
|
|
| |
* add nodeId proc to macros
* add doc comment.
* fix typo
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* Implement isExported for macros
* Reimplement isExported using VM callback mechanism
* VM does not support exceptions, use stacktrace() instead.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Fixes:
> macros.nim(1423, 35) Warning: `typed` will change its meaning in future versions of
Nim. `void` or no return type declaration at all has the same
meaning as the current meaning of `typed` as return type declaration. [Deprecated]
|
| |
|
|
|
|
| |
--styleCheck:error
|
| |
|
|
|
|
|
|
|
|
| |
* [HCR] Added error for using performCodeReload() in main module
* [HCR] changed this to a warning, clarified usage
* [HCR] fixed typo
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* intVal works now on enum field symbols
* disable flakey titerators test
|
| |
|
|
|
|
|
|
|
|
|
| |
* Render deprecated pragmas
* fix the expected html
* clean up the documentation regarding deprecations
* fix typo
* fix system.nim
* fix random
|
| |
|
|
|
|
|
| |
* allow void macro result
* add test for void macro result type
|
| |
|
|
|
| |
Merging
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* mark user defined destructors with sfOverriden to simplify the logic
* refactoring in preparation to merge liftings and generic instantiations for destructors
* ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on
* renamed 'patterns' switch to 'trmacros' as it was totally misleading before
* destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking
* test for invalid/too late destructor introductions
* liftdestructors: make code robust for nimsuggest
* --newruntime works for hello world again
* newruntime: code generation for closures
|
| |
|