Araq
3ccc9c467d
'with' and 'without' are not keywords anymore
2017-09-30 18:32:44 +02:00
Andreas Rumpf
50f62ff44a
distinguish between 'reorder' and 'noforward'
2017-07-26 08:20:11 +02:00
Zahary Karadjov
74a80988d9
proper error reporting for concepts and the introduction of the {.explain.} pragma
2017-03-24 16:59:47 +02:00
Araq
8f426b974a
new feature: .used pragma to suppress declared-but-not-used warning
2017-02-17 18:03:56 +01:00
Andreas Rumpf
02a2180a6a
first version of the new memory tracking feature
2016-11-21 12:10:44 +01:00
Araq
773d17cd14
big refactoring: step 1
2016-10-31 15:34:44 +01:00
Jeff Ciesielski
94d1aa5109
Add the ability to pass a value with the -d flag
...
This allows the end user to use the {.magic: "IntDefine"/"StrDefine"}
pragmas to pass values into code at compile time. This has a nice side
effect of also allowing/requiring a default value to be assigned in the
code (see osalloc.nim/StandaloneHeapSize for an example)
2016-07-04 18:11:25 -04:00
Andreas Rumpf
c9966a3e17
use 'using' instead of 'sig' keyword; cleans up new features a bit
2016-02-29 12:19:54 +01:00
Andreas Rumpf
0baa1d9955
first version of .partial objects
2016-02-28 23:22:47 +01:00
Andreas Rumpf
38dee2095c
added 'sig' feature; removed tfShared support in the compiler
2016-02-28 19:56:41 +01:00
Araq
a2c040e3bd
added undocumented exportNims pragma for Nimscript support
2015-10-03 23:19:15 +02:00
Aman Gupta
5e9ce88daf
implement bitsize pragma for bitfields
2015-09-28 14:34:36 -07:00
Araq
dc047931bb
fixes #2590 ; methods now require a .base annotation
2015-09-06 02:31:28 +02:00
Adam Strzelecki
13b57dbc2f
Introduce {.noRewrite.} expr pragma disabling TR
...
Term rewriting macros/templates are currently greedy and they will rewrite as
long as there is a match. So there was no way to ensure some rewrite happens
only once, eg. when rewriting term to same term plus extra content.
With new macro we can actually prevent further rewriting on marked expr or
stmts, eg. with given example echo(...) will be rewritten just once:
template pwnEcho{echo(x)}(x: expr) =
{.noRewrite.}: echo("pwned!")
echo "ab"
2015-06-02 21:38:53 +02:00
Araq
f6ff01572e
breaking change: 'concept' is now a keyword and used instead of 'generic'
2015-03-23 13:10:18 +01:00
Araq
910ef7b2d1
'constructor' pragma for C++ support
2015-03-18 11:42:37 +01:00
Guillaume Gelin
3119fe087d
Happy new year!
2015-01-06 15:26:33 +01:00
Araq
85cc5a6a1f
destuctors are experimental; 'func' is now a keyword
2014-12-10 01:57:08 +01:00
Araq
4b7de4dc5e
implemented 'experimental' switch
2014-12-05 10:09:29 +01:00
Araq
e27ab36731
implements 'defer'
2014-12-04 10:12:32 +01:00
Araq
7916b1f9aa
implemented 'guard' annotation
2014-09-21 18:39:00 +02:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
057b53e139
'lambda' is no keyword anymore
2014-08-08 02:24:19 +02:00
Araq
9673e4f2df
progress on deepCopy
2014-08-01 23:40:48 +02:00
Araq
3b69a8d27a
New concurrency model: next steps
2014-04-19 22:24:43 +02:00
Araq
8e08ff559f
first version of 'spawn'
2014-04-16 08:44:57 +02:00
Araq
b961e47bfe
new concurrency model: first steps; shared is not a keyword anymore
2014-04-14 08:45:43 +02:00
Audun Wilhelmsen
1e45bb79ab
Added support for {.packed.} pragma on objects
...
Added tests for packed and union pragmas
2014-03-18 21:11:57 +01:00
Araq
5506e8491d
implemented 'union' and 'unchecked' pragmas
2014-03-05 20:19:04 +01:00
Araq
ab72377ce6
renamed noStackFrame to asmNoStackFrame
2014-02-18 09:57:59 +01:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
b76729df1c
Merge branch 'master' of https://github.com/Araq/Nimrod into vm2
...
Conflicts:
web/news.txt
2013-12-23 01:23:16 +01:00
Araq
132b6b3efe
implemented 'injectStmt'; more debug support
2013-12-16 22:26:17 +01:00
Araq
c0a3d44060
bugfix: keywords are sorted
2013-12-05 10:45:36 +01:00
Zahary Karadjov
b5d833b329
implemented the using statement
2013-08-31 19:40:36 +03:00
Zahary Karadjov
28d9398de7
implemented delegators and improved the error messages of unmatched type classes
2013-08-26 23:29:24 +03:00
Araq
d53f313599
implemented computed goto support
2013-08-13 11:21:02 +02:00
Araq
139562cc64
implements the 'codegenDecl' pragma
2013-06-27 18:13:11 +02:00
Araq
23ef565a3c
implemented large parts of the 'not nil' checking
2013-06-09 23:29:43 +02:00
Zahary Karadjov
f44a4362bb
added a `noforward` pragma that enables a new compilation strategy
...
not requiring forward declarations on a per-module basis
2013-05-11 22:47:37 +03:00
Grzegorz Adam Hankiewicz
72a3e21f28
Removes executable bit for text files.
2013-03-16 23:53:07 +01:00
Araq
d0de1fc336
made 'shared' a keyword
2012-11-22 07:53:50 +01:00
Araq
48a62af3b1
implemented 'tags' pragma
2012-11-11 22:03:41 +01:00
Araq
2133fbfcce
bugfix: wrong assertions for C++ code generation; some solaris support; first steps to an effect system
2012-10-30 22:29:03 +01:00
Araq
3ef146b0ea
'mixin' and 'interface' are now keywords
2012-09-22 10:04:31 +02:00
Araq
1d14cb1ad8
next steps towards term rewriting macros; simple examples work
2012-08-30 22:55:32 +02:00
Araq
da190876de
next steps to hygienic templates
2012-08-20 08:44:17 +02:00
Araq
5e15dec175
first steps to make templates hygienic
2012-08-20 01:13:13 +02:00
Araq
0b509127d2
documentation improvements; added system.gorge (for Araq's fun)
2012-06-22 08:30:55 +02:00
Zahary Karadjov
ce933c90a4
destructor pragma
2012-06-07 03:32:40 +03:00