Araq
8b5aa221ad
support for multiple modules of the same name; niminst supports 'platforms'; minor bugfixes
2013-09-24 16:07:07 +02:00
Mark Flamer
73aba23a49
Add arity typetrait
2013-09-02 18:20:00 -07: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
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
Araq
fd2a808266
fixes token's column information
2013-07-30 08:45:00 +02:00
Araq
f9426bfcd5
added macros.genSym
2013-07-24 21:58:17 +02:00
Araq
aa88e150da
'modules' module from 'main'; minor bugfixes
2013-07-20 20:17:23 +02:00
Araq
bfbdb1f028
refactorings for the eval engine; bugfix: clean templates as accessors
2013-07-19 22:22:20 +02:00
Araq
1bdc0d1dd3
fixes lots of regressions
2013-06-29 10:04:18 +02:00
Araq
8f0d0250cd
bugfix: typo
2013-06-29 01:51:42 +02:00
Araq
93158a53a8
got rid of debug calls
2013-06-28 23:40:09 +02:00
Araq
a8542fbe06
some small performance improvement for the evaluator
2013-06-28 23:36:43 +02:00
Araq
976d5b18ed
small REPL improvements
2013-06-28 16:40:01 +02:00
Araq
2ca05eeb16
var tuple unpacking works at compile time
2013-06-28 08:40:49 +02:00
Araq
572bfd23c4
fixes #399
2013-05-18 11:41:03 +02:00
Billingsly Wetherfordshire
8e12d1fb57
Update evals.nim
2013-04-25 17:08:59 -05:00
Araq
dc65ccde01
fixes #368
2013-04-08 19:58:16 +02:00
Araq
f9d4e39a12
bugfix evals.nim
2013-04-07 14:12:08 +02:00
Araq
0b1630b46c
optimized evals.nim a bit
2013-04-07 03:23:15 +02:00
Grzegorz Adam Hankiewicz
72a3e21f28
Removes executable bit for text files.
2013-03-16 23:53:07 +01:00
Araq
225d657019
first steps to implement object construction expressions
2013-03-07 01:52:17 +01:00
Araq
cbf82cad7d
made some tests green
2013-03-04 18:50:08 +01:00
Araq
b4232a672f
don't eval wrong code
2013-02-24 13:26:04 +01:00
Araq
1c0c80ef2d
micro optimizations for the evaluation engine
2013-02-14 08:41:48 +01:00
Zahary Karadjov
81a3585872
merged upstream master
2013-01-27 23:41:45 +02:00
Araq
3af5c99336
fixes #293
2013-01-08 20:03:02 +01:00
Araq
88a441ea8e
next steps for FFI at compile time
2013-01-02 01:17:53 +01:00
Araq
9ef367db62
fixed a newly introduced c2nim bug; many untested improvements to the FFI at compile time
2012-12-31 17:53:37 +01:00
Araq
c73d9fdd4c
small examples work with the FFI
2012-12-19 08:44:20 +01:00
Araq
7148812524
first steps for FFI support at compile time
2012-12-19 02:22:39 +01:00
Zahary Karadjov
36e25a6849
CaaS in-memory caching
...
removed some redundant filepath params and variables and
switched to canonical paths in most places
2012-11-28 01:15:13 +02:00
Zahary Karadjov
091c1b3075
caas is now drivable through stdin
...
* added idetools --eval
* streams.readLine recognises and applies the backspace character
2012-11-28 01:15:13 +02:00
Araq
dd9ad9e497
next steps for first class iterators
2012-11-26 02:43:32 +01:00
Zahary Karadjov
32d0ac01dc
AST quasi-quoting for macros
2012-11-11 17:02:13 +02:00
Zahary Karadjov
d9d82fb0af
syntax compatibility between do blocks and stmt blocks
...
See the section `do notation` in the manual for more info.
* nkMacroStmt has been removed
Macro statements are now mapped to regular nkCall nodes.
The support for additional clauses (such as else, except, of, etc)
have been restored - they will now appear as additional arguments
for the nkCall node (as nkElse, nkExcept, etc nodes)
* fixed some regressions in the `is` operator and semCompiles
2012-10-04 15:37:26 +03:00
Araq
cc51581937
next steps for 'compiler as a service'
2012-10-03 21:32:06 +02:00
Zahary Karadjov
2e5265bef5
experimental support for querying the type of expressions within macros
...
normalised the line endings of macros.nim (minor edits otherwise)
2012-10-03 01:59:50 +03:00
Zahary Karadjov
9c8bc3a244
the is operator now works with type classes and type variables
...
bugfixes:
the DLL tests were failing on Mac OS X, due to an incorrect DynlibFormat
2012-10-03 01:59:49 +03: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
Zahary Karadjov
9e4254e4de
type trais used to work only on user-defined types. see #202
2012-09-13 00:33:01 +03:00
Araq
b4844a189d
parameter passing works the same for macros and templates; use callsite magic to access the invokation AST
2012-08-28 22:15:29 +02:00
Araq
9a7f0cd851
bindSym suffices; no 'bind' for macros anymore
2012-08-25 01:34:50 +02:00
Araq
c7ba6f5eb6
implemented 'bind' for macros
2012-08-24 01:18:03 +02:00
Araq
da190876de
next steps to hygienic templates
2012-08-20 08:44:17 +02:00
Araq
5e15dec175
first steps to make templates hygienic
2012-08-20 01:13:13 +02:00
Araq
51de278bd4
next steps for tyVarargs/tyOpenArray split
2012-08-14 08:44:26 +02:00
Araq
244c14db0b
top level closures should work; transf is not a pass anymore; next steps for first class iterator support
2012-08-13 17:07:49 +02:00
Araq
b0c11d3efb
made compiler more robust for idetools support
2012-07-30 17:43:22 +02:00