Dominik Picheta
6a65d1c515
newProc can now be used to construct iterator defs.
2014-02-12 21:28:17 +00:00
Araq
99352c1e4c
macro tests almost green
2014-02-03 17:35:03 +01:00
Araq
37229df7fc
next steps for closure iterators
2014-01-22 17:32:38 +01:00
Araq
4a0aadef4d
parser support anon iterators
2014-01-20 20:07:44 +01:00
Zahary Karadjov
afddae5aaf
Merge branch 'upstream' into devel
...
Conflicts:
compiler/ccgutils.nim
compiler/msgs.nim
compiler/sem.nim
compiler/semexprs.nim
compiler/seminst.nim
compiler/semmagic.nim
compiler/semstmts.nim
compiler/semtypes.nim
compiler/semtypinst.nim
compiler/sigmatch.nim
compiler/types.nim
compiler/vmgen.nim
lib/core/macros.nim
lib/system.nim
tests/reject/tenummix.nim
web/news.txt
2013-12-29 17:21:00 +02:00
Araq
bf205fa85d
case consistency part 6
2013-12-28 01:17:02 +01:00
Araq
b76729df1c
Merge branch 'master' of https://github.com/Araq/Nimrod into vm2
...
Conflicts:
web/news.txt
2013-12-23 01:23:16 +01:00
Andreas Rumpf
2f7119e9bb
Merge pull request #764 from gradha/pr_doc_improvements
...
Documentation improvements
2013-12-20 13:02:44 -08:00
Grzegorz Adam Hankiewicz
7177e0f698
Adds docstring to macros.newIdentDefs.
2013-12-20 21:37:51 +01:00
Billingsly Wetherfordshire
f06c9a77b5
Update macros.nim
2013-12-20 14:23:13 -06:00
Zahary Karadjov
027f30610e
static params: expr[T] is now static[T]
...
This introduces tyStatic and successfully bootstraps and handles
few simple test cases. Static params within macros are no longer
treated as PNimrodNodes - they are now equivalent to constants
of the designated type.
2013-12-19 01:06:38 +02:00
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
b5d833b329
implemented the using statement
2013-08-31 19:40:36 +03: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
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
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
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
46f92c31aa
added 2 necessary node kinds
2012-11-21 20:55:03 +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
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
Zahary Karadjov
e2d38a57ec
better support for unsigned integers.
2012-06-11 21:38:01 +03:00