Zahary Karadjov
52b00630c8
fix tisop
...
Adding nil checks on the exit paths for semCompiles errors.
This was probably not needed before, because semIndirectOp
had a special detection for semCompiles contexts. We could
try to restore these, but wouldn't this just postpone the crashes
until someone tries the same expressions in nimrod check?
One of the previous commits also used errorNode to avoid
returning nil. This may be an alaternative approach.
2013-08-27 01:51:02 +03:00
Zahary Karadjov
9cc23118be
fix tcompiles
2013-08-27 01:01:03 +03:00
Zahary Karadjov
dc33638cb2
proper discrimination between csEmpty and csNoMatch
...
fixes twrongtupleaccess and topaque
2013-08-27 00:08:47 +03:00
Zahary Karadjov
bdeaee4a33
fix tnoop
...
This commit requires further investigation.
Fixing semExpr(nkCall) once and for all to work with sym-choices and to
allow overloading with immediate templates and macros will probably set
this straight too.
2013-08-26 23:43:39 +03:00
Zahary Karadjov
28d9398de7
implemented delegators and improved the error messages of unmatched type classes
2013-08-26 23:29:24 +03:00
Dominik Picheta
c934a33ccd
Implemented ability to connect through proxies for the httpclient module.
2013-08-26 18:02:45 +01:00
Zahary Karadjov
89086a8e19
prevent eval crashes due to PContext-dependent ops not being available in evalConstExpr
2013-08-25 18:11:28 +03:00
Zahary Karadjov
6378fbd66e
working code for simple cases of user-defined type classes
2013-08-25 12:17:40 +03:00
Zahary Karadjov
03577bc936
fix parsing of `proc foo(x: distinct Type)`
2013-08-24 23:44:37 +03:00
Dominik Picheta
18033026cb
Removed outdated bootstrapping info from install.txt
2013-08-23 23:14:27 +01:00
Zahary Karadjov
037a1a3e0f
parsing of user defined type classes
2013-08-23 21:36:56 +03:00
Zahary Karadjov
56d75bd23b
implemented and documented the new typedesc binding rules
2013-08-23 15:43:27 +03:00
Zahary Karadjov
8682ed9bd0
pass-through of static int generic params to arrays when late instantiation is disabled
2013-08-23 01:10:20 +03: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
Grzegorz Adam Hankiewicz
b7b19348a7
Adds equality comparison for arrays.
2013-08-22 23:09:31 +02:00
Grzegorz Adam Hankiewicz
64cf8d3893
Fixes xmltree <> macro docstring.
2013-08-22 23:01:15 +02:00
Araq
a8c8a85135
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-22 19:28:58 +02:00
Araq
cf38d635bf
implemented opcTypeTrait
2013-08-22 19:28:34 +02:00
Araq
3940bd5b84
GC: added static cycleGC checks
2013-08-22 19:20:45 +02:00
Araq
6f1fc1b5ba
fixed and documented computedGoto pragma
2013-08-22 08:38:47 +02:00
Zahary Karadjov
ca3a4ce672
hacky fix for generic constraints matching
2013-08-19 01:48:25 +03:00
Zahary Karadjov
4980ef85e2
check the owners of generic instantiations properly and fix tinvalidclosure
2013-08-19 01:45:16 +03:00
Zahary Karadjov
b01d9b6181
work-in-progress for compiling generics in their owner module
2013-08-19 01:45:16 +03:00
Zahary Karadjov
3e79e9f981
some steps to improve the type mismatches with the new
...
generic instantiation logic
2013-08-19 01:45:16 +03:00
Zahary Karadjov
8b933e470e
fixes iterating over enums
2013-08-19 01:36:04 +03:00
Zahary Karadjov
c6d0611112
Revert "Revert "made some tests green""
2013-08-19 01:35:33 +03:00
Zahary Karadjov
a453d8d64d
Revert "Revert "further fixes for void stripping. fixes tvoid.""
...
This reverts commit d11cf5d191 .
2013-08-19 01:30:17 +03:00
Zahary Karadjov
cefa16ae77
Revert "Revert "fix threading tests""
...
This reverts commit 9c45e33d8c .
2013-08-19 01:29:58 +03:00
Zahary Karadjov
fc858927f0
Revert "Revert "fix tforwardgeneric""
...
This reverts commit e3f93241c3 .
2013-08-19 01:29:47 +03:00
Zahary Karadjov
f760bc243b
Revert "Revert "static and default params for generics""
...
This reverts commit 0662ec4a43 .
2013-08-19 01:29:37 +03:00
Zahary Karadjov
ea54aa386c
Revert "Revert "allow keyword params for the [] and {} operators""
...
This reverts commit b7ea4a7e65 .
2013-08-19 01:29:22 +03:00
Zahary Karadjov
19eeb3556e
remerge "allow void as field type"
2013-08-19 01:29:01 +03:00
Zahary Karadjov
6ddd4e6a3f
Revert "Revert "bugfix: emulated thread vars used in combination with the mark & sweep GC""
...
This reverts commit 75c586bbe1 .
2013-08-19 01:27:05 +03:00
Zahary Karadjov
dfb5cb3c5d
remerge "Fixes #267 "
2013-08-19 01:26:37 +03:00
Zahary Karadjov
f127bc387a
Revert "Revert "test cases for the new features""
...
This reverts commit e1b668c868 .
2013-08-19 01:17:07 +03:00
Araq
50403afb5c
fixes base64 module
2013-08-15 00:22:48 +02:00
Araq
d53f313599
implemented computed goto support
2013-08-13 11:21:02 +02:00
Araq
1633e22aec
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-11 18:48:59 +02:00
Araq
d18c82a9ef
new VM: preparations for evalMacroCall
2013-08-11 18:48:33 +02:00
Araq
db027faf38
fixes a long standing channels bug
2013-08-09 00:25:31 +02:00
Araq
a294d45fd6
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-08 21:11:20 +02:00
Araq
288cd05f89
new VM: register allocator bugfix; implemented more magics
2013-08-08 21:10:54 +02:00
Zahary Karadjov
5dfc0d0d19
Take into account dirty buffers in suggest output; Fixes zah/nimrod.vim#14
2013-08-07 18:58:46 +03:00
Araq
06b3852143
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-07 01:40:37 +02:00
Araq
aefa0da8a6
new VM: implemented constructors and jump optimizer
2013-08-07 01:40:08 +02:00
Araq
ee9aee6c00
bugfix createDir for solaris
2013-08-07 01:36:15 +02:00
Zahary Karadjov
5c32156a71
fixes #534
2013-08-07 00:01:58 +03:00
fenekku
0ec9e3aeb7
glColor*v now accept vector as input (as in original lib)
2013-08-04 18:30:22 -04:00
Dominik Picheta
015b814e6a
Updated bootstrap instructions. Removed csources.zip.
2013-08-04 22:24:21 +01:00
Dominik Picheta
201e4d2835
Modified the behaviour of the build scripts to accommodate new C sources
...
repo.
2013-08-04 19:41:20 +01:00