рдирд┐рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ 1.4.0

рдирд┐рдо рдкреНрд░рдгрд╛рд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рдпрд╕ рд╕реЗрдкреНрдЯреЗрдореНрдмрд░рд▓реЗ рдпрд╕рдХреЛ рдПрдХ рд╡рд░реНрд╖рдХреЛ рд╡рд╛рд░реНрд╖рд┐рдХреЛрддреНрд╕рд╡ рдордирд╛рдПрдХреЛ рдЫред рдкрд╣рд┐рд▓реЛ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдгред рднрд╛рд╖рд╛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕рдорд╛ рдкрд╛рдЗрдердирд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫ, рд░ рд▓рдЧрднрдЧ рдкреНрд░рджрд░реНрд╢рдирдорд╛ C++ рдЬрд╕реНрддреИ рдЫред рдпрд╕ рдЕрдиреБрд╕рд╛рд░ рд╕реЛрдзрд┐рдиреЗ рдкреНрд░рд╢реНрди рднрд╛рд╖рд╛рд▓реЗ (рдпреЛрдЧрджрд╛рдирдХреЛ рдХреНрд░рдордорд╛): рдореЛрдбреБрд▓рд╛ 3, рдбреЗрд▓реНрдлреА, рдПрдбрд╛, C++, рдкрд╛рдЗрдерди, рд▓рд┐рд╕реНрдк, рдУрдмреЗрд░реЛрдирдмрд╛рдЯ рдзреЗрд░реИ рдЙрдзрд╛рд░реЛ рд▓рд┐рдиреНрдЫред


C/C++/Objective-C/JS рдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдмреИ рдард╛рдЙрдБрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред рдпрд╕рд▓реЗ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ рдореНрдпрд╛рдХреНрд░реЛ, OOP, рдЬреЗрдиреЗрд░рд┐рдХ, рдЕрдкрд╡рд╛рджрд╣рд░реБ, рддрд╛рддреЛ рдХреЛрдб рд╕реНрд╡реИрдк рд░ рдзреЗрд░реИ рдзреЗрд░реИред рд▓рд╛рдЗрд╕реЗрдиреНрд╕: MITред

рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:

  • рддреНрдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рдирдпрд╛рдБ ORC рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛ рдЫ рдЬрд╕рд▓реЗ ARC рдмрд╛рдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рддрд░ рдПрдХреИ рд╕рдордпрдорд╛ рдЧреЛрд▓рд╛рдХрд╛рд░ рд╕рдиреНрджрд░реНрднрд╣рд░реВрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рддрд░рд┐рдХрд╛рдорд╛ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрджрдЫред -gc:orc рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд╖рдоред ARC/ORC рднрд┐рдиреНрдирддрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдПрдХ рдорд╣рд╛рди рд▓реЗрдЦ рдЫ.

  • рдХрдбрд╛ рдкреНрд░рдХрд╛рд░реНрдп рдкрд░рд┐рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдореЛрдб рдердкрд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рд╡рд╕реНрддреБ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдБрдЪ рд╕рдХреНрд╖рдо рдЧрд░реНрджрдЫред рдкреНрд░рд╛рдЧреНрдорд╛ {.рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ: "strictFuncs"} рдорд╛рд░реНрдлрдд рд╡рд╛ --experimental:strictFuncs рдХреБрдЮреНрдЬреА рдорд╛рд░реНрдлрдд рд╕рдХреНрд░рд┐рдп рдЧрд░рд┐рдпреЛред

  • рдХрд┐рд╡рд░реНрдбрдмрд╛рдЯ рдЕрдм рдЕрдкрд░реЗрдЯрд░рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

  • .noalias pragma рдердкрд┐рдпреЛред рдпрд╕рд▓реЗ рдХреБрдЮреНрдЬреА рд╢рд╡реНрджрд▓реЗ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреЗ рджрдХреНрд╖рддрд╛ рдмрдврд╛рдЙрди C рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд рдХреБрдЮреНрдЬреА рд╢рдмреНрджрдорд╛ рдирдХреНрд╕рд╛ рдмрдирд╛рдЙрдБрдЫред

  • рд╡рд┐рд╢реЗрд╖ рдЪреЗрддрд╛рд╡рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдм --warningAsError[X]:on|off рдорд╛рд░реНрдлрдд рддреНрд░реБрдЯрд┐рд╣рд░реВрдорд╛ рдкрд░рд┐рдгрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

  • рдирдпрд╛рдБ рдЖрджреЗрд╢: nim r main.nim [args...], рдЬрд╕рд▓реЗ main.nim рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдЫ рд░ рдЪрд▓рд╛рдЙрдБрдЫ, рд░ --usenimcache рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рддрд╛рдХрд┐ рдирддрд┐рдЬрд╛ $nimcache/main$exeExt рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ, nim c рдЬрд╕реНрддреИ рдЙрд╣реА рддрд░реНрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реА - рд╕реНрд░реЛрддрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдирднрдПрдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдкреБрди: рд╕рдВрдХрд▓рдирдмрд╛рдЯ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдЙрдиред рдЙрджрд╛рд╣рд░рдг:

nim r compiler/nim.nim --help # рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рд╕рдВрдХрд▓рд┐рдд
рдЗрдХреЛ 'рдЖрдпрд╛рдд рдУрдПрд╕; echo getCurrentCompilerExe()' | nim r - # рдпреЛ рдкрдирд┐ рдХрд╛рдо рдЧрд░реНрджрдЫ
nim r compiler/nim.nim --fullhelp # рдмрд┐рдирд╛ рдкреБрди: рд╕рдВрдХрд▓рди
nim r тАФnimcache:/tmp рдореБрдЦреНрдп # рдмрд╛рдЗрдирд░реА /tmp/main рдорд╛ рдмрдЪрдд рдЧрд░рд┐рдпреЛ

  • рдирдпрд╛рдБ hint -hint:msgOrigin рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ рддреНрд░реБрдЯрд┐/рдЪреЗрддрд╛рд╡рдиреА рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реЗрдХреЛ рджреЗрдЦрд╛рдЙрдиреЗрдЫред рд╕рдиреНрджреЗрд╢ рдХрд╣рд╛рдБрдмрд╛рдЯ рдЖрдпреЛ рднрдиреНрдиреЗ рд╕реНрдкрд╖реНрдЯ рдирднрдПрдорд╛ рдпрд╕рд▓реЗ рдорджреНрджрдд рдЧрд░реНрдЫред

  • рдмреНрдпрд╛рдХрдЗрдиреНрдб рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЭрдгреНрдбрд╛ тАФ рдмреНрдпрд╛рдХрдПрдиреНрдб:js|c|cpp|objc (рд╡рд╛ -b:js, рдЖрджрд┐) рдердкрд┐рдпреЛред

  • nimcache рдорд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрд╛рдЗрдирд░реАрд╣рд░реВрдорд╛ --usenimcache рдЭрдгреНрдбрд╛ рдердкрд┐рдпреЛред

  • рд╣рдЯрд╛рдЗрдПрдХреЛ рдХреБрдЮреНрдЬреАрд╣рд░реВ: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рдЕрдм рдкреВрд░реНрд╡-рдШреЛрд╖рдгрд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, def рдЕрдиреБрд░реЛрдзрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдерд╛рди рдкрдирд┐ рджреЗрдЦрд╛рдЙрдБрдЫред

рдердк рд░реВрдкрдорд╛, рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ рдзреЗрд░реИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдердкрд┐рдПрдХрд╛ рдЫрдиреН рд░ рдзреЗрд░реИ рдмрдЧ рд╕рдорд╛рдзрд╛рдирд╣рд░реВред

рд╕реНрд░реЛрдд: linux.org.ru