Commit Graph

69 Commits

Author SHA1 Message Date
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