Nim ์์คํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ ๋ฒ์ ์ด ์ถ์๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ ๊ฐ๋ ฅํ ์ ํ ๋ณํ์ผ๋ก ์ธํด ๋ฒ์ 1.0๊ณผ ๋ถ๋ถ์ ์ผ๋ก ํธํ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋์ด ๊ฒฝ์ฐ -useVersion:1.0 ํ๋๊ทธ๊ฐ ์์ต๋๋ค.
์ฃผ์ ํ์ ์ --gc:arc ์ต์ ์ผ๋ก ํ์ฑํ๋ ์๋ก์ด ๊ฐ๋น์ง ์์ง๊ธฐ์ ๋๋ค. ์ธ์ด์ ์ ์ Andreas Rumpf๋ ARC์ ์ด์ ์ ๋ํ ์์ธํ ๊ธฐ์ฌ๋ฅผ ์์ฑํ ์์ ์ด์ง๋ง ์ง๊ธ์ ๋ค์์ ์ฝ์ ๊ฒ์ ์ ์ํฉ๋๋ค. ๊ทธ์ FOSDEM ๊ฐ์ฐ์ผ๋ก, ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
- ์ด์ ์ปดํ์ผ๋ฌ๋ ์์ฑ๋ ์ด์ ๋ธ๋ฌ ์ฝ๋๋ฅผ ๋ณด๋ค ์ฝ๊ฒ โโ๊ฒ์ฌํ ์ ์๋๋ก --asm ์ต์ ์ ์ง์ํฉ๋๋ค.
- align pragma๋ C/C++์ alignas์ ์ ์ฌํ๊ฒ ๊ฐ์ฒด ๋ณ์ ๋ฐ ํ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- =sink ์ฐ์ฐ์๋ ์ด์ ์ ํ ์ฌํญ์ ๋๋ค. ์ปดํ์ผ๋ฌ๋ ์ด์ =destroy์ copyMem์ ์กฐํฉ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ํจ์จ์ ์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
- ๋ถํธ ์๋ ์ ์๋ก์ ๋ณํ์ ๋ฐํ์์ ํ์ธ๋์ง ์์ต๋๋ค. ์ธ๋ถ ์ ๋ณด https://github.com/nim-lang/RFCs/issues/175
- lvalue์ ์ ๊ตฌ๋ฌธ: var b {.byaddr.} = expr, import std/decls๋ฅผ ํตํด ํฌํจ๋จ
- ์ปดํ์ผ๋ฌ๋ IndexError ๋๋ OverflowError์ ๊ฐ์ ๋ฐํ์ ์ค๋ฅ๋ฅผ try๋ก ํฌ์ฐฉํ ์ ์๋ ์น๋ช ์ ์ธ ์ค๋ฅ๋ก ๋ฐ๊พธ๋ ์๋ก์ด --panics:on ์ต์ ์ ์ง์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐํ์ ํจ์จ์ฑ๊ณผ ํ๋ก๊ทธ๋จ ํฌ๊ธฐ๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ์์ฑ๋ JS ์ฝ๋๋ ๊ณต๋ฐฑ๊ณผ ํญ์ด ๋ค์์ธ ๋์ ๊ณต๋ฐฑ๋ง ์ฌ์ฉํฉ๋๋ค.
- ํ์ฌ Nim ๋ชจ๋์์ ์์ฑ๋ C(++) ํ์ผ์ ๋ํ ํน์ C(++) ๋ฐฑ์๋ ์ต์ ์ ์ฒ๋ฆฌํ ์ ์๋ .localPassc pragma์ ๋ํ ์ง์์ด ์ปดํ์ผ๋ฌ์ ์ถ๊ฐ๋์์ต๋๋ค.
- Nimpretty๋ ๋ ์ด์ ๋ค์ฌ์ฐ๊ธฐ์ ๋ํด ๋ถ์ ์ ์ธ ์ธ์๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์ผ์ด ์์๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๊ฐ์ ธ์ค๊ธฐ ์คํ์ ํตํด ์ฐ๊ฒฐ๋ ์ ๋งคํฌ๋ก(collect, dup, capture)๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๋ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ๋ง์ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค.
์ถ์ฒ : linux.org.ru