ВСрсия Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Nim 1.2.0

Π˜Π·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΎΡ‚ вСрсия Π½Π° систСмния Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Nim 1.2. Π•Π·ΠΈΠΊΡŠΡ‚ Nim ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° статично писанС ΠΈ Π΅ създадСн с ΠΏΠΎΠ³Π»Π΅Π΄ Π²ΡŠΡ€Ρ…Ρƒ Pascal, C++, Python ΠΈ Lisp. Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄ Π½Π° Nim сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° Π² C, C++ ΠΈΠ»ΠΈ JavaScript прСдставянС. ВпослСдствиС получСният C/C++ ΠΊΠΎΠ΄ сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° Π² изпълним Ρ„Π°ΠΉΠ», ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° всСки Π½Π°Π»ΠΈΡ‡Π΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ (clang, gcc, icc, Visual C++), ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° постигнСтС производитСлност, Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ C, Π°ΠΊΠΎ Π½Π΅ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° боклукчия. Подобно Π½Π° Python, Nim ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС инструмСнти Π·Π° ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° създаванС Π½Π° спСцифични Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅Π·ΠΈΡ†ΠΈ (DSL). Код Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° прСдоставСни ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT.

Π—Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚:

  • Π’Π½Π΅Π΄Ρ€ΠΈ Π½ΠΎΠ² ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ ARC (β€ž-gc:arcβ€œ).
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π° "Π·Π°Ρ…Π°Ρ€β€žΠ”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ макроси Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΈ улавянС.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² макрос "с".
  • Голяма част ΠΎΡ‚ Π½ΠΎΠ²ΠΈ извиквания са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt ΠΈ Π΄Ρ€.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ std/stackframes ΠΈ std/compilesettings.
  • Към ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ β€žβ€”asmβ€œ (Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° гСнСрирания асСмблСрСн ΠΊΠΎΠ΄) ΠΈ β€žβ€”panics:onβ€œ Π·Π° ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΏΡ€ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ IndexError ΠΈ OverflowError, Π±Π΅Π· Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΡ…Π²Π°Π½Π°Ρ‚ΠΈ ΠΎΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° β€žtryβ€œ.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° възмоТни ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½ΠΈΡ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°.

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

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