summary refs log tree commit diff stats
path: root/lib/core
Commit message (Collapse)AuthorAgeFilesLines
* 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
* locks now in their own core moduleAraq2011-08-201-0/+158
|
* finally got rid of nkPassAsOpenArrayAraq2011-08-161-1/+1
|
* preparations for 0.8.12Araq2011-07-101-8/+8
|
* importCompilerProc pragma introduced because the hacks for typeinfo.nim did ↵Araq2011-06-271-9/+16
| | | | not suffice
* code gen bugfixes; marshal.nim implementedAraq2011-06-262-296/+222
|
* fixed typos in typeinfo.nimAraq2011-06-121-14/+14
|
* lots of changes and additions to typeinfo.nimAraq2011-06-121-88/+274
|