Nim 1.2.0 kutolewa

Toleo jipya la lugha ya programu ya mfumo wa Nim limetolewa. Ina kutopatana kwa sehemu na toleo la 1.0, kwa mfano kwa sababu ya ubadilishaji mkali wa aina. Lakini katika kesi hii kuna bendera -useVersion:1.0.

Ubunifu kuu ni mtoza takataka mpya, unaowezeshwa na -gc:arc chaguo. Mwandishi wa lugha hiyo, Andreas Rumpf, ataandika makala ya kina kuhusu faida za ARC, lakini kwa sasa anakualika usome. na utendaji wake katika FOSDEM, ambayo inaonyesha matokeo ya benchmark.

  • Mkusanyaji sasa anaunga mkono --asm chaguo kwa uchunguzi rahisi zaidi wa msimbo wa kusanyiko uliotolewa.
  • Pragma ya linganishi inaweza kutumika kwenye vigeuzo vya kitu na sehemu, hii ni sawa na aligns katika C/C++.
  • Opereta = sink sasa ni hiari. Mkusanyaji sasa anaweza kutumia mchanganyiko wa =destroy na copyMem kusogeza vitu kwa ufanisi.
  • Ugeuzaji hadi nambari kamili ambazo hazijatiwa saini haziangaliwi wakati wa utekelezaji. Maelezo ndani https://github.com/nim-lang/RFCs/issues/175
  • Sintaksia mpya ya lvalue: var b {.byaddr.} = expr, imeunganishwa kupitia import std/decls
  • Mkusanyaji anaauni swichi mpya -panics:on, ambayo hubadilisha hitilafu za wakati wa kutekelezwa kama vile IndexError au OverflowError kuwa makosa mabaya ambayo hayawezi kupatikana kwa kujaribu. Hii inaweza kuboresha ufanisi wa wakati wa kukimbia na ukubwa wa programu.
  • Msimbo wa JS uliotengenezwa hutumia nafasi pekee badala ya mishmash ya nafasi na vichupo.
  • Mkusanyaji ameongeza usaidizi kwa .localPassc pragma, ambayo inaweza kutumika kushughulikia chaguo maalum za nyuma za C(++) kwa faili ya C(++) ambayo imetolewa kutoka kwa moduli ya sasa ya Nim.
  • Nimpretty haikubali tena hoja hasi ya kuweka ujongezaji, kwani hii ilikuwa ni kuvunja faili.
  • Macro mpya zimeongezwa (kukusanya, dup, kukamata), kuunganishwa kupitia sukari ya kuagiza.

Kwa kuongeza, mabadiliko mengi yameongezwa kwenye maktaba ya kawaida na marekebisho mengi ya hitilafu.

Chanzo: linux.org.ru

Kuongeza maoni