<commit_before>
nim c --gc:v2 -r -d:useSysAssert -d:useGcAssert -d:smokeCycles -d:useRealtimeGc tests/gc/gctest

- document ``this`` pragma
- https://github.com/nim-lang/Nim/issues/3898

essential for 1.0
=================

- introduce newSeqOfCap(10)
- annotation support for getType()
- overloading of `()` needs to be in .experimental
- find a solution for the  x.f[T](y)  gotcha
- ``concept`` needs to be refined, a nice name for the feature is not enough.
- Destructors need to be refined.
- make '--implicitStatic:on' the default; then we can also clean up the
  'static[T]' mess in the compiler!

- Deprecate ``immediate`` for templates and macros
- document NimMain and check whether it works for threading
- ``not`` or ``~`` for the effects system


Not critical for 1.0
====================

- document and stress test ``.partial`` object declarations
- add "all threads are blocked" detection to 'spawn'
- figure out why C++ bootstrapping is so much slower
- The bitwise 'not' operator cold be renamed to 'bnot' to
  prevent 'not 4 == 5' from compiling. -> requires 'mixin' annotation for procs!
- make 'nil' work for 'add':
  - resizeString
  - incrSeq
  - addChar
- pragmas need 'bindSym' support
- allow simple read accesses to global variables --> difficult to ensure that
  no data races happen
- pragmas need re-work: 'push' is dangerous, 'hasPragma' does not work
  reliably with user-defined pragmas
- memory manager: add a measure of fragmentation
- we need a magic thisModule symbol
- optimize 'genericReset'; 'newException' leads to code bloat<commit_msg>updated todo.txt<commit_after>
nim c --gc:v2 -r -d:useSysAssert -d:useGcAssert -d:smokeCycles -d:useRealtimeGc tests/gc/gctest

- document ``this`` pragma
- https://github.com/nim-lang/Nim/issues/3898

essential for 1.0
=================

- introduce newSeqOfCap(10)
- annotation support for getType()
- overloading of `()` needs to be in .experimental
- find a solution for the  x.f[T](y)  gotcha
- ``concept`` needs to be refined, a nice name for the feature is not enough.
- make '--implicitStatic:on' the default; then we can also clean up the
  'static[T]' mess in the compiler!
- Deprecate ``immediate`` for templates and macros
- document NimMain and check whether it works for threading


Not critical for 1.0
====================

- Destructors need to be refined.
- ``not`` or ``~`` for the effects system
- document and stress test ``.partial`` object declarations
- add "all threads are blocked" detection to 'spawn'
- figure out why C++ bootstrapping is so much slower
- The bitwise 'not' operator cold be renamed to 'bnot' to
  prevent 'not 4 == 5' from compiling. -> requires 'mixin' annotation for procs!
- make 'nil' work for 'add':
  - resizeString
  - incrSeq
  - addChar
- pragmas need 'bindSym' support
- allow simple read accesses to global variables --> difficult to ensure that
  no data races happen
- pragmas need re-work: 'push' is dangerous, 'hasPragma' does not work
  reliably with user-defined pragmas
- memory manager: add a measure of fragmentation
- we need a magic thisModule symbol
- optimize 'genericReset'; 'newException' leads to code bloat
{'fraction_non_alphanumeric': 0.12008871989860583, 'fraction_numerical': 0.008238276299112801, 'mean_word_length': 3.9794952681388014, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5761809', 'n_tokens_mistral': 989, 'n_tokens_neox': 940, 'n_words': 406}