Araq
9604df8431
fixes #466
2013-06-06 23:15:05 +02:00
Araq
ede5ce9ac1
Revert "allow void as a field type"
...
This reverts commit aea27a7ce4 .
2013-05-27 23:19:44 +02:00
Zahary Karadjov
aea27a7ce4
allow void as a field type
2013-05-26 11:14:23 +03:00
Araq
2189e9a60f
fixes #420
2013-05-19 01:52:06 +02:00
Araq
56045ad7ff
bugfixes mostly JS related
2013-05-01 14:48:40 +02:00
Grzegorz Adam Hankiewicz
72a3e21f28
Removes executable bit for text files.
2013-03-16 23:53:07 +01:00
Araq
2b4922aea0
object constructors work now
2013-03-08 01:19:47 +01:00
Araq
5b0d8246f7
make some tests green
2013-03-03 12:05:03 +01:00
Araq
ab6f793408
first version of a simple mark&sweep GC; activate with --gc:markAndSweep
2013-02-07 01:57:10 +01:00
Araq
2a2b630757
cleaner GC switching
2013-01-31 16:34:39 +01:00
Zahary Karadjov
083d4f4708
fixes the recently discovered GC memory leaks
...
This revision is intended as comparison point between the old and the new GC
The used GC can be switched in mmdisp and various statistics will be gathered during
execution (these will be removed/disabled in later revisions)
2012-12-20 15:51:21 +02:00
Zahary Karadjov
a42545ea3e
disables the compile-time rope formatting during bootstrapping
2012-11-28 01:15:14 +02:00
Zahary Karadjov
e817d54369
first batch of rope code converted to rfmt
...
The results so far are inconclusive:
The rope cache tries have been reduced by more than 125K (nearly 20%),
but the bootstrap time seems to be ever slightly increasing (0.01s).
2012-11-28 01:15:13 +02:00
Araq
814fcb2639
bugfix: stack traces; first class iterators almost working
2012-11-15 01:27:25 +01:00
Araq
b20663ce19
fixes #232
2012-10-19 13:24:42 +02: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
Zahary Karadjov
27dc9fcb8f
fixes #186 and the ttypedesc1 test case
2012-09-23 19:34:20 +03:00
Araq
4577751bad
bugfix: code generator can deal with ftpclient.nim
2012-09-21 22:07:26 +02:00
Araq
e605b22ccf
bugfix: typeinfo generation (2)
2012-09-21 20:19:39 +02:00
Araq
32aa46a881
bugfix: typeinfo generation
2012-09-21 16:28:57 +02:00
Araq
e4c432387e
bycopy/byref for object/tuple types
2012-08-16 17:54:11 +02:00
Araq
0171566c98
openarray/varargs split; breaks bootstrapping
2012-08-16 08:34:33 +02:00
Araq
51de278bd4
next steps for tyVarargs/tyOpenArray split
2012-08-14 08:44:26 +02:00
Araq
b9afdffb3e
fixes #178
2012-07-28 16:37:31 +02:00
Araq
538b06a123
implements #173
2012-07-28 14:16:08 +02:00
Zahary Karadjov
4841b6390c
removed nimdat in favor of per-module dat init procs
2012-07-19 19:43:58 +03:00
Araq
540e244cf7
bugfix: name mangling of field names
2012-07-19 18:06:43 +02:00
Araq
39235e21f5
bugfixes for the symbol mangling; implements #129
2012-07-19 17:38:52 +02:00
Araq
121d4e0fc2
'addSon' for types deprecated for 'int literal type' analysis
2012-07-09 08:09:00 +02:00
Araq
d1c84328a7
fixes #145
2012-06-21 18:51:19 +02:00
Zahary Karadjov
e2d38a57ec
better support for unsigned integers.
2012-06-11 21:38:01 +03:00
Araq
b5d8e8bfaa
'+=' etc for all floating point types
2012-05-29 00:42:28 +02:00
Araq
7a249eb8c1
bugfix: field names of tuples are treated consistently in the C backend
2012-05-27 14:57:12 +02:00
Zahary Karadjov
8319e2411d
fixed incorrect C++ code generation for sequences. more revealing type names in the generated code
2012-04-18 19:50:32 +03:00
Zahary Karadjov
38710b614f
more Objective-C and C keywords are now escaped
2012-04-18 19:50:32 +03:00
Araq
17d67ab828
fixes #105
2012-04-16 16:31:15 +02:00
Zahary Karadjov
f25c638dc4
experimental support for preserving local variable names in the generated code
2012-04-13 21:03:49 +03:00
Zahary Karadjov
8d698b2bdd
Merge branch 'master' of github.com:Araq/Nimrod into upstream
2012-03-31 18:51:11 +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
Araq
1af0601011
bugfix #100 again
2012-03-28 16:43:05 +02:00
Araq
03ba0f3e25
implemented marker procs for the GC resulting in huge speedups
2012-03-21 23:10:56 +01:00
Araq
161f6f7229
further steps for closure support
2012-02-06 08:44:18 +01:00
Araq
632aece191
further steps to closure support
2012-02-06 00:19:56 +01:00
Zahary Karadjov
c3e790b1ed
fixes #87
2012-02-03 03:23:43 +02:00
Araq
8ed3e295a3
niminst: diverse improvements; fixes #80
2012-01-13 21:15:00 +01:00
Araq
8aa4e46707
implemented incompleteStruct pragma; embedded debugger works with posix module
2012-01-05 00:46:51 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
7fcbdc6d42
implemented 'let' statement
2011-11-29 17:27:48 +01:00
Araq
61792dc7d6
cgen: no type canon for integral types; osproc use posix_spawn instead of fork&exec
2011-11-18 00:29:56 +01:00
Araq
abe9dfafe8
compilation cache: DLL interfacing now works
2011-10-27 18:02:01 +02:00