Commit Graph

56 Commits

Author SHA1 Message Date
Andreas Rumpf
02ff5f596c implemented new experimental scriptable import mechanism 2017-10-01 23:38:23 +02:00
Andreas Rumpf
f7f3a25be8 first steps of making 'opt' a first class type for Nim 2017-09-25 13:19:36 +02:00
Andreas Rumpf
e879da5791 some work to make 'opt' a first class type 2017-09-24 11:21:52 +02:00
Yuriy Glukhov
0755f902dd Corrected tuple type to nkPar for unnamed tuples on getType (#6172) 2017-08-03 10:37:47 +02:00
jcosborn
ec50dab57d fixed macros.getTypeImpl for a symbol of type tyGenericBody (#5788) (#5812)
* fixed macros.getTypeImpl for a symbol of type tyGenericBody
* added test case and commented test code
2017-05-14 15:08:41 +02:00
Zahary Karadjov
0b0a3e5f20 support derived values in non-generic user type classes 2017-03-24 16:58:15 +02:00
Zahary Karadjov
8cd5f1f8f5 introduce tyInferred for the unbound concept type params
* Why is tyInferred needed?

The bindings in TCandidate are capable of inferring types within a single
call expression. In concepts, we need to infer types in the same way, but
across the whole body of the concept.

Previously, once a concept type param was inferred, it was destructively
mutated using t.assignType, but this proved to be problematic in the presence
of overloads, because the bindings established while a non-matching overload
is tested must be reverted/forgotten. tyInferred offers a non-destructive way to
keep track of the inference progress.

While introducing new types usually requires a lot of code paths in the compiler
to updated, currently tyInferred is only a short-lived type within the concept body
pass and it's unlikely to introduce breakage elsewhere in the compiler.
2017-03-24 16:58:15 +02:00
jcosborn
3bffb3ba35 fix getTypeImpl for tyEnum (#5568)
* fixed getTypeImpl for tyEnum
* fixed getType for enum and updated release notes about change
2017-03-19 20:34:27 +01:00
Fabian Keller
e2567e2e03 Fix sigsegv in getTypeImpl for unnamed tuple (#5440)
avoid sigsegv in getTypeImpl for unnamed tuple; fixes #4862
2017-03-02 15:30:19 +01:00
Araq
9d488261df added system.gorgeEx that includes the exitCode; refs #4874; fixes #1994 2017-01-07 02:38:26 +01:00
Araq
c166394024 fixes #5131 2016-12-20 22:42:25 +01:00
Araq
414c2decbe Merge branch 'devel' into sighashes 2016-12-13 12:18:45 +01:00
Araq
dc5e4b018b macros.getType: do not copy symbols if not necessary 2016-12-07 20:08:03 +01:00
Araq
e6c5622aa7 removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes 2016-11-14 23:18:30 +01:00
Andreas Rumpf
6fd27a8a08 Merge pull request #4945 from arnetheduck/cleanup-tyXxx
Cleanup ty xxx
2016-10-24 19:20:02 +02:00
Andreas Rumpf
cceb6c625c Merge pull request #4872 from flyx/gorgefix
Fixes #4871
2016-10-24 17:40:32 +02:00
Jacek Sieka
f5c3eb6a25 clean up tyMutable remnants 2016-10-24 23:30:10 +08:00
Jacek Sieka
b3de34548d clean up tyConst remnants 2016-10-24 23:19:46 +08:00
Jacek Sieka
f488ed973d clean up tyBigNum remnants 2016-10-24 23:11:38 +08:00
Jacek Sieka
6f7b891bdc remove remnants of tyIter 2016-10-24 21:10:48 +08:00
Felix Krause
39f03d816c Fixes #4871 2016-10-09 18:02:48 +02:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Andreas Rumpf
e8aa6f6c30 fixes #4526 2016-08-04 11:15:38 +02:00
Andreas Rumpf
39ebe2175b compiler almost free of deprecated expr/stmt names 2016-07-30 16:34:42 +02:00
Andreas Rumpf
b47d9b7b91 fixes #4371 2016-07-08 10:34:12 +02:00
Andreas Rumpf
5f4e98bbc7 fixes #4395, getType still not entirely correct 2016-06-23 12:41:45 +02:00
Andreas Rumpf
4886cde781 fixes #765 2016-05-31 03:04:45 +02:00
Andreas Rumpf
a406ebbac9 cleanup of #4113 2016-05-28 17:19:44 +02:00
James Osborn
0356f53b56 getTypeInst and getTypeImpl mostly working now and added test 2016-05-04 00:24:44 -05:00
James Osborn
c89397f821 changed getTypeInst handling for distinct types 2016-05-04 00:24:44 -05:00
James Osborn
d462cca21f added getTypeInst which includes generic parameters 2016-05-04 00:24:44 -05:00
Yuriy Glukhov
936265df72 Fixed lineinfo in getType 2015-12-25 01:03:15 +02:00
Araq
cd2fbb5f86 staticExec: redirect stderr to stdout so stderr is returned too 2015-08-16 13:41:26 +02:00
Araq
728fc441ef staticExec now supports caching 2015-07-15 22:00:44 +02:00
Araq
2a1620490c protect against new stupid setlen that doesn't accept -1 anymore 2015-06-25 02:08:57 +02:00
fowlmouth
9700298d07 concept types are represented with getType() 2015-04-13 14:57:23 -05:00
Billingsly Wetherfordshire
1ba785dd74 set type for symbols from getType() 2015-03-27 01:43:28 -05:00
Araq
f9a3de984d macros.getType() works properly for distinct types 2015-03-16 23:02:19 +01:00
Araq
335c19c869 tester reports ignored tests and supports 'nimout'; fixes #2211 2015-02-25 12:59:32 +01:00
Araq
7324ed7f1f types API: now works for proc():void 2015-02-24 01:57:49 +01:00
Araq
752052e903 implements a type API for macros 2015-02-24 00:13:28 +01:00
def
e686ca2523 Fix a few more warnings 2015-02-17 02:22:30 +01:00
Araq
9d9c3fe121 merged things from devel 2014-09-12 01:37:48 +02:00
Reimer Behrends
f9c46b04a6 Properly handle staticExec() generating large output.
A staticExec() invocation that generated more than the internal
buffer size worth of output blocked because the compiler waited
for the process to terminate before reading the output.
2014-09-10 01:22:20 +02:00
Araq
5946747970 updated the compiler to use the new symbol names 2014-08-28 23:48:42 +02:00
Araq
2781fea9e2 Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
Araq
2f43fdb837 renamefest 2014-08-23 01:43:49 +02:00
Reimer Behrends
672e72487b Fixed gorge/staticExec to not strip newlines. 2014-06-22 02:23:31 +02:00
Araq
92b8fac94a case consistency part 4 2013-12-27 23:10:36 +01:00
Araq
29357ab556 more tests are green 2013-12-08 01:47:07 +01:00