Commit graph

461 commits

Author SHA1 Message Date
Andreas Rumpf
e7bb37d12c Merge pull request #2896 from r-ku/I64-magics-gone
I64 magics gone
2015-06-12 00:06:39 +02:00
Andreas Rumpf
cb439d70bc Merge pull request #2892 from apense/patch-6
Fixes #2886 (moves compiler function into the compiler)
2015-06-10 10:55:31 +02:00
rku
87b6220897 Removed magics: mAbsI64 2015-06-10 10:25:36 +03:00
rku
3984fecae6 Removed magics: mBitnotI64 2015-06-10 10:25:36 +03:00
rku
47114342c4 Removed magics: mEqI64 mLtI64 mLeI64 2015-06-10 10:25:36 +03:00
rku
658dcd2a58 Removed magics: mShrI64, mShlI64, mBitandI64, mBitorI64, mBitxorI64
Author:    rku <rokups@zoho.com>
2015-06-10 10:25:36 +03:00
rku
372a5d3cbb Removed magics: mAddI64, mSubI64, mMulI64, mDivI64, mModI64
Author:    rku <rokups@zoho.com>
2015-06-10 10:25:35 +03:00
apense
867b38496b Moved negative indexing operator here
Only used here (not in standard library)
2015-06-09 16:24:13 -04:00
Adam Strzelecki
3d266433a7 securehash: Keep module name consistent
1. All other modules don't use underscore, why this should be different?

2. Wrap some imports to 80 column
2015-06-09 22:20:05 +02:00
Andreas Rumpf
25a1987517 Merge pull request #2780 from flaviut/cleanup-crc
Use SHA1 instead of CRC
2015-06-09 15:10:21 +02:00
Araq
a730a974ed fixes #2854 2015-06-06 11:59:35 +02:00
Andreas Rumpf
f8326ad4c0 Merge pull request #2859 from nanoant/patch/norewrite-pragma
{.noRewrite.} pragma for term rewriting
2015-06-05 12:53:15 +02:00
pdw
9764ba933b Dropped 'T' from types 2015-06-04 13:15:07 +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
yglukhov
1156e8ef9d Minor cosmetic changes. 2015-05-26 11:32:07 +03:00
Flaviu Tamas
4873db4c72 Rename crc module to "secure_hash" 2015-05-23 13:17:19 -04:00
Araq
4be0d16520 added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin system to the compiler 2015-04-22 12:04:11 +02:00
Araq
aacaa8f171 cleaned up some magics to make room for new magics; added '..<' and '..^' templates 2015-04-22 12:04:09 +02:00
Araq
e55f5d1fd4 fixes #2505, fixes #1853, fixes #2522 2015-04-20 21:25:49 +02:00
Araq
2b4e233510 Merge branch 'devel' of https://github.com/Araq/Nim into devel 2015-04-20 11:44:54 +02:00
Araq
751232dc7c implements .goto support for variables 2015-04-19 02:42:40 +02:00
Zahary Karadjov
1ebf1aaa80 importing of C++ nested generics like std::vector<T>::iterator, using the apostrophe operator 2015-04-13 23:49:41 +03:00
Araq
a1b937ab33 fixes #1691 2015-04-11 10:01:11 +02:00
def
39049e151f Get rid of deprecation warnings 2015-04-07 15:47:18 +02:00
Araq
78f371c03a first implementation of overloading of '='; missing: rewriting let/var sections 2015-04-06 23:21:51 +02:00
Araq
a83286192f GC-safety error messages are useful now 2015-04-04 01:19:32 +02:00
Araq
f767e1749e don't store the scope for routines 2015-04-04 01:19:31 +02:00
Araq
ed0d9e271d disallow negative indexing 2015-03-27 01:30:06 +01:00
Araq
5d63ecb3a4 implemented a[^1] notation 2015-03-26 02:12:38 +01:00
Araq
08c0ba379a fixes #1805 2015-03-21 20:38:28 +01:00
Araq
5641be51c1 codegen doesn't produce line tracing commands anymore; fixes #1344 2015-03-21 20:38:27 +01:00
Araq
910ef7b2d1 'constructor' pragma for C++ support 2015-03-18 11:42:37 +01:00
Araq
bc264618f5 fixes #2257 2015-03-16 23:02:20 +01:00
Araq
13cdad8819 fixes #2304 2015-03-16 23:02:18 +01:00
Araq
970e98718d code cleanup 2015-03-12 01:45:13 +01:00
Araq
6dbd41e875 fixes #2316 2015-03-11 20:11:08 +01:00
Araq
1efb5174f2 fixes #2220; #2219; breaks #2022; for #2022 callsite needs to be used 2015-03-10 12:32:46 +01:00
Andreas Rumpf
df0473d754 Merge pull request #2239 from Maxdamantus/devel
interpret `tuple` as a class and `tuple[]` as the empty tuple, enable syntax for anonymous tuples
2015-03-07 17:35:14 +01:00
Araq
d58212ccc5 fixes #1940; code breakage! stricter template evaluation 2015-03-07 15:43:36 +01:00
Max Zerzouri
9c126282b2 interpret tuple as a class and tuple[] as the empty tuple
When the indentation syntax is allowed it is always interpreted as a
tuple:

type
  Unit = tuple
2015-03-06 12:20:15 +13:00
Araq
3bfcfeb0cf don't use stdout for nimsuggest server mode 2015-02-27 16:44:55 +01:00
Araq
752052e903 implements a type API for macros 2015-02-24 00:13:28 +01:00
Araq
9080d3a9a9 small cleanup of ast.nim 2015-02-24 00:13:27 +01:00
Araq
b7f11b8b0a fixes #2125 2015-02-18 13:44:01 +01:00
Federico Ceratto
c95f6f117a Fix typos 2015-02-15 16:06:06 +00:00
Araq
74c6c8c903 compiler distinguishes between 2 different 'var' types for C++ interop; code cleanups 2015-02-07 10:48:07 +01:00
Araq
e75e421912 C++ support: codegen generates C++'s references and avoids copies 2015-02-04 00:52:45 +01:00
Araq
a4b2762249 fixes #325 2015-01-28 19:31:36 +01:00
Araq
26b853923c nimsuggest: first version 2015-01-27 01:36:19 +01:00
Dustin Lacewell
0619383f46 Revert 5e4ae8d 2015-01-07 14:07:06 -08:00