Andreas Rumpf a6284a0950 make NimScript more robust; refs #5414 %!s(int64=6) %!d(string=hai) anos
..
nimfix 5348fef003 implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 %!s(int64=6) %!d(string=hai) anos
plugins e07ab06f0a Fix locals() interaction with generic types %!s(int64=6) %!d(string=hai) anos
aliases.nim 05724645f8 more modules compile again %!s(int64=6) %!d(string=hai) anos
ast.nim c735b75f6f compiler cleanup: flag tfOldSchoolExprStmt is gone %!s(int64=6) %!d(string=hai) anos
astalgo.nim 539fc5d58b improve the error message for 'attempt to redefine X'; fixes #447 %!s(int64=6) %!d(string=hai) anos
bitsets.nim c4d7cc3da0 Generate populationCount const at compile time (#7583) %!s(int64=6) %!d(string=hai) anos
btrees.nim 1ed7751dac added btrees.contains %!s(int64=6) %!d(string=hai) anos
canonicalizer.nim 745f1642d6 implement sizeof and alignof operator (manually squashed #5664) (#9356) %!s(int64=6) %!d(string=hai) anos
ccgcalls.nim 1b3725e395 Add `toOpenArray[T](ptr UncheckedArray[T])` for clarity. (#9316) %!s(int64=6) %!d(string=hai) anos
ccgexprs.nim e71410d74e language cleanup: the .unchecked pragma is dead %!s(int64=6) %!d(string=hai) anos
ccgliterals.nim f485ebe162 --gc:destructors: next steps; WIP %!s(int64=6) %!d(string=hai) anos
ccgmerge.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
ccgstmts.nim cf3d206b9e undo try break %!s(int64=6) %!d(string=hai) anos
ccgthreadvars.nim 5ad1acc60c remove the last global variables in the C code generator %!s(int64=6) %!d(string=hai) anos
ccgtrav.nim f485ebe162 --gc:destructors: next steps; WIP %!s(int64=6) %!d(string=hai) anos
ccgtypes.nim e71410d74e language cleanup: the .unchecked pragma is dead %!s(int64=6) %!d(string=hai) anos
ccgutils.nim 34388c5cc5 name mangling: also special case the backslash character %!s(int64=6) %!d(string=hai) anos
cgen.nim 432a4d1787 fixes #5549 %!s(int64=6) %!d(string=hai) anos
cgendata.nim b97a7dbf3d Make the registered passes local to the ModuleGraph (#9259) %!s(int64=6) %!d(string=hai) anos
cgmeth.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
closureiters.nim ee14ace5d3 Field checks for everybody (#8957) %!s(int64=6) %!d(string=hai) anos
cmdlinehelper.nim a6284a0950 make NimScript more robust; refs #5414 %!s(int64=6) %!d(string=hai) anos
commands.nim 73c306258b Nimscript: fixes #9246 [backport] %!s(int64=6) %!d(string=hai) anos
condsyms.nim 963292f725 added system.typeof operation; fixes #9093 %!s(int64=6) %!d(string=hai) anos
configuration.nim 669a564492 remove more global variables in the Nim compiler %!s(int64=6) %!d(string=hai) anos
debuginfo.nim 9c47bb9cc0 happy new year %!s(int64=8) %!d(string=hai) anos
depends.nim b97a7dbf3d Make the registered passes local to the ModuleGraph (#9259) %!s(int64=6) %!d(string=hai) anos
destroyer.nim 16d82c82e3 Remove a hack in the destroyer impl (#9479) %!s(int64=6) %!d(string=hai) anos
dfa.nim 234bed1b38 destructors; fixes #9594 %!s(int64=6) %!d(string=hai) anos
docgen.nim 313bbf5b9b Change documentation details (closes #5525) (#9542) %!s(int64=6) %!d(string=hai) anos
docgen2.nim db95fad6fa Fixes #9364 and add moduleDescription to jsondoc (#9396) %!s(int64=6) %!d(string=hai) anos
evalffi.nim 2a7fc84c86 remove ast.emptyNode global; cleanup configuration.nim %!s(int64=6) %!d(string=hai) anos
evaltempl.nim 48f73aaa1c docgen: fixes #9432 [backport] %!s(int64=6) %!d(string=hai) anos
extccomp.nim 9c88df220a Compile pragma. Recompile on external file compilation failure (#9455) %!s(int64=6) %!d(string=hai) anos
filter_tmpl.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
filters.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
forloops.nim 70ea45cdba deprecated unary '<' %!s(int64=7) %!d(string=hai) anos
gorgeimpl.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
guards.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
hlo.nim 669a564492 remove more global variables in the Nim compiler %!s(int64=6) %!d(string=hai) anos
idents.nim b4e5c9d075 deprecate the .this pragma %!s(int64=6) %!d(string=hai) anos
idgen.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
importer.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
incremental.nim 76aab9baf1 compiler: make symbolfiles feature compile again %!s(int64=6) %!d(string=hai) anos
installer.ini e377c55c10 Cleanup installer.ini (#9558) %!s(int64=6) %!d(string=hai) anos
jsgen.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
jstypes.nim a4e2b0c153 platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals %!s(int64=6) %!d(string=hai) anos
lambdalifting.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
layouter.nim 03005fde99 nimpretty: fixes #9506 %!s(int64=6) %!d(string=hai) anos
lexer.nim 87d60b2a4b nimpretty: fixes #9500 %!s(int64=6) %!d(string=hai) anos
liftlocals.nim 40ec7be45c refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly %!s(int64=6) %!d(string=hai) anos
lineinfos.nim 8fc7cecfa2 compiler: show name of instantiating context in error traces (#6763) (#9207) %!s(int64=6) %!d(string=hai) anos
linter.nim e844e536bf Nim style checker: document the switch; fixes #9564 %!s(int64=6) %!d(string=hai) anos
lists.nim 92c2a51bf7 removed compiler internal list implementation (#5371) %!s(int64=7) %!d(string=hai) anos
llstream.nim 5709736e82 Merge branch 'devel' into araq-better-docgen %!s(int64=6) %!d(string=hai) anos
lookups.nim 539fc5d58b improve the error message for 'attempt to redefine X'; fixes #447 %!s(int64=6) %!d(string=hai) anos
lowerings.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
macrocacheimpl.nim 268260953c completed VM support for incremental compilations %!s(int64=6) %!d(string=hai) anos
magicsys.nim 64517445ea even more strict isNil handling for strings/seqs in order to detect bugs %!s(int64=6) %!d(string=hai) anos
main.nim 73c306258b Nimscript: fixes #9246 [backport] %!s(int64=6) %!d(string=hai) anos
modulegraphs.nim b97a7dbf3d Make the registered passes local to the ModuleGraph (#9259) %!s(int64=6) %!d(string=hai) anos
modulepaths.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
modules.nim 76aab9baf1 compiler: make symbolfiles feature compile again %!s(int64=6) %!d(string=hai) anos
msgs.nim 7a15d2d04b Fixes #9556 (#9604) [backport] %!s(int64=6) %!d(string=hai) anos
ndi.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
nim.cfg 4711b81b86 compiler/nim.cfg: cleanup --path %!s(int64=6) %!d(string=hai) anos
nim.nim 73c306258b Nimscript: fixes #9246 [backport] %!s(int64=6) %!d(string=hai) anos
nimblecmd.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
nimconf.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
nimeval.nim a58c982a49 test case for #9180 and re-enables the disabled tcompilerapi test (#9181) %!s(int64=6) %!d(string=hai) anos
nimlexbase.nim c06f73b484 fixes an off-by-one error for nimpretty %!s(int64=7) %!d(string=hai) anos
nimsets.nim 669a564492 remove more global variables in the Nim compiler %!s(int64=6) %!d(string=hai) anos
nodejs.nim 071ccf3d02 Add "safety compilation". Improved, fixed messages %!s(int64=9) %!d(string=hai) anos
nversion.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
options.nim a6284a0950 make NimScript more robust; refs #5414 %!s(int64=6) %!d(string=hai) anos
packagehandling.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
parampatterns.nim 531c66d1ec Allow taking address of skForVar variables (#8632) %!s(int64=6) %!d(string=hai) anos
parser.nim c735b75f6f compiler cleanup: flag tfOldSchoolExprStmt is gone %!s(int64=6) %!d(string=hai) anos
passaux.nim b97a7dbf3d Make the registered passes local to the ModuleGraph (#9259) %!s(int64=6) %!d(string=hai) anos
passes.nim b97a7dbf3d Make the registered passes local to the ModuleGraph (#9259) %!s(int64=6) %!d(string=hai) anos
pathutils.nim eb2e494a52 fixes #9507 %!s(int64=6) %!d(string=hai) anos
patterns.nim 420ed0596b fixes more nil handling regressions %!s(int64=6) %!d(string=hai) anos
platform.nim af0c497f5d fixes #8081 %!s(int64=6) %!d(string=hai) anos
pluginsupport.nim a325692fb2 refactoring: fewer global variables %!s(int64=6) %!d(string=hai) anos
pragmas.nim e71410d74e language cleanup: the .unchecked pragma is dead %!s(int64=6) %!d(string=hai) anos
prefixmatches.nim 669a564492 remove more global variables in the Nim compiler %!s(int64=6) %!d(string=hai) anos
procfind.nim feef109e60 make tests green again %!s(int64=6) %!d(string=hai) anos
readme.txt 2781fea9e2 Nimrod renamed to Nim %!s(int64=10) %!d(string=hai) anos
renderer.nim dcc3ac74f4 don't crash when rendering wrong nkInfix nodes %!s(int64=6) %!d(string=hai) anos
reorder.nim d48e964950 fixes #9281 %!s(int64=6) %!d(string=hai) anos
rod.nim 621b2db2e8 compiler IC: minor improvements %!s(int64=6) %!d(string=hai) anos
rodimpl.nim cd9bc941e1 incremental compilation: fixes basic caching logic of 'module' table %!s(int64=6) %!d(string=hai) anos
rodutils.nim d0f4a929e0 fixes 8594 (#8721) %!s(int64=6) %!d(string=hai) anos
ropes.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
saturate.nim d681812465 compiler: Trim .nim files trailing whitespace %!s(int64=9) %!d(string=hai) anos
scriptconfig.nim 73c306258b Nimscript: fixes #9246 [backport] %!s(int64=6) %!d(string=hai) anos
sem.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
semasgn.nim e71410d74e language cleanup: the .unchecked pragma is dead %!s(int64=6) %!d(string=hai) anos
semcall.nim c739b9192f produce more helpful error messages when overloading resolution fails %!s(int64=6) %!d(string=hai) anos
semdata.nim 33458894da Fix overload resolution for pragmas evaluation (#8902) %!s(int64=6) %!d(string=hai) anos
semexprs.nim e9ed4dccb6 Quote do now works with result in block (#7343) %!s(int64=6) %!d(string=hai) anos
semfields.nim 84d122b5c8 extended system.type/typeof to support an upcoming 'collect' macro that works much better than sugar.lc %!s(int64=6) %!d(string=hai) anos
semfold.nim e71410d74e language cleanup: the .unchecked pragma is dead %!s(int64=6) %!d(string=hai) anos
semgnrc.nim f6def4286c fixes #8603 %!s(int64=6) %!d(string=hai) anos
seminst.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
semmacrosanity.nim f91a181f58 make tests green again %!s(int64=6) %!d(string=hai) anos
semmagic.nim a2e6a873af fixes #9610 %!s(int64=6) %!d(string=hai) anos
semobjconstr.nim dae5450947 WIP: disallow 'nil' for strings and seqs %!s(int64=6) %!d(string=hai) anos
semparallel.nim ee14ace5d3 Field checks for everybody (#8957) %!s(int64=6) %!d(string=hai) anos
sempass2.nim eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489) %!s(int64=6) %!d(string=hai) anos
semstmts.nim e844e536bf Nim style checker: document the switch; fixes #9564 %!s(int64=6) %!d(string=hai) anos
semtempl.nim 331d1a6ca1 fixes regressions %!s(int64=6) %!d(string=hai) anos
semtypes.nim c735b75f6f compiler cleanup: flag tfOldSchoolExprStmt is gone %!s(int64=6) %!d(string=hai) anos
semtypinst.nim e71410d74e language cleanup: the .unchecked pragma is dead %!s(int64=6) %!d(string=hai) anos
sighashes.nim 0c04b80651 Merge pull request #8966 from LemonBoy/fix-8964 %!s(int64=6) %!d(string=hai) anos
sigmatch.nim c735b75f6f compiler cleanup: flag tfOldSchoolExprStmt is gone %!s(int64=6) %!d(string=hai) anos
sizealignoffsetimpl.nim 0059f16dfb Merge pull request #9511 from krux02/krux02-devel %!s(int64=6) %!d(string=hai) anos
suggest.nim 548fc778c9 .error for routines now can also have a custom error message; improve error message for 'nil' strings %!s(int64=6) %!d(string=hai) anos
syntaxes.nim 1fa22d4cfe removed the undocumented #? strongSpaces parsing mode %!s(int64=6) %!d(string=hai) anos
tccgen.nim 7278f28740 fixes the remaining fixable Nimrod->Nim renamings; closes #2032 %!s(int64=6) %!d(string=hai) anos
transf.nim 24902394f7 VM: don't inject destructor calls, refs #7041 %!s(int64=6) %!d(string=hai) anos
trees.nim 47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change %!s(int64=6) %!d(string=hai) anos
treetab.nim 64517445ea even more strict isNil handling for strings/seqs in order to detect bugs %!s(int64=6) %!d(string=hai) anos
types.nim f9eec2aa1e fixes #9532 %!s(int64=6) %!d(string=hai) anos
typesrenderer.nim 64517445ea even more strict isNil handling for strings/seqs in order to detect bugs %!s(int64=6) %!d(string=hai) anos
vm.nim 24902394f7 VM: don't inject destructor calls, refs #7041 %!s(int64=6) %!d(string=hai) anos
vmdef.nim a7c9533a73 Add int float casts to vm %!s(int64=6) %!d(string=hai) anos
vmdeps.nim 69c0a9c6fb getTypeImpl now returns pragmas for object types (#9538) %!s(int64=6) %!d(string=hai) anos
vmgen.nim 24902394f7 VM: don't inject destructor calls, refs #7041 %!s(int64=6) %!d(string=hai) anos
vmhooks.nim 86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules %!s(int64=6) %!d(string=hai) anos
vmmarshal.nim 64517445ea even more strict isNil handling for strings/seqs in order to detect bugs %!s(int64=6) %!d(string=hai) anos
vmops.nim da178e4090 make `mod` on floats available in the VM (#9591) %!s(int64=6) %!d(string=hai) anos
wordrecg.nim eb3c9e1d1c Added "typeof" and "restrict" to special words. (#9226) %!s(int64=6) %!d(string=hai) anos
writetracking.nim 669a564492 remove more global variables in the Nim compiler %!s(int64=6) %!d(string=hai) anos

readme.txt

This directory contains the Nim compiler written in Nim. Note that this
code has been translated from a bootstrapping version written in Pascal, so
the code is **not** a poster child of good Nim code.