Araq
8413772063
optimizations for system.compiles
2012-07-20 16:23:07 +02:00
Araq
c9513c2e5a
bugfix: constraint matching for tyGenericInst; implements #130
2012-07-19 08:41:57 +02:00
Araq
8d99753d63
preparations for making 'closure' the default calling convention for proc types
2012-07-16 23:00:57 +02:00
Araq
b4084df434
improved unsigned support
2012-07-14 14:03:13 +02:00
Araq
e2f8d91290
overloading resolution finally takes inheritance depth into account
2012-07-11 00:10:24 +02:00
Araq
95faae2c0a
some more bugfixes for the integer promotion rules
2012-07-10 01:12:03 +02:00
Araq
121d4e0fc2
'addSon' for types deprecated for 'int literal type' analysis
2012-07-09 08:09:00 +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
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
251c44ff04
implicit generics types as return types. removed the error message for capturing incorrect uses of `proc`
2012-04-21 03:24:32 +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
bc2eb0ea9b
generic types can be used like type classes. distinct can be applied to type classes.
2012-03-25 20:55:21 +03: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
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
e5bd3b5b97
bootstraps fine with overloadable templates
2012-03-14 21:00:42 +02:00
Araq
2633e3fb27
closure implementation: first steps
2012-02-04 15:47:48 +01:00
Araq
92e1a21b26
further steps to eliminate generics bugs
2012-01-11 08:52:50 +01:00
Araq
7405278138
bugfix: type alias to generic; generic type not stripped away from for loop variable
2012-01-07 20:03:41 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
d25fefc0ff
make trecinca|b tests green
2011-12-31 10:23:56 +01:00
Zahary Karadjov
e4e74034c2
path canonicalization and proper project relative paths
2011-12-09 04:40:59 +02:00
Araq
70cf34cbdc
'assert' is now implemented without compiler magic
2011-12-04 20:14:50 +01:00
Araq
bec06a0649
bugfix: s[1..n] = @[] produced wrong C code
2011-11-14 08:33:44 +01:00
Araq
cacb200eff
fixes #2
2011-11-02 02:47:34 +01:00
Araq
90db9171a2
compilation cache: various bugfixes; works for the compiler itself
2011-10-27 00:41:42 +02:00
Araq
9fb36bd20c
compilation cache: mostly working; generics not yet
2011-10-25 15:26:36 +02:00
Araq
da6046dcba
bugfix: overloading resolution for typeof
2011-09-27 00:27:51 +02:00
Araq
fd62116f6e
bugfixes for generics; new threads implementation still broken
2011-09-20 00:56:48 +02:00
Araq
b0742c5b27
finally got rid of nkPassAsOpenArray
2011-08-16 08:56:53 +02:00
Araq
12f22ba68a
fixes #35 , fixes #43
2011-08-08 01:15:09 +02:00
Araq
5131b3cea4
support for C++ code generation; importcpp and importobjc pragmas
2011-08-07 21:02:09 +02:00
Araq
99bcc233cd
bugfix: 'set' overloadable; further steps for multi threading support
2011-07-08 01:29:15 +02:00
Araq
849208d779
got rid of unsound co/contravariance in procvars
2011-06-17 01:04:33 +02:00
Araq
ade67f1abc
intsets are now a proper module and part of the stdlib
2011-06-14 01:36:49 +02:00
Araq
3e9dcc8be5
deprecated system.copy: use system.substr instead
2011-05-14 01:13:44 +02:00
Araq
32241aa9fe
got rid of isLifted
2011-05-14 00:24:52 +02:00
Araq
36c67455d4
got rid of some arcane module names
2011-04-21 00:54:44 +02:00
Araq
cd292568d7
big repo cleanup
2011-04-12 01:13:42 +02:00