Nim бағдарламалау тілі шығарылымы 1.4.0

Биылғы қыркүйекте өзінің бір жылдығын атап өткен Nim жүйелік бағдарламалау тілінің жаңа нұсқасы шығарылды. бірінші тұрақты нұсқасы. Тіл синтаксисі бойынша Python тіліне ұқсас және өнімділігі жағынан C++ сияқты дерлік. Сәйкес FAQ Тіл қатты қарыз алады (үлесі бойынша): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


C/C++/Objective-C/JS тілінде құрастыру мүмкіндігінің арқасында барлық жерде жұмыс істейді. Қолдайды макростар, OOP, генериктер, ерекше жағдайлар, ыстық кодты ауыстыру және тағы басқалар. Лицензия: MIT.

Ең маңызды өзгерістер:

  • Жаңа ORC қоқыс жинағышы бар, ол ARC алгоритмін пайдаланады, бірақ сонымен бірге дөңгелек сілтемелерді ерекше түрде өңдейді. -gc:orc опциясы арқылы қосылған. ARC/ORC айырмашылықтары туралы тамаша мақала бар.

  • Нысан өзгергіштігін қосымша тексеруге мүмкіндік беретін қатаң функция анықтамаларына арналған режим қосылды. {.experimental: "strictFuncs".} прагмасы немесе --experimental:strictFuncs пернесі арқылы белсендірілген.

  • from кілт сөзін енді оператор ретінде пайдалануға болады.

  • .noalias прагмасы қосылды. Ол кілт сөз бере алатын тиімділікті арттыру үшін C шектеу кілт сөзімен салыстырылады.

  • Арнайы ескертулерді енді --warningAsError[X]:on|off арқылы қателерге айналдыруға болады.

  • Жаңа пәрмен: nim r main.nim [args...], ол main.nim құрастырады және іске қосады және нәтиже nim c сияқты логиканы пайдаланып, $nimcache/main$exeExt ішінде сақталуы үшін --usenimcache қамтиды. r көздер өзгермеген кезде қайта құрастырудан құтылу. Мысалы:

nim r compiler/nim.nim --help # бірінші рет құрастырылды
echo 'import os; echo getCurrentCompilerExe()' | nim r - # бұл да жұмыс істейді
nim r compiler/nim.nim --fullhelp # қайта құрастырусыз
nim r —nimcache:/tmp main # екілік файл /tmp/main ішінде сақталған

  • Жаңа hint -hint:msgOrigin қосылды, ол компилятор қате/ескерту хабарларын қай жерде жасағанын көрсетеді. Бұл хабардың қайдан келгені анық болмаса көмектеседі.

  • Серверді өзгерту үшін жалауша —backend:js|c|cpp|objc (немесе -b:js, т.б.) қосылды.

  • Нимкэшке екілік файлдарды шығару үшін --usenimcache жалаушасы қосылды.

  • Кілттер жойылды: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest утилитасы енді алдын ала мәлімдемені ғана емес, сонымен қатар деф сұрауы үшін іске асыру орнын да көрсетеді.

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

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