Araq
46bbae4745
fixes #1366
2014-09-11 09:53:00 +02:00
Araq
d2dbcf2fa4
progress with futures
2014-05-23 08:57:16 +02:00
Araq
417b9f5a1d
'parallel' statement almost working
2014-05-22 08:41:50 +02:00
Araq
c43e8df90c
progress for the 'parallel' statement
2014-05-14 01:51:44 +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
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
Araq
438703f59e
case consistency: next steps
2013-12-29 01:13:51 +01:00
Zahary Karadjov
66a2556525
make more tests green
2013-12-29 00:00:37 +02:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01: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
Araq
328f193292
new VM: globals kinda work
2013-12-13 01:21:23 +01:00
Araq
6db20a4be8
new VM: improvements
2013-12-12 01:34:01 +01:00
Araq
6a9baf3fd7
compiler bootstraps with new VM
2013-10-15 08:06:54 +02:00
Zahary Karadjov
28d9398de7
implemented delegators and improved the error messages of unmatched type classes
2013-08-26 23:29:24 +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
Zahary Karadjov
7a2b1a7520
get rid of ImportTablePos and ModuleTablePos
2013-05-12 01:20:40 +03:00
Zahary Karadjov
a8e12afc76
test-runner for caas multi-step tests
2013-05-04 01:04:28 +03:00
Araq
c9ed846a43
added system.locals
2013-03-21 21:28:46 +01:00
Zahary Karadjov
badb6c0f66
improved support for typedesc values
...
* can be stored in constants and variables (including in containers like sequences)
* can be passed to and returned from macros
2012-09-25 02:03:15 +03:00
Araq
b5b5e6e76d
distinguish properly between nkOpen and nkClosedSymChoice
2012-08-26 02:47:17 +02:00
Araq
9a7f0cd851
bindSym suffices; no 'bind' for macros anymore
2012-08-25 01:34:50 +02:00
Araq
b595fc8347
better error handling for better idetools support
2012-07-29 23:08:28 +02:00
Araq
8c62903429
better overloading capabilities for 'shallowCopy'; little bugfix for 'system.compiles'
2012-07-29 10:30:35 +02:00
Araq
4fbba0a65a
changed integer promotion rules; breaks bootstrapping and lots of code
2012-07-08 21:03:47 +02:00
Zahary Karadjov
a1da1f987b
Added system.staticExec proc for executing external command at compile-time
2012-06-02 19:51:49 +03:00
Zahary Karadjov
efb53233cb
the foundations of a type traits module; better error messages for expr, typedesc and typeclasses params
2012-04-06 13:46:31 +03:00
Araq
0857efe512
some bugfixes for symbolfiles
2012-03-23 00:16:29 +01:00
Araq
78f4aacde9
pragma blocks; fixed line information issue with user defined assertions
2012-01-17 23:58:18 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
af792da0bb
codegen uses alias analysis to generate better code
2011-12-10 01:06:32 +01:00
Araq
2962ca7890
alias analysis as required for the code gen and the HLO
2011-12-08 23:21:08 +01:00