summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* introduce tyFromExpr; fixes #618Zahary Karadjov2014-01-0413-28/+109
|
* fixed #597Zahary Karadjov2014-01-025-37/+126
|
* clean-up some obsolete code; close #602Zahary Karadjov2013-12-316-205/+73
|
* close #517Zahary Karadjov2013-12-311-0/+10
|
* Templates will pick the candidate in the nearest scope when symbols are mixed-inZahary Karadjov2013-12-316-16/+32
|
* migrate the static param handling to ReplaceTypeVars; fix tgenericvariantZahary Karadjov2013-12-306-26/+38
|
* properly remove intLiterals from proc signatures; fixes trettypeinferenceZahary Karadjov2013-12-301-5/+13
|
* handle recursive types during the instantiation of meta types; propagate ↵Zahary Karadjov2013-12-304-26/+86
| | | | tfHasMeta more carefully
* add incl/excl for sets accepting accepting other setsZahary Karadjov2013-12-301-0/+8
|
* Introduce a PreMain proc in the C codegenZahary Karadjov2013-12-302-39/+62
| | | | | | | | The rationale here is that it has become too hard to step into a program when #line directives are enabled. You have to skip over many lines of init code that doesn't have corresponding lines in the nimrod program. Now, you can just step-out of PreMain and go straight to the useful code in NimMain.
* proc redefinition search based on the type system instead of on sloppy AST ↵Zahary Karadjov2013-12-303-30/+48
| | | | | | | | | | matching This will work the same for procs/templates/macros/etc, having arbitrary mix of implicit and explicit generics (as long as the symbols are equivalent for the purposes of overload resolution, they will be detected as redefinitions) fixes tgeneric
* restore return type inferenceZahary Karadjov2013-12-302-1/+4
|
* fix the filtering of void params in procs' signaturesZahary Karadjov2013-12-295-34/+28
|
* Merge branch 'upstream' into develZahary Karadjov2013-12-2941-569/+902
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: compiler/ccgutils.nim compiler/msgs.nim compiler/sem.nim compiler/semexprs.nim compiler/seminst.nim compiler/semmagic.nim compiler/semstmts.nim compiler/semtypes.nim compiler/semtypinst.nim compiler/sigmatch.nim compiler/types.nim compiler/vmgen.nim lib/core/macros.nim lib/system.nim tests/reject/tenummix.nim web/news.txt
| * integrate the logic of fixupProcType into ReplaceTypeVarsZahary Karadjov2013-12-2910-74/+108
| |
| * make more tests greenZahary Karadjov2013-12-2915-163/+177
| |
| * fixes #787Zahary Karadjov2013-12-282-9/+60
| |
| * fix tclosure4Zahary Karadjov2013-12-282-6/+12
| |
| * fix illegal recursion checksZahary Karadjov2013-12-283-18/+18
| |
| * lift generic parameters from concrete composite type classesZahary Karadjov2013-12-285-25/+40
| |
| * towards support for composite type classes such as seq[Number] and ↵Zahary Karadjov2013-12-278-26/+87
| | | | | | | | SquareMatrix[T]
| * forgotten modification to the news filesZahary Karadjov2013-12-271-6/+8
| |
| * bugfix: in some contexts, newSeq[T](n) is incorrectly inferred to have a ↵Zahary Karadjov2013-12-261-2/+4
| | | | | | | | seq[typedesc[T]] type
| * test case for semistaticZahary Karadjov2013-12-251-0/+24
| |
| * better integration of tyStatic into typeRelZahary Karadjov2013-12-259-58/+66
| |
| * wip type class reforms (the compiler bootstraps fine)Zahary Karadjov2013-12-258-99/+94
| | | | | | | | | | | | * replace tfAny and tfAll with tyAnd and tyOr * integrate matchTypeClass into typeRel * introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
| * make the current PContext accessible through TCandidateZahary Karadjov2013-12-255-46/+53
| | | | | | | | | | | | the goal here is to remove all the hacks from ParamTypeMatch and to handle all type matching in typeRel (the context there is required to evaluate any static params and to run the compilation tests of user-defined type classes)
| * documented static paramsZahary Karadjov2013-12-253-0/+66
| |
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-1922-111/+136
| | | | | | | | | | | | | | This introduces tyStatic and successfully bootstraps and handles few simple test cases. Static params within macros are no longer treated as PNimrodNodes - they are now equivalent to constants of the designated type.
* | todo.txt updatedAraq2013-12-291-1/+1
| |
* | case consistency: niminstAraq2013-12-294-75/+75
| |
* | case consistency for linuxAraq2013-12-296-322/+322
| |
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-2958-377/+384
| |
* | case consistency: next stepsAraq2013-12-2977-514/+513
| |
* | improvements for 'pretty'Araq2013-12-2815-91/+99
| |
* | case consistency part 9Araq2013-12-283-64/+64
| |
* | case consistency part 8Araq2013-12-284-62/+62
| |
* | case consistency part 7Araq2013-12-285-65/+63
| |
* | case consistency part 6Araq2013-12-287-169/+169
| |
* | case consistency part 5Araq2013-12-2810-42/+42
| |
* | case consistency part 4Araq2013-12-27122-3322/+3322
| |
* | case consistency part 3Araq2013-12-273-9/+9
| |
* | case consistency part 2Araq2013-12-279-94/+90
| |
* | case consistency part 1Araq2013-12-2788-1144/+1266
| |
* | templates can access hidden fieldsAraq2013-12-256-42/+61
| |
* | bootstraps with new template symbol binding rulesAraq2013-12-244-21/+20
| |
* | attempt to merge newtemplAraq2013-12-245-6/+646
| |
* | Merge branch 'newtempl' into develAraq2013-12-242-4/+44
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: lib/system.nim tests/reject/tenummix.nim todo.txt
| * | made some tests greenAraq2013-05-163-3/+3
| | |
| * | 'bind' default for clean templatesAraq2013-05-155-8/+49
| | |