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
Araq
5506e8491d
implemented 'union' and 'unchecked' pragmas
2014-03-05 20:19:04 +01:00
Araq
614557994e
the compiler is now aware of packages
2014-03-02 23:46:20 +01:00
Araq
6e584c42c2
vm2: new representation of registers
2014-02-21 17:23:37 +01:00
Zahary Karadjov
492fa86638
the delegator pragma becomes a set of dot operators
2014-02-15 17:41:35 +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
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
Zahary Karadjov
a6a18be089
support for parametric user-defined type classes
2014-01-24 14:13:32 +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
1ffae7cbaf
progress towards fixing tgenericshardcases
2014-01-06 00:15:55 +02:00
Zahary Karadjov
789ba107cf
introduce tyFromExpr; fixes #618
2014-01-04 13:10:52 +02:00
Zahary Karadjov
8f3d5a25a6
Templates will pick the candidate in the nearest scope when symbols are mixed-in
2013-12-31 04:04:59 +02:00
Zahary Karadjov
7e24cf26de
handle recursive types during the instantiation of meta types; propagate tfHasMeta more carefully
2013-12-30 16:06:32 +02:00
Zahary Karadjov
fa3bb8d66b
restore return type inference
2013-12-30 00:03:57 +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
Zahary Karadjov
72291875bf
integrate the logic of fixupProcType into ReplaceTypeVars
2013-12-29 16:08:33 +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
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
706266d8b7
case consistency part 3
2013-12-27 21:46:43 +01:00
Zahary Karadjov
a27eb51535
towards support for composite type classes such as seq[Number] and SquareMatrix[T]
2013-12-27 18:34:28 +02:00
Zahary Karadjov
edab4aaad0
better integration of tyStatic into typeRel
2013-12-25 22:29:44 +02:00
Zahary Karadjov
1d02f2ea53
wip type class reforms (the compiler bootstraps fine)
...
* replace tfAny and tfAll with tyAnd and tyOr
* integrate matchTypeClass into typeRel
* introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
2013-12-25 19:25:04 +02:00
Araq
1081c104d0
Merge branch 'vm2' of github.com:Araq/Nimrod into vm2
2013-12-24 01:30:48 +01:00
Satish BD
033938a53a
Correct the spelling of the word 'implicitly'
2013-12-23 04:29:50 +02: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