summary refs log tree commit diff stats
path: root/compiler/msgs.nim
Commit message (Collapse)AuthorAgeFilesLines
* completing the "types as first class values" reformZahary Karadjov2012-04-061-2/+1
|
* the foundations of a type traits module; better error messages for expr, ↵Zahary Karadjov2012-04-061-0/+3
| | | | typedesc and typeclasses params
* typedesc and expr paramsZahary Karadjov2012-03-311-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 Karadjov2012-03-251-0/+5
| | | | classes.
* vars can be 'compileTime'; shallow introduced weird string aliasing bugAraq2012-03-111-2/+2
|
* ERecoverableError exception contains the error messageAraq2012-02-251-14/+11
|
* bugfix: optimization of complex constant string concatenationsAraq2012-02-171-0/+4
|
* added 'system.shallow'Araq2012-02-091-0/+3
|
* further steps for closure supportAraq2012-02-081-0/+2
|
* further steps to closure supportAraq2012-02-061-1/+2
|
* pragma blocks; fixed line information issue with user defined assertionsAraq2012-01-171-0/+6
|
* bugfix: tests/reject/tnoinst.nim is now rejected properlyAraq2012-01-131-1/+2
|
* removed '^ deprecated' messageAraq2012-01-101-4/+3
|
* fixes #33Araq2012-01-071-2/+3
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* critbits added to stdlibAraq2011-12-301-2/+0
|
* bugfix: preliminary symbol declaration in first pass of genericsAraq2011-12-301-0/+2
|
* GC stack scanning cares about interior pointersAraq2011-12-301-1/+1
|
* bugfix: compiler errors for explicit initialization of thread local ↵Araq2011-12-231-1/+3
| | | | variables; os.nim does not rely on it anymore
* c2nim compiles againAraq2011-12-121-7/+11
|
* path canonicalization for imported modules, relative paths written in rod filesZahary Karadjov2011-12-111-8/+16
|
* path canonicalization and proper project relative pathsZahary Karadjov2011-12-091-25/+40
|
* 'assert' is now implemented without compiler magicAraq2011-12-041-4/+5
|
* cleaned up configuration file handling and documented the new behaviourAraq2011-11-301-4/+6
|
* implemented 'let' statementAraq2011-11-291-1/+2
|
* New algorithm for locating and loading nimrod config files.Zahary Karadjov2011-11-251-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 ↵Araq2011-11-241-3/+3
| | | | compiler from optimizing away all stack roots
* proper error message when attempting to eval C'imported procsAraq2011-11-201-1/+1
|
* small bugfixes to make more tests greenAraq2011-11-021-0/+2
|
* new compiler option tlsEmulationAraq2011-10-271-6/+5
|
* bugfixes for ROD file generation; nimcache dir is now flatAraq2011-10-201-1/+1
|
* much more efficient rod file generationAraq2011-10-181-0/+2
|
* Basic unit testing facilities (suites, fixtures, cases)Zahary Karadjov2011-10-071-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 enhancementsAraq2011-09-241-1/+2
|
* Multiple C lines corresponding to a single nimrod line are joined togetherZahary Karadjov2011-09-201-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 enabledZahary Karadjov2011-09-201-0/+5
|
* preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵Araq2011-07-311-4/+6
| | | | generated C code)
* bugfixes; step one for 'var T' as return type supportAraq2011-07-281-1/+3
|
* preparations for 0.8.12Araq2011-07-101-0/+2
|
* bugfix: 'set' overloadable; further steps for multi threading supportAraq2011-07-081-5/+6
|
* compiler can emulate thread local variablesAraq2011-06-151-6/+7
|
* first (non working) implementation of global thread analysisAraq2011-06-131-4/+9
|
* const table supportAraq2011-04-291-1/+1
|
* better error message for invalid module namesAraq2011-04-161-0/+2
|
* big repo cleanupAraq2011-04-121-0/+580