Commit Graph

70 Commits

Author SHA1 Message Date
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
Araq
38ed2373ab fixes #432, fixes #427 2013-05-19 02:49:10 +02:00
Araq
2afadc5c9c first steps to the expr/stmt unification 2013-04-30 02:38:49 +02:00
Araq
3cb3813eed fixes #287; bugfix: subrange checking is performed again 2013-04-12 16:24:58 +02:00
Grzegorz Adam Hankiewicz
72a3e21f28 Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
Araq
78b27ed7fa bugfix: 'indexOf' for tuple fields works 2013-03-11 08:42:35 +01:00
Araq
225d657019 first steps to implement object construction expressions 2013-03-07 01:52:17 +01:00
Araq
5b0d8246f7 make some tests green 2013-03-03 12:05:03 +01:00
Zahary Karadjov
9c8bc3a244 the is operator now works with type classes and type variables
bugfixes:
the DLL tests were failing on Mac OS X, due to an incorrect DynlibFormat
2012-10-03 01:59:49 +03:00
Araq
af7c92c003 term rewriting macros fully implemented; still buggy 2012-09-03 00:55:44 +02:00
Araq
51de278bd4 next steps for tyVarargs/tyOpenArray split 2012-08-14 08:44:26 +02:00
Araq
43f057c5aa got rid of some mAddU64 etc. magics 2012-07-20 07:52:04 +02:00
Araq
832da8a303 equality and hashing for closures 2012-07-17 17:26:02 +02:00
Araq
b4084df434 improved unsigned support 2012-07-14 14:03:13 +02:00
Araq
4966212141 more fixes for new integer promotion rules; fixes #152; fixes #157; fixes #156; fixes #155 2012-07-09 21:11:11 +02:00
Araq
121d4e0fc2 'addSon' for types deprecated for 'int literal type' analysis 2012-07-09 08:09:00 +02:00
Araq
4fbba0a65a changed integer promotion rules; breaks bootstrapping and lots of code 2012-07-08 21:03:47 +02:00
Araq
36247e0947 added devel/logging; weakrefs test; next steps for proper unsigned support 2012-07-05 00:03:33 +02:00
Araq
2900ceae35 changed integer promotion rules; added math.fmod 2012-06-28 08:33:25 +02:00
Zahary Karadjov
e2d38a57ec better support for unsigned integers. 2012-06-11 21:38:01 +03:00
Zahary Karadjov
a1da1f987b Added system.staticExec proc for executing external command at compile-time 2012-06-02 19:51:49 +03:00
Zahary Karadjov
efb53233cb the foundations of a type traits module; better error messages for expr, typedesc and typeclasses params 2012-04-06 13:46:31 +03:00