Commit Graph

49 Commits

Author SHA1 Message Date
Araq
a8ba628bcd Revert "fixes #267"
This reverts commit 7fccdedcb5.
2013-05-27 23:20:41 +02:00
Zahary Karadjov
7fccdedcb5 fixes #267 2013-05-26 11:14:23 +03:00
Zahary Karadjov
14b5d5f262 merged the persistent scopes work with the delayed proc compilation strategy 2013-05-12 14:41:32 +03:00
Zahary Karadjov
af081f995e get rid of TOverloadIter.stackPtr 2013-05-12 02:01:16 +03:00
Zahary Karadjov
3d1c6de638 get rid of the SymTab* procs in astalgo 2013-05-12 00:49:00 +03:00
Zahary Karadjov
9a6f47ae69 switch to a linked list of scopes 2013-05-11 23:45:20 +03:00
Araq
03764f0aba new parser works 2013-04-20 18:46:08 +02:00
Araq
bb3f648bd2 improvements for destructors 2013-04-08 00:10:34 +02:00
Araq
3051c52f51 fixes a long-standing bug about procvar checking 2013-03-25 01:44:52 +01:00
Grzegorz Adam Hankiewicz
72a3e21f28 Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
Araq
eebee0eff2 lazy operand sem'checking (beware) 2013-03-02 20:23:56 +01:00
Zahary Karadjov
55f8ed2452 remove any traces of the old global generics cache 2013-01-27 21:28:34 +02:00
Zahary Karadjov
c67520a7c5 temporary debugging code for the memory leak investigation 2012-11-28 01:15:14 +02:00
Zahary Karadjov
e6f3f46cd9 store the instantiation cache in the generic symbol 2012-11-28 01:15:13 +02:00
Zahary Karadjov
36e25a6849 CaaS in-memory caching
removed some redundant filepath params and variables and
switched to canonical paths in most places
2012-11-28 01:15:13 +02:00
Araq
022ff2e86e almost every pragma is allowed in a 'push' pragma 2012-11-20 23:58:45 +01:00
Araq
42d0911d6a nimbuild should work again 2012-11-01 01:11:48 +01:00
Araq
043921c7a7 fixes #194 2012-09-20 23:44:52 +02:00
Araq
1786e30991 first steps towards term rewriting macros 2012-08-30 10:55:40 +02:00
Araq
1215193010 bugfix: typo in actors.nim 2012-08-15 08:13:31 +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
674c05f426 made compiler more robust for idetools; implemented idetools.usages 2012-07-30 23:07:19 +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
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
121d4e0fc2 'addSon' for types deprecated for 'int literal type' analysis 2012-07-09 08:09:00 +02:00
Araq
4fbba0a65a changed integer promotion rules; breaks bootstrapping and lots of code 2012-07-08 21:03:47 +02:00
Zahary Karadjov
d10b524c9a generate default destructors 2012-06-06 19:11:52 +03:00
Zahary Karadjov
a1da1f987b Added system.staticExec proc for executing external command at compile-time 2012-06-02 19:51:49 +03:00
Zahary Karadjov
57fe3e8c41 avoid duplicated variable names in unrolled loops 2012-04-15 02:53:32 +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
e5bd3b5b97 bootstraps fine with overloadable templates 2012-03-14 21:00:42 +02:00
Araq
8d19a93f1a pragma on/off improvements; endb rewritten 2012-01-28 23:22:44 +01:00
Araq
4f1b89c30c year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
Araq
72651de710 bugfix: 'when' sections in generic objects now work, so TThread[void] compiles 2011-11-20 16:13:03 +01:00
Araq
78f37b2336 compilation cache: slurped files are a dependency too 2011-10-30 01:02:15 +02:00
Araq
a0a8934a4f eval context for macros lives as long as the current module is compiled 2011-10-28 01:38:41 +02:00
Araq
9fb36bd20c compilation cache: mostly working; generics not yet 2011-10-25 15:26:36 +02:00
Araq
7ebaf44897 bugfixes for ROD file generation; nimcache dir is now flat 2011-10-20 09:06:05 +02:00
Araq
6023e994fb beginning of a taint mode; type system enhancements 2011-09-24 00:46:41 +02:00
Araq
569c1ce5ec bugfix: proper cache for generic instantiations 2011-07-21 00:57:39 +02:00
Araq
99bcc233cd bugfix: 'set' overloadable; further steps for multi threading support 2011-07-08 01:29:15 +02:00
Araq
ade67f1abc intsets are now a proper module and part of the stdlib 2011-06-14 01:36:49 +02:00
Araq
ca637c019c further improvements for thread analysis 2011-06-13 20:57:49 +02:00
Araq
36c67455d4 got rid of some arcane module names 2011-04-21 00:54:44 +02:00
Araq
cd292568d7 big repo cleanup 2011-04-12 01:13:42 +02:00