summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
Commit message (Collapse)AuthorAgeFilesLines
* typedesc and expr paramsZahary Karadjov2012-03-311-14/+65
| | | | | | | | | | | | 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.
* generic types can be used like type classes. distinct can be applied to type ↵Zahary Karadjov2012-03-251-5/+12
| | | | classes.
* tyOrdinal now means "integral types". tyTypeClass created to take care of ↵Zahary Karadjov2012-03-221-5/+4
| | | | type constraints
* expr params implemented for procs; paving the way for type classesZahary Karadjov2012-03-221-18/+12
|
* allowing definitions of procs and templates to be overridden in local scopesZahary Karadjov2012-03-141-1/+6
|
* bootstraps fine with overloadable templatesZahary Karadjov2012-03-141-24/+30
|
* closure implementation: first stepsAraq2012-02-041-2/+8
|
* further steps to eliminate generics bugsAraq2012-01-111-12/+19
|
* bugfix: type alias to generic; generic type not stripped away from for loop ↵Araq2012-01-071-9/+15
| | | | variable
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* make trecinca|b tests greenAraq2011-12-311-1/+2
|
* path canonicalization and proper project relative pathsZahary Karadjov2011-12-091-1/+1
|
* 'assert' is now implemented without compiler magicAraq2011-12-041-1/+1
|
* bugfix: s[1..n] = @[] produced wrong C codeAraq2011-11-141-4/+12
|
* fixes #2Araq2011-11-021-1/+3
|
* compilation cache: various bugfixes; works for the compiler itselfAraq2011-10-271-7/+7
|
* compilation cache: mostly working; generics not yetAraq2011-10-251-2/+2
|
* bugfix: overloading resolution for typeofAraq2011-09-271-1/+1
|
* bugfixes for generics; new threads implementation still brokenAraq2011-09-201-5/+8
|
* finally got rid of nkPassAsOpenArrayAraq2011-08-161-2/+2
|
* fixes #35, fixes #43Araq2011-08-081-1/+2
|
* support for C++ code generation; importcpp and importobjc pragmasAraq2011-08-071-13/+11
|
* bugfix: 'set' overloadable; further steps for multi threading supportAraq2011-07-081-0/+3
|
* got rid of unsound co/contravariance in procvarsAraq2011-06-171-33/+34
|
* intsets are now a proper module and part of the stdlibAraq2011-06-141-8/+6
|
* deprecated system.copy: use system.substr insteadAraq2011-05-141-2/+2
|
* got rid of isLiftedAraq2011-05-141-7/+0
|
* got rid of some arcane module namesAraq2011-04-211-1/+1
|
* big repo cleanupAraq2011-04-121-0/+714