ΠΠ±ΡΠ°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ 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 # ΡΠΎΡΡΠ°Π²Π΅Π½ Π·Π° ΠΏΡΠ² ΠΏΠ°Ρ
Π΅Ρ
ΠΎ 'ΡΠ²ΠΎΠ· os; Π΅Ρ
ΠΎ getCurrentCompilerExe()' | nim r - # ΠΈ ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°
nim r ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ/nim.nim --fullhelp # Π±Π΅Π· ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ°
nim r βnimcache:/tmp main # Π±ΠΈΠ½Π°ΡΠ΅Π½ Π·Π°ΡΡΠ²Π°Π½ Π²ΠΎ /tmp/main
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ -hint:msgOrigin, ΠΊΠΎΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΊΠ°Π΄Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π» ΠΏΠΎΡΠ°ΠΊΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠ°/ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ΅. ΠΠ²Π° ΠΏΠΎΠΌΠ°Π³Π° ΠΊΠΎΠ³Π° Π½Π΅ Π΅ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΠΎΠ΄ ΠΊΠ°Π΄Π΅ Π΅ ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ°.
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ βbackend:js|c|cpp|objc (ΠΈΠ»ΠΈ -b:js, ΠΈΡΠ½.) Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π».
-
ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ --usenimcache Π·Π° ΠΈΠ·Π»Π΅Π· Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ nimcache.
-
ΠΡΡΡΡΠ°Π½Π΅ΡΠΈ ΠΊΠΎΠΏΡΠΈΡΠ°: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
Π£ΡΠ»ΡΠΆΠ½Π°ΡΠ° Π°Π»Π°ΡΠΊΠ° nimsuggest ΡΠ΅Π³Π° ΡΠ° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π΄-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡΠ°ΡΠ°, ΡΡΠΊΡ ΠΈ Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΠ²Π½ΠΎ Π±Π°ΡΠ°ΡΠ΅.
ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠ·Π²ΠΎΡ: linux.org.ru