Zahary Karadjov
b80503814d
fix #188
2014-02-17 00:47:45 +02: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
Araq
47e4f9698c
fixes #844
2014-02-02 10:00:10 +01:00
Zahary Karadjov
5d712e0d3f
Merge branch 'devel' of https://www.github.com/Araq/Nimrod into devel
2014-01-26 01:38:45 +02: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
Araq
37229df7fc
next steps for closure iterators
2014-01-22 17:32:38 +01:00
Araq
4a0aadef4d
parser support anon iterators
2014-01-20 20:07:44 +01:00
Araq
73c6efdf66
'nil' as a statement is deprecated, use an empty 'discard' instead
2014-01-19 16:54:59 +01:00
Zahary Karadjov
02533c260b
fixed #597
2014-01-02 17:55:18 +02:00
Zahary Karadjov
8e0941576f
clean-up some obsolete code; close #602
2013-12-31 12:39:43 +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
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
66a2556525
make more tests green
2013-12-29 00:00:37 +02:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
2df9b442c6
case consistency part 1
2013-12-27 15:48:53 +01:00
Araq
4ffe6a8282
new VM: passes more tests
2013-12-06 01:48:02 +01:00
Araq
5eba93d584
Merge branch 'master' into vm2
...
Conflicts:
compiler/sem.nim
2013-12-05 00:03:27 +01:00
Araq
5dcfa97fb9
fixes #696
2013-12-01 17:02:56 +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
Araq
4cda0861f5
tcnstseq works again
2013-11-07 00:25:54 +01:00
Araq
6a9baf3fd7
compiler bootstraps with new VM
2013-10-15 08:06:54 +02:00
Araq
9de3bc8ef6
improvements for TR macros
2013-09-17 23:43:07 +02:00
Zahary Karadjov
6082595e96
Merge branch 'type-classes' into upstream
2013-09-03 03:14:56 +03:00
Araq
b40ab4dc9e
fixes #554 , fixes #179
2013-08-31 11:49:33 +02:00
Araq
4d9b2f671a
fixes #578
2013-08-30 22:47:14 +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
89086a8e19
prevent eval crashes due to PContext-dependent ops not being available in evalConstExpr
2013-08-25 18:11:28 +03:00
Zahary Karadjov
fee2a7ecfa
Experimental support for delayed instantiation of generics
...
This postpones the semantic pass over the generic's body until
the generic is instantiated. There are several pros and cons for
this method and the capabilities that it enables may still be possible
in the old framework if we teach it a few new trick. Such an attempt
will follow in the next commits.
pros:
1) It allows macros to be expanded during generic instantiation that
will provide the body of the generic. See ``tmacrogenerics``.
2) The instantiation code is dramatically simplified. Dealing with unknown
types in the generic's body pre-pass requires a lot of hacky code and error
silencing in semTypeNode. See ``tgenericshardcases``.
cons:
1) There is a performance penalty of roughly 5% when bootstrapping.
2) Certain errors that used to be detected in the previous pre-pass won't
be detected with the new scheme until instantiation.
2013-08-23 01:10:20 +03:00
Zahary Karadjov
f760bc243b
Revert "Revert "static and default params for generics""
...
This reverts commit 0662ec4a43 .
2013-08-19 01:29:37 +03:00
Araq
731c6f9083
'nimrod pretty' usable
2013-07-31 20:35:04 +02:00
Araq
1bdc0d1dd3
fixes lots of regressions
2013-06-29 10:04:18 +02:00
Araq
2ca05eeb16
var tuple unpacking works at compile time
2013-06-28 08:40:49 +02:00
Araq
d4c91bbd85
improvements for 'not nil' checking
2013-06-13 01:40:11 +02:00
Araq
23ef565a3c
implemented large parts of the 'not nil' checking
2013-06-09 23:29:43 +02:00
Araq
2aaa8f7909
implemented dataflow analysis; activate via --warning[Uninit]:on
2013-06-04 21:58:39 +02:00
Araq
2f5d5e3ba7
fixes #451
2013-06-04 07:48:46 +02:00
Araq
0662ec4a43
Revert "static and default params for generics"
...
This reverts commit 46813bbe4e .
2013-05-27 23:18:38 +02:00
Zahary Karadjov
46813bbe4e
static and default params for generics
2013-05-26 13:59:39 +03:00
Araq
1c9b4e5d33
made some tests green; implemented 'from module import nil'
2013-05-19 23:17:16 +02:00
Araq
7b36d3d6ff
made some tests green
2013-05-19 17:06:11 +02:00
Araq
9f6547ba63
fixes #433
2013-05-18 23:41:44 +02:00
Araq
635ad3b336
Merge branch 'master' of github.com:Araq/Nimrod
2013-05-14 00:59:07 +02:00
Araq
9b9a180947
'inject' for 'for' loop variables
2013-05-14 00:41:07 +02:00
Zahary Karadjov
1d29d24465
documented the `noforward` pragma
2013-05-12 16:14:28 +03:00
Zahary Karadjov
14b5d5f262
merged the persistent scopes work with the delayed proc compilation strategy
2013-05-12 14:41:32 +03:00