Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | completing the "types as first class values" reform | Zahary Karadjov | 2012-04-06 | 1 | -2/+1 |
| | |||||
* | the foundations of a type traits module; better error messages for expr, ↵ | Zahary Karadjov | 2012-04-06 | 1 | -0/+3 |
| | | | | typedesc and typeclasses params | ||||
* | typedesc and expr params | Zahary Karadjov | 2012-03-31 | 1 | -1/+1 |
| | | | | | | | | | | | | 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. | ||||
* | generic types can be used like type classes. distinct can be applied to type ↵ | Zahary Karadjov | 2012-03-25 | 1 | -0/+5 |
| | | | | classes. | ||||
* | vars can be 'compileTime'; shallow introduced weird string aliasing bug | Araq | 2012-03-11 | 1 | -2/+2 |
| | |||||
* | ERecoverableError exception contains the error message | Araq | 2012-02-25 | 1 | -14/+11 |
| | |||||
* | bugfix: optimization of complex constant string concatenations | Araq | 2012-02-17 | 1 | -0/+4 |
| | |||||
* | added 'system.shallow' | Araq | 2012-02-09 | 1 | -0/+3 |
| | |||||
* | further steps for closure support | Araq | 2012-02-08 | 1 | -0/+2 |
| | |||||
* | further steps to closure support | Araq | 2012-02-06 | 1 | -1/+2 |
| | |||||
* | pragma blocks; fixed line information issue with user defined assertions | Araq | 2012-01-17 | 1 | -0/+6 |
| | |||||
* | bugfix: tests/reject/tnoinst.nim is now rejected properly | Araq | 2012-01-13 | 1 | -1/+2 |
| | |||||
* | removed '^ deprecated' message | Araq | 2012-01-10 | 1 | -4/+3 |
| | |||||
* | fixes #33 | Araq | 2012-01-07 | 1 | -2/+3 |
| | |||||
* | year 2012 for most copyright headers | Araq | 2012-01-02 | 1 | -1/+1 |
| | |||||
* | critbits added to stdlib | Araq | 2011-12-30 | 1 | -2/+0 |
| | |||||
* | bugfix: preliminary symbol declaration in first pass of generics | Araq | 2011-12-30 | 1 | -0/+2 |
| | |||||
* | GC stack scanning cares about interior pointers | Araq | 2011-12-30 | 1 | -1/+1 |
| | |||||
* | bugfix: compiler errors for explicit initialization of thread local ↵ | Araq | 2011-12-23 | 1 | -1/+3 |
| | | | | variables; os.nim does not rely on it anymore | ||||
* | c2nim compiles again | Araq | 2011-12-12 | 1 | -7/+11 |
| | |||||
* | path canonicalization for imported modules, relative paths written in rod files | Zahary Karadjov | 2011-12-11 | 1 | -8/+16 |
| | |||||
* | path canonicalization and proper project relative paths | Zahary Karadjov | 2011-12-09 | 1 | -25/+40 |
| | |||||
* | 'assert' is now implemented without compiler magic | Araq | 2011-12-04 | 1 | -4/+5 |
| | |||||
* | cleaned up configuration file handling and documented the new behaviour | Araq | 2011-11-30 | 1 | -4/+6 |
| | |||||
* | implemented 'let' statement | Araq | 2011-11-29 | 1 | -1/+2 |
| | |||||
* | New algorithm for locating and loading nimrod config files. | Zahary Karadjov | 2011-11-25 | 1 | -2/+4 |
| | | | | Some new options added to the compiler (see news.txt for details) | ||||
* | C codegen: generate nimKeepAlive calls at strategic places to keep the C ↵ | Araq | 2011-11-24 | 1 | -3/+3 |
| | | | | compiler from optimizing away all stack roots | ||||
* | proper error message when attempting to eval C'imported procs | Araq | 2011-11-20 | 1 | -1/+1 |
| | |||||
* | small bugfixes to make more tests green | Araq | 2011-11-02 | 1 | -0/+2 |
| | |||||
* | new compiler option tlsEmulation | Araq | 2011-10-27 | 1 | -6/+5 |
| | |||||
* | bugfixes for ROD file generation; nimcache dir is now flat | Araq | 2011-10-20 | 1 | -1/+1 |
| | |||||
* | much more efficient rod file generation | Araq | 2011-10-18 | 1 | -0/+2 |
| | |||||
* | Basic unit testing facilities (suites, fixtures, cases) | Zahary Karadjov | 2011-10-07 | 1 | -0/+6 |
| | | | | | | | | 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). | ||||
* | beginning of a taint mode; type system enhancements | Araq | 2011-09-24 | 1 | -1/+2 |
| | |||||
* | Multiple C lines corresponding to a single nimrod line are joined together | Zahary Karadjov | 2011-09-20 | 1 | -7/+12 |
| | | | | | | | | | | | | | | | | | | | | | | This patch greatly improves the "step over" operation available in debuggers. In practice, there are often 4-8 lines of C code generated for each nimrod line Each such line will be responsible to a single step in the debugger that is a) not expected by the user b) taking the user to an incorrect line in the nimrod code To keep this working, all code generation should use the rope formatting facilities when producing new lines (i.e. $n and $N). New semantics for the format string are introduced: $n means "soft new line" that could be joined/broken when lineDir is enabled. $N means "hard new line" that will always appear as a new line. As an alternative to this approach, I also tested producing code like this: #line "code.nim" 154 foo = bar; \ foo(bar) \ This is better for readability of the final output, but unfortunately it didn't produce the desired result across all compilers/debuggers. | ||||
* | Nimrod can now compile itself with --lineDir enabled | Zahary Karadjov | 2011-09-20 | 1 | -0/+5 |
| | |||||
* | preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵ | Araq | 2011-07-31 | 1 | -4/+6 |
| | | | | generated C code) | ||||
* | bugfixes; step one for 'var T' as return type support | Araq | 2011-07-28 | 1 | -1/+3 |
| | |||||
* | preparations for 0.8.12 | Araq | 2011-07-10 | 1 | -0/+2 |
| | |||||
* | bugfix: 'set' overloadable; further steps for multi threading support | Araq | 2011-07-08 | 1 | -5/+6 |
| | |||||
* | compiler can emulate thread local variables | Araq | 2011-06-15 | 1 | -6/+7 |
| | |||||
* | first (non working) implementation of global thread analysis | Araq | 2011-06-13 | 1 | -4/+9 |
| | |||||
* | const table support | Araq | 2011-04-29 | 1 | -1/+1 |
| | |||||
* | better error message for invalid module names | Araq | 2011-04-16 | 1 | -0/+2 |
| | |||||
* | big repo cleanup | Araq | 2011-04-12 | 1 | -0/+580 |