Commit Graph

104 Commits

Author SHA1 Message Date
Araq
1f6725e59e small bugfixes to make more tests green 2011-11-02 02:28:18 +01:00
Araq
84c473a890 DLL generation may work again 2011-11-02 01:25:17 +01:00
Araq
22115a2c6a splicing tested and documented 2011-10-28 17:57:58 +02:00
Araq
a0a8934a4f eval context for macros lives as long as the current module is compiled 2011-10-28 01:38:41 +02:00
Araq
9fb36bd20c compilation cache: mostly working; generics not yet 2011-10-25 15:26:36 +02:00
Araq
c138cc36b4 new syntactic construct: a{i} 2011-10-08 02:14:42 +02:00
Araq
e956abbadd slurp uses path; unidecode is improved and threadsafe 2011-10-08 01:17:06 +02:00
Zahary Karadjov
22546c44d1 Basic unit testing facilities (suites, fixtures, cases)
Added: PNimrodNode.lineinfo for better error messages from macros
Added: seq.splice

For easier use from templates and macros, except stament now supports
the list of exception types to be supplied in nkBraket node (array literal).
2011-10-07 17:07:18 +03:00
Araq
da6046dcba bugfix: overloading resolution for typeof 2011-09-27 00:27:51 +02:00
Araq
7c34357856 bugfix: $ escaping in interpolatedFragments 2011-09-26 07:45:33 +02:00
Araq
14968fba46 bugfix: internal error in evalFieldAccess; parseutils.interpolatedFragments optimized; tstringinterp.nim now works 2011-09-26 00:24:06 +02:00
Zahary Karadjov
9acfc43119 using statement (ala C#) implemented as macro (added as test).
simplified the usage of the interpolatedFragments iterator.
2011-09-20 14:13:45 +03:00
Zahary Karadjov
dbcca9b3b9 Moved the parseAST magics to evals.nim
Added string interpolation helper routines in parserutils

Added a proof-of-concept string interpolation user-land macros (currently, only as a test case):
  the interpolated expression could either be transformed to
  concat("literal string ", $(interpolated), " end") or
  "literal string $1 end" % [$(interpolated)]

Added a very initial definition of Optional[T] generic type

A new overload of ParseIdent was added in hope to get around the fact that the 
old one doesn't work correctly in macros, but the problem persists.
2011-09-20 14:13:45 +03:00
Araq
dd190a5c01 more occurences of 'pure' proc pragma fixed 2011-08-20 01:01:46 +02:00
Araq
d560e84fcc locks now in their own core module 2011-08-20 00:24:02 +02:00
Araq
ffefb736d9 small bugfix for eval 2011-08-19 09:07:23 +02:00
Araq
257b16ca34 inlining of 'var openarray' iterators now work 2011-08-18 18:52:05 +02:00
Araq
d5dd4669df further tests for var T result type; ttables test now fails :-( 2011-08-10 01:16:32 +02:00
Araq
7000cf51b7 modifyable results for generics; teventemitter works 2011-08-09 01:40:12 +02:00
Araq
12f22ba68a fixes #35, fixes #43 2011-08-08 01:15:09 +02:00
Araq
dd99fe61c0 documentation for 'var T' as return type 2011-08-01 00:21:16 +02:00
Araq
3e806a374a 'var T' for iterators 2011-07-31 22:39:17 +02:00
Araq
05cffb9370 'is' operator for generic code 2011-07-31 00:55:30 +02:00
Araq
6a8a409f1b preparation for new 'is' operator; breaks bootstrapping again, sorry (use generated C code) 2011-07-31 00:21:32 +02:00
Araq
dce8949b9b bugfix: 'final' not passed to generic 2011-07-29 01:25:05 +02:00
Araq
f622647704 Merge pull request #41 from Amrykid/master
Updated events.nim
2011-07-27 16:15:15 -07:00
Amrykid
79dafe08e3 Renamed new* to init*.
Added example code for documentation.
Fixed a small documentation issue.
Rewrote newEventEmitter...
Updated test.
2011-07-27 18:04:13 -05:00
Araq
2f066395ba bugfixes; step one for 'var T' as return type support 2011-07-28 00:53:52 +02:00
Amrykid
5209469fd7 Updated events.nim to use TEventEmitter instead of PEventEmitter. 2011-07-27 17:39:43 -05:00
Araq
0e7f2ca3f1 bugfixes; added events module, sequtils module 2011-07-26 00:46:41 +02:00
Araq
a6daf71520 old pointer deref operator completely removed 2011-07-23 20:19:05 +02:00
Araq
246b8d18a1 tests repaired; serious typo in the allocator fixed; fixes #32 2011-07-22 23:58:19 +02:00
Araq
569c1ce5ec bugfix: proper cache for generic instantiations 2011-07-21 00:57:39 +02:00
Araq
5b96eaa953 preparations for 0.8.12 2011-07-10 15:48:13 +02:00
Araq
99bcc233cd bugfix: 'set' overloadable; further steps for multi threading support 2011-07-08 01:29:15 +02:00
Araq
5c94a9e1ae tests are green again 2011-06-28 01:31:53 +02:00
Araq
e25384db89 improvements to get code size down for programs that don't use GC 2011-06-26 20:17:19 +02:00
Araq
8b6f9ef5e8 case branches support constant sets for convenience 2011-06-19 17:45:33 +02:00
Araq
9a8b39c85b rebuilt csources; bootstrap should work again 2011-06-15 17:52:04 +02:00
Araq
f7884717c1 bugfix: proper return types for templates 2011-06-15 12:35:47 +02:00
Araq
3bc821aa5c basic generic collections implemented and tested 2011-06-07 03:37:36 +02:00
Araq
42eb21be7b bugfix: generic instantiation across module boundaries 2011-06-06 08:45:11 +02:00
Araq
958961bd8d overloading of [] for derefence operation should be possible now 2011-06-05 13:59:41 +02:00
Araq
5008b44467 bugfixes for semantic checking; thread implementation pushed the compiler 2011-06-04 02:56:55 +02:00
Araq
3260702a60 first steps to thread local heaps 2011-06-02 13:02:40 +02:00
Araq
aeb0506132 thread support: next iteration 2011-05-17 19:22:29 +02:00
Araq
67a30d8371 further steps for thread support; bootstrapping should require unzip C sources and ./build.sh 2011-05-16 00:27:47 +02:00
Araq
7d2b3dd6db fixes #12 2011-05-02 20:42:29 +02:00
Araq
6ff8752be5 cleaned up the tests; fixes #30; fixes #26 2011-05-01 20:11:55 +02:00
Araq
4ba4999bb7 slice support in system.nim; syntactic sugar for tables; cleanup of grammar/parser 2011-04-23 17:11:24 +02:00