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
e4a4588b48
small fixes for tests on windows
2012-01-31 00:05:25 +01:00
Araq
8d19a93f1a
pragma on/off improvements; endb rewritten
2012-01-28 23:22:44 +01:00
Araq
78f4aacde9
pragma blocks; fixed line information issue with user defined assertions
2012-01-17 23:58:18 +01:00
Araq
2ae78c0cfb
implicit invokation of items/pairs iterators
2012-01-08 01:29:10 +01:00
Araq
7405278138
bugfix: type alias to generic; generic type not stripped away from for loop variable
2012-01-07 20:03:41 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
0d8e6dda69
new len(openarray) implementation
2011-12-31 18:15:20 +01:00
Araq
d25fefc0ff
make trecinca|b tests green
2011-12-31 10:23:56 +01:00
Araq
76f91b90e2
bugfix: compiler errors for explicit initialization of thread local variables; os.nim does not rely on it anymore
2011-12-23 20:05:08 +01:00
Araq
69cc24cdf6
bugfix: the code gen can now handle alias TLock = TSysLock; this fixes threading bugs
2011-12-23 00:17:59 +01:00
Zahary Karadjov
d171a8b36f
path canonicalization for imported modules, relative paths written in rod files
2011-12-11 11:24:52 +02:00
Zahary Karadjov
de4b894541
proc arguments are in scope when the result type definition is being processed
...
This is intended for type deduction depending on the arguments
proc foo(x: type): type(expr(x))
2011-12-09 16:05:51 +02:00
Zahary Karadjov
e4e74034c2
path canonicalization and proper project relative paths
2011-12-09 04:40:59 +02:00
Araq
70cf34cbdc
'assert' is now implemented without compiler magic
2011-12-04 20:14:50 +01:00
Araq
7fcbdc6d42
implemented 'let' statement
2011-11-29 17:27:48 +01:00
Araq
72651de710
bugfix: 'when' sections in generic objects now work, so TThread[void] compiles
2011-11-20 16:13:03 +01:00
Zahary Karadjov
12bac28d23
macros and templates can be expanded anywhere where a type is expected.
...
This allows for various type selection algorithms to be implemented.
See tests / accept / compile / ttypeselectors.nim for examples.
2011-11-18 02:11:15 +02:00
Araq
c517639155
lazy loading of body ast implemented
2011-10-30 20:53:04 +01:00
Araq
a0a8934a4f
eval context for macros lives as long as the current module is compiled
2011-10-28 01:38:41 +02:00
Araq
90db9171a2
compilation cache: various bugfixes; works for the compiler itself
2011-10-27 00:41:42 +02:00
Araq
4de84024e5
much more efficient rod file generation
2011-10-18 17:21:51 +02:00
Araq
51e01879ba
'bind' as a declarative statement
2011-10-10 02:04:15 +02:00
Zahary Karadjov
e3deb5b502
Cleaned up the circular dependecies and remaining issues
...
Changed: The []= operator for strings and sequences is now capable of splicing
2011-10-07 17:10:04 +03:00
Zahary Karadjov
22546c44d1
Basic unit testing facilities (suites, fixtures, cases)
...
Added: PNimrodNode.lineinfo for better error messages from macros
Added: seq.splice
For easier use from templates and macros, except stament now supports
the list of exception types to be supplied in nkBraket node (array literal).
2011-10-07 17:07:18 +03:00
Araq
42516c0086
code generator supports constant sequences; more consistent compile time evaluation
2011-10-07 09:02:08 +02:00
Zahary Karadjov
a28cf4e9cb
Quick Fix:
...
Constant expressions used in when statements and tuple indexing are properly evaluated now
Even further step tested to be OK:
```nimrod
proc semConstExpr(c: PContext, n: PNode): PNode =
result = semAndEvalConstExpr(c, n)
```
2011-09-20 14:13:45 +03:00
Araq
fd62116f6e
bugfixes for generics; new threads implementation still broken
2011-09-20 00:56:48 +02:00
Araq
2183bf77a6
added xmltree.innerText; fixes #49
2011-08-15 19:40:00 +02:00
Araq
d5dd4669df
further tests for var T result type; ttables test now fails :-(
2011-08-10 01:16:32 +02:00
Araq
5131b3cea4
support for C++ code generation; importcpp and importobjc pragmas
2011-08-07 21:02:09 +02:00
Araq
f0145ba7c5
anonymous procs implemented; however no closure support yet
2011-08-01 08:39:27 +02:00
Araq
3e806a374a
'var T' for iterators
2011-07-31 22:39:17 +02:00
Araq
2d62738bbb
attempt to improve 'suggest' feature
2011-07-30 15:19:58 +02:00
Araq
6781da5215
bugfix: forwarding of generic procs now works
2011-07-30 10:42:51 +02:00
Araq
2f066395ba
bugfixes; step one for 'var T' as return type support
2011-07-28 00:53:52 +02:00
Araq
42e6130b2c
first steps to explicit channels for thread communication; added mainThreadId
2011-07-16 18:34:18 +02:00
Araq
5b96eaa953
preparations for 0.8.12
2011-07-10 15:48:13 +02:00
Araq
99bcc233cd
bugfix: 'set' overloadable; further steps for multi threading support
2011-07-08 01:29:15 +02:00
Araq
f1100356b1
zipfiles compiles again; added system.shallowCopy
2011-06-20 23:20:11 +02:00
Araq
a15475f582
tuple unpacking is not enforced in for loops anymore
2011-06-15 10:15:32 +02:00
Araq
ade67f1abc
intsets are now a proper module and part of the stdlib
2011-06-14 01:36:49 +02:00
Araq
5008b44467
bugfixes for semantic checking; thread implementation pushed the compiler
2011-06-04 02:56:55 +02:00
Araq
6ff8752be5
cleaned up the tests; fixes #30 ; fixes #26
2011-05-01 20:11:55 +02:00
Araq
145fabeb67
const table support
2011-04-29 22:55:15 +02:00
Araq
8dda362fa6
slices are first class citizens
2011-04-22 10:53:43 +02:00
Araq
cd292568d7
big repo cleanup
2011-04-12 01:13:42 +02:00