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