Commit Graph

3637 Commits

Author SHA1 Message Date
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
Araq
82af6387d9 bugfix: fixed built-in 'reset' 2011-08-20 15:36:26 +02: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
5cba831c88 'pure' is now 'noStackFrame' for procs 2011-08-19 19:11:58 +02:00
Araq
c7b130b4e2 implemented --nimcache config option; big clean up of magic words 2011-08-19 01:46:24 +02:00