Commit graph

134 commits

Author SHA1 Message Date
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
Zahary Karadjov
f644e3079f experimental compile-time rope formatting code 2012-11-28 01:15:13 +02:00
Zahary Karadjov
f9bd8cc985 [caas] first version that actually works (still has a lot of logical memory leaks on recompilation) 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
Zahary Karadjov
091c1b3075 caas is now drivable through stdin
* added idetools --eval
* streams.readLine recognises and applies the backspace character
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
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
2efdf3df81 fixes #106 2012-10-16 02:21:28 +03:00
Zahary Karadjov
11cd0fde42 add static assertions in the generated code about platform-related assumptions 2012-10-11 13:22:18 +03:00
Araq
cf06131dec better extension loading for the OpenGL wrapper 2012-10-09 17:11:33 +02:00
Zahary Karadjov
c27637747a bugfix: closures as default param values 2012-10-06 14:51:46 +03:00
Araq
3bcf9f4e53 opengl wrapper compiles under windows 2012-09-29 08:06:43 +02:00
Araq
36efc380dd website improvements; better opengl wrapper (still broken) 2012-09-28 00:22:07 +02:00
Araq
32aa46a881 bugfix: typeinfo generation 2012-09-21 16:28:57 +02:00
Araq
214c7a2ebd implemented a stack trace profiler 2012-09-15 00:21:10 +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
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
Zahary Karadjov
1d065b601c DLL fixes for windows; fixes #175 2012-07-31 18:59:44 +03:00
Araq
58a66a0d70 more reliable NI/NU definitions 2012-07-28 17:28:36 +02:00
Araq
538b06a123 implements #173 2012-07-28 14:16:08 +02:00
Zahary Karadjov
371619c43a fixed the rodfiles tests 2012-07-20 00:35:05 +03:00
Zahary Karadjov
4841b6390c removed nimdat in favor of per-module dat init procs 2012-07-19 19:43:58 +03:00
Araq
e54ce7ddc1 don't put DLL loading into nimdat 2012-07-19 00:21:29 +02:00
Zahary Karadjov
32e2994636 dynamic library symbols are not loaded in nimdat 2012-07-18 15:40:35 +03:00
Araq
83deb233ee attempt to fix DLL generation 2012-07-18 00:02:53 +02:00
Araq
4215686cce x11 example compiles again; updated python wrapper; compiler supports variables in DLLs 2012-07-16 08:11:37 +02:00
Araq
5a838d3e06 thread var emulation should work again 2012-06-25 00:23:41 +02:00
Araq
ee98c76d2e bite the bullet and make 'initStackBottom' a compilerproc 2012-06-24 20:00:25 +02:00
Araq
e0092cfae6 Merge branch 'master' of github.com:Araq/Nimrod 2012-06-19 22:38:48 +02:00
Araq
f191059e56 somewhat working closures 2012-06-19 22:37:00 +02:00
Zahary Karadjov
df1ec09399 proper indentation in the generated C code 2012-06-12 04:43:58 +03:00
Zahary Karadjov
567b5b07ea fixes #20 properly 2012-04-15 01:06:40 +03:00
Zahary Karadjov
d2b45dbe85 C variables are created in their enclosing block instead of their enclosing function 2012-04-12 14:12:32 +03:00
Zahary Karadjov
a64f03230a proper order of initialization for .global. variables 2012-04-10 20:53:44 +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
142e849b91 implemented support for the AVR CPU and standalone OS 2012-03-31 01:03:14 +02: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
Zahary Karadjov
c3e790b1ed fixes #87 2012-02-03 03:23:43 +02:00
Araq
4b95233632 fixes #98 2012-01-29 19:12:48 +01:00
Araq
1ba3dbc759 bugfix tests/tzeroarray 2012-01-29 13:38:23 +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
cd83cc81aa code gen can generate code to keep alive stack roots 2011-12-22 15:04:00 +01:00
Araq
94358e03e9 compiler generates volatile temps to keep C compiler from optimizing away stack roots 2011-12-12 01:40:23 +01:00
Araq
af792da0bb codegen uses alias analysis to generate better code 2011-12-10 01:06:32 +01:00
Araq
fc9fdc2b9d cleaned up configuration file handling and documented the new behaviour 2011-11-30 00:53:41 +01:00