Commit graph

364 commits

Author SHA1 Message Date
Araq
d3d9d32c35 first steps to deprecate 'nil' statement 2012-09-09 01:08:00 +02:00
Araq
af7c92c003 term rewriting macros fully implemented; still buggy 2012-09-03 00:55:44 +02:00
Araq
244c14db0b top level closures should work; transf is not a pass anymore; next steps for first class iterator support 2012-08-13 17:07:49 +02:00
Araq
c7158af752 idetools: 'usages' and 'def' should work now; documented js backend 2012-08-05 12:33:23 +02:00
Araq
79aaf213d6 idetools improvements 2012-08-03 17:33:44 +02:00
Araq
7d6500f1de idetools improvements; preparation of first class iterators; fixes #183 2012-08-02 23:14:38 +02:00
Araq
976c39cdc9 more improvements for idetools 2012-07-30 01:24:54 +02:00
Araq
b595fc8347 better error handling for better idetools support 2012-07-29 23:08:28 +02:00
Araq
087b8621d3 improvements for idetools; system.compiles improved 2012-07-29 02:45:50 +02:00
Araq
538b06a123 implements #173 2012-07-28 14:16:08 +02:00
Araq
2ff8d17369 added warning for confusing var declarations 2012-07-26 08:47:54 +02:00
Araq
1c6f14deee added system.compiles 2012-07-20 08:49:42 +02:00
Araq
8d99753d63 preparations for making 'closure' the default calling convention for proc types 2012-07-16 23:00:57 +02:00
Araq
36247e0947 added devel/logging; weakrefs test; next steps for proper unsigned support 2012-07-05 00:03:33 +02:00
Araq
ee1bcb6414 dead code elimination for JS backend; JS improvements (but doesn't work yet) 2012-06-30 12:29:56 +02:00
Araq
2900ceae35 changed integer promotion rules; added math.fmod 2012-06-28 08:33:25 +02:00
Araq
7b4560337b bugfixes for closures 2012-06-21 08:46:56 +02:00
Zahary Karadjov
a1da1f987b Added system.staticExec proc for executing external command at compile-time 2012-06-02 19:51:49 +03:00
Araq
c323ec0155 added system.getStackTrace; docgen refactoring (incomplete) 2012-05-06 01:16:36 +02:00
Zahary Karadjov
e941a14767 completing the "types as first class values" reform 2012-04-06 18:14:12 +03:00
Zahary Karadjov
efb53233cb the foundations of a type traits module; better error messages for expr, typedesc and typeclasses params 2012-04-06 13:46:31 +03:00
Zahary Karadjov
22dc76a361 typedesc and expr params
types are now valid proc/template/macro params and you can overload over them:
proc foo(T: typedesc)        # accept any type
proc foo(T: typedesc{int}) # overload specifically for int
proc foo(T: typedesc{int or float or Callable}) # overload for any type matching the constraints

expr{type} is a param expecting compile time value of the designated type (or type class).

when typedesc or expr params are used with a proc, the proc will be instantiated once
for each unique type/value used as parameter.
2012-03-31 18:50:48 +03:00
Zahary Karadjov
bc2eb0ea9b generic types can be used like type classes. distinct can be applied to type classes. 2012-03-25 20:55:21 +03:00
Araq
1d8ff40f56 vars can be 'compileTime'; shallow introduced weird string aliasing bug 2012-03-11 12:01:10 +01:00
Araq
4a9e07a47c ERecoverableError exception contains the error message 2012-02-25 12:57:16 +01:00
Araq
97366d4419 bugfix: optimization of complex constant string concatenations 2012-02-17 02:16:33 +01:00
Araq
fb35b855d5 added 'system.shallow' 2012-02-09 20:13:36 +01:00
Araq
2c4a1dbc0c further steps for closure support 2012-02-08 09:10:59 +01:00
Araq
632aece191 further steps to closure support 2012-02-06 00:19:56 +01:00
Araq
78f4aacde9 pragma blocks; fixed line information issue with user defined assertions 2012-01-17 23:58:18 +01:00
Araq
e362cbbfd7 bugfix: tests/reject/tnoinst.nim is now rejected properly 2012-01-13 13:40:05 +01:00
Araq
e7e3c451ef removed '^ deprecated' message 2012-01-10 00:33:32 +01:00
Araq
7f3b3298b4 fixes #33 2012-01-07 20:30:51 +01:00
Araq
4f1b89c30c year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
Araq
9fdfda136c critbits added to stdlib 2011-12-30 21:01:50 +01:00
Araq
e9d6f5a647 bugfix: preliminary symbol declaration in first pass of generics 2011-12-30 21:00:38 +01:00
Araq
73919e3082 GC stack scanning cares about interior pointers 2011-12-30 11:03:01 +01:00
Araq
76f91b90e2 bugfix: compiler errors for explicit initialization of thread local variables; os.nim does not rely on it anymore 2011-12-23 20:05:08 +01:00
Araq
4487b614e1 c2nim compiles again 2011-12-12 19:11:31 +01:00
Zahary Karadjov
d171a8b36f path canonicalization for imported modules, relative paths written in rod files 2011-12-11 11:24:52 +02:00
Zahary Karadjov
e4e74034c2 path canonicalization and proper project relative paths 2011-12-09 04:40:59 +02:00
Araq
70cf34cbdc 'assert' is now implemented without compiler magic 2011-12-04 20:14:50 +01:00
Araq
fc9fdc2b9d cleaned up configuration file handling and documented the new behaviour 2011-11-30 00:53:41 +01:00
Araq
7fcbdc6d42 implemented 'let' statement 2011-11-29 17:27:48 +01:00
Zahary Karadjov
c617479c68 New algorithm for locating and loading nimrod config files.
Some new options added to the compiler (see news.txt for details)
2011-11-25 17:29:55 +02:00
Araq
703430787d C codegen: generate nimKeepAlive calls at strategic places to keep the C compiler from optimizing away all stack roots 2011-11-24 23:28:28 +01:00
Araq
04e5c6718e proper error message when attempting to eval C'imported procs 2011-11-20 17:17:47 +01:00
Araq
1f6725e59e small bugfixes to make more tests green 2011-11-02 02:28:18 +01:00
Araq
5e5e4abfee new compiler option tlsEmulation 2011-10-27 21:03:53 +02:00
Araq
7ebaf44897 bugfixes for ROD file generation; nimcache dir is now flat 2011-10-20 09:06:05 +02:00