Zahary Karadjov
f701ee086a
Merge branch 'devel' of gh:/Araq/Nimrod into devel
2014-02-15 20:46:54 +02:00
Zahary Karadjov
c1f1f84194
fix some regressions caused by tyTypeDesc[tyNone]
2014-02-15 20:44:01 +02:00
Araq
d142824d65
made 'koch web' work when current dir has a space in it
2014-02-15 02:27:49 +01:00
Araq
d912d18379
tyTypeDesc and tyRange always have 1 child; this might be tyNone but it is required for skipTypes
2014-02-05 23:43:13 +01:00
Araq
99352c1e4c
macro tests almost green
2014-02-03 17:35:03 +01:00
Dominik Picheta
92f7c479b9
Fixes #848 .
2014-01-27 17:48:39 +00:00
Zahary Karadjov
3f71b7f1f6
implements #766 ;
...
expressions such as Type.field are now recognised by the compiler.
This also fixes a bug, preventing the user-defined to check for the presence of
regular fields in addition to procs
2014-01-24 23:52:52 +02:00
Zahary Karadjov
a6a18be089
support for parametric user-defined type classes
2014-01-24 14:13:32 +02:00
Araq
73c6efdf66
'nil' as a statement is deprecated, use an empty 'discard' instead
2014-01-19 16:54:59 +01:00
Zahary Karadjov
1ffae7cbaf
progress towards fixing tgenericshardcases
2014-01-06 00:15:55 +02:00
Zahary Karadjov
789ba107cf
introduce tyFromExpr; fixes #618
2014-01-04 13:10:52 +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
7e24cf26de
handle recursive types during the instantiation of meta types; propagate tfHasMeta more carefully
2013-12-30 16:06:32 +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
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
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
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
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +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
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
Zahary Karadjov
027f30610e
static params: expr[T] is now static[T]
...
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.
2013-12-19 01:06:38 +02:00
Zahary Karadjov
de3b7cd413
progress towards adding negative type classes
...
[unittest bugfixes]
the block form of check now allows comments
errors when inspecting the arguments of var-accepting procs
2013-12-09 00:09:03 +02:00
Mark Flamer
f8206cb357
better better fix for Issue #629 Recursive generic types not working
2013-10-30 16:09:00 -07:00
Mark Flamer
4330c986db
better fix for Issue #629 Recursive generic types not working
2013-10-29 20:48:40 -07:00
Mark Flamer
9df232911c
fix for Issue #629 Recursive generic types not working
2013-10-25 19:04:14 -07:00
Mark Flamer
b27aae4bf9
more whitespace removal
2013-10-21 21:36:53 -07:00
Mark Flamer
129e72de70
remove extra white space
2013-10-21 21:33:34 -07:00
Mark Flamer
01e43fbe83
fix for Issue #626 - Distinct and generics not working together
2013-10-21 11:43:41 -07:00
Zahary Karadjov
6082595e96
Merge branch 'type-classes' into upstream
2013-09-03 03:14:56 +03:00
Araq
7056ceda67
float64 is now an alias to 'float'; fixes #545
2013-08-30 12:24:54 +02:00
Zahary Karadjov
28d9398de7
implemented delegators and improved the error messages of unmatched type classes
2013-08-26 23:29:24 +03:00
Zahary Karadjov
ca3a4ce672
hacky fix for generic constraints matching
2013-08-19 01:48:25 +03:00
Zahary Karadjov
19eeb3556e
remerge "allow void as field type"
2013-08-19 01:29:01 +03:00
Zahary Karadjov
dfb5cb3c5d
remerge "Fixes #267 "
2013-08-19 01:26:37 +03:00
Araq
3e0899359b
new evaluation engine: next steps
2013-07-25 08:37:37 +02:00
Araq
b1d4dfa6b1
fixes #544
2013-07-24 22:32:09 +02:00
Araq
a8ba628bcd
Revert "fixes #267 "
...
This reverts commit 7fccdedcb5 .
2013-05-27 23:20:41 +02:00
Araq
ede5ce9ac1
Revert "allow void as a field type"
...
This reverts commit aea27a7ce4 .
2013-05-27 23:19:44 +02:00
Zahary Karadjov
aea27a7ce4
allow void as a field type
2013-05-26 11:14:23 +03:00
Zahary Karadjov
7fccdedcb5
fixes #267
2013-05-26 11:14:23 +03:00
Zahary Karadjov
b3103c4657
fixes #429 and tstmtexpr
2013-05-12 21:01:39 +03:00
Araq
56045ad7ff
bugfixes mostly JS related
2013-05-01 14:48:40 +02:00
Araq
adc75d0201
first version of commonType
2013-04-22 16:03:28 +02:00