Zahary Karadjov
0774af169b
containerID is no longer needed for generics
2013-03-01 12:12:53 +02:00
Araq
1c0c80ef2d
micro optimizations for the evaluation engine
2013-02-14 08:41:48 +01:00
Araq
0f2aa053d9
added GC_addCycleRoot
2013-02-12 08:45:01 +01:00
Zahary Karadjov
81a3585872
merged upstream master
2013-01-27 23:41:45 +02:00
Zahary Karadjov
41cbd1c980
minor bug fixes to make some tests green
2013-01-21 02:03:13 +02:00
Araq
3af5c99336
fixes #293
2013-01-08 20:03:02 +01:00
Araq
7171ae62cb
constraint now part of the parameter symbol and not of the type
2012-12-05 01:39:49 +01:00
Zahary Karadjov
e9e22ccb2a
track the "owner" heap object in the ref write barrier
...
See the papers for reference counting with heap sliding views for details:
2012-12-01 15:37:13 +02:00
Araq
92e10e4b18
implemented 'import except'
2012-11-28 23:54:23 +01:00
Araq
0d19de18cc
first steps for the 'export' feature
2012-11-28 02:02:46 +01: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
ccd2934e4a
first steps for 'not nil' annotation
2012-11-25 11:03:14 +01:00
Araq
019d6e4127
added missing type flags
2012-11-23 19:52:32 +01:00
Araq
46f92c31aa
added 2 necessary node kinds
2012-11-21 20:55:03 +01:00
Araq
14fc0631d7
fixes #250
2012-11-19 00:16:25 +01:00
Araq
7f6633a06f
added system.finished for first class iterators
2012-11-17 01:25:32 +01:00
Araq
814fcb2639
bugfix: stack traces; first class iterators almost working
2012-11-15 01:27:25 +01:00
Zahary Karadjov
32d0ac01dc
AST quasi-quoting for macros
2012-11-11 17:02:13 +02: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
Zahary Karadjov
3c9e3a6a71
Improved support for nkSymChoices in type coercions
...
For example, this allows you to pick up a proc with a specific signature from
an overload set.
bugfix: nimrod generated invalid code when a RVO function had a single
compile-time param
bugfix: nkHiddenDerefs were not neutralised properly for indirect proc calls
2012-10-15 21:00:29 +03:00
Zahary Karadjov
4ef96a7435
fixes #211
...
transf: fix a clang compilation error when lineDir:on is used
2012-10-13 23:31:27 +03:00
Zahary Karadjov
d9d82fb0af
syntax compatibility between do blocks and stmt blocks
...
See the section `do notation` in the manual for more info.
* nkMacroStmt has been removed
Macro statements are now mapped to regular nkCall nodes.
The support for additional clauses (such as else, except, of, etc)
have been restored - they will now appear as additional arguments
for the nkCall node (as nkElse, nkExcept, etc nodes)
* fixed some regressions in the `is` operator and semCompiles
2012-10-04 15:37:26 +03:00
Zahary Karadjov
770d4a997e
implemented case expressions
2012-10-03 01:59:49 +03:00
Zahary Karadjov
7e44015491
implemented return type inference
...
Other fixes:
* bind once is now the default for type classes as documented in the manual
* fixes an issue in template overloading (erroneous ambiguity when different typedesc params were used)
2012-10-03 01:59:49 +03:00
Zahary Karadjov
badb6c0f66
improved support for typedesc values
...
* can be stored in constants and variables (including in containers like sequences)
* can be passed to and returned from macros
2012-09-25 02:03:15 +03:00
Araq
759b3201ad
proc bodies can be expressions with a type
2012-09-22 22:43:36 +02:00
Araq
23c3af80f6
semExpr/semStmt merged
2012-09-13 08:33:55 +02:00
Araq
af7c92c003
term rewriting macros fully implemented; still buggy
2012-09-03 00:55:44 +02:00
Araq
1d14cb1ad8
next steps towards term rewriting macros; simple examples work
2012-08-30 22:55:32 +02:00
Araq
1786e30991
first steps towards term rewriting macros
2012-08-30 10:55:40 +02:00
Araq
b4844a189d
parameter passing works the same for macros and templates; use callsite magic to access the invokation AST
2012-08-28 22:15:29 +02:00
Araq
b5b5e6e76d
distinguish properly between nkOpen and nkClosedSymChoice
2012-08-26 02:47:17 +02:00
Araq
9a7f0cd851
bindSym suffices; no 'bind' for macros anymore
2012-08-25 01:34:50 +02:00
Araq
d17caa86e8
objects with no ancestor are not implicitely final
2012-08-24 17:33:04 +02:00
Araq
c7ba6f5eb6
implemented 'bind' for macros
2012-08-24 01:18:03 +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
e4c432387e
bycopy/byref for object/tuple types
2012-08-16 17:54:11 +02:00
Araq
51de278bd4
next steps for tyVarargs/tyOpenArray split
2012-08-14 08:44:26 +02:00
Araq
8805829d7f
first steps for varargs support
2012-08-13 18:51:06 +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
20b6dc3829
next steps for closure consistency; fixes #176
2012-07-25 21:59:31 +02:00
Araq
1c6f14deee
added system.compiles
2012-07-20 08:49:42 +02:00
Araq
43f057c5aa
got rid of some mAddU64 etc. magics
2012-07-20 07:52:04 +02:00
Zahary Karadjov
4841b6390c
removed nimdat in favor of per-module dat init procs
2012-07-19 19:43:58 +03:00