Mark Flamer
b27aae4bf9
more whitespace removal
2013-10-21 21:36:53 -07:00
Mark Flamer
129e72de70
remove extra white space
2013-10-21 21:33:34 -07:00
Mark Flamer
01e43fbe83
fix for Issue #626 - Distinct and generics not working together
2013-10-21 11:43:41 -07:00
Araq
40b379859c
resolved the conflict
2013-09-03 23:46:41 +02:00
Araq
891f871ba7
better support for GNU's assembler
2013-09-03 23:44:31 +02:00
zah
6fa72c5d9d
Merge pull request #586 from mflamer/master
...
Add arity typetrait
2013-09-03 09:05:12 -07:00
Mark Flamer
73aba23a49
Add arity typetrait
2013-09-02 18:20:00 -07:00
Zahary Karadjov
6a04757e6d
switching the compiler to the markAndSweep collector
...
This produces faster bootstrapping, works properly for the caas mode
and fixes the Aporia build on a mac
2013-09-03 03:18:09 +03:00
Zahary Karadjov
6082595e96
Merge branch 'type-classes' into upstream
2013-09-03 03:14:56 +03:00
Zahary Karadjov
c8c8d2035a
partially documented the new features
2013-09-03 03:14:22 +03:00
Araq
39da6979ad
use realpath in a posix compliant way
2013-09-01 22:53:02 +02:00
Araq
f2b9af6ae1
bugfix: line information for comments
2013-09-01 18:50:03 +02:00
Araq
a95c0608b9
some fixes for Haiku
2013-09-01 17:29:29 +02:00
Araq
e7f0544154
Merge branch 'master' of github.com:Araq/Nimrod
2013-09-01 15:54:46 +02:00
Araq
6825a69a70
-d:nocaas mode for easier bootstrapping on exotic OSes (Haiku)
2013-09-01 15:54:32 +02:00
Araq
62ed6b0aaf
Merge pull request #580 from gradha/pr_adds_equality_for_arrays
...
Adds equality comparison for arrays.
2013-09-01 01:39:31 -07:00
Araq
8087f51d14
fixes #582
2013-09-01 10:36:13 +02:00
Araq
0464a1071e
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-31 20:45:47 +02:00
Araq
023bd63d39
fixes #398
2013-08-31 20:45:34 +02:00
Zahary Karadjov
b5d833b329
implemented the using statement
2013-08-31 19:40:36 +03:00
Araq
9c6de08db0
fixes #516
2013-08-31 16:45:10 +02:00
Araq
84bd794588
Merge pull request #579 from gradha/pr_fixes_xmltree_macro_docstring
...
Fixes xmltree <> macro docstring.
2013-08-31 07:33:30 -07:00
Araq
b40ab4dc9e
fixes #554 , fixes #179
2013-08-31 11:49:33 +02:00
Araq
1161482ec2
fixes #459
2013-08-31 11:22:49 +02:00
Araq
e698d6255b
fixes #563
2013-08-31 10:03:41 +02:00
Araq
6cc06cd35d
fixes #569 ; C++ codegen works again
2013-08-31 02:07:52 +02:00
Araq
4d9b2f671a
fixes #578
2013-08-30 22:47:14 +02:00
Araq
cf689f7472
bugfix: conversions to float32 are allowed again but of lower priority
2013-08-30 21:47:55 +02:00
Araq
74c24f3e6d
conversions to float32 are allowed again but of lower priority
2013-08-30 21:40:47 +02:00
Araq
0c133b3f02
tester compiles again
2013-08-30 18:14:19 +02:00
Araq
8710118b2c
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-30 12:44:27 +02:00
Araq
a17076cf4f
fixes #572
2013-08-30 12:44:09 +02:00
Araq
7056ceda67
float64 is now an alias to 'float'; fixes #545
2013-08-30 12:24:54 +02:00
Araq
1ad1980f1f
bugfix: 'not x of y' requires ()
2013-08-30 12:16:18 +02:00
Araq
5f943cf4bc
docgen: more newlines in the output to support primitive postprocessors
2013-08-29 23:18:02 +02:00
Zahary Karadjov
01ccb52a00
minor improvement towards tgenericshardcases
2013-08-28 01:10:51 +03:00
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