Araq
8c03d96c6a
bugfixes for the testsuite
2011-11-08 01:57:23 +01:00
Araq
25e813b5d0
bugfixes for the tester; the tester now supports running of single tests
2011-11-08 01:29:29 +01:00
Araq
0b4d5e45b9
tester checks exitcode; osproc additions; DLL fixes; taint mode fixes
2011-11-07 23:25:34 +01:00
Araq
0ce9d49601
better exception behavior for os.removeFile and os.removeDir
2011-11-06 01:59:13 +01:00
Araq
dc08a033d9
memfiles now uses winlean; changed the interface to raise EOS
2011-11-05 12:16:49 +01:00
Zahary Karadjov
2f34e17011
logical typo in the previous commit
2011-11-04 14:50:11 +02:00
Zahary Karadjov
b72480ec88
new kind of AST printer that prints indented trees
...
AST-to-string conversion procs renamed to repr, treeRepr and lispRepr for better consistency
new dumpTree and dumpLisp procs for quick AST inspection of arbitrary nimrod blocks
2011-11-04 04:56:40 +02:00
Zahary Karadjov
4a436120bd
memory-mapped files for posix and windows
2011-11-04 03:49:55 +02:00
dom96
264de4537e
Added ftpclient module. Fixed docs in sockets module. Added dll tests to test suite.
2011-11-04 00:22:04 +00:00
Araq
d819350145
bugfix: new GCC version requires -ldl to come after object files
2011-11-03 20:17:46 +01:00
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
95df3ee1ce
Merge branch 'master' of github.com:Araq/Nimrod
2011-11-02 00:55:45 +01:00
Araq
351e89e705
better code generation for constant aggregates
2011-11-02 00:55:29 +01:00
dom96
e1a82987af
Fixed the tester. Some fixes and additions for the JS backend.
2011-10-31 15:39:01 +00:00
dom96
f5616bcb0b
Fixed issue with some functions in the sockets module not reporting the correct error message. Added more disconnection cases in the irc module, also added a message limiting system.
2011-10-30 18:25:33 +00:00
Araq
22115a2c6a
splicing tested and documented
2011-10-28 17:57:58 +02:00
Araq
2d54b85089
compilation cache: tests now part of test suite
2011-10-27 23:25:34 +02:00
Araq
5e5e4abfee
new compiler option tlsEmulation
2011-10-27 21:03:53 +02:00
Araq
9fb36bd20c
compilation cache: mostly working; generics not yet
2011-10-25 15:26:36 +02:00
Araq
bd1cb9e77b
compilation cache: methods have a chance to work
2011-10-23 11:24:52 +02:00
Araq
2b323c638c
thread local vs. global system.raiseHook
2011-10-23 01:12:24 +02:00
Araq
dce8d3d1ab
rod files: next trivial examples working
2011-10-22 22:49:51 +02:00
Araq
235bd1c474
preparations for proper memmap'ed files
2011-10-22 11:08:52 +02:00
Araq
4de84024e5
much more efficient rod file generation
2011-10-18 17:21:51 +02:00
Zahary Karadjov
b7e8daf65d
libuv working on windows too
...
Added: vcc compilation flags for proper debug symbol generation
2011-10-12 22:40:01 +03:00
Zahary Karadjov
49d924c20b
Added wrappers for joyent's libuv and http_parser librarier
2011-10-12 16:24:23 +03:00
Araq
51e01879ba
'bind' as a declarative statement
2011-10-10 02:04:15 +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
4a444bf6db
*Pimped up* the test runner with colorful output
...
Added: terminal.styledEcho macro
2011-10-07 17:10:04 +03:00
Zahary Karadjov
e3deb5b502
Cleaned up the circular dependecies and remaining issues
...
Changed: The []= operator for strings and sequences is now capable of splicing
2011-10-07 17:10:04 +03: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
42516c0086
code generator supports constant sequences; more consistent compile time evaluation
2011-10-07 09:02:08 +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
Araq
0f37d0e1f2
sockets.recv optimizations; stdlib now supports taint mode
2011-09-24 20:22:53 +02:00
Araq
485c371942
renamed optional to discardable
2011-09-24 19:18:08 +02:00
Araq
92543a3037
more fixes to get rid of tyPureObject
2011-09-24 11:50:46 +02:00
Araq
98e5beb936
got rid of akPureObject
2011-09-24 10:57:35 +02:00
Araq
bd2d146c77
got rid of tyPureObject; broke bootstrapping; use generated C code
2011-09-24 09:35:00 +02:00
Araq
3824b6ea5f
Merge branch 'master' of git@github.com:Araq/Nimrod
2011-09-24 00:46:54 +02:00
Araq
6023e994fb
beginning of a taint mode; type system enhancements
2011-09-24 00:46:41 +02:00
dom96
6deda5a973
Fixed string concatenation and other bugs in the JS backend. Fixed a small bug in the IRC module.
2011-09-23 21:43:24 +01:00
Araq
2359b8b107
fixed some newly introduced bugs
2011-09-21 00:54:13 +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
Zahary Karadjov
9b95ca407d
Some very small steps towards an uuid generation module.
...
I did some basic research on cross-platform UUID generation and didn't want to lose any information, so this code only represents what I learned (uuidMacTime should work tho).
2011-09-20 14:13:45 +03:00
Zahary Karadjov
91351e5996
Initial implementation of the parseExpr, parseStmt, getAst macro routines:
...
proc parseExpr*(s: string) : expr {.magic: "ParseExprToAst".}
## Compiles the passed string to its AST representation
## Expects a single expression
proc parseStmt*(s: string) : stmt {.magic: "ParseStmtToAst".}
## Compiles the passed string to its AST representation
## Expects one or more statements
proc getAst*(macroOrTemplate: expr): expr {.magic: "ExpandMacroToAst".}
## Obtains the AST nodes returned from a macro or template invocation
## example:
## macro FooMacro() =
## var ast = getAst(BarTemplate())
Handling of the node.toYaml magic moved to the evaluation engine.
2011-09-20 14:13:45 +03:00
Zahary Karadjov
d541815e4b
Added AST introspection routines as a part of the standard library
2011-09-20 14:13:45 +03:00