Commit Graph

91 Commits

Author SHA1 Message Date
Araq
14354b436f fixes #2599 2015-09-13 23:26:44 +02:00
Araq
d5c5fd425f fixes #3230 2015-09-09 09:39:47 +02:00
Yuriy Glukhov
4ef4ad305c Fixed nimvm in generics. 2015-09-07 13:49:32 +03:00
Yuriy Glukhov
790ef23c48 nimvm is magic 2015-09-04 20:50:29 +03:00
Araq
e1913abdd4 fixes #3140 2015-08-03 00:45:25 +02:00
Araq
f192d5aab3 fixes #3099 2015-07-21 19:00:48 +02:00
Araq
039da42401 fixes #1463 2015-07-01 03:23:23 +02:00
Araq
47dce26886 fixes #2985 2015-06-25 11:42:27 +02:00
rku
87b6220897 Removed magics: mAbsI64 2015-06-10 10:25:36 +03:00
rku
3984fecae6 Removed magics: mBitnotI64 2015-06-10 10:25:36 +03:00
rku
47114342c4 Removed magics: mEqI64 mLtI64 mLeI64 2015-06-10 10:25:36 +03:00
rku
658dcd2a58 Removed magics: mShrI64, mShlI64, mBitandI64, mBitorI64, mBitxorI64
Author:    rku <rokups@zoho.com>
2015-06-10 10:25:36 +03:00
rku
372a5d3cbb Removed magics: mAddI64, mSubI64, mMulI64, mDivI64, mModI64
Author:    rku <rokups@zoho.com>
2015-06-10 10:25:35 +03:00
Araq
e23857a98b fixes #2629, fixes #2641, fixes #2632, fixes #2630 2015-05-03 01:08:52 +02:00
Araq
0f35a997dd minor bugfixes to the new 'len(nil)==0' feature 2015-05-03 01:08:50 +02:00
Araq
16a51ffc97 compiler\ccgexprs.nim
fixes 'nil' literal echoing
2015-05-03 01:08:49 +02:00
Araq
26eae7d00e fixes #2470, fixes #1354 2015-04-28 20:21:53 +02:00
Araq
a7a2fa63aa fixes #2589 2015-04-23 02:08:30 +02:00
Araq
4be0d16520 added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin system to the compiler 2015-04-22 12:04:11 +02:00
Araq
c69d74818e fixes #2550 2015-04-22 12:04:09 +02:00
Araq
4d8750ae8c fixes #2448 2015-04-10 14:40:53 +02:00
Araq
ed0d9e271d disallow negative indexing 2015-03-27 01:30:06 +01:00
Simon Hafner
5ecc461a94 Fixes #2030 2015-01-29 04:40:27 -06:00
Guillaume Gelin
3119fe087d Happy new year! 2015-01-06 15:26:33 +01:00
Araq
73dda8a81d fixes #1638 2014-12-17 21:52:01 +01:00
Araq
105a0616a9 implemented procCall builtin 2014-11-28 02:43:41 +01:00
Araq
5ab3542c18 fixes #939 2014-11-20 22:06:35 +01:00
Araq
57689037c5 fixes #916 2014-11-20 21:39:08 +01:00
Araq
279e897eab bugfix: 'T = ref T' is an illegal recursive type 2014-10-02 16:15:16 +02:00
Araq
c95e47216f Nimrod renamed to Nim 2014-08-28 10:01:20 +02:00
Araq
2f43fdb837 renamefest 2014-08-23 01:43:49 +02:00
Araq
678f3d7f5b fixes constant array indexing bug 2014-06-30 16:45:55 +02:00
Araq
1df344dee3 attempt to fix the bootstrapping 2014-05-06 07:01:15 +02:00
Araq
fab8cee13d minor tweaks; updated todo.txt 2014-04-25 19:54:42 +02:00
EXetoC
171f4a21e8 Fix spawn ICE on invalid argument. 2014-04-20 23:03:31 +02:00
Araq
62a10df765 fixes yet another option type 2014-04-03 07:54:58 +02:00
Araq
6e584c42c2 vm2: new representation of registers 2014-02-21 17:23:37 +01: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
73c6efdf66 'nil' as a statement is deprecated, use an empty 'discard' instead 2014-01-19 16:54:59 +01: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
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
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
Araq
29357ab556 more tests are green 2013-12-08 01:47:07 +01:00
Araq
8710118b2c Merge branch 'master' of github.com:Araq/Nimrod 2013-08-30 12:44:27 +02:00
Araq
7056ceda67 float64 is now an alias to 'float'; fixes #545 2013-08-30 12:24:54 +02: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
Araq
aefa0da8a6 new VM: implemented constructors and jump optimizer 2013-08-07 01:40:08 +02:00
Araq
2c3d1fa954 bugfix: gensym 2013-07-25 21:25:40 +02:00
Araq
b1d4dfa6b1 fixes #544 2013-07-24 22:32:09 +02:00