Zahary Karadjov
8e0941576f
clean-up some obsolete code; close #602
2013-12-31 12:39:43 +02:00
Zahary Karadjov
ed3ab6539d
close #517
2013-12-31 04:13:51 +02:00
Zahary Karadjov
8f3d5a25a6
Templates will pick the candidate in the nearest scope when symbols are mixed-in
2013-12-31 04:04:59 +02:00
Zahary Karadjov
754e2ef1db
migrate the static param handling to ReplaceTypeVars; fix tgenericvariant
2013-12-30 19:15:41 +02:00
Zahary Karadjov
af7c3251cd
properly remove intLiterals from proc signatures; fixes trettypeinference
2013-12-30 17:07:49 +02:00
Zahary Karadjov
7e24cf26de
handle recursive types during the instantiation of meta types; propagate tfHasMeta more carefully
2013-12-30 16:06:32 +02:00
Zahary Karadjov
88873f7965
add incl/excl for sets accepting accepting other sets
2013-12-30 14:25:05 +02:00
Zahary Karadjov
046d829e5d
Introduce a PreMain proc in the C codegen
...
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.
2013-12-30 11:02:48 +02:00
Zahary Karadjov
e3f53409f6
proc redefinition search based on the type system instead of on sloppy AST 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
2013-12-30 10:57:12 +02:00
Zahary Karadjov
fa3bb8d66b
restore return type inference
2013-12-30 00:03:57 +02:00
Zahary Karadjov
723efe7cfb
fix the filtering of void params in procs' signatures
2013-12-29 19:26:52 +02:00
Zahary Karadjov
afddae5aaf
Merge branch 'upstream' into devel
...
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
2013-12-29 17:21:00 +02:00
Zahary Karadjov
72291875bf
integrate the logic of fixupProcType into ReplaceTypeVars
2013-12-29 16:08:33 +02:00
Araq
437cfa73ab
todo.txt updated
2013-12-29 03:45:10 +01:00
Araq
4ed8cec7ca
case consistency: niminst
2013-12-29 03:42:20 +01:00
Araq
286f166304
case consistency for linux
2013-12-29 03:32:46 +01:00
Araq
b731e6ef1c
case consistency: cs:partial bootstraps on windows
2013-12-29 03:19:10 +01:00
Araq
438703f59e
case consistency: next steps
2013-12-29 01:13:51 +01:00
Araq
1101a40f91
improvements for 'pretty'
2013-12-28 23:30:53 +01:00
Zahary Karadjov
66a2556525
make more tests green
2013-12-29 00:00:37 +02:00
Zahary Karadjov
eb1d23c0c7
fixes #787
2013-12-28 23:53:48 +02:00
Zahary Karadjov
5d75ce2f2e
fix tclosure4
2013-12-28 15:07:30 +02:00
Zahary Karadjov
f34ca1a7d7
fix illegal recursion checks
2013-12-28 14:17:36 +02:00
Zahary Karadjov
a59f13b00d
lift generic parameters from concrete composite type classes
2013-12-28 12:50:45 +02:00
Araq
f2b9905b4e
case consistency part 9
2013-12-28 01:57:19 +01:00
Araq
e2648fa3fb
case consistency part 8
2013-12-28 01:47:40 +01:00
Araq
7e0da3e8f7
case consistency part 7
2013-12-28 01:36:35 +01:00
Araq
bf205fa85d
case consistency part 6
2013-12-28 01:17:02 +01:00
Araq
9c3751a37c
case consistency part 5
2013-12-28 00:37:45 +01:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
706266d8b7
case consistency part 3
2013-12-27 21:46:43 +01:00
Zahary Karadjov
a27eb51535
towards support for composite type classes such as seq[Number] and SquareMatrix[T]
2013-12-27 18:34:28 +02:00
Araq
a427648c48
case consistency part 2
2013-12-27 16:35:21 +01:00
Araq
2df9b442c6
case consistency part 1
2013-12-27 15:48:53 +01:00
Zahary Karadjov
4eea2f17d3
forgotten modification to the news files
2013-12-27 13:00:45 +02:00
Zahary Karadjov
e2594f44bd
bugfix: in some contexts, newSeq[T](n) is incorrectly inferred to have a seq[typedesc[T]] type
2013-12-26 01:09:10 +02:00
Zahary Karadjov
86108be24b
test case for semistatic
2013-12-25 22:40:06 +02:00
Zahary Karadjov
edab4aaad0
better integration of tyStatic into typeRel
2013-12-25 22:29:44 +02:00
Zahary Karadjov
1d02f2ea53
wip type class reforms (the compiler bootstraps fine)
...
* replace tfAny and tfAll with tyAnd and tyOr
* integrate matchTypeClass into typeRel
* introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
2013-12-25 19:25:04 +02:00
Araq
9e92455a53
templates can access hidden fields
2013-12-25 14:53:00 +01:00
Zahary Karadjov
299cefdc98
make the current PContext accessible through TCandidate
...
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)
2013-12-25 00:58:22 +02:00
Zahary Karadjov
952dbc4b8f
documented static params
2013-12-25 00:32:53 +02:00
Araq
4d01408a46
bootstraps with new template symbol binding rules
2013-12-24 16:42:24 +01:00
Araq
83a0a31276
attempt to merge newtempl
2013-12-24 14:04:18 +01:00
Araq
4203e8955c
Merge branch 'newtempl' into devel
...
Conflicts:
lib/system.nim
tests/reject/tenummix.nim
todo.txt
2013-12-24 02:10:59 +01:00
Araq
84e4710320
bugfix: InvalidSockets needs to be a let variable
2013-12-24 01:39:33 +01:00
Araq
1081c104d0
Merge branch 'vm2' of github.com:Araq/Nimrod into vm2
2013-12-24 01:30:48 +01:00
Araq
feb9af48f1
NoFakeVars progress
2013-12-24 00:21:22 +01:00
Araq
32ef1f8f32
vm: FFI improvements
2013-12-23 20:12:13 +01:00
Araq
4447c1b7e3
tcnstseq works again
2013-12-23 08:28:32 +01:00