Commit Graph

3743 Commits

Author SHA1 Message Date
Araq
05b05be9f8 replaced recursivePath with shallowPath for Babel 2012-12-06 22:51:39 +01:00
Araq
a1f6779802 implemented AST based overloading 2012-12-06 08:45:18 +01:00
Araq
1d842e8b75 Merge branch 'master' of github.com:Araq/Nimrod 2012-12-06 07:10:19 +01:00
Araq
6431e60216 fixes #269 2012-12-05 23:28:35 +01:00
Araq
c5826ec1fb fixes #266 2012-12-05 22:58:52 +01:00
Araq
38ab30d153 implemented generic converters 2012-12-05 22:03:36 +01:00
Araq
7171ae62cb constraint now part of the parameter symbol and not of the type 2012-12-05 01:39:49 +01:00
Araq
0834224070 disable SSLv2_method for ubuntu 2012-12-03 21:48:12 +01:00
Araq
8948a97151 bugfix: 'not nil' and 'shared' types 2012-12-02 20:02:42 +01:00
Zahary Karadjov
d0edb1826b adds an option to interleave the generated code with snippets from the original source
Lines from the original source are outputted as comments next to line directives.
Hopefully, this will make debugging codegen problems easier.

Other changes:
The frame setup code now uses a single-line C macro. My motivation was to reduce
the noise in the generated output and make it easier to step over the boiler-plate
code, but counter-intuitively this also improved the overall compilation speed a
little bit so I applied the same treatment to line tracking too (this reduces the size of
the generated files and the explanation is that probably the I/O overhead dominates
the macro expansion costs).
2012-12-02 20:36:29 +02:00
Araq
b602c04c4a Merge branch 'master' of github.com:Araq/Nimrod 2012-12-02 11:15:10 +01:00
Araq
6ce15652d3 Merge branch 'master' of github.com:Araq/Nimrod 2012-12-02 11:13:05 +01:00
Araq
d7adc7c328 dont use unsafeNew in ropes.nim for now 2012-12-02 11:11:54 +01:00
Araq
76885c754a first version of ropes.nim with unsafeNew (broken) 2012-12-02 00:44:29 +01:00
Araq
c98e3d2c27 implements 'export' feature 2012-12-01 19:10:47 +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
f503439e81 implements 'import dir/module' without quotes 2012-11-30 19:57:23 +01:00
Araq
da5ba6ce62 resolved conflicts 2012-11-30 02:09:04 +01:00
Araq
92e10e4b18 implemented 'import except' 2012-11-28 23:54:23 +01:00
Araq
0ef08e49e7 bugfix: better implict 'items' support 2012-11-28 19:57:41 +01:00
Araq
9483606d5b bugfix: implicit items/pairs work better 2012-11-28 08:03:25 +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
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
e6f3f46cd9 store the instantiation cache in the generic symbol 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
c43bf78000 fixed recently introduced parser bugs 2012-11-26 19:31:55 +01:00
Araq
2591ac0ada 'return' for first class iterators 2012-11-26 08:47:57 +01:00
Araq
dd9ad9e497 next steps for first class iterators 2012-11-26 02:43:32 +01:00
Araq
538699a281 parser support for 'not nil' annotation 2012-11-25 23:40:42 +01: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
f610d2d221 'iterator' as type description 2012-11-22 08:31:40 +01:00
Araq
d0de1fc336 made 'shared' a keyword 2012-11-22 07:53:50 +01:00
Araq
338683a198 bugfixes for thread analysis 2012-11-22 01:36:57 +01:00
Araq
565dc932fa fixes #261 2012-11-21 22:57:15 +01:00
Araq
66ae9bc609 fixes 259 2012-11-21 21:00:54 +01:00
Araq
46f92c31aa added 2 necessary node kinds 2012-11-21 20:55:03 +01:00
Araq
022ff2e86e almost every pragma is allowed in a 'push' pragma 2012-11-20 23:58:45 +01:00
Araq
3d40842088 doc2 improvements; small lexer bugfix: backslashes in comments 2012-11-20 17:46:11 +01:00
Araq
14fc0631d7 fixes #250 2012-11-19 00:16:25 +01:00
Araq
3c0a6a8962 'assert' hides EAssertionFailsure; stdlib makes use of 'tags' 2012-11-18 01:36:20 +01:00
Araq
7f6633a06f added system.finished for first class iterators 2012-11-17 01:25:32 +01:00
Araq
7a2c11d3cf next steps for first class iterators 2012-11-15 22:54:06 +01:00
Araq
1fada12a5f improvements for first class iterators 2012-11-15 08:45:16 +01:00
Araq
814fcb2639 bugfix: stack traces; first class iterators almost working 2012-11-15 01:27:25 +01:00