Commit Graph

392 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
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
Araq
daa2c8732d Merge branch 'master' of github.com:Araq/Nimrod 2011-09-20 00:57:06 +02:00
Araq
fd62116f6e bugfixes for generics; new threads implementation still broken 2011-09-20 00:56:48 +02:00
Keita Haga
8fa8ab5960 lib/wrappers/sphinx.nim: fix typo, use 'shpinx' instead of 'sphinx' 2011-09-09 19:03:33 +09:00
dom96
4896f63129 Some improvements relating to the IRC module. 2011-09-04 20:28:32 +01:00
dom96
fd01772634 Added IRC module. 2011-09-04 19:47:46 +01:00
Araq
dc3ace4f37 Merge branch 'master' of git@github.com:Araq/Nimrod 2011-08-29 01:15:42 +02:00
Araq
b9d0806e3b added actors.nim file; compiler not up for this task 2011-08-29 01:15:29 +02:00
Araq
4839800c22 new actors implementation for nimrod; compiler's generics still not up for the task though 2011-08-29 01:14:26 +02:00
Araq
5112677904 attempt to fix tester.nim file handle leak 2011-08-29 01:13:38 +02:00
Keita Haga
15b1bda82b lib/pure/strutils.nim: fix doc comment for splitLines 2011-08-25 21:04:55 +09:00