Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 'bind' as a declarative statement | Araq | 2011-10-10 | 1 | -1/+2 |
| | |||||
* | new syntactic construct: a{i} | Araq | 2011-10-08 | 1 | -6/+12 |
| | |||||
* | slurp uses path; unidecode is improved and threadsafe | Araq | 2011-10-08 | 1 | -1/+1 |
| | |||||
* | Cleaned up the circular dependecies and remaining issues | Zahary Karadjov | 2011-10-07 | 1 | -20/+5 |
| | | | | Changed: The []= operator for strings and sequences is now capable of splicing | ||||
* | getAst works correctly with existing AST values as template/macro arguments | Zahary Karadjov | 2011-10-07 | 1 | -11/+37 |
| | |||||
* | code generator supports constant sequences; more consistent compile time ↵ | Araq | 2011-10-07 | 1 | -21/+23 |
| | | | | evaluation | ||||
* | bugfix: overloading resolution for typeof | Araq | 2011-09-27 | 1 | -6/+8 |
| | |||||
* | renamed optional to discardable | Araq | 2011-09-24 | 1 | -1/+1 |
| | |||||
* | implemented optional pragma for implicit discard | Araq | 2011-09-24 | 1 | -2/+4 |
| | |||||
* | l-values are preserved modulo type distinction | Araq | 2011-09-24 | 1 | -0/+4 |
| | |||||
* | beginning of a taint mode; type system enhancements | Araq | 2011-09-24 | 1 | -1/+1 |
| | |||||
* | fixed some newly introduced bugs | Araq | 2011-09-21 | 1 | -4/+3 |
| | |||||
* | using statement (ala C#) implemented as macro (added as test). | Zahary Karadjov | 2011-09-20 | 1 | -1/+1 |
| | | | | simplified the usage of the interpolatedFragments iterator. | ||||
* | Moved the parseAST magics to evals.nim | Zahary Karadjov | 2011-09-20 | 1 | -36/+6 |
| | | | | | | | | | | | | | | Added string interpolation helper routines in parserutils Added a proof-of-concept string interpolation user-land macros (currently, only as a test case): the interpolated expression could either be transformed to concat("literal string ", $(interpolated), " end") or "literal string $1 end" % [$(interpolated)] Added a very initial definition of Optional[T] generic type A new overload of ParseIdent was added in hope to get around the fact that the old one doesn't work correctly in macros, but the problem persists. | ||||
* | Quick Fix: | Zahary Karadjov | 2011-09-20 | 1 | -1/+1 |
| | | | | | | | | | | | Constant expressions used in when statements and tuple indexing are properly evaluated now Even further step tested to be OK: ```nimrod proc semConstExpr(c: PContext, n: PNode): PNode = result = semAndEvalConstExpr(c, n) ``` | ||||
* | Initial implementation of the parseExpr, parseStmt, getAst macro routines: | Zahary Karadjov | 2011-09-20 | 1 | -12/+64 |
| | | | | | | | | | | | | | | | | | | 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/+7 |
| | |||||
* | bugfixes for generics; new threads implementation still broken | Araq | 2011-09-20 | 1 | -2/+3 |
| | |||||
* | finally got rid of nkPassAsOpenArray | Araq | 2011-08-16 | 1 | -2/+1 |
| | |||||
* | added system.slurp for easy embedding of resources | Araq | 2011-08-10 | 1 | -0/+16 |
| | |||||
* | support for C++ code generation; importcpp and importobjc pragmas | Araq | 2011-08-07 | 1 | -1/+1 |
| | |||||
* | 'var T' for iterators | Araq | 2011-07-31 | 1 | -0/+9 |
| | |||||
* | void type for generics | Araq | 2011-07-31 | 1 | -10/+0 |
| | |||||
* | 'is' operator for generic code | Araq | 2011-07-31 | 1 | -16/+7 |
| | |||||
* | preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵ | Araq | 2011-07-31 | 1 | -2/+22 |
| | | | | generated C code) | ||||
* | bugfix: 'final' not passed to generic | Araq | 2011-07-29 | 1 | -1/+1 |
| | |||||
* | bugfixes; step one for 'var T' as return type support | Araq | 2011-07-28 | 1 | -23/+65 |
| | |||||
* | old pointer deref operator completely removed | Araq | 2011-07-23 | 1 | -2/+2 |
| | |||||
* | bugfix: 'set' overloadable; further steps for multi threading support | Araq | 2011-07-08 | 1 | -26/+25 |
| | |||||
* | bugfix: shallowCopy should not break bootstrapping anymore; encodings.nim ↵ | Araq | 2011-06-21 | 1 | -5/+9 |
| | | | | for windows improved | ||||
* | zipfiles compiles again; added system.shallowCopy | Araq | 2011-06-20 | 1 | -66/+139 |
| | |||||
* | intsets are now a proper module and part of the stdlib | Araq | 2011-06-14 | 1 | -3/+2 |
| | |||||
* | further improvements for thread analysis | Araq | 2011-06-13 | 1 | -5/+2 |
| | |||||
* | basic thread analysis working | Araq | 2011-06-13 | 1 | -1/+2 |
| | |||||
* | first (non working) implementation of global thread analysis | Araq | 2011-06-13 | 1 | -0/+6 |
| | |||||
* | basic generic collections implemented and tested | Araq | 2011-06-07 | 1 | -4/+4 |
| | |||||
* | bugfix: generic instantiation across module boundaries | Araq | 2011-06-06 | 1 | -9/+14 |
| | |||||
* | overloading of [] for derefence operation should be possible now | Araq | 2011-06-05 | 1 | -3/+5 |
| | |||||
* | threads clean up their heap | Araq | 2011-06-04 | 1 | -0/+2 |
| | |||||
* | cleaned up the tests; fixes #30; fixes #26 | Araq | 2011-05-01 | 1 | -17/+15 |
| | |||||
* | slice support in system.nim; syntactic sugar for tables; cleanup of ↵ | Araq | 2011-04-23 | 1 | -39/+28 |
| | | | | grammar/parser | ||||
* | slices are first class citizens | Araq | 2011-04-22 | 1 | -11/+17 |
| | |||||
* | big repo cleanup | Araq | 2011-04-12 | 1 | -0/+1092 |