Nim 1.2.0 шығарылымы

Nim жүйелік бағдарламалау тілінің жаңа нұсқасы шығарылды. Оның 1.0 нұсқасымен ішінара үйлесімсіздігі бар, мысалы, түрлендірудің күштірек болуына байланысты. Бірақ бұл жағдайда -useVersion:1.0 жалауы бар.

Негізгі жаңалық --gc:arc опциясы арқылы қосылған жаңа қоқыс жинағыш. Тілдің авторы Андреас Рампф ARC артықшылықтары туралы егжей-тегжейлі мақала жазмақшы, бірақ әзірге ол оқуды ұсынады FOSDEM баяндамасымен, ол эталондық нәтижелерді көрсетеді.

  • Компилятор енді жасалған ассемблер кодын тексеруді жеңілдету үшін --asm опциясын қолдайды.
  • Туралау прагмасын C/C++ тіліндегі туралауларға ұқсас нысан айнымалылары мен өрістерінде қолдануға болады.
  • =sink операторы енді міндетті емес. Компилятор енді нысандарды тиімді жылжыту үшін =destroy және copyMem тіркесімін пайдалана алады.
  • Белгісіз бүтін сандарға түрлендірулер орындалу уақытында тексерілмейді. Толығырақ https://github.com/nim-lang/RFCs/issues/175
  • Lvalue үшін жаңа синтаксис: var b {.byaddr.} = expr, импорт std/decls арқылы қосылған
  • Компилятор IndexError немесе OverflowError сияқты орындалу уақытының қателерін әрекет кезінде анықталмайтын қауіпті қателерге айналдыратын жаңа --panics:on опциясын қолдайды. Бұл орындалу уақытының тиімділігін және бағдарлама өлшемін жақсарта алады.
  • Жасалған JS коды бос орындар мен қойындылардан тұратын бос орындарды ғана пайдаланады.
  • Компиляторға .localPassc прагмасына қолдау қосылды, оның көмегімен ағымдағы Nim модулінен жасалған C(++) файлы үшін арнайы C(++) сервер параметрлерін өңдеуге болады.
  • Nimpretty енді шегініс үшін теріс аргумент қабылдамайды, себебі бұл файлдарды бұзады.
  • Импорттық қант арқылы қосылған жаңа макростар (жинау, көшіру, түсіру) қосылды.

Сонымен қатар, стандартты кітапханаға көптеген өзгерістер енгізілді және көптеген қателер түзетілді.

Ақпарат көзі: linux.org.ru

пікір қалдыру