Commit graph

70 commits

Author SHA1 Message Date
Araq
88a441ea8e next steps for FFI at compile time 2013-01-02 01:17:53 +01:00
Araq
9ef367db62 fixed a newly introduced c2nim bug; many untested improvements to the FFI at compile time 2012-12-31 17:53:37 +01:00
Araq
c73d9fdd4c small examples work with the FFI 2012-12-19 08:44:20 +01:00
Araq
7148812524 first steps for FFI support at compile time 2012-12-19 02:22:39 +01:00
Araq
dd9ad9e497 next steps for first class iterators 2012-11-26 02:43:32 +01:00
Zahary Karadjov
32d0ac01dc AST quasi-quoting for macros 2012-11-11 17:02:13 +02: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
Araq
cc51581937 next steps for 'compiler as a service' 2012-10-03 21:32:06 +02: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
Zahary Karadjov
9c8bc3a244 the is operator now works with type classes and type variables
bugfixes:
the DLL tests were failing on Mac OS X, due to an incorrect DynlibFormat
2012-10-03 01:59:49 +03:00
Zahary Karadjov
badb6c0f66 improved support for typedesc values
* can be stored in constants and variables (including in containers like sequences)
* can be passed to and returned from macros
2012-09-25 02:03:15 +03:00
Zahary Karadjov
9e4254e4de type trais used to work only on user-defined types. see #202 2012-09-13 00:33:01 +03: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
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
da190876de next steps to hygienic templates 2012-08-20 08:44:17 +02:00
Araq
5e15dec175 first steps to make templates hygienic 2012-08-20 01:13:13 +02:00
Araq
51de278bd4 next steps for tyVarargs/tyOpenArray split 2012-08-14 08:44:26 +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
b0c11d3efb made compiler more robust for idetools support 2012-07-30 17:43:22 +02:00
Araq
b595fc8347 better error handling for better idetools support 2012-07-29 23:08:28 +02:00
Araq
832da8a303 equality and hashing for closures 2012-07-17 17:26:02 +02:00
Araq
121d4e0fc2 'addSon' for types deprecated for 'int literal type' analysis 2012-07-09 08:09:00 +02:00
Araq
795afb0021 made tests green again 2012-07-09 00:54:46 +02:00
Araq
36247e0947 added devel/logging; weakrefs test; next steps for proper unsigned support 2012-07-05 00:03:33 +02:00
Araq
26b64f9e4f another bugfix 2012-06-21 19:20:45 +02:00
Araq
e0092cfae6 Merge branch 'master' of github.com:Araq/Nimrod 2012-06-19 22:38:48 +02:00
Araq
f191059e56 somewhat working closures 2012-06-19 22:37:00 +02:00
Zahary Karadjov
e2d38a57ec better support for unsigned integers. 2012-06-11 21:38:01 +03:00
Zahary Karadjov
88f7b7bc50 Merge branch 'master' of github.com:Araq/Nimrod into upstream 2012-06-02 19:52:06 +03:00
Zahary Karadjov
a1da1f987b Added system.staticExec proc for executing external command at compile-time 2012-06-02 19:51:49 +03:00
Araq
848c1b297f added system.||; lacks runtime support 2012-05-23 02:05:28 +02:00
Araq
15dd3a2251 fixes #109 2012-05-20 10:56:17 +02:00
Zahary Karadjov
efb53233cb the foundations of a type traits module; better error messages for expr, typedesc and typeclasses params 2012-04-06 13:46:31 +03:00
Zahary Karadjov
6216046bc6 genSym support for hygienic macros and templates.
example:
template hygienic(val: expr) =
  var `*x` = val
  echo `*x`

*x was chosen as mnemonic for "opposite of public" and thus private
2012-03-26 04:36:26 +03:00
Araq
c25ffbf262 first steps for cleaner static/const distinction 2012-03-13 02:01:56 +01:00
Araq
ec0f982ed4 attempt to make tests green again 2012-03-11 01:46:37 +01:00
Zahary Karadjov
560a3bad28 `do' keyword in the grammar for lambda blocks 2012-02-10 14:50:35 +02:00
Araq
32b4192b3f version 0.8.14 2012-02-09 01:18:33 +01:00
Araq
f3f3fc01aa further steps for closure support; added 'system.rawProc', 'system.rawEnv' 2012-02-08 22:56:31 +01:00
Araq
78f4aacde9 pragma blocks; fixed line information issue with user defined assertions 2012-01-17 23:58:18 +01:00
Araq
071b1e3957 test t99bott.nim works now 2012-01-06 00:29:18 +01:00
Araq
4f1b89c30c year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
Araq
2962ca7890 alias analysis as required for the code gen and the HLO 2011-12-08 23:21:08 +01:00
Araq
70cf34cbdc 'assert' is now implemented without compiler magic 2011-12-04 20:14:50 +01:00
Araq
7fcbdc6d42 implemented 'let' statement 2011-11-29 17:27:48 +01:00
Araq
04e5c6718e proper error message when attempting to eval C'imported procs 2011-11-20 17:17:47 +01:00
Araq
72651de710 bugfix: 'when' sections in generic objects now work, so TThread[void] compiles 2011-11-20 16:13:03 +01:00
Araq
7819b84475 bugfixes: objects still invalid for constants; fixed a typo concerning 'high' in eval context 2011-11-15 23:03:14 +01:00
Zahary Karadjov
b72480ec88 new kind of AST printer that prints indented trees
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
2011-11-04 04:56:40 +02:00