Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | dfa.nim: track object/tuple field accesses more precisely; sink(o.x); ↵ | Araq | 2019-04-16 | 5 | -44/+97 |
| | | | | sink(o.y) needs to compile; activate the tuple unpacking transf.nim bugfix | ||||
* | Extend the fix for #11018 to strings (#11031) | Clyybber | 2019-04-15 | 1 | -1/+1 |
| | | | | | | * Extend the fix for #11018 to strings * Fix testcase | ||||
* | Fixes #11018 (#11019) | Clyybber | 2019-04-14 | 1 | -0/+3 |
| | |||||
* | make strscans module work with --newruntime | Andreas Rumpf | 2019-04-14 | 2 | -4/+7 |
| | |||||
* | render urls correctly (#11022) | Andy Davidoff | 2019-04-14 | 1 | -2/+2 |
| | |||||
* | fix reraise (#11017) | cooldome | 2019-04-13 | 1 | -1/+1 |
| | |||||
* | make koch.nim compile with --newruntime. Again. | Araq | 2019-04-12 | 1 | -3/+16 |
| | |||||
* | fixes #11004 | Araq | 2019-04-12 | 1 | -60/+72 |
| | |||||
* | Compiler plugin for implementing incremental computation in user space (#10819) | cooldome | 2019-04-11 | 8 | -81/+161 |
| | | | | | | | | | | 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. | ||||
* | preparations for --newruntime owned refs/callbacks | Araq | 2019-04-11 | 5 | -30/+30 |
| | |||||
* | sem'check understands 'owned procs' | Araq | 2019-04-11 | 2 | -7/+22 |
| | |||||
* | sigmatch: ensure 'owned proc' works with system.isNil | Araq | 2019-04-11 | 1 | -1/+1 |
| | |||||
* | Less ropes (#10979) | Arne Döring | 2019-04-11 | 7 | -349/+451 |
| | | | | | * convert ropecg to a macro * fewer intermediate ropes | ||||
* | newruntime: raising an exception works but currently leaks memory because ↵ | Araq | 2019-04-10 | 3 | -6/+22 |
| | | | | currentException global is not an 'owned' ref | ||||
* | newruntime: fixes another bug | Araq | 2019-04-10 | 1 | -0/+3 |
| | |||||
* | be consistent, strings have destructors for --gc:destructors | Araq | 2019-04-10 | 1 | -3/+2 |
| | |||||
* | make parseopt compile with --newruntime | Araq | 2019-04-10 | 1 | -1/+5 |
| | |||||
* | make tests green again | Araq | 2019-04-10 | 1 | -1/+1 |
| | |||||
* | koch.nim compiles with --newruntime | Araq | 2019-04-09 | 2 | -5/+9 |
| | |||||
* | make 'raise' statement work with --newruntime | Araq | 2019-04-09 | 1 | -6/+27 |
| | |||||
* | added lowerings.evalOnce | Araq | 2019-04-09 | 1 | -0/+16 |
| | |||||
* | don't emit an implicit try finally when in system.nim in order to prevent ↵ | Araq | 2019-04-09 | 1 | -1/+2 |
| | | | | endless recursions in the try handler | ||||
* | compute sinks/assignments properly for for-loop iteration variables | Araq | 2019-04-08 | 2 | -2/+2 |
| | |||||
* | use old for loop unpack syntax for bootstrapping | Araq | 2019-04-08 | 1 | -1/+1 |
| | |||||
* | an owned ref parameter behaves as a 'sink' parameter | Andreas Rumpf | 2019-04-07 | 3 | -11/+11 |
| | |||||
* | more efficient enumToStr implementation that works without the old typeinfo ↵ | Andreas Rumpf | 2019-04-07 | 7 | -20/+86 |
| | | | | structures | ||||
* | makes koch.nim sem'check with --newruntime | Araq | 2019-04-06 | 1 | -1/+1 |
| | |||||
* | fixes compiler regression | Araq | 2019-04-06 | 1 | -1/+4 |
| | |||||
* | destructors: we are cooking now | Araq | 2019-04-06 | 5 | -13/+37 |
| | |||||
* | render lent types properly | Araq | 2019-04-06 | 1 | -1/+1 |
| | |||||
* | fixes unowned->owned conversion rule | Andreas Rumpf | 2019-04-06 | 1 | -1/+1 |
| | |||||
* | Fix astdef typ deref (#10245) | Alexander Ivanov | 2019-04-05 | 1 | -1/+1 |
| | |||||
* | fixes #10943 (#10947) | cooldome | 2019-04-05 | 1 | -1/+4 |
| | |||||
* | destructors: progress | Andreas Rumpf | 2019-04-05 | 3 | -10/+27 |
| | |||||
* | newruntime: codegen fix | Andreas Rumpf | 2019-04-05 | 1 | -5/+4 |
| | |||||
* | relax warning about inconsistent spacing (#10968) | Miran | 2019-04-05 | 1 | -1/+1 |
| | | | | | | Now the warning is raised only in the cases when there is an inconsistency in the style (spacing vs no spacing): * if a> b --> warning * if a > b --> no warning | ||||
* | fixes destructor tuple regression #10940 (#10941) | cooldome | 2019-04-04 | 3 | -3/+8 |
| | | | | | | | | * fixes #10940 * bug fixes * fix spacing | ||||
* | newruntime: fixes codegen for closures | Araq | 2019-04-04 | 1 | -0/+2 |
| | |||||
* | fixes #10200 (#10950) | tofu | 2019-04-04 | 1 | -1/+2 |
| | | | | | | | | | | | | * fixes #10200 * add rule for other comparison operators * add rule for '!=' * add test * fixed to pass the test | ||||
* | Pure ref object; fixes #10721 (#10955) | Arne Döring | 2019-04-04 | 1 | -0/+2 |
| | |||||
* | add alias for --debugger:native (#10957) | Arne Döring | 2019-04-04 | 1 | -0/+5 |
| | |||||
* | fixes #10942. Lent T bug (#10946) | cooldome | 2019-04-03 | 4 | -16/+29 |
| | | | | | | | | * fixes #10942 * add test * bug build | ||||
* | fixes #10948 (#10949) | cooldome | 2019-04-03 | 1 | -1/+1 |
| | |||||
* | make tests green again | Andreas Rumpf | 2019-04-02 | 1 | -1/+1 |
| | |||||
* | try to make travis green | Araq | 2019-04-02 | 1 | -1/+1 |
| | |||||
* | simple program works with --newruntime | Araq | 2019-04-02 | 2 | -1/+3 |
| | |||||
* | make megatest work again | Araq | 2019-04-02 | 1 | -1/+2 |
| | |||||
* | newruntime: progress | Araq | 2019-04-02 | 2 | -6/+13 |
| | |||||
* | newruntime: progress | Araq | 2019-04-01 | 5 | -23/+38 |
| | |||||
* | fixes #10934 | Araq | 2019-03-31 | 2 | -0/+2 |
| |