Nim 1.2.0 rhyddhau

Mae fersiwn newydd o iaith raglennu system Nim wedi'i rhyddhau. Mae ganddo anghydnawsedd rhannol Γ’ fersiwn 1.0, er enghraifft oherwydd trosi math llymach. Ond yn yr achos hwn mae baner -useVersion: 1.0.

Y prif arloesedd yw casglwr sbwriel newydd, wedi'i alluogi gan yr opsiwn -gc:arc. Mae awdur yr iaith, Andreas Rumpf, yn mynd i ysgrifennu erthygl fanwl am fanteision ARC, ond am y tro mae'n eich gwahodd i ddarllen gyda'i berfformiad yn FOSDEM, sy'n dangos y canlyniadau meincnod.

  • Mae'r casglwr bellach yn cefnogi'r opsiwn --asm ar gyfer archwiliad mwy cyfleus o'r cod cydosod a gynhyrchwyd.
  • Gellir defnyddio'r pragma aliniad ar newidynnau gwrthrych a meysydd, mae hyn yn debyg i aliniadau yn C/C++.
  • Mae'r gweithredwr =sink bellach yn ddewisol. Gall y casglwr nawr ddefnyddio cyfuniad o =destroy and copyMem i symud gwrthrychau o gwmpas yn effeithlon.
  • Nid yw trawsnewidiadau i gyfanrifau heb eu llofnodi yn cael eu gwirio ar amser rhedeg. Manylion yn https://github.com/nim-lang/RFCs/issues/175
  • Cystrawen newydd ar gyfer lvalue: var b {.byaddr.} = expr, wedi'i gysylltu trwy fewnforio std/decls
  • Mae'r casglwr yn cefnogi switsh newydd -panics:on, sy'n troi gwallau amser rhedeg fel IndexError neu OverflowError yn wallau angheuol na ellir eu dal trwy gynnig. Gall hyn wella effeithlonrwydd amser rhedeg a maint y rhaglen.
  • Mae'r cod JS a gynhyrchir yn defnyddio bylchau yn unig yn hytrach na chymysgedd o fylchau a thabiau.
  • Mae'r casglwr wedi ychwanegu cefnogaeth ar gyfer y pragma .localPassc, y gellir ei ddefnyddio i drin opsiynau backend C(++) arbennig ar gyfer ffeil C(++) a gynhyrchir o'r modiwl Nim cyfredol.
  • Nid yw Nimpretty bellach yn derbyn dadl negyddol dros osod mewnoliad, gan fod hyn yn torri ffeiliau.
  • Mae macros newydd wedi'u hychwanegu (casglu, dup, dal), wedi'u cysylltu trwy fewnforio siwgr.

Yn ogystal, mae llawer o newidiadau wedi'u hychwanegu at y llyfrgell safonol a llawer o atgyweiriadau i fygiau.

Ffynhonnell: linux.org.ru

Ychwanegu sylw