Commit graph

461 commits

Author SHA1 Message Date
Zahary Karadjov
5e4ae8dbb4 fix #1858; Add support for generic templates and macros
Implementation notes:
Just after overload resolution, the resolved generic params will be added to the
call expression to be later processed in evalTemplate and evalMacroCall. These
procs have been modified to handle the increased number of parameters, but one
remaining issue is that immediate templates and macros don't go through the same
process. The next commit will outlaw the use of generic parameters with such macros.
2015-01-05 03:53:31 +02:00
Zahary Karadjov
05cbbac4e5 support for static params in the user defined type classes 2015-01-02 23:58:24 +02:00
Araq
7f415b5b11 fixes #1788 2014-12-30 03:05:29 +01:00
Araq
9280473eb1 fixes #1120 2014-12-25 17:22:41 +01:00
Araq
f96e0a7523 fixes #1690 2014-12-18 20:15:40 +01:00
Araq
4b7de4dc5e implemented 'experimental' switch 2014-12-05 10:09:29 +01:00
Araq
e27ab36731 implements 'defer' 2014-12-04 10:12:32 +01:00
Araq
105a0616a9 implemented procCall builtin 2014-11-28 02:43:41 +01:00
Araq
8349cee613 fixes #1055 2014-11-16 20:32:05 +01:00
Araq
78346c2587 astToStr is a special magic 2014-11-14 01:39:53 +01:00
Araq
b781e25ec6 should compile with csources again 2014-10-06 01:01:23 +02:00
Araq
e65c296bcc implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
Araq
e9dec2feed better lock level handling 2014-10-02 02:33:14 +02:00
Araq
d576fbb39a implemented locking levels; still incomplete 2014-09-27 15:06:06 +02:00
Araq
7916b1f9aa implemented 'guard' annotation 2014-09-21 18:39:00 +02:00
Araq
2781fea9e2 Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
Araq
11b6958755 big rename 2014-08-27 23:42:51 +02:00
Araq
2f43fdb837 renamefest 2014-08-23 01:43:49 +02:00
Araq
dbf9117c56 the big renamefest: first steps 2014-08-22 23:54:26 +02:00
Clay Sweetser
f8ea5f1a37 Adds documentation on skipTypes and mapType 2014-08-09 16:40:58 -04:00
Araq
9673e4f2df progress on deepCopy 2014-08-01 23:40:48 +02:00
Araq
a7911addf7 parseBiggestFloat is now builtin 2014-07-16 00:41:03 +02:00
Araq
6d3b632b47 Merge branch 'new_spawn' into devel
Conflicts:
	todo.txt
	web/news.txt
	web/nimrod.ini
2014-07-15 09:37:45 +02:00
Araq
b56f43c394 fixes #898 2014-07-01 22:58:44 +02:00
Araq
85a1d896c2 Merge branch 'devel' of https://github.com/Araq/Nimrod into new_spawn
Conflicts:
	lib/system.nim
2014-06-26 17:19:28 +02:00
Araq
eed443d4b3 rewrote lambdalifting; fixes deeply nested closures 2014-06-26 15:58:41 +02:00
Andreas Rumpf
2ec1501c7a Merge pull request #1281 from Araq/new_spawn
New spawn
2014-06-16 23:03:17 +02:00
Araq
15909c7be2 optimized method dispatchers 2014-06-12 16:05:50 +02:00
Araq
947b152163 some changes 2014-06-09 08:03:54 +02:00
Araq
030eac86c0 bugfix: regionized pointers in a generic context; renamed 'Future' to 'Promise' 2014-05-25 15:19:46 +02:00
Araq
d2dbcf2fa4 progress with futures 2014-05-23 08:57:16 +02:00
Araq
c43e8df90c progress for the 'parallel' statement 2014-05-14 01:51:44 +02:00
Araq
77d5ab1708 bootstraps works again; get rid of compile-time 'rand' (too weird) 2014-05-06 00:17:41 +02:00
Araq
d0438540d0 implemented builtin noncopying slice 2014-05-02 08:44:03 +02:00
Araq
be6474af63 removed flawed thread analysis pass 2014-04-20 14:00:04 +02:00
Araq
3b69a8d27a New concurrency model: next steps 2014-04-19 22:24:43 +02:00
Araq
8e08ff559f first version of 'spawn' 2014-04-16 08:44:57 +02:00
Araq
b961e47bfe new concurrency model: first steps; shared is not a keyword anymore 2014-04-14 08:45:43 +02:00
Araq
78cc4de9a1 fixes #1025; don't know what this breaks 2014-03-26 20:31:18 +01:00
Araq
cdb4d83ead implemented 'borrow dot' feature for distinct types 2014-03-26 01:27:22 +01:00
Zahary Karadjov
8a0509b3b2 implements `distinct with/without X, Y`
This still doesn't work quite right, because some common operations like array
indexing lay completely outside the scope/symbol lookup system - they are not
even magics.
2014-03-20 01:16:50 +02: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
Audun Wilhelmsen
1e45bb79ab Added support for {.packed.} pragma on objects
Added tests for packed and union pragmas
2014-03-18 21:11:57 +01:00
Zahary Karadjov
f0953db3ba handle arbitrary expressions dependent on static input params in proc signatures 2014-03-16 20:42:06 +02:00
Zahary Karadjov
27c2c1e75c fix #996 2014-03-16 20:42:06 +02:00
Zahary Karadjov
37b199d34a first phase of tyGenericParam reforms needed for static params 2014-03-16 20:42:06 +02:00
Zahary Karadjov
71695ab791 fix tsemistatic 2014-03-11 00:58:27 +02:00
Zahary Karadjov
45a345e93d fix #866; generic static params 2014-03-09 23:38:17 +02:00
Zahary Karadjov
2cbe46daff Merge branch 'devel' of github.com:Araq/Nimrod into devel 2014-03-06 23:25:45 +02:00
Zahary Karadjov
862c0ef83d split the inline and closure iterators into different symbol kinds for easier discrimination between them 2014-03-06 21:57:35 +02:00