เป€เบ›เบตเบ”เบ•เบปเบงเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก Nim 1.2.0

เปเบ™เบฐเบ™เบณ เบเบฒเบ™เบ›เปˆเบญเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบฅเบฐเบšเบปเบš เบ™เบดเบก 1.2. เบžเบฒเบชเบฒ Nim เปƒเบŠเป‰เบเบฒเบ™เบžเบดเบกเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ เปเบฅเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบ”เป‰เบงเบเบชเบฒเบเบ•เบฒเบ‚เบญเบ‡ Pascal, C++, Python เปเบฅเบฐ Lisp. เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ Nim เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป€เบ›เบฑเบ™ C, C ++, เบซเบผเบทเบเบฒเบ™เบชเบฐเปเบ”เบ‡ JavaScript. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบฅเบฐเบซเบฑเบ” C / C ++ เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ compiler เปƒเบ”เป†เบ—เบตเปˆเบกเบตเบขเบนเปˆ (clang, gcc, icc, Visual C ++), เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบเป‰เบเบฑเบš C, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เบ„เบปเบ™เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ. เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš Python, Nim เปƒเบŠเป‰เบเบฒเบ™เบซเบเปเป‰เปœเป‰เบฒเป€เบ›เบฑเบ™เบ•เบปเบงเบ‚เบฑเป‰เบ™เบšเบฅเบฑเบญเบ. เป€เบ„เบทเปˆเบญเบ‡เบกเบท Metaprogramming เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบžเบฒเบชเบฒเบชเบฐเป€เบžเบฒเบฐเป‚เบ”เป€เบกเบ™ (DSLs) เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™ เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆเบ›เบฐเบเบญเบšเบกเบต:

  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเปƒเบซเบกเปˆ ARC (โ€œ-gc:arcโ€).
  • เบขเบนเปˆเปƒเบ™เป‚เบกเบ”เบนเบ™ "เป‰เปเบฒเบ•เบฒเบ™"เป€เบžเบตเปˆเบก macros เปƒเบซเบกเปˆเป€เบเบฑเบšเบเปเบฒ, dup เปเบฅเบฐ capture.
  • เป€เบžเบตเปˆเบกเบกเบฐเบซเบฒเบžเบฒเบเปƒเบซเบกเปˆ "เบเบฑเบš".
  • เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ—เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เบฅเบงเบกเบ—เบฑเบ‡ strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificate, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt, เปเบฅเบฐเบญเบทเปˆเบ™เป†.
  • เป€เบžเบตเปˆเบกเป‚เบกเบ”เบนเบ™เปƒเบซเบกเปˆ std/stackframes เปเบฅเบฐ std/compilesettings.
  • เบ•เบปเบงเป€เบฅเบทเบญเบ "-asm" (เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ›เบฐเบเบญเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡) เปเบฅเบฐ "-panics:on" เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบญเบญเบเปƒเบ™ IndexError เปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” OverflowError เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ compiler, เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เป‚เบ”เบ "เบžเบฐเบเบฒเบเบฒเบก" handler.
  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบเบงเบ”เบžเบปเบšเบเบฒเบ™เบฅเบปเป‰เบ™เบšเบฑเบšเป€เบŸเบตเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™