ВСрсия Π½Π° Nim 1.2.0

ИзлСзС Π½ΠΎΠ²Π° вСрсия Π½Π° систСмния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ Nim. Има частична Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с вСрсия 1.0, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΠΎ-силно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅. Но Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠΌΠ° Ρ„Π»Π°Π³ -useVersion:1.0.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° иновация Π΅ Π½ΠΎΠ² ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΎΡ‚ опцията --gc:arc. ΠΠ²Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° Π΅Π·ΠΈΠΊΠ° АндрСас Π ΡƒΠΌΠΏΡ„ Ρ‰Π΅ напишС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° статия Π·Π° ΠΏΠΎΠ»Π·ΠΈΡ‚Π΅ ΠΎΡ‚ ARC, Π½ΠΎ засСга ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ с нСговия Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ Π·Π° FOSDEM, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°.

  • ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° опцията --asm, Π·Π° Π΄Π° улСсни изслСдванСто Π½Π° произвСдСния асСмблСрСн ΠΊΠΎΠ΄.
  • ΠŸΡ€Π°Π³ΠΌΠ°Ρ‚Π° align ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° aligns Π² C/C++.
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ =sink Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° комбинация ΠΎΡ‚ =destroy ΠΈ copyMem Π·Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ прСмСстванС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ.
  • ΠšΠΎΠ½Π²Π΅Ρ€ΡΠΈΠΈΡ‚Π΅ Π² Ρ†Π΅Π»ΠΈ числа Π±Π΅Π· Π·Π½Π°ΠΊ Π½Π΅ сС провСряват ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π² https://github.com/nim-lang/RFCs/issues/175
  • Нов синтаксис Π·Π° lvalue: var b {.byaddr.} = expr, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Ρ‡Ρ€Π΅Π· import std/decls
  • ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π½ΠΎΠ²Π° опция --panics:on, която ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС ΠΊΠ°Ρ‚ΠΎ IndexError ΠΈΠ»ΠΈ OverflowError във Ρ„Π°Ρ‚Π°Π»Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ»ΠΎΠ²Π΅Π½ΠΈ с ΠΎΠΏΠΈΡ‚. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ СфСктивността Π½Π° изпълнСниС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°.
  • ГСнСрираният JS ΠΊΠΎΠ΄ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ вмСсто смСсица ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚Π° .localPassc към ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°, с която ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° управляватС спСциални C(++) Π±Π΅ΠΊΠ΅Π½Π΄ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° C(++) Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΎΡ‚ тСкущия ΠΌΠΎΠ΄ΡƒΠ» Nim.
  • Nimpretty Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π΅Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° ΠΎΡ‚ΡΡ‚ΡŠΠΏ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Π±ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΠ»ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ макроси (ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅, улавянС), ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Ρ…Π°Ρ€.

ОсвСн Ρ‚ΠΎΠ²Π° бяха Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ към стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€