Commit Graph

1085 Commits

Author SHA1 Message Date
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
Zahary Karadjov
a27eb51535 towards support for composite type classes such as seq[Number] and SquareMatrix[T] 2013-12-27 18:34:28 +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
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
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
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
7120491d05 in successful compilations with verbosity:0, all output is suppressed (useful for combing with --run) 2013-12-10 01:49:30 +02:00
Zahary Karadjov
14dd3113a2 fix computed dynlib names; fixes #718 2013-12-09 23:06:11 +02:00
Zahary Karadjov
95a6e01ea8 Merge branch 'master' of github.com:Araq/Nimrod into upstream 2013-12-09 00:26:04 +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
Zahary Karadjov
208924b929 fixes #708
It's unclear to me why for variables were treated as globals.
This is likely to cause many problems, but in this particular case
it was breaking the unittest/insepectArgs recursive function (the
for loop variable has a different value in each stack frame)
2013-12-07 21:23:22 +02:00
Zahary Karadjov
1e26047c3b adding some provisions for writing lower-level unit tests targeting specific sub-systems of the compiler
see sigmatch as an example.
tests are compiled only when the compiler is compiled with -d:selftest
to execute them, just run the resulting binary without arguments
2013-12-07 20:30:44 +02:00
Andreas Rumpf
2264875237 Merge pull request #698 from fowlmouth/smallstdlib
removed x11
2013-12-04 07:52:22 -08:00
Araq
32d2327be0 don't use memset for temps unless necessary 2013-12-03 13:30:58 +01:00
fowlmouth
4f0eeaa55e fixes compiler.lists.bringToFront 2013-12-02 23:47:56 -06:00
Araq
5cb60ffbe0 Merge branch 'master' of github.com:Araq/Nimrod 2013-12-03 01:59:59 +01:00
Araq
fe983b1309 fixes a regression where memset was used without including <string.h> 2013-12-03 01:59:38 +01:00
onionhammer
b5ac234771 Renamed nimrod.cfg to nimrod.nimrod.cfg 2013-12-02 23:57:47 +01:00
Erik O'Leary
e145231a1d Updated cfg file processing
No longer look at deprecated file.cfg, compiler will only look at
file.nimrod.cfg
2013-12-02 23:57:47 +01:00
Araq
5dcfa97fb9 fixes #696 2013-12-01 17:02:56 +01:00
Araq
b3d759ca6d fixes #681 2013-11-30 03:15:14 +01:00
Araq
2dcbc6493a fixes #686 2013-11-29 20:42:12 +01:00
Araq
d0f7db0828 always call the linker; fixes #660 2013-11-19 15:41:20 +01:00
Araq
cd1f96d421 fixes #663 2013-11-19 15:11:44 +01:00
Andreas Rumpf
fb810e25c4 Merge pull request #680 from Varriount/core/fix-generic-crashes
Prevent lambdas from crashing if given implicit generic parameters.
2013-11-19 02:34:22 -08:00
Clay Sweetser
f279d465d0 Prevent lambdas from crashing if given implicit generic parameters.
Fixes issues #599 and #641 (and possibly other generic-related issues)
2013-11-18 17:26:53 -05:00
Zahary Karadjov
a068aaed3c simple unit test and better documentation for the user defined type classes 2013-11-17 22:50:26 +02:00
Zahary Karadjov
4cea15d274 improvements for the is operator; implemented the type lifting rule in user-defined type classes 2013-11-17 16:28:42 +02:00
Zahary Karadjov
31dd66acbf support for multiple test variables and var qualifiers in user-defined type classes 2013-11-13 02:24:08 +02:00
Andreas Rumpf
528f972d17 Merge pull request #631 from mflamer/master
LockFree Hash Table 0.1
2013-10-31 13:43:19 -07: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
Simon Hafner
a352109ade Merge pull request #630 from mflamer/master
remove whitespace
2013-10-22 07:24:35 -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
Andreas Rumpf
a74a93d885 Merge pull request #628 from mflamer/master
fix for Issue #626 - Distinct and generics not working together
2013-10-21 15:37:45 -07:00
Mark Flamer
01e43fbe83 fix for Issue #626 - Distinct and generics not working together 2013-10-21 11:43:41 -07:00
Araq
98defd5a56 fixes #616 2013-10-10 00:55:54 +02:00
Araq
f9861e1fab cooler quote for c2nim 2013-10-10 00:45:15 +02:00
Araq
9bf32ff72d bugfix: package names should not contain '.' 2013-10-07 21:36:31 +02:00
Araq
90d25919f3 implemented top level asm statements 2013-10-07 06:38:04 +02:00
Araq
27215e89f9 Merge branch 'master' of https://github.com/Araq/Nimrod 2013-10-06 00:10:54 +02:00
Araq
ac474a2812 'noStackFrame' implies 'naked' in the generated C code 2013-10-06 00:10:45 +02:00
Andreas Rumpf
b700e0d2f8 Merge pull request #604 from reactormonk/master
moved eqproc to the correct magic position
2013-10-05 12:07:26 -07:00
Araq
422327c010 fixed another semicolon related parsing bug 2013-10-02 07:57:30 +02:00