Commit Graph

255 Commits

Author SHA1 Message Date
Grzegorz Adam Hankiewicz
f46336ae8b Adds missing `code-block` to macros' docstrings. 2013-12-18 21:22:22 +01:00
Araq
5eba93d584 Merge branch 'master' into vm2
Conflicts:
	compiler/sem.nim
2013-12-05 00:03:27 +01:00
Araq
f10a23e669 removed 'system.eval' 2013-11-27 09:44:53 +01:00
Araq
b4e25a6372 new VM is getting stable 2013-10-29 01:07:59 +01:00
Araq
8b5aa221ad support for multiple modules of the same name; niminst supports 'platforms'; minor bugfixes 2013-09-24 16:07:07 +02:00
Araq
094d7fd4b1 added 'newLit' 2013-09-10 00:37:23 +02:00
Zahary Karadjov
6082595e96 Merge branch 'type-classes' into upstream 2013-09-03 03:14:56 +03:00
Zahary Karadjov
b5d833b329 implemented the using statement 2013-08-31 19:40:36 +03:00
Araq
0c133b3f02 tester compiles again 2013-08-30 18:14:19 +02:00
Zahary Karadjov
037a1a3e0f parsing of user defined type classes 2013-08-23 21:36:56 +03:00
Dominik Picheta
ec86d5db0f Improved documentation for macros.newProc. 2013-07-31 23:44:09 +01:00
Dominik Picheta
e360d048ba Added macros.newIfStmt and macros.newVarStmt. 2013-07-25 22:15:34 +01:00
Araq
f9426bfcd5 added macros.genSym 2013-07-24 21:58:17 +02:00
Araq
e599fdd60d bugfix: marshal supports unsigned numbers 2013-06-27 08:39:41 +02:00
Billingsly Wetherfordshire
4255eb511e made macros.dumptree and dumplisp immediate, deprecated the *_imm versions 2013-06-04 22:28:20 -06:00
Araq
b0ad08013d don't deprecate macros.! breaks too much code 2013-05-20 02:47:35 +02:00
Billingsly Wetherfordshire
1e03a7aa88 Update macros.nim 2013-05-19 18:27:13 -05:00
Billingsly Wetherfordshire
b168a487c3 add macro_dsl api 2013-05-19 13:59:30 -05:00
Billingsly Wetherfordshire
0169d671b3 Update macros.nim 2013-04-25 17:26:50 -05:00
Araq
f9d4e39a12 bugfix evals.nim 2013-04-07 14:12:08 +02:00
Araq
74404de12d added immediate versions of macros.dumpLisp and dumpTree 2013-03-25 02:20:12 +01:00
Grzegorz Adam Hankiewicz
72a3e21f28 Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
Araq
b63f322a46 debugger improvements 2013-03-16 17:07:47 +01:00
Araq
225d657019 first steps to implement object construction expressions 2013-03-07 01:52:17 +01:00
Araq
1c0c80ef2d micro optimizations for the evaluation engine 2013-02-14 08:41:48 +01:00
Araq
0758508895 bugfix: typeinfo.extendSeq 2013-01-27 19:15:13 +01:00
Araq
92e10e4b18 implemented 'import except' 2012-11-28 23:54:23 +01:00
Araq
0d19de18cc first steps for the 'export' feature 2012-11-28 02:02:46 +01:00
Araq
85c53d525b Merge pull request #260 from exhu/master
base() proc for typeinfo module
2012-11-21 14:04:19 -08:00
Yury Benesh
b0388073c4 Added base() proc to typeinfo. 2012-11-21 23:42:11 +03:00
Araq
46f92c31aa added 2 necessary node kinds 2012-11-21 20:55:03 +01:00
Araq
3c0a6a8962 'assert' hides EAssertionFailsure; stdlib makes use of 'tags' 2012-11-18 01:36:20 +01:00
Zahary Karadjov
1b691d8747 fixed a typo 2012-11-11 17:13:56 +02:00
Zahary Karadjov
32d0ac01dc AST quasi-quoting for macros 2012-11-11 17:02:13 +02:00
Araq
e80af878b9 bugfix: typo in unsigned.nim; fixes #234 2012-10-20 18:48:28 +02:00
Zahary Karadjov
f28b7be6a3 fixes #120 2012-10-04 17:24:42 +03:00
Zahary Karadjov
d9d82fb0af syntax compatibility between do blocks and stmt blocks
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
2012-10-04 15:37:26 +03:00
Zahary Karadjov
2e5265bef5 experimental support for querying the type of expressions within macros
normalised the line endings of macros.nim (minor edits otherwise)
2012-10-03 01:59:50 +03:00
Araq
759b3201ad proc bodies can be expressions with a type 2012-09-22 22:43:36 +02:00
Araq
af7c92c003 term rewriting macros fully implemented; still buggy 2012-09-03 00:55:44 +02:00
Araq
1d14cb1ad8 next steps towards term rewriting macros; simple examples work 2012-08-30 22:55:32 +02:00
Araq
1786e30991 first steps towards term rewriting macros 2012-08-30 10:55:40 +02:00
Araq
b4844a189d parameter passing works the same for macros and templates; use callsite magic to access the invokation AST 2012-08-28 22:15:29 +02:00
Araq
b5b5e6e76d distinguish properly between nkOpen and nkClosedSymChoice 2012-08-26 02:47:17 +02:00
Araq
9a7f0cd851 bindSym suffices; no 'bind' for macros anymore 2012-08-25 01:34:50 +02:00
Araq
c7ba6f5eb6 implemented 'bind' for macros 2012-08-24 01:18:03 +02:00
Araq
0171566c98 openarray/varargs split; breaks bootstrapping 2012-08-16 08:34:33 +02:00
Araq
244c14db0b top level closures should work; transf is not a pass anymore; next steps for first class iterator support 2012-08-13 17:07:49 +02:00
Araq
b4084df434 improved unsigned support 2012-07-14 14:03:13 +02:00
Araq
4fbba0a65a changed integer promotion rules; breaks bootstrapping and lots of code 2012-07-08 21:03:47 +02:00