Zahary Karadjov
0d77909b17
fixed a regression in nimrod i
2013-01-27 19:52:24 +02:00
Zahary Karadjov
8be307713e
fixed a regression: compiling projects not residing in the current directory
2013-01-20 22:09:07 +02:00
Araq
3af5c99336
fixes #293
2013-01-08 20:03:02 +01:00
Araq
9ef367db62
fixed a newly introduced c2nim bug; many untested improvements to the FFI at compile time
2012-12-31 17:53:37 +01:00
Araq
3020257559
implemented --listFullPaths option for aporia
2012-12-27 00:05:23 +01:00
Araq
a22c1f444f
fixes #271
2012-12-15 22:35:16 +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
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
Araq
14fc0631d7
fixes #250
2012-11-19 00:16:25 +01:00
Zahary Karadjov
32d0ac01dc
AST quasi-quoting for macros
2012-11-11 17:02:13 +02:00
Araq
de338526ec
caas barely works now
2012-10-24 01:13:44 +02:00
Zahary Karadjov
d9d82fb0af
syntax compatibility between do blocks and stmt blocks
...
See the section `do notation` in the manual for more info.
* nkMacroStmt has been removed
Macro statements are now mapped to regular nkCall nodes.
The support for additional clauses (such as else, except, of, etc)
have been restored - they will now appear as additional arguments
for the nkCall node (as nkElse, nkExcept, etc nodes)
* fixed some regressions in the `is` operator and semCompiles
2012-10-04 15:37:26 +03:00
Araq
cc51581937
next steps for 'compiler as a service'
2012-10-03 21:32:06 +02:00
Zahary Karadjov
f8184e3490
always print stack traces on errors in debug builds of nimrod
...
I've been using this for a while and it's really more convenient than hunting the message
in msgs.nim and grepping the error code in the whole project
2012-10-03 01:59:49 +03:00
Araq
23c3af80f6
semExpr/semStmt merged
2012-09-13 08:33:55 +02:00
Araq
d3d9d32c35
first steps to deprecate 'nil' statement
2012-09-09 01:08:00 +02:00
Araq
af7c92c003
term rewriting macros fully implemented; still buggy
2012-09-03 00:55:44 +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
Araq
c7158af752
idetools: 'usages' and 'def' should work now; documented js backend
2012-08-05 12:33:23 +02:00
Araq
79aaf213d6
idetools improvements
2012-08-03 17:33:44 +02:00
Araq
7d6500f1de
idetools improvements; preparation of first class iterators; fixes #183
2012-08-02 23:14:38 +02:00
Araq
976c39cdc9
more improvements for idetools
2012-07-30 01:24:54 +02:00
Araq
b595fc8347
better error handling for better idetools support
2012-07-29 23:08:28 +02:00
Araq
087b8621d3
improvements for idetools; system.compiles improved
2012-07-29 02:45:50 +02:00
Araq
538b06a123
implements #173
2012-07-28 14:16:08 +02:00
Araq
2ff8d17369
added warning for confusing var declarations
2012-07-26 08:47:54 +02:00
Araq
1c6f14deee
added system.compiles
2012-07-20 08:49:42 +02:00
Araq
8d99753d63
preparations for making 'closure' the default calling convention for proc types
2012-07-16 23:00:57 +02:00
Araq
36247e0947
added devel/logging; weakrefs test; next steps for proper unsigned support
2012-07-05 00:03:33 +02:00
Araq
ee1bcb6414
dead code elimination for JS backend; JS improvements (but doesn't work yet)
2012-06-30 12:29:56 +02:00
Araq
2900ceae35
changed integer promotion rules; added math.fmod
2012-06-28 08:33:25 +02:00
Araq
7b4560337b
bugfixes for closures
2012-06-21 08:46:56 +02:00
Zahary Karadjov
a1da1f987b
Added system.staticExec proc for executing external command at compile-time
2012-06-02 19:51:49 +03:00
Araq
c323ec0155
added system.getStackTrace; docgen refactoring (incomplete)
2012-05-06 01:16:36 +02:00
Zahary Karadjov
e941a14767
completing the "types as first class values" reform
2012-04-06 18:14:12 +03:00
Zahary Karadjov
efb53233cb
the foundations of a type traits module; better error messages for expr, typedesc and typeclasses params
2012-04-06 13:46:31 +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
Zahary Karadjov
bc2eb0ea9b
generic types can be used like type classes. distinct can be applied to type classes.
2012-03-25 20:55:21 +03:00
Araq
1d8ff40f56
vars can be 'compileTime'; shallow introduced weird string aliasing bug
2012-03-11 12:01:10 +01:00
Araq
4a9e07a47c
ERecoverableError exception contains the error message
2012-02-25 12:57:16 +01:00
Araq
97366d4419
bugfix: optimization of complex constant string concatenations
2012-02-17 02:16:33 +01:00
Araq
fb35b855d5
added 'system.shallow'
2012-02-09 20:13:36 +01: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
Araq
78f4aacde9
pragma blocks; fixed line information issue with user defined assertions
2012-01-17 23:58:18 +01:00
Araq
e362cbbfd7
bugfix: tests/reject/tnoinst.nim is now rejected properly
2012-01-13 13:40:05 +01:00
Araq
e7e3c451ef
removed '^ deprecated' message
2012-01-10 00:33:32 +01:00
Araq
7f3b3298b4
fixes #33
2012-01-07 20:30:51 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
9fdfda136c
critbits added to stdlib
2011-12-30 21:01:50 +01:00