Commit Graph

6969 Commits

Author SHA1 Message Date
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
Araq
0a01f5b655 strs.nim: fixed a silly typo 2019-04-09 11:21:35 +02:00
Araq
f44e1e2214 make tests green again 2019-04-09 09:11:44 +02:00
Arne Döring
2c645eded5 add strformat limitations section (#10982)
* add strformat limitations section
* Update lib/pure/strformat.nim
2019-04-09 08:14:59 +02:00
Andreas Rumpf
58df5b0a8f allocators.nim: use zero initialization 2019-04-08 23:07:21 +02:00
Araq
430814fdb3 make it compile with older nim versions 2019-04-08 17:17:54 +02:00
Araq
6efa7ecf18 respect -d:useMalloc everywhere; turn ansi_c and memory into proper Nim modules 2019-04-08 17:09:27 +02:00
Araq
f6ad071a46 make strformat work as NimScript again 2019-04-06 20:56:48 +02:00
Araq
9f5d9d1993 makes koch.nim sem'check with --newruntime 2019-04-06 19:13:10 +02:00