Zahary Karadjov
8ba062d952
fix #1016
2014-03-20 23:24:25 +02:00
Zahary Karadjov
b2aa70c6ef
fix #1018
...
Previously, generic types originating from the same body symbol were compared
structurally. The bug illustrates a case, where such a comparison is not correct.
The new approach follows the established method used in typeRel.
2014-03-20 22:27:49 +02: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
d508384d39
fix #1013
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
ca228e46b5
Fix compilation error when using packed pragma with vcc.
2014-03-18 21:23:35 +01: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
Andreas Rumpf
9d4b77a65a
Merge pull request #1003 from flaviut/devel
...
Add token position to `nimrod scan`
2014-03-16 22:08:43 +01:00
Zahary Karadjov
b3da0ab888
fix #1007
2014-03-16 21:44:21 +02: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
da5d88f04e
use g++ and clang++ automatically when compiling to C++
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
7dcf6ff50b
fix #997
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
4d2c948281
fix #1001
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
7080d02af4
allow multi-line expressions using the dot operator
...
this enables parsing of expressions like:
``` Nimrod
s.items
.map(proc (x): auto = x * 2)
.filter do (x) -> auto:
return x % 2 == 0
.group_by((x) => x.length)
```
2014-03-16 20:42:06 +02:00
Zahary Karadjov
63d93ad1ab
grammar fix: allow free-standing expressions such as type(foo) is bar
2014-03-16 20:42:06 +02:00
flaviut
5e47c18e3f
Add token position to nimrod scan
...
A block of the format "linenum:col\t' is added to the start of each token that is printed.
2014-03-14 14:18:38 -04:00
Araq
3e056afb1c
fixes #993
2014-03-13 22:29:48 +01:00
Araq
1c35fb3c89
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
2014-03-13 02:52:51 +01:00
Araq
2fc84325c7
should fix the nkExprColonExpr bug in the vm
2014-03-13 02:52:40 +01:00
Zahary Karadjov
71695ab791
fix tsemistatic
2014-03-11 00:58:27 +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
9fb0755572
further improvements for static generic params; activate the hardest test cases
2014-03-10 00:36:19 +02:00
Zahary Karadjov
45a345e93d
fix #866 ; generic static params
2014-03-09 23:38:17 +02:00
Zahary Karadjov
3dcf735482
fix #909
2014-03-09 22:15:11 +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
eebe0035b5
teach opcLdObj about nkExprColonExpr
2014-03-09 17:06:29 +02:00
Zahary Karadjov
5aa486cf11
few more fixes for static params in macros; new failing test cases for static evaluation
2014-03-09 16:04:58 +02:00
Zahary Karadjov
5820093e58
Merge branch 'devel' of github.com:Araq/Nimrod into devel
2014-03-09 14:02:16 +02:00
Zahary Karadjov
4b09a89758
fix #966
...
test for ``map`` defined as inline iterator
2014-03-09 14:02:01 +02:00
Zahary Karadjov
518b794491
implicit auto return type for inline iterators
2014-03-08 23:27:33 +02:00
Zahary Karadjov
085b339b8b
implements higher-order inline iterators and return type inference for iterators
2014-03-08 22:57:06 +02:00
Araq
dd216755ff
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
2014-03-07 22:28:48 +01:00
Araq
91d842e1ec
implements strongSpaces parsing mode
2014-03-07 22:25:05 +01:00
Zahary Karadjov
2cbe46daff
Merge branch 'devel' of github.com:Araq/Nimrod into devel
2014-03-06 23:25:45 +02:00
Zahary Karadjov
ee1b0d8c67
fix #587
2014-03-06 23:25:04 +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
Araq
5506e8491d
implemented 'union' and 'unchecked' pragmas
2014-03-05 20:19:04 +01:00
Araq
a066e4e5c5
c2nim knows about the 'union' pragma
2014-03-05 20:05:05 +01:00
Araq
3dfb4891c7
bugfix: unreported 'compiles' bug
2014-03-05 08:47:27 +01:00
Araq
4f946cb44e
fixes #942
2014-03-05 08:30:05 +01:00
Araq
aa92669d92
fixes #937
2014-03-05 02:14:53 +01: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