summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* minor changes to make the test suite green againZahary Karadjov2012-04-153-14/+7
|
* avoid duplicated variable names in unrolled loopsZahary Karadjov2012-04-152-2/+7
|
* fix threading testsZahary Karadjov2012-04-152-4/+10
|
* fixes #20 properlyZahary Karadjov2012-04-154-38/+36
|
* fix the usage of definedInScope in pegs.=~Zahary Karadjov2012-04-141-1/+1
| | | | | | | | | | | | | | | | template `=~`*(s: string, pattern: TPeg): bool = when not definedInScope(matches): var matches: array[0..maxSubpatterns-1, string] It seems that this never worked as intended. I discovered it now, because when variables' names are preserved, multiple variables named `matches` were created. The reason this happens is that when the template is used as an if condition, the if scope is already entered, but the variables end up in the outer scope. This patch is consistent with how `expr` templates work, but makes the definition of a variable injection template like := a bit harder, yet still possible. (note that if foo := bar(): is still not creating properly scoped variable prior to the patch)
* experimental support for preserving local variable names in the generated codeZahary Karadjov2012-04-136-22/+146
|
* Proper C scopes for if, try and case statementsZahary Karadjov2012-04-123-83/+103
| | | | | | | | | even thought the setjmp implementation for try statement won't be used in C++, using properly scoped variables for them is beneficial, because we'll be able to establish a 1:1 relation between nimrod scopes and C scopes. Once we have that, we'll be able to keep the original names of local variables to greatly improve the debugging experience (i.e. watch expressions and hover tooltips will work).
* C variables are created in their enclosing block instead of their enclosing ↵Zahary Karadjov2012-04-128-151/+180
| | | | function
* re-enable rodfiles tests; fixes #91Zahary Karadjov2012-04-117-6/+25
|
* Merge branch 'master' of github.com:Araq/Nimrod into upstreamZahary Karadjov2012-04-1032-455/+12019
|\
| * generated by cgit-pink 1.4.1-2-gfad0 (git 2.36.2.497.gbbea4dcf42) at 2025-07-17 05:20:41 +0000 mitgraph'>| |
| * C sources rebuilt for BSDAraq2012-04-070-0/+0
| |
| * yet attempt to fix realpath for BSDAraq2012-04-071-1/+1
| |
| * bugfix: expandFilename for BSDAraq2012-04-061-2/+2
| |
| * C sources rebuilt for BSD supportAraq2012-04-063-2/+18
| |
| * small fixes for BSDAraq2012-04-062-1/+4
| |
| * added terminal.isatty; nimgrep version 0.9Araq2012-04-063-8/+39
| |
| * fixed another docgen bug; initial mongodb wrapperAraq2012-04-068-38/+1200
| |
| * better opengl wrapper; oids and endians modules documentedAraq2012-04-047-2529/+2572
| |
| * added libsvm wrapperAraq2012-04-047-0/+253
| |
| * added new OpenGL wrapperAraq2012-04-047-15/+9624
| |
| * Merge branch 'master' of github.com:Araq/NimrodAraq2012-04-0127-176/+394
| |\
| * | added strutils.parseEnum; fixes #95Araq2012-04-014-4/+28
| | |
* | | typetraits module and testsZahary Karadjov2012-04-102-0/+39
| | |
* | | proper order of initialization for .global. variablesZahary Karadjov2012-04-107-3/+62
| | |
* | | completing the "types as first class values" reformZahary Karadjov2012-04-064-40/+50
| | |
* | | the foundations of a type traits module; better error messages for expr, ↵Zahary Karadjov2012-04-068-12/+65
| | | | | | | | | | | | typedesc and typeclasses params
* | | when expressions, proper rendering for nkDo and nkLambda and parser support ↵Zahary Karadjov2012-04-056-19/+55
| | | | | | | | | | | | for x.type and x.addr
* | | Added ``global`` pragma that can be used to introduce new global variables ↵Zahary Karadjov2012-04-056-10/+22
| |/ |/| | | | | from within procs
* | Merge branch 'master' of github.com:Araq/Nimrod into upstreamZahary Karadjov2012-03-3136-109/+1017
|\|
| * forgot to add lib/system/embedded.nimAraq2012-03-311-0/+106
| |
| * bugfix: DLLs should compile againAraq2012-03-311-1/+2
| |
| * implemented support for the AVR CPU and standalone OSAraq2012-03-317-32/+122
| |
| * tests tcnstseq and tcnstseq3 work againAraq2012-03-283-3/+6
| |
| * corrected the index websiteAraq2012-03-282-2/+9
| |
| * bugfix #100 againAraq2012-03-287-14/+12
| |
| * attempt to fix a bug concerning implicit type conversions in case statementsAraq2012-03-274-29/+26
| |
| * added htmlgen to docsAraq2012-03-232-0/+5
| |
| * fixes #102Araq2012-03-232-0/+448
| |
| * bugfix: GC marker procs; making tests green againAraq2012-03-234-4/+10
| |
| * Merge branch 'master' of github.com:Araq/NimrodAraq2012-03-235-6/+257
| |\
| | * Forgot to rename ETimedout to ETimeout in the sockets module in some places.dom962012-03-221-4/+4
| | |
| | * Added benchmark tool and some benchmarks.dom962012-03-223-0/+170
| | |
| | * Fixed a problem with message parsing in the IRC module. Introduced timeout ↵dom962012-03-222-6/+87
| | | | | | | | | | | | to procs in the sockets module.
| * | some bugfixes for symbolfilesAraq2012-03-234-20/+16
| |/
* | typedesc and expr paramsZahary Karadjov2012-03-3114-45/+218
| | | | | | | | | | | | | | | | | | | | | | | | types are now valid proc/template/macro params and you can overload over them: proc foo(T: typedesc) # accept any type proc foo(T: typedesc{int}) # overload specifically for int proc foo(T: typedesc{int or float or Callable}) # overload for any type matching the constraints expr{type} is a param expecting compile time value of the designated type (or type class). when typedesc or expr params are used with a proc, the proc will be instantiated once for each unique type/value used as parameter.
* | genSym support for hygienic macros and templates.Zahary Karadjov2012-03-266-70/+34
| | | | | | | | | | | | | | | | | | example: template hygienic(val: expr) = var `*x` = val echo `*x` *x was chosen as mnemonic for "opposite of public" and thus private
* | generic types can be used like type classes. distinct can be applied to type ↵Zahary Karadjov2012-03-2511-79/+147
| | | | | | | | classes.
* | tyOrdinal now means "integral types". tyTypeClass created to take care of ↵Zahary Karadjov2012-03-227-30/+43
|/ | | | type constraints
* expr params implemented for procs; paving the way for type classesZahary Karadjov2012-03-226-29/+88
|