Zahary Karadjov
74a80988d9
proper error reporting for concepts and the introduction of the {.explain.} pragma
2017-03-24 16:59:47 +02:00
Zahary Karadjov
0f2c4be129
infer static parameters even when more complicated arithmetic is involved
2017-03-24 16:58:15 +02:00
Zahary Karadjov
76c663f692
support for inferring static[T] concept params
2017-03-24 16:58:15 +02:00
Zahary Karadjov
815724db71
support the full range of type modifiers when declaring concept vars and testing proc signatures
2017-03-24 16:58:15 +02:00
Araq
ee13c8014b
nimsuggest: track type contexts
2017-03-01 09:57:51 +01:00
Araq
3d46600a90
nimsuggest supports prefix matching (first version)
2017-02-28 09:03:40 +01:00
Andreas Rumpf
46f33515d7
Merge branch 'devel' into faster-nimsuggest
2017-02-24 01:28:50 +01:00
Arne Döring
92c2a51bf7
removed compiler internal list implementation ( #5371 )
2017-02-22 17:33:12 +01:00
Andreas Rumpf
46efaf294b
big compiler refactoring; avoid globals for multi method dispatcher generation
2017-02-22 16:27:52 +01:00
Araq
0440aea691
fixes #5405
2017-02-16 21:30:54 +01:00
Araq
97e26967f1
fixes #5383
2017-02-16 00:43:14 +01:00
Araq
9c47bb9cc0
happy new year
2017-01-07 22:35:09 +01:00
Andreas Rumpf
9c4a60193f
new shift ops for Nim; based on #4743
2016-12-29 12:07:27 +01:00
Andreas Rumpf
01ae0d28d4
recursive modules are only detected to improve error messages
2016-11-24 12:27:21 +01:00
Araq
9e6fb3f696
new dependency tracking for nimsuggest
2016-11-05 01:19:23 +01:00
Araq
773d17cd14
big refactoring: step 1
2016-10-31 15:34:44 +01:00
Andreas Rumpf
f5fa5dae85
generic multi-methods should work now
2016-07-28 20:23:24 +02:00
Andreas Rumpf
e9eab32e54
new language feature: explicit 'import system' statements are allowed
2016-07-07 01:02:12 +02:00
Andreas Rumpf
e52044660d
Merge branch 'patch/fix-3496-generic-tmpl-args' of https://github.com/nanoant/Nim into nanoant-patch/fix-3496-generic-tmpl-args
2016-05-29 23:58:25 +02:00
Andreas Rumpf
6d76df8454
fixes #4227
2016-05-27 19:18:08 +02:00
Andreas Rumpf
38dee2095c
added 'sig' feature; removed tfShared support in the compiler
2016-02-28 19:56:41 +01:00
Andreas Rumpf
1afdefcbe9
added experimental .this pragma
2016-02-28 03:17:20 +01:00
Andreas Rumpf
c1627354d1
first implementation of the new lambda-lifting pass; barely anything works
2015-12-26 00:42:30 +01:00
Adam Strzelecki
47e45dee7e
fixes #3496
...
The problem comes from the fact that macroOrTmpl[...] is transformed by
semSubscript which is trying to evaluate macroOrTmpl identifier in place. This
is okay for non-generic macros or templates, but wrong for generic ones, that
do not have a chance to receive their generic arguments explicitly specified in
brackets.
Solution:
1. macroOrTmpl[...] where macroOrTmpl is non-generic macro or template, then
macroOrTmpl is evaluated before applying brackets. (as before)
2. macroOrTmpl[...] where macroOrTmpl is generic macro or template, then if:
a. It comes from macroOrTmpl[...](...) call expr (efInCall), then macroOrTmpl
is turned into a symbol (efNoEvaluate) rather than evaluating it in place,
then whole bracket expr is returned to semIndirectOp which transforms it
to proper generic macro or template call with explicit generic arguments.
b. macroOrTmpl[...] does not come from call expr, as above macroOrTmpl is
transformed to symbol, then it is transformed into proper generic macro or
template call with explicit generic arguments and no normal arguments.
2015-10-29 23:10:45 +01:00
Araq
c921f30b1d
renamed inCompilesContext to compilesContextId; added test case for #3313
2015-09-18 11:29:43 +02:00
Araq
5b2f54ffa1
fixes #3313
2015-09-18 11:24:16 +02:00
Araq
e01e0a4b40
next steps in binding [] properly
2015-09-13 22:42:21 +02:00
Araq
bcd8053b23
fixes #2585
2015-04-22 20:25:11 +02:00
Araq
e55f5d1fd4
fixes #2505 , fixes #1853 , fixes #2522
2015-04-20 21:25:49 +02:00
Araq
49471440eb
fixes #2481
2015-04-10 14:03:49 +02:00
Araq
78f371c03a
first implementation of overloading of '='; missing: rewriting let/var sections
2015-04-06 23:21:51 +02:00
Araq
5d63ecb3a4
implemented a[^1] notation
2015-03-26 02:12:38 +01:00
Araq
247af96b00
cleaned up some tests
2015-02-10 20:19:45 +01:00
Araq
fe30ec83e2
nimsuggest improvements
2015-01-30 03:04:45 +01:00
Araq
b9079b8713
fixes #1915
2015-01-12 02:00:37 +01:00
Zahary Karadjov
b21b72dc14
fix #1049
2015-01-02 23:58:24 +02:00
Araq
4b7de4dc5e
implemented 'experimental' switch
2014-12-05 10:09:29 +01:00
Araq
7a48942719
nicer error messages (untested)
2014-10-26 19:54:43 +01:00
Araq
1088814e56
deepCopy is instantiated when its corresponding type is instantiated
2014-09-26 09:36:09 +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
Andreas Rumpf
2ec1501c7a
Merge pull request #1281 from Araq/new_spawn
...
New spawn
2014-06-16 23:03:17 +02:00
Clay Sweetser
93fa75bb07
Fixed #1172 (for real)
2014-06-01 17:40:06 -04:00
Araq
40baebebfe
pi test compiles, but crashes randomly
2014-06-01 01:45:44 +02:00
Araq
be6474af63
removed flawed thread analysis pass
2014-04-20 14:00:04 +02:00
Zahary Karadjov
f6f5c9e9e6
propagate semExpr flags in macro/template expansion
2014-04-06 16:55:28 +03:00
Jimmie Houchin
c58ec376b6
fixed parens around getSysType arguments
2014-03-25 17:48:27 -05:00
Zahary Karadjov
4b7655fd10
reference implementation of a vector swizzle library
...
This also provides the initial steps towards support for type class "filtered" type inference
fixes an "ordinal type expected" ICE, related to the use of static params
2014-03-20 01:16:50 +02:00
Zahary Karadjov
cf8fe16a48
fix #715 again
...
the regression was caused by the introduction of "generic" lambdas
2014-03-16 20:42:06 +02:00
Zahary Karadjov
71695ab791
fix tsemistatic
2014-03-11 00:58:27 +02:00