summary refs log tree commit diff stats
path: root/compiler/seminst.nim
Commit message (Collapse)AuthorAgeFilesLines
* implemented return type inferenceZahary Karadjov2012-10-031-3/+8
| | | | | | 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)
* improved support for typedesc valuesZahary Karadjov2012-09-251-34/+5
| | | | | * can be stored in constants and variables (including in containers like sequences) * can be passed to and returned from macros
* proc bodies can be expressions with a typeAraq2012-09-221-1/+1
|
* fixes #194Araq2012-09-201-1/+17
|
* made more tests green; fixes #201Araq2012-09-121-3/+4
|
* term rewriting improvementsAraq2012-09-081-0/+1
|
* implemented generic templatesAraq2012-08-271-1/+4
|
* next steps to hygienic templatesAraq2012-08-201-2/+1
|
* top level closures should work; transf is not a pass anymore; next steps for ↵Araq2012-08-131-2/+1
| | | | first class iterator support
* idetools: 'usages' and 'def' should work now; documented js backendAraq2012-08-051-2/+2
|
* 'addSon' for types deprecated for 'int literal type' analysisAraq2012-07-091-1/+1
|
* added proc annotations: macros invoked as pragmasAraq2012-06-261-2/+2
|
* somewhat working closuresAraq2012-06-191-1/+3
|
* typedesc and expr paramsZahary Karadjov2012-03-311-1/+1
| | | | | | | | | | | | 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-3/+1
| | | | classes.
* expr params implemented for procs; paving the way for type classesZahary Karadjov2012-03-221-6/+38
|
* clean separation of PNimrodNode and tyExprAraq2012-03-161-2/+3
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* proc arguments are in scope when the result type definition is being processedZahary Karadjov2011-12-091-1/+2
| | | | | This is intended for type deduction depending on the arguments proc foo(x: type): type(expr(x))
* bugfixes: objects still invalid for constants; fixed a typo concerning ↵Araq2011-11-151-4/+3
| | | | 'high' in eval context
* lazy loading of body ast implementedAraq2011-10-301-4/+7
|
* compilation cache: mostly working; generics not yetAraq2011-10-251-14/+13
|
* bugfixes for generics; new threads implementation still brokenAraq2011-09-201-0/+15
|
* modifyable results for generics; teventemitter worksAraq2011-08-091-2/+1
|
* fixes #35, fixes #43Araq2011-08-081-1/+2
|
* bugfix: forwarding of generic procs now worksAraq2011-07-301-13/+30
|
* bugfixes; step one for 'var T' as return type supportAraq2011-07-281-0/+1
|
* bugfix: proper cache for generic instantiationsAraq2011-07-211-25/+29
|
* first steps to explicit channels for thread communication; added mainThreadIdAraq2011-07-161-1/+1
|
* preparations for 0.8.12Araq2011-07-101-0/+2
|
* bugfix: invoking a generic iterator twice triggers a code gen bug (titer2)Araq2011-06-201-0/+3
|
* bugfix: typeinfo generation for tuplesAraq2011-06-191-9/+6
|
* big repo cleanupAraq2011-04-121-0/+128