Commit Graph

297 Commits

Author SHA1 Message Date
Araq
405cd7d1fb fixes #904 2014-07-01 02:09:07 +02:00
Araq
3c818c89be fixes #1285 2014-06-30 23:36:46 +02:00
Araq
4220b1c81d Merge branch 'new_spawn' of https://github.com/Araq/Nimrod into new_spawn 2014-06-06 21:11:11 +02:00
Araq
59c18eb743 big rename: Promise -> FlowVar 2014-06-06 07:56:47 +02:00
Araq
2de99653d0 Promises are now refs 2014-06-05 08:46:29 +02:00
Araq
be229163af Merge branch 'new_spawn' of https://github.com/Araq/Nimrod into new_spawn 2014-06-01 22:00:06 +02:00
Araq
40baebebfe pi test compiles, but crashes randomly 2014-06-01 01:45:44 +02:00
Andreas Rumpf
cbe25a41b0 Merge pull request #1229 from Varriount/fix-1203
Fix issue #1203
2014-05-31 22:53:36 +02:00
Clay Sweetser
10e23e9159 Renamed considerAccents to considerQuotedIdent 2014-05-26 10:42:10 -04:00
Clay Sweetser
9d68fe3782 Rename some variables in the isCastable code 2014-05-26 10:16:59 -04:00
Clay Sweetser
c4f77ecd9a Fix issue #1203 2014-05-26 10:13:29 -04:00
Clay Sweetser
6608fcc60f Update 'isCastable' and 'semCast' doc-comments 2014-05-26 10:12:46 -04:00
Araq
030eac86c0 bugfix: regionized pointers in a generic context; renamed 'Future' to 'Promise' 2014-05-25 15:19:46 +02:00
Clay Sweetser
055cdb2cdf Renamed 'considerAcc' to 'considerAccents' for clarity
Added documentation string to 'considerAccents'
Modified renderParamType's assertion to allow nkAcc nodes.
2014-05-24 08:10:40 -04: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
bd705a517f compiler prepared for the new comment handling 2014-04-30 00:53:44 +02:00
Araq
8e08ff559f first version of 'spawn' 2014-04-16 08:44:57 +02:00
Araq
4196757de7 implemented region pointers 2014-04-09 00:33:51 +02:00
Zahary Karadjov
f6f5c9e9e6 propagate semExpr flags in macro/template expansion 2014-04-06 16:55:28 +03:00
Araq
dc2b21e9b2 tsymchoicefield compiles 2014-04-01 08:21:08 +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
09bda74e7d fix #1015 2014-03-20 23:45:31 +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
49b0440c47 make some tests green 2014-03-16 20:42:49 +02: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
ac271e76b1 more robust handling of proc signatures containing inter-param type references 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
cf8fe16a48 fix #715 again
the regression was caused by the introduction of "generic" lambdas
2014-03-16 20:42:06 +02:00
Zahary Karadjov
85fe5e1940 fix #988
trivial crash caused due to unchecked iteration over an empty reclist
2014-03-10 13:04:22 +02:00
Zahary Karadjov
d5798b43de fix #986 2014-03-10 01:57:08 +02:00
Zahary Karadjov
29b7104a53 fix #829; (macros.quote)
the fix is a little bit peculiar:

the inserted call to getAst was getting a false-positive for being a lambda proc,
because lambdalifting.isInnerProc takes into account who is the owner of a given
symbol: (a nested proc is a callable symbol owned by the enclosing proc)
2014-03-09 21:04:12 +02:00
Zahary Karadjov
752352a683 fix #949 2014-03-09 20:47:05 +02:00
Zahary Karadjov
085b339b8b implements higher-order inline iterators and return type inference for iterators 2014-03-08 22:57:06 +02:00
Zahary Karadjov
249dd70273 test cases for the new handling of iterators by the is operator 2014-03-06 23:03:02 +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
Zahary Karadjov
5324c9ebba iterators now return tyIter(T);
tyIter(T) represents an "iteration yielding values of type T"

I'm planning to use that in the context of the `is` operator
supporting predicates such as `C.items is iterator` and also
in the upcoming support for higher-order inline iterators.
2014-03-05 02:23:53 +02:00
Araq
0c31686fec new VM is getting stable 2014-02-24 01:30:40 +01:00
Zahary Karadjov
9dd753f218 quite messy implementation of generic lambdas, needs reworking; fixes #715 2014-02-17 03:03:17 +02:00
Zahary Karadjov
c1f1f84194 fix some regressions caused by tyTypeDesc[tyNone] 2014-02-15 20:44:01 +02:00
Zahary Karadjov
492fa86638 the delegator pragma becomes a set of dot operators 2014-02-15 17:41:35 +02:00
Zahary Karadjov
a158053ae9 fixes #797; generic procs can be used in places expecting matching concrete proc types 2014-02-11 01:14:57 +02:00
Araq
dbc8aa60e3 fixes 'newSeq[T]' instantiation bug 2014-02-09 00:41:53 +01:00
Araq
47e4f9698c fixes #844 2014-02-02 10:00:10 +01:00
Araq
efcbaa965e remove the old tester 2014-02-02 00:45:47 +01:00
Araq
d8d93218fa bugfix: object constructor doesn't allow 'distinct' types 2014-02-01 11:56:21 +01:00
Zahary Karadjov
5a6030a16b the is operator now uses exactly the same algorithm as proc signature matching 2014-01-26 00:45:50 +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