Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 'assert' hides EAssertionFailsure; stdlib makes use of 'tags' | Araq | 2012-11-18 | 1 | -3/+10 |
| | |||||
* | fixed a typo | Zahary Karadjov | 2012-11-11 | 1 | -1/+1 |
| | |||||
* | AST quasi-quoting for macros | Zahary Karadjov | 2012-11-11 | 1 | -0/+29 |
| | |||||
* | bugfix: typo in unsigned.nim; fixes #234 | Araq | 2012-10-20 | 1 | -1/+1 |
| | |||||
* | fixes #120 | Zahary Karadjov | 2012-10-04 | 1 | -4/+2 |
| | |||||
* | syntax compatibility between do blocks and stmt blocks | Zahary Karadjov | 2012-10-04 | 1 | -1/+1 |
| | | | | | | | | | | | | See the section `do notation` in the manual for more info. * nkMacroStmt has been removed Macro statements are now mapped to regular nkCall nodes. The support for additional clauses (such as else, except, of, etc) have been restored - they will now appear as additional arguments for the nkCall node (as nkElse, nkExcept, etc nodes) * fixed some regressions in the `is` operator and semCompiles | ||||
* | experimental support for querying the type of expressions within macros | Zahary Karadjov | 2012-10-03 | 1 | -336/+330 |
| | | | | normalised the line endings of macros.nim (minor edits otherwise) | ||||
* | proc bodies can be expressions with a type | Araq | 2012-09-22 | 1 | -1/+1 |
| | |||||
* | term rewriting macros fully implemented; still buggy | Araq | 2012-09-03 | 1 | -2/+5 |
| | |||||
* | next steps towards term rewriting macros; simple examples work | Araq | 2012-08-30 | 1 | -1/+1 |
| | |||||
* | first steps towards term rewriting macros | Araq | 2012-08-30 | 1 | -1/+1 |
| | |||||
* | parameter passing works the same for macros and templates; use callsite ↵ | Araq | 2012-08-28 | 1 | -40/+26 |
| | | | | magic to access the invokation AST | ||||
* | distinguish properly between nkOpen and nkClosedSymChoice | Araq | 2012-08-26 | 1 | -4/+24 |
| | |||||
* | bindSym suffices; no 'bind' for macros anymore | Araq | 2012-08-25 | 1 | -1/+1 |
| | |||||
* | implemented 'bind' for macros | Araq | 2012-08-24 | 1 | -1/+13 |
| | |||||
* | openarray/varargs split; breaks bootstrapping | Araq | 2012-08-16 | 1 | -3/+3 |
| | |||||
* | top level closures should work; transf is not a pass anymore; next steps for ↵ | Araq | 2012-08-13 | 1 | -1/+1 |
| | | | | first class iterator support | ||||
* | improved unsigned support | Araq | 2012-07-14 | 1 | -0/+59 |
| | |||||
* | changed integer promotion rules; breaks bootstrapping and lots of code | Araq | 2012-07-08 | 1 | -1/+1 |
| | |||||
* | more uint related fixes | Zahary Karadjov | 2012-06-14 | 1 | -2/+7 |
| | |||||
* | better support for unsigned integers. | Zahary Karadjov | 2012-06-11 | 1 | -2/+3 |
| | |||||
* | Marshal now works with nil strings. Timezone and tzname vars are not public ↵ | Dominik Picheta | 2012-05-30 | 1 | -1/+2 |
| | | | | any more in the times module. | ||||
* | made tsequtils green again | Araq | 2012-05-28 | 1 | -6/+15 |
| | |||||
* | added system.||; lacks runtime support | Araq | 2012-05-23 | 1 | -1/+1 |
| | |||||
* | making tests green again | Zahary Karadjov | 2012-03-20 | 1 | -3/+3 |
| | |||||
* | clean separation of PNimrodNode and tyExpr | Araq | 2012-03-16 | 1 | -4/+0 |
| | |||||
* | implemented 'static'; macros do not work anymore | Araq | 2012-03-15 | 1 | -10/+10 |
| | |||||
* | first steps for cleaner static/const distinction | Araq | 2012-03-13 | 1 | -1/+2 |
| | |||||
* | unit test for #100 | Zahary Karadjov | 2012-03-10 | 1 | -1/+6 |
| | | | | | unittest: the check macro will print only the non-literal part of the checked expression tests/run: added tunittests.nim as a single central executable where unittests could be added for quicker compilation/execution of the test suite | ||||
* | Fixed misspelling in lib/core/macros.nim | Dominik Picheta | 2012-02-25 | 1 | -1/+1 |
| | |||||
* | helper templates static, eval and emit for easier compile-time code evaluation | Zahary Karadjov | 2012-02-24 | 1 | -1/+12 |
| | |||||
* | `do' keyword in the grammar for lambda blocks | Zahary Karadjov | 2012-02-10 | 1 | -1/+1 |
| | |||||
* | pragma blocks; fixed line information issue with user defined assertions | Araq | 2012-01-17 | 1 | -1/+1 |
| | |||||
* | year 2012 for most copyright headers | Araq | 2012-01-02 | 3 | -3/+3 |
| | |||||
* | fixed some recently introduced compilation errors in the standard library | Zahary Karadjov | 2011-12-13 | 1 | -1/+1 |
| | |||||
* | implemented 'let' statement | Araq | 2011-11-29 | 1 | -2/+2 |
| | |||||
* | fixes #60 | Araq | 2011-11-25 | 1 | -2/+2 |
| | |||||
* | new kind of AST printer that prints indented trees | Zahary Karadjov | 2011-11-04 | 1 | -36/+73 |
| | | | | | 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 | ||||
* | compilation cache: tests now part of test suite | Araq | 2011-10-27 | 1 | -0/+4 |
| | |||||
* | 'bind' as a declarative statement | Araq | 2011-10-10 | 1 | -1/+3 |
| | |||||
* | new syntactic construct: a{i} | Araq | 2011-10-08 | 1 | -1/+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 | -7/+9 |
| | | | | | | | | 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). | ||||
* | bugfix: internal error in evalFieldAccess; parseutils.interpolatedFragments ↵ | Araq | 2011-09-26 | 1 | -6/+6 |
| | | | | optimized; tstringinterp.nim now works | ||||
* | got rid of akPureObject | Araq | 2011-09-24 | 1 | -5/+4 |
| | |||||
* | beginning of a taint mode; type system enhancements | Araq | 2011-09-24 | 1 | -11/+17 |
| | |||||
* | Initial implementation of the parseExpr, parseStmt, getAst macro routines: | Zahary Karadjov | 2011-09-20 | 1 | -2/+16 |
| | | | | | | | | | | | | | | | | | | 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 | -0/+33 |
| | |||||
* | bugfixes for generics; new threads implementation still broken | Araq | 2011-09-20 | 1 | -6/+10 |
| | |||||
* | new actors implementation for nimrod; compiler's generics still not up for ↵ | Araq | 2011-08-29 | 1 | -2/+3 |
| | | | | the task though |