Araq
a1f6779802
implemented AST based overloading
2012-12-06 08:45:18 +01:00
Araq
ccd2934e4a
first steps for 'not nil' annotation
2012-11-25 11:03:14 +01:00
Araq
019d6e4127
added missing type flags
2012-11-23 19:52:32 +01:00
Araq
3c0a6a8962
'assert' hides EAssertionFailsure; stdlib makes use of 'tags'
2012-11-18 01:36:20 +01:00
Araq
48a62af3b1
implemented 'tags' pragma
2012-11-11 22:03:41 +01:00
Araq
9f38ff0c65
next steps for exception tracking
2012-11-03 15:57:12 +01:00
Araq
ac978b3203
bugfix: tcan_inherit_generic works again
2012-10-19 21:43:18 +02:00
Zahary Karadjov
4ef96a7435
fixes #211
...
transf: fix a clang compilation error when lineDir:on is used
2012-10-13 23:31:27 +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
7e44015491
implemented return type inference
...
Other fixes:
* bind once is now the default for type classes as documented in the manual
* fixes an issue in template overloading (erroneous ambiguity when different typedesc params were used)
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
27dc9fcb8f
fixes #186 and the ttypedesc1 test case
2012-09-23 19:34:20 +03:00
Araq
64c638a9dc
first steps for overloading support of passing blocks; bugfix: test results of 'compile' are not overwritten
2012-09-11 08:09:34 +02:00
Araq
6753d36854
further improvements for term rewriting macros
2012-09-04 00:55:13 +02:00
Araq
af7c92c003
term rewriting macros fully implemented; still buggy
2012-09-03 00:55:44 +02:00
Araq
b5b5e6e76d
distinguish properly between nkOpen and nkClosedSymChoice
2012-08-26 02:47: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
ce23b814a0
borrow works with generics
2012-08-06 18:11:03 +02:00
Araq
79aaf213d6
idetools improvements
2012-08-03 17:33:44 +02:00
Araq
b0c11d3efb
made compiler more robust for idetools support
2012-07-30 17:43:22 +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
8d99753d63
preparations for making 'closure' the default calling convention for proc types
2012-07-16 23:00:57 +02:00
Araq
4966212141
more fixes for new integer promotion rules; fixes #152 ; fixes #157 ; fixes #156 ; fixes #155
2012-07-09 21:11:11 +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
4fbba0a65a
changed integer promotion rules; breaks bootstrapping and lots of code
2012-07-08 21:03:47 +02:00
Araq
8ef48a34e5
fixes #150 ; next steps for proper unsigned support
2012-07-03 00:59:36 +02:00
Araq
776920dc71
bugfix: cycle analysis needs to take inheritance into account
2012-06-24 17:36:22 +02:00
Araq
48847b5616
documented optional indentation for 'case' statements/'case' objects
2012-06-22 17:47:03 +02:00
Zahary Karadjov
e2d38a57ec
better support for unsigned integers.
2012-06-11 21:38:01 +03:00
Zahary Karadjov
d10b524c9a
generate default destructors
2012-06-06 19:11:52 +03:00
Zahary Karadjov
88f7b7bc50
Merge branch 'master' of github.com:Araq/Nimrod into upstream
2012-06-02 19:52:06 +03:00
Araq
b5d8e8bfaa
'+=' etc for all floating point types
2012-05-29 00:42:28 +02:00
Araq
7a249eb8c1
bugfix: field names of tuples are treated consistently in the C backend
2012-05-27 14:57:12 +02:00
Zahary Karadjov
337e1ecc7c
codegen for user-defined destructors
2012-05-25 19:02:14 +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
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
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
5c33f76517
bugfix: GC marker procs; making tests green again
2012-03-23 09:29:53 +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
Araq
c25ffbf262
first steps for cleaner static/const distinction
2012-03-13 02:01:56 +01:00
Araq
632aece191
further steps to closure support
2012-02-06 00:19:56 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
cd83cc81aa
code gen can generate code to keep alive stack roots
2011-12-22 15:04:00 +01:00
Araq
2962ca7890
alias analysis as required for the code gen and the HLO
2011-12-08 23:21:08 +01:00
Araq
7fcbdc6d42
implemented 'let' statement
2011-11-29 17:27:48 +01:00
Araq
62aa8bed3b
tester: threading tests added
2011-11-19 02:05:16 +01:00