Nim แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ 1.4.0

แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ Nim แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ› แƒกแƒ”แƒฅแƒขแƒ”แƒ›แƒ‘แƒ”แƒ แƒก แƒ’แƒแƒ›แƒแƒกแƒ•แƒšแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—แƒ˜ แƒฌแƒ”แƒšแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ. แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜ Python-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก C++-แƒก แƒฐแƒ’แƒแƒ•แƒก. แฒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ-แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ”แƒœแƒ แƒ“แƒ˜แƒ“แƒแƒ“ แƒแƒ แƒ˜แƒก แƒœแƒแƒกแƒ”แƒกแƒฎแƒ”แƒ‘แƒ˜ (แƒฌแƒ•แƒšแƒ˜แƒšแƒ˜แƒก แƒฌแƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ C/C++/Objective-C/JS-แƒ–แƒ” แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—. แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒ›แƒแƒ™แƒ แƒแƒ”แƒ‘แƒ˜, OOP, แƒ–แƒแƒ’แƒแƒ“แƒ˜, แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ”แƒ‘แƒ˜, แƒชแƒฎแƒ”แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒ“แƒ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜. แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ - MIT.

แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

  • แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒแƒฎแƒแƒšแƒ˜ ORC แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก ARC แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒฌแƒ แƒ˜แƒฃแƒš แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ”แƒ‘แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒ˜แƒ—. แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ --gc:orc แƒแƒคแƒชแƒ˜แƒ˜แƒ—. ARC/ORC แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ.

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ™แƒแƒชแƒ แƒ˜ แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒชแƒ•แƒแƒšแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ {.experimental: "strictFuncs".} แƒžแƒ แƒแƒ’แƒ›แƒ˜แƒก แƒแƒœ --experimental:strictFuncs แƒ’แƒแƒ“แƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—.

  • แƒ”แƒฎแƒšแƒ แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜.

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ .noalias pragma. แƒ˜แƒ’แƒ˜ แƒแƒกแƒแƒฎแƒแƒ•แƒก C แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒก แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒแƒก, แƒ แƒแƒ—แƒ แƒ’แƒแƒ–แƒแƒ แƒ“แƒแƒก แƒแƒ› แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒ.

  • แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒฎแƒšแƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒแƒ“ แƒ˜แƒฅแƒชแƒ”แƒก --warningAsError[X]:on|off-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

  • แƒแƒฎแƒแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ: nim r main.nim [args...], แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ“แƒ แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒก main.nim-แƒก แƒ“แƒ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก --usenimcache-แƒก แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ $nimcache/main$exeExt-แƒจแƒ˜, แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช nim c - r แƒ แƒแƒ—แƒ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒฎแƒ”แƒšแƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ™แƒแƒ“แƒ˜ แƒแƒ  แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜:

nim r แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜/nim.nim --help # แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“
echo 'แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜ os; echo getCurrentCompilerExe()' | nim r - # แƒ”แƒก แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก
nim r แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜/nim.nim --fullhelp # แƒฎแƒ”แƒšแƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”
nim r --nimcache:/tmp main # แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜แƒ /tmp/main

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ˜แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ --hint:msgOrigin, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒแƒ“ แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก/แƒ’แƒแƒ›แƒแƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ—, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒจแƒ™แƒแƒ แƒ, แƒกแƒแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ•แƒ˜แƒ“แƒ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ.

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ --backend:js|c|cpp|objc (แƒแƒœ -b:js, แƒ“แƒ แƒ.แƒจ.) แƒ“แƒ แƒแƒจแƒ, แƒ แƒแƒ—แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒก backend.

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ --usenimcache แƒ“แƒ แƒแƒจแƒ nimcache-แƒจแƒ˜ แƒ‘แƒ˜แƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒขแƒแƒœแƒแƒ“.

  • แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ แƒแƒฎแƒšแƒ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒ˜แƒœแƒ แƒ“แƒ”แƒ™แƒšแƒแƒ แƒแƒชแƒ˜แƒแƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜ แƒ“แƒ”แƒค.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒš แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒแƒก แƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ.

แƒฌแƒงแƒแƒ แƒ: linux.org.ru