summary refs log tree commit diff stats
path: root/lib/core
Commit message (Collapse)AuthorAgeFilesLines
* 'assert' hides EAssertionFailsure; stdlib makes use of 'tags'Araq2012-11-181-3/+10
|
* fixed a typoZahary Karadjov2012-11-111-1/+1
|
* AST quasi-quoting for macrosZahary Karadjov2012-11-111-0/+29
|
* bugfix: typo in unsigned.nim; fixes #234Araq2012-10-201-1/+1
|
* fixes #120Zahary Karadjov2012-10-041-4/+2
|
* syntax compatibility between do blocks and stmt blocksZahary Karadjov2012-10-041-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 macrosZahary Karadjov2012-10-031-336/+330
| | | | normalised the line endings of macros.nim (minor edits otherwise)
* proc bodies can be expressions with a typeAraq2012-09-221-1/+1
|
* term rewriting macros fully implemented; still buggyAraq2012-09-031-2/+5
|
* next steps towards term rewriting macros; simple examples workAraq2012-08-301-1/+1
|
* first steps towards term rewriting macrosAraq2012-08-301-1/+1
|
* parameter passing works the same for macros and templates; use callsite ↵Araq2012-08-281-40/+26
| | | | magic to access the invokation AST
* distinguish properly between nkOpen and nkClosedSymChoiceAraq2012-08-261-4/+24
|
* bindSym suffices; no 'bind' for macros anymoreAraq2012-08-251-1/+1
|
* implemented 'bind' for macrosAraq2012-08-241-1/+13
|
* openarray/varargs split; breaks bootstrappingAraq2012-08-161-3/+3
|
* top level closures should work; transf is not a pass anymore; next steps for ↵Araq2012-08-131-1/+1
| | | | first class iterator support
* improved unsigned supportAraq2012-07-141-0/+59
|
* changed integer promotion rules; breaks bootstrapping and lots of codeAraq2012-07-081-1/+1
|
* more uint related fixesZahary Karadjov2012-06-141-2/+7
|
* better support for unsigned integers.Zahary Karadjov2012-06-111-2/+3
|
* Marshal now works with nil strings. Timezone and tzname vars are not public ↵Dominik Picheta2012-05-301-1/+2
| | | | any more in the times module.
* made tsequtils green againAraq2012-05-281-6/+15
|
* added system.||; lacks runtime supportAraq2012-05-231-1/+1
|
* making tests green againZahary Karadjov2012-03-201-3/+3
|
* clean separation of PNimrodNode and tyExprAraq2012-03-161-4/+0
|
* implemented 'static'; macros do not work anymoreAraq2012-03-151-10/+10
|
* first steps for cleaner static/const distinctionAraq2012-03-131-1/+2
|
* unit test for #100Zahary Karadjov2012-03-101-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.nimDominik Picheta2012-02-251-1/+1
|
* helper templates static, eval and emit for easier compile-time code evaluationZahary Karadjov2012-02-241-1/+12
|
* `do' keyword in the grammar for lambda blocksZahary Karadjov2012-02-101-1/+1
|
* pragma blocks; fixed line information issue with user defined assertionsAraq2012-01-171-1/+1
|
* year 2012 for most copyright headersAraq2012-01-023-3/+3
|
* fixed some recently introduced compilation errors in the standard libraryZahary Karadjov2011-12-131-1/+1
|
* implemented 'let' statementAraq2011-11-291-2/+2
|
* fixes #60Araq2011-11-251-2/+2
|
* new kind of AST printer that prints indented treesZahary Karadjov2011-11-041-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 suiteAraq2011-10-271-0/+4
|
* 'bind' as a declarative statementAraq2011-10-101-1/+3
|
* new syntactic construct: a{i}Araq2011-10-081-1/+1
|
* Cleaned up the circular dependecies and remaining issuesZahary Karadjov2011-10-071-1/+1
| | | | Changed: The []= operator for strings and sequences is now capable of splicing
* Basic unit testing facilities (suites, fixtures, cases)Zahary Karadjov2011-10-071-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 ↵Araq2011-09-261-6/+6
| | | | optimized; tstringinterp.nim now works
* got rid of akPureObjectAraq2011-09-241-5/+4
|
* beginning of a taint mode; type system enhancementsAraq2011-09-241-11/+17
|
* Initial implementation of the parseExpr, parseStmt, getAst macro routines:Zahary Karadjov2011-09-201-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 libraryZahary Karadjov2011-09-201-0/+33
|
* bugfixes for generics; new threads implementation still brokenAraq2011-09-201-6/+10
|
* new actors implementation for nimrod; compiler's generics still not up for ↵Araq2011-08-291-2/+3
| | | | the task though