Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | experimental support for preserving local variable names in the generated code | Zahary Karadjov | 2012-04-13 | 1 | -10/+18 |
| | |||||
* | the foundations of a type traits module; better error messages for expr, ↵ | Zahary Karadjov | 2012-04-06 | 1 | -1/+7 |
| | | | | typedesc and typeclasses params | ||||
* | when expressions, proper rendering for nkDo and nkLambda and parser support ↵ | Zahary Karadjov | 2012-04-05 | 1 | -1/+6 |
| | | | | for x.type and x.addr | ||||
* | Merge branch 'master' of github.com:Araq/Nimrod into upstream | Zahary Karadjov | 2012-03-31 | 1 | -3/+2 |
|\ | |||||
| * | some bugfixes for symbolfiles | Araq | 2012-03-23 | 1 | -3/+2 |
| | | |||||
* | | typedesc and expr params | Zahary Karadjov | 2012-03-31 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | 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/+2 |
| | | | | | | | | classes. | ||||
* | | tyOrdinal now means "integral types". tyTypeClass created to take care of ↵ | Zahary Karadjov | 2012-03-22 | 1 | -1/+2 |
|/ | | | | type constraints | ||||
* | missed file from the previous commit | Zahary Karadjov | 2012-03-19 | 1 | -0/+7 |
| | |||||
* | merged branch overloading-for-macros | Zahary Karadjov | 2012-03-19 | 1 | -1/+5 |
|\ | |||||
| * | the test suite is mostly green again | Zahary Karadjov | 2012-03-16 | 1 | -18/+0 |
| | | |||||
| * | bootstraps fine with overloadable templates | Zahary Karadjov | 2012-03-14 | 1 | -1/+23 |
| | | |||||
* | | implemented 'static'; macros do not work anymore | Araq | 2012-03-15 | 1 | -1/+3 |
| | | |||||
* | | first steps for cleaner static/const distinction | Araq | 2012-03-13 | 1 | -0/+30 |
|/ | |||||
* | `do' keyword in the grammar for lambda blocks | Zahary Karadjov | 2012-02-10 | 1 | -0/+3 |
| | |||||
* | further steps to closure support | Araq | 2012-02-06 | 1 | -2/+8 |
| | |||||
* | closure implementation: first steps | Araq | 2012-02-04 | 1 | -1/+11 |
| | |||||
* | pragma blocks; fixed line information issue with user defined assertions | Araq | 2012-01-17 | 1 | -1/+3 |
| | |||||
* | niminst: bugfixes; documentation changes | Araq | 2012-01-15 | 1 | -1/+1 |
| | |||||
* | bugfix: invalid indentation for 'else' is detected; optional indentation for ↵ | Araq | 2012-01-13 | 1 | -1/+1 |
| | | | | 'if' expressions | ||||
* | bugfix: tests/reject/tnoinst.nim is now rejected properly | Araq | 2012-01-13 | 1 | -0/+6 |
| | |||||
* | bugfix: removed newSons legacy | Araq | 2012-01-07 | 1 | -7/+10 |
| | |||||
* | implemented incompleteStruct pragma; embedded debugger works with posix module | Araq | 2012-01-05 | 1 | -0/+1 |
| | |||||
* | year 2012 for most copyright headers | Araq | 2012-01-02 | 1 | -1/+1 |
| | |||||
* | bugfix: the code gen can now handle alias TLock = TSysLock; this fixes ↵ | Araq | 2011-12-23 | 1 | -0/+16 |
| | | | | threading bugs | ||||
* | code gen can generate code to keep alive stack roots | Araq | 2011-12-22 | 1 | -0/+1 |
| | |||||
* | alias analysis as required for the code gen and the HLO | Araq | 2011-12-08 | 1 | -31/+2 |
| | |||||
* | 'assert' is now implemented without compiler magic | Araq | 2011-12-04 | 1 | -1/+2 |
| | |||||
* | implemented 'let' statement | Araq | 2011-11-29 | 1 | -3/+4 |
| | |||||
* | new pragma: 'noinit' | Araq | 2011-11-25 | 1 | -1/+2 |
| | |||||
* | bugfix: 'when' sections in generic objects now work, so TThread[void] compiles | Araq | 2011-11-20 | 1 | -1/+1 |
| | |||||
* | macros and templates can be expanded anywhere where a type is expected. | Zahary Karadjov | 2011-11-18 | 1 | -0/+6 |
| | | | | | This allows for various type selection algorithms to be implemented. See tests / accept / compile / ttypeselectors.nim for examples. | ||||
* | cgen: no type canon for integral types; osproc use posix_spawn instead of ↵ | Araq | 2011-11-18 | 1 | -1/+2 |
| | | | | fork&exec | ||||
* | new kind of AST printer that prints indented trees | Zahary Karadjov | 2011-11-04 | 1 | -1/+1 |
| | | | | | AST-to-string conversion procs renamed to repr, treeRepr and lispRepr for better consistency new dumpTree and dumpLisp procs for quick AST inspection of arbitrary nimrod blocks | ||||
* | lazy loading of body ast implemented | Araq | 2011-10-30 | 1 | -1/+6 |
| | |||||
* | constant folding for cnst[i] and cnst.attr | Araq | 2011-10-29 | 1 | -1/+3 |
| | |||||
* | compilation cache: various bugfixes; works for the compiler itself | Araq | 2011-10-27 | 1 | -3/+6 |
| | |||||
* | compilation cache: mostly working; generics not yet | Araq | 2011-10-25 | 1 | -1/+1 |
| | |||||
* | compilation cache: multi methods now work | Araq | 2011-10-24 | 1 | -14/+15 |
| | |||||
* | rod files: next trivial examples working | Araq | 2011-10-22 | 1 | -0/+4 |
| | |||||
* | much more efficient rod file generation | Araq | 2011-10-18 | 1 | -33/+5 |
| | |||||
* | 'bind' as a declarative statement | Araq | 2011-10-10 | 1 | -0/+1 |
| | |||||
* | new syntactic construct: a{i} | Araq | 2011-10-08 | 1 | -0/+1 |
| | |||||
* | Cleaned up the circular dependecies and remaining issues | Zahary Karadjov | 2011-10-07 | 1 | -1/+1 |
| | | | | Changed: The []= operator for strings and sequences is now capable of splicing | ||||
* | Basic unit testing facilities (suites, fixtures, cases) | Zahary Karadjov | 2011-10-07 | 1 | -1/+1 |
| | | | | | | | | 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). | ||||
* | code generator supports constant sequences; more consistent compile time ↵ | Araq | 2011-10-07 | 1 | -2/+4 |
| | | | | evaluation | ||||
* | renamed optional to discardable | Araq | 2011-09-24 | 1 | -1/+1 |
| | |||||
* | implemented optional pragma for implicit discard | Araq | 2011-09-24 | 1 | -3/+4 |
| | |||||
* | got rid of tyPureObject; broke bootstrapping; use generated C code | Araq | 2011-09-24 | 1 | -0/+4 |
| | |||||
* | beginning of a taint mode; type system enhancements | Araq | 2011-09-24 | 1 | -2/+11 |
| |