Commit Graph

301 Commits

Author SHA1 Message Date
Zahary Karadjov
8d698b2bdd Merge branch 'master' of github.com:Araq/Nimrod into upstream 2012-03-31 18:51:11 +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
Araq
142e849b91 implemented support for the AVR CPU and standalone OS 2012-03-31 01:03:14 +02:00
Araq
97743faa83 tests tcnstseq and tcnstseq3 work again 2012-03-28 23:03:55 +02:00
Araq
1af0601011 bugfix #100 again 2012-03-28 16:43:05 +02:00
Araq
a79acb58fc attempt to fix a bug concerning implicit type conversions in case statements 2012-03-27 00:48:59 +02: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
bc2eb0ea9b generic types can be used like type classes. distinct can be applied to type classes. 2012-03-25 20:55:21 +03:00
Araq
91db6bd9c9 fixes #102 2012-03-23 20:28:35 +01:00
Araq
5c33f76517 bugfix: GC marker procs; making tests green again 2012-03-23 09:29:53 +01:00
Araq
0857efe512 some bugfixes for symbolfiles 2012-03-23 00:16:29 +01:00
Zahary Karadjov
296ef07955 tyOrdinal now means "integral types". tyTypeClass created to take care of type constraints 2012-03-22 16:24:12 +02:00
Zahary Karadjov
3a5cf3d63a expr params implemented for procs; paving the way for type classes 2012-03-22 03:27:00 +02:00
Araq
4f22326b24 Merge branch 'master' of github.com:Araq/Nimrod 2012-03-21 23:11:16 +01:00
Araq
03ba0f3e25 implemented marker procs for the GC resulting in huge speedups 2012-03-21 23:10:56 +01:00
Zahary Karadjov
70f5236d48 untyped proc/template/macro params default to expr 2012-03-20 17:44:30 +02:00
Zahary Karadjov
a72fe16f9d making tests green again 2012-03-20 14:44:23 +02:00
Araq
bb1885115d Merge branch 'master' of github.com:Araq/Nimrod 2012-03-19 22:12:08 +01:00
Araq
7cd2f353c7 preparations for marker procs generation 2012-03-19 22:11:19 +01:00
Zahary Karadjov
7b41b0f841 missed file from the previous commit 2012-03-19 12:14:32 +02:00
Zahary Karadjov
e43f8d842b merged branch overloading-for-macros 2012-03-19 12:06:38 +02:00
Araq
be1154106a clean separation of PNimrodNode and tyExpr 2012-03-16 19:33:24 +01: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
d1d5fc8254 allowing definitions of procs and templates to be overridden in local scopes 2012-03-14 21:01:18 +02:00
Zahary Karadjov
c45b714dfb allowing multiple definitions of templates 2012-03-14 21:01:18 +02: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
1d8ff40f56 vars can be 'compileTime'; shallow introduced weird string aliasing bug 2012-03-11 12:01:10 +01:00
Araq
ec0f982ed4 attempt to make tests green again 2012-03-11 01:46:37 +01:00
Araq
e88123fb17 fixes #100 2012-03-10 12:43:04 +01:00
Araq
ff4a69b624 win64 is a supported target; bugfix: nimrod c -r on windows; stdlib uses wide char versions of the WinAPI 2012-03-04 21:44:56 +01:00
Araq
34d3c042af c2nim, pas2nim compile again 2012-02-29 00:04:34 +01:00
Araq
4a9e07a47c ERecoverableError exception contains the error message 2012-02-25 12:57:16 +01:00
Araq
96e7ee91cc added docgen.rst2html for the forum; fixed tester bug concerning removeDir 2012-02-21 21:03:36 +01:00
Araq
ccd58fba2c bugfix: semfold supports merging of '&' 2012-02-19 21:01:04 +01:00
Araq
a13a14327a fixes #99 2012-02-17 20:19:14 +01:00
Araq
547e8aa418 Merge branch 'master' of github.com:Araq/Nimrod 2012-02-17 02:16:50 +01:00
Araq
97366d4419 bugfix: optimization of complex constant string concatenations 2012-02-17 02:16:33 +01:00
dom96
6901a725d5 niminst is now able to create build files for debhelper so that .deb packages can be created. Implemented $ in the times module for TWeekDay and TMonth. 2012-02-16 22:11:00 +00:00
Araq
375c95d3ad bugfix: no need for arrows to be new token kinds 2012-02-12 18:56:36 +01:00
Zahary Karadjov
560a3bad28 `do' keyword in the grammar for lambda blocks 2012-02-10 14:50:35 +02:00
Araq
fb35b855d5 added 'system.shallow' 2012-02-09 20:13:36 +01:00
Araq
32b4192b3f version 0.8.14 2012-02-09 01:18:33 +01:00
Araq
51850b546a bugfix: lambdalifting: addHiddenParam 2012-02-08 23:02:51 +01:00
Araq
f3f3fc01aa further steps for closure support; added 'system.rawProc', 'system.rawEnv' 2012-02-08 22:56:31 +01:00
Araq
2c4a1dbc0c further steps for closure support 2012-02-08 09:10:59 +01:00
Araq
161f6f7229 further steps for closure support 2012-02-06 08:44:18 +01:00
Araq
a501e73bf9 Merge branch 'master' of github.com:Araq/Nimrod 2012-02-06 00:20:09 +01:00