Commit Graph

112 Commits

Author SHA1 Message Date
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
5e570bae47 more bugfixes for closures 2012-08-14 07:53:16 +02:00
Araq
991b3096e8 made tests green again 2012-08-14 00:09:06 +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
19bc408ec6 idetools: '--def' now works in 'x.f' 2012-08-05 16:05:17 +02:00
Araq
c7158af752 idetools: 'usages' and 'def' should work now; documented js backend 2012-08-05 12:33:23 +02:00
Araq
a7a2f464a2 idetools: don't suggest module names or not visible object fields 2012-08-03 22:57:26 +02:00
Araq
79aaf213d6 idetools improvements 2012-08-03 17:33:44 +02:00
Araq
674c05f426 made compiler more robust for idetools; implemented idetools.usages 2012-07-30 23:07:19 +02:00
Araq
976c39cdc9 more improvements for idetools 2012-07-30 01:24:54 +02:00
Araq
b595fc8347 better error handling for better idetools support 2012-07-29 23:08:28 +02:00
Araq
8c62903429 better overloading capabilities for 'shallowCopy'; little bugfix for 'system.compiles' 2012-07-29 10:30:35 +02:00
Araq
087b8621d3 improvements for idetools; system.compiles improved 2012-07-29 02:45:50 +02:00
Araq
b9afdffb3e fixes #178 2012-07-28 16:37:31 +02:00
Araq
538b06a123 implements #173 2012-07-28 14:16:08 +02:00
Araq
20b6dc3829 next steps for closure consistency; fixes #176 2012-07-25 21:59:31 +02:00
Araq
8413772063 optimizations for system.compiles 2012-07-20 16:23:07 +02:00
Araq
1c6f14deee added system.compiles 2012-07-20 08:49:42 +02:00
Araq
832da8a303 equality and hashing for closures 2012-07-17 17:26:02 +02:00
Araq
483f28d1cf fixes #147 2012-07-10 22:17:47 +02:00
Araq
95faae2c0a some more bugfixes for the integer promotion rules 2012-07-10 01:12:03 +02:00
Araq
049de0ef66 'addSon' for types deprecated for 'int literal type' analysis (3) 2012-07-09 20:04:19 +02:00
Araq
82b5e430cf 'addSon' for types deprecated for 'int literal type' analysis (2) 2012-07-09 08:22:55 +02:00
Araq
4fbba0a65a changed integer promotion rules; breaks bootstrapping and lots of code 2012-07-08 21:03:47 +02:00
Araq
36247e0947 added devel/logging; weakrefs test; next steps for proper unsigned support 2012-07-05 00:03:33 +02:00
Araq
2900ceae35 changed integer promotion rules; added math.fmod 2012-06-28 08:33:25 +02:00
Araq
7b4560337b bugfixes for closures 2012-06-21 08:46:56 +02:00
Zahary Karadjov
b11fe5d0b4 more uint related fixes 2012-06-14 17:33:00 +03:00
Zahary Karadjov
e2d38a57ec better support for unsigned integers. 2012-06-11 21:38:01 +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
e6019b6f98 fixes #103 2012-05-11 00:22:04 +02:00
Araq
63326f19f0 fixes #111; however may introduce other problems 2012-05-10 08:21:06 +02:00
Araq
a41bf611a0 fixes binding of overloaded procs 2012-05-04 01:58:54 +02:00
Zahary Karadjov
e941a14767 completing the "types as first class values" reform 2012-04-06 18:14:12 +03: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
98b7bdaa50 when expressions, proper rendering for nkDo and nkLambda and parser support for x.type and x.addr 2012-04-05 22:43:37 +03:00
Zahary Karadjov
6d80583d5a Added `global` pragma that can be used to introduce new global variables from within procs 2012-04-05 20:43:22 +03:00
Zahary Karadjov
22dc76a361 typedesc and expr params
types are now valid proc/template/macro params and you can overload over them:
proc foo(T: typedesc)        # accept any type
proc foo(T: typedesc{int}) # overload specifically for int
proc foo(T: typedesc{int or float or Callable}) # overload for any type matching the constraints

expr{type} is a param expecting compile time value of the designated type (or type class).

when typedesc or expr params are used with a proc, the proc will be instantiated once
for each unique type/value used as parameter.
2012-03-31 18:50:48 +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
Zahary Karadjov
a72fe16f9d making tests green again 2012-03-20 14:44:23 +02:00
Zahary Karadjov
e43f8d842b merged branch overloading-for-macros 2012-03-19 12:06:38 +02:00
Zahary Karadjov
72f2a6e275 the test suite is mostly green again 2012-03-16 05:33:21 +02:00
Zahary Karadjov
6975ba401b fix for template redefinition. test cases added. 2012-03-15 14:15:37 +02:00
Araq
4da067691e implemented 'static'; macros do not work anymore 2012-03-15 00:28:28 +01:00
Zahary Karadjov
e5bd3b5b97 bootstraps fine with overloadable templates 2012-03-14 21:00:42 +02:00
Araq
c25ffbf262 first steps for cleaner static/const distinction 2012-03-13 02:01:56 +01:00
Araq
e88123fb17 fixes #100 2012-03-10 12:43:04 +01:00
Araq
4a9e07a47c ERecoverableError exception contains the error message 2012-02-25 12:57:16 +01:00