Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Initial implementation of the parseExpr, parseStmt, getAst macro routines: | Zahary Karadjov | 2011-09-20 | 1 | -20/+25 |
| | | | | | | | | | | | | | | | | | | proc parseExpr*(s: string) : expr {.magic: "ParseExprToAst".} ## Compiles the passed string to its AST representation ## Expects a single expression proc parseStmt*(s: string) : stmt {.magic: "ParseStmtToAst".} ## Compiles the passed string to its AST representation ## Expects one or more statements proc getAst*(macroOrTemplate: expr): expr {.magic: "ExpandMacroToAst".} ## Obtains the AST nodes returned from a macro or template invocation ## example: ## macro FooMacro() = ## var ast = getAst(BarTemplate()) Handling of the node.toYaml magic moved to the evaluation engine. | ||||
* | Added AST introspection routines as a part of the standard library | Zahary Karadjov | 2011-09-20 | 1 | -1/+1 |
| | |||||
* | bugfixes for generics; new threads implementation still broken | Araq | 2011-09-20 | 1 | -2/+6 |
| | |||||
* | finally got rid of nkPassAsOpenArray | Araq | 2011-08-16 | 1 | -1/+0 |
| | |||||
* | added system.slurp for easy embedding of resources | Araq | 2011-08-10 | 1 | -1/+1 |
| | |||||
* | support for C++ code generation; importcpp and importobjc pragmas | Araq | 2011-08-07 | 1 | -5/+7 |
| | |||||
* | preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵ | Araq | 2011-07-31 | 1 | -1/+2 |
| | | | | generated C code) | ||||
* | bugfix: 'final' not passed to generic | Araq | 2011-07-29 | 1 | -11/+9 |
| | |||||
* | bugfixes; step one for 'var T' as return type support | Araq | 2011-07-28 | 1 | -3/+3 |
| | |||||
* | bugfix: 'set' overloadable; further steps for multi threading support | Araq | 2011-07-08 | 1 | -4/+5 |
| | |||||
* | importCompilerProc pragma introduced because the hacks for typeinfo.nim did ↵ | Araq | 2011-06-27 | 1 | -1/+2 |
| | | | | not suffice | ||||
* | zipfiles compiles again; added system.shallowCopy | Araq | 2011-06-20 | 1 | -1/+1 |
| | |||||
* | intsets are now a proper module and part of the stdlib | Araq | 2011-06-14 | 1 | -141/+3 |
| | |||||
* | first (non working) implementation of global thread analysis | Araq | 2011-06-13 | 1 | -1/+2 |
| | |||||
* | got rid of nstrtabs and nhashes modules | Araq | 2011-06-10 | 1 | -1/+1 |
| | |||||
* | Added typeinfo module | dom96 | 2011-06-09 | 1 | -1/+1 |
| | |||||
* | newStringOfCap implemented and used to optimize some procs | Araq | 2011-05-08 | 1 | -1/+3 |
| | |||||
* | cleaned up the tests; fixes #30; fixes #26 | Araq | 2011-05-01 | 1 | -1/+1 |
| | |||||
* | const table support | Araq | 2011-04-29 | 1 | -0/+4 |
| | |||||
* | big repo cleanup | Araq | 2011-04-12 | 1 | -0/+1137 |