แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Nim 1.4.0

แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแž“แŸƒแž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แŸ’แžšแž–แŸแž“แŸ’แž’ Nim แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™ แžŠแŸ‚แž›แžแŸ‚แž€แž‰แŸ’แž‰แžถแž“แŸแŸ‡แž”แŸ’แžšแžถแžšแž–แŸ’แž’แžแžฝแž”แž˜แžฝแž™แž†แŸ’แž“แžถแŸ†แžšแž”แžŸแŸ‹แžแŸ’แž›แžฝแž“แŸ” แž€แŸ†แžŽแŸ‚แžŸแŸ’แžแŸแžšแž—แžถแž–แžŠแŸ†แž”แžผแž„. แž—แžถแžŸแžถแž‚แžบแžŸแŸ’แžšแžŠแŸ€แž„แž‚แŸ’แž“แžถแž“แŸ…แž€แŸ’แž“แžปแž„แžœแžถแž€แŸ’แž™แžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž‘แŸ…แž“แžนแž„ Python แž แžพแž™แžŸแŸ’แž‘แžพแžšแžแŸ‚แžŠแžผแž… C++ แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแŸ” แž™แŸ„แž„โ€‹แž‘แŸ…โ€‹แžแžถแž˜ แžŸแŸ†แžŽแžฝแžšแž‰แžนแž€แž‰แžถแž”แŸ‹ แž—แžถแžŸแžถแžแŸ’แž…แžธแž…แŸ’แžšแžพแž“แž–แžธ (แžแžถแž˜แž›แŸ†แžŠแžถแž”แŸ‹แž“แŸƒแž€แžถแžšแžšแžฝแž˜แž…แŸ†แžŽแŸ‚แž€): แž˜แŸ‰แžผแžŒแžปแž› 3, แžŠแŸแž›แž แŸ’แžœแžธ, แžขแžถแžŠแžถ, แžŸแŸŠแžธ ++, แž—แžธแžแžปแž“, แž›แžธแžŸ, แžขแžผแž”แŸแžšแŸ‰แžปแž“แŸ”


แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‘แžธแž€แž“แŸ’แž›แŸ‚แž„แžŠแŸ„แž™แžŸแžถแžšแžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แž„แž€แŸ’แžšแž„แž“แŸ…แž€แŸ’แž“แžปแž„ C/C++/Objective-C/JS แŸ” แžœแžถแž‚แžถแŸ†แž‘แŸ’แžš แž˜แŸ‰แžถแž€แŸ’แžšแžผ, OOP, แž‘แžผแž‘แŸ…, แž€แžšแžŽแžธแž›แžพแž€แž›แŸ‚แž„, แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž›แŸแžแž€แžผแžŠแž€แŸ’แžแŸ… แž“แžทแž„แž…แŸ’แžšแžพแž“แž‘แŸ€แžแŸ” แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽแŸ– MIT

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŠแŸแžŸแŸ†แžแžถแž“แŸ‹แž”แŸ†แž•แžปแž:

  • แž˜แžถแž“แžขแŸ’แž“แž€แž”แŸ’แžšแž˜แžผแž›แžŸแŸ†แžšแžถแž˜ ORC แžแŸ’แž˜แžธแžŠแŸ‚แž›แž”แŸ’แžšแžพแž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž–แžธ ARC แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž“แŸ…แž–แŸแž›แž‡แžถแž˜แžฝแž™แž‚แŸ’แž“แžถแž“แŸแŸ‡แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžŸแŸแž…แž€แŸ’แžแžธแž™แŸ„แž„แžšแžถแž„แž‡แžถแžšแž„แŸ’แžœแž„แŸ‹แžแžถแž˜แžšแž”แŸ€แž”แž–แžทแžŸแŸแžŸแŸ” แž”แžพแž€แžŠแŸ„แž™แž‡แž˜แŸ’แžšแžพแžŸ -gc:orc แŸ” แžขแŸ†แž–แžธแž—แžถแž–แžแžปแžŸแž‚แŸ’แž“แžถแž“แŸƒ ARC/ORC แž˜แžถแž“แžขแžแŸ’แžแž”แž‘แžŠแŸแžขแžŸแŸ’แž…แžถแžšแŸ’แž™แž˜แžฝแž™แŸ”.

  • แžšแž”แŸ€แž”แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แž˜แžปแžแž„แžถแžšแžŠแŸแžแžนแž„แžšแžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžœแžแŸ’แžแžปแŸ” แž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แžŸแž€แž˜แŸ’แž˜แžแžถแž˜แžšแž™แŸˆ pragma {.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 compiler/nim.nim --help # แž”แžถแž“แž…แž„แž€แŸ’แžšแž„แž‡แžถแž›แžพแž€แžŠแŸ†แž”แžผแž„
แžขแŸแž€แžผ 'แž“แžถแŸ†แž…แžผแž› os; แž”แž“แŸ’แž‘แžš getCurrentCompilerExe()' | nim r - # แžœแžถแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž•แž„แžŠแŸ‚แžšแŸ”
nim r compiler/nim.nim --fullhelp # แžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แžถแžšแž…แž„แž€แŸ’แžšแž„แžกแžพแž„แžœแžทแž‰
nim r โ€”nimcache:/tmp main # binary แžšแž€แŸ’แžŸแžถแž‘แžปแž€แž€แŸ’แž“แžปแž„ /tmp/main

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แŸ†แž“แžฝแž™แžแŸ’แž˜แžธ -hint:msgOrigin แžŠแŸ‚แž›แž“แžนแž„แž”แž„แŸ’แž แžถแž‰แž€แž“แŸ’แž›แŸ‚แž„แžŠแŸ‚แž›แžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„แž”แž„แŸ’แž€แžพแžแžŸแžถแžšแž€แŸ†แž แžปแžŸ/แž€แžถแžšแž–แŸ’แžšแž˜แžถแž“แŸ” แžœแžถแž‡แžฝแž™แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แžœแžถแž˜แžทแž“แž…แŸ’แž”แžถแžŸแŸ‹แžแžถแžŸแžถแžšแž˜แž€แž–แžธแžŽแžถแŸ”

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แž„แŸ‹ -backend:js|c|cpp|objc (แžฌ -b:js แŸ”แž›แŸ”) แžŠแžพแž˜แŸ’แž”แžธแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž•แŸ’แž“แŸ‚แž€แžแžถแž„แž€แŸ’แžšแŸ„แž™แŸ”

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แž„แŸ‹ --usenimcache แžŠแžพแž˜แŸ’แž”แžธแž”แž‰แŸ’แž…แŸแž‰แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‚แŸ„แž›แž–แžธแžšแž‘แŸ… nimcache แŸ”

  • แž‚แŸ’แžšแžถแž”แŸ‹แž…แžปแž…แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแž€แž…แŸแž‰แŸ– --oldNewlines, --laxStrings, --oldast, --oldgensym

  • แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ nimsuggest แžฅแžกแžผแžœแž“แŸแŸ‡แž”แž„แŸ’แž แžถแž‰แž˜แžทแž“แžแŸ’แžšแžนแž˜แžแŸ‚แž€แžถแžšแž”แŸ’แžšแž€แžถแžŸแž˜แžปแž“แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แž‘แŸแž”แŸ‰แžปแž“แŸ’แžแŸ‚แžแŸ‚แž˜แž‘แžถแŸ†แž„แž‘แžธแžแžถแŸ†แž„แžขแž“แžปแžœแžแŸ’แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแŸ†แžŽแžพ def แž•แž„แžŠแŸ‚แžšแŸ”

แž›แžพแžŸแž–แžธแž“แŸแŸ‡ แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‡แžถแž…แŸ’แžšแžพแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ…แž”แžŽแŸ’แžŽแžถแž›แŸแž™แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš แž“แžทแž„แž€แžถแžšแž€แŸ‚แž€แŸ†แž แžปแžŸแž‡แžถแž…แŸ’แžšแžพแž“แŸ”

แž”แŸ’แžšแž—แž–: linux.org.ru