We are proud to announce that Nim 1.6 has been released!
For more details, check the release article: https://nim-lang.org/blog/2021/10/19/version-160-released.html
Hi buddies,
I tried unsuccessfully today to install Nim version 1.6 "cleanly" on Windows 11. There was a hail of error messages.
I'm very happy if someone helps me to get over it.
I did the following on a virgin Windows 11 system (running under VirtualBox):
PS C:UsersrtdieDownloads> .choosenim-0.8.2_windows_amd64.exe stable --firstinstall
Downloading C compiler (Mingw64)
Downloading DLLs (openssl, pcre, ...)
Downloading Nim 1.6.0 from nim-lang.org
PS C:UsersrtdieDownloads>
🥳💖
nim --verbosity:0 --eval:"let msg = \"hurrah for Nim 1.6 and thanks everyone!!!\"; for i in 0 ..< msg.len: echo msg[0 .. i]"
I tried unsuccessfully today to install Nim version 1.6 "cleanly" on Windows 11. There was a hail of error messages.
You should use the official Windows builds.
"You should use the official Windows builds."
I have no idea what you mean by that. Do you mean the manual installation? If i click on https://nim-lang.org/install_windows.html and then on "Manual installation" I get Nim: 1.4.8 Maybe a few more words to explain me that, could help me a lot
If i click on https://nim-lang.org/install_windows.html and then on "Manual installation" I get Nim: 1.4.8
Please retry now. It should point to Nim 1.6.0 now.
Sorry for the inconvenience.
assuming it is still relevant, it might useful to repost here the official nim.cfg @Araq's recommendation from RC1 discussion (should this be added to the release notes?):
--experimental:strictEffects
# Turn on the new refined effect tracking. It enables the new .effectsOf
# annotation for effect polymorphic code ("this code raises if the callback does so").
--experimental:unicodeOperators
# Allow the usage of Unicode operators. I hope that some of
# the scientific computing libraries use this soon.
--experimental:overloadableEnums
# Allow enum field names to be overloaded. I hope some libraries make good use of this feature.
--define:nimPreviewDotLikeOps
# Dot-like operators (operators starting with `.`, but not with `..`)
# now have the same precedence as `.`, so that `a.?b.c` is now parsed as `(a.?b).c`
# instead of `a.?(b.c)`.
--define:nimPreviewFloatRoundtrip
# Enable much faster "floating point to string" operations that also produce
# easier to read floating point numbers.
--gc:orc
# The one and only way to do memory management in modern Nim.
--define:nimStrictDelete
# make system.delete strict for index out of bounds accesses.
I thought that ORC had some performance issues that made it hard to reason using. How has that changed since 1.4?
How does orc perform relative to refc, markAndSweep and arc? roughly speaking I watched the youtube video from NimConf but i assume that is outdated
I thought that ORC had some performance issues that made it hard to reason using. How has that changed since 1.4?
The performance improved but the reason why I advice --gc:orc now is that it's the complete solution, all your dependencies will work with it (assuming the dep has been ported to orc to begin with) so that we avoid ecosystem splits. To avoid Orc's overhead for your own code use the .acyclic (and .cursor) annotations.
"Does the C:\Users\rtdie\.nimble directory exist when it's trying to copy these?"
A perfect Hint, Thank you!
First I created a Dir C:\Users\rtdie\.nimble\bin then I Exclude C:\Users\rtdie\AppData\Local\Temp\ for Defender. After that I run choosenim stable --firstinstall and it worked without any warnings
Congratulations to the nim development team (plus contributors) for yet another fantastic release. This one is so big I wasn't even aware of half the upgrades despite the fact that I build the compiler from devel.
I hope the next release is the release of IC and lazy symbol sem checking, two exciting and necessary features. Good job everyone involved.