Commit Graph

6977 Commits

Author SHA1 Message Date
Miran
a5fb0acf5f CountTable: check for usages after sorting (#11189) 2019-05-08 09:31:57 +02:00
Zestyr
a06038be3f Update outdated ETimeout exception name 2019-05-07 01:28:33 +02:00
Araq
a85d387928 fixes #10978 2019-05-06 21:42:49 +02:00
Oscar Nihlgård
4c6fc173b7 low/high for float ranges (#11177) 2019-05-06 21:19:40 +02:00
Araq
a60305fbf3 fixes macros.quote documentation; doubling of the escape operator never worked! 2019-05-05 12:20:43 +02:00
Miran
ce152ed91f iterators: several small fixes (#11162)
* fix pairs, mpairs, mitems for cstring for JS backend
* add mutation check for pairs and mpairs for strings and seqs
* change the assertion message - modifying (changing elements) is not
  a problem, changing the length is
2019-05-04 23:02:50 +02:00
Miran
d2e1936cf2 tables: check for mutation when iterating (#11160) 2019-05-04 22:58:42 +02:00
Arne Döring
9c3e23e075 Fix ..< iterator (#11103)
* add iterator overloads

* add test
2019-05-03 23:43:41 +02:00
Andreas Rumpf
e1515b53d1 introduce temporary <//> for 'owned' to get this compile with 0.19 (#11145)
* introduce temporary <//> for 'owned' to get this compile with 0.19
* make newTable[string, owned Node]() compile (but it crashes)
* make sink/owned parameters consistent
* make actiontable test compile again
* VM: support sytem.move; makes tests green
2019-05-02 08:07:09 +02:00
genotrance
c94ab46923 Fix ospaths import error (#11150) 2019-05-01 08:54:02 +02:00
Jasper Jenkins
3d0190f470 Fix unexpected result of rand on a range, fixes #11015 (#11035) 2019-04-30 09:28:28 +02:00
Araq
0a84b8fb4d added system.unown to make 'owned' sane to use in practice; later on we might change the type inference rules to make it more convenient 2019-04-29 13:36:00 +02:00
jiro
ddc86d1b4b streams: Update documentation, refs #10330 (#11059) 2019-04-29 11:32:02 +02:00
Miran
737fff5902 Initialized collections (#11094)
* tables: initialized by default
* sets: initialized by default
* DRY: extract shared functionality
* add a changelog entry
* fix errors
* don't test include files
* make it work for sharedtables
* fix discovered bugs
* add exhaustive tests
2019-04-29 08:13:52 +02:00
cooldome
3647c03cad reimplement_pr_10974 (#11130) 2019-04-27 12:41:08 +01:00
Lolo Iccl
69755542f4 add progmas to params of macros.newProc (#11025)
Merging
2019-04-27 12:22:02 +01:00
Araq
8e27bddb97 newruntime: make 'discard new RootObj' work 2019-04-26 20:33:58 +02:00
Araq
1f7615ad9d make seq.add more effective for --newruntime 2019-04-25 13:54:25 +02:00
Alvydas Vitkauskas
a644f443bc Fix: remove pragma inline from parseBin|Oct|Hex (#11105) 2019-04-24 19:46:13 +02:00
Alvydas Vitkauskas
ae2923e5de Make parseutils.parseBin|Oct|Hex generic (#11067)
* make parsutils.parseBin generic and improve runnableExamples
* reimplement parseBin/Oct/Hex and improve runnableExamples
* update changelog.md file with parseBin/Oct/Hex and fix a typo
2019-04-24 17:26:01 +02:00
Oscar Nihlgård
1ddb496b6d Add missing deprecated pragma (#11100) [ci skip] 2019-04-24 13:39:28 +02:00
Andreas Rumpf
7ce24d91a3 newruntime: fix for -d:useMalloc 2019-04-23 21:26:43 +02:00
Araq
437f464810 fixes #1192 2019-04-23 14:44:05 +02:00
Jacek Sieka
9d5e8e55f9 deprecate programResult, avoid exposing in standalone mode (#11075) 2019-04-23 12:10:33 +02:00
Araq
8d206b20d4 fixes #11089 2019-04-23 10:44:00 +02:00
Araq
3161e48760 strformat: minor style changes 2019-04-23 10:44:00 +02:00
Jjp137
e597db83b7 tables: fix link (#11090) [ci skip] 2019-04-23 09:37:21 +02:00
Zed
3b4952da94 Fix header inconsistencies in documentation (#11071) 2019-04-23 08:40:20 +02:00
Araq
4f93669754 fixes #11065 2019-04-22 10:11:37 +02:00
Araq
0194f43467 system.nim: copyMem and friends do not raise any exception 2019-04-22 10:00:54 +02:00
Zed
88079a0dee Documentation import fixes (#11070)
* Move asyncdispatch imports below introduction

* Move nre imports below documentation
2019-04-21 09:45:05 +02:00
Andreas Rumpf
375b444ecd make -d:nimQuirky work with devel 2019-04-20 22:16:22 +02:00
Andreas Rumpf
33a370866c hotfix: nimParseBiggestFloat needs to be patched for the newer string implementations; refs #11062 2019-04-20 15:33:26 +02:00
Christopher Dunn
14fc7437c3 Improve tables docs for del/take (#11030)
* Continuation of b40a637f
* https://forum.nim-lang.org/t/4789
2019-04-17 11:57:32 +02:00
Andy Davidoff
01f09567c4 faster CountTable sort(), optional SortOrder (#11010)
* use existing sort for CountTable, and
add SortOrder options to CountTable, OrderedTable sort(s)

* add some tests, runnables, etc.

* fix runnable imports
2019-04-16 09:42:54 +02:00
Jasper Jenkins
a68c5662f2 Add len check for newIfStmt to avoid segfault (#11032) 2019-04-15 17:02:25 +02:00
Araq
a517a9985b fixes another regression; the behaviour of 'array' formatting was changed 2019-04-15 08:20:28 +02:00
Araq
59ccaa43c7 fixes #11012 2019-04-15 08:20:28 +02:00
Araq
8201db81b2 added system.disarm (experimental) 2019-04-12 13:28:13 +02:00
Araq
3ceb258ebf fixes #11005 2019-04-12 13:28:13 +02:00
cooldome
041d15392a Compiler plugin for implementing incremental computation in user space (#10819)
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.
2019-04-11 23:09:11 +02:00
cooldome
de02fd0b89 fixes #10765 (#10993) [backport] 2019-04-11 13:51:51 +02:00
Miran
9f94199d0c random: works for slices and enums, fixes #7698 (#10998) 2019-04-11 08:38:18 +02:00
c-blake
1394978347 Make secureHash accept any openArray[char], not only string. (#10988)
* Make `secureHash` accept any `openArray[char]`, not only `string`.

* Put in a changelog entry as per Araq request.
2019-04-10 17:48:22 +02:00
Miran
1494d88fa2 rst: parse brackets individually, fixes #10475 (#10997) 2019-04-10 15:55:57 +02:00
Miran
2608bc369e json: add '\v' support, fixes #10541 (#10987) 2019-04-10 15:54:49 +02:00
Araq
bc50795d9c enable most tnewruntime_strutils tests 2019-04-10 15:49:04 +02:00
Araq
26fc7d465a strutils.nim: fixes the indentation of formatEng 2019-04-10 15:44:34 +02:00
Araq
a34ce2714a newruntime: fixes another bug 2019-04-10 13:53:47 +02:00
Araq
2430521c84 newruntime: fixes memory leak 2019-04-09 12:20:10 +02:00