Ним програмски језик издање 1.4.0

Објављена је нова верзија системског програмског језика Ним, који је овог септембра прославио годишњицу постојања. прва стабилна верзија. Језик је по синтакси сличан Питхон-у, а по перформансама скоро као Ц++. Према FAQ Језик у великој мери позајмљује (по редоследу доприноса): Модула 3, Делпхи, Ада, Ц++, Питхон, Лисп, Оберон.


Ради свуда захваљујући могућности компајлирања у Ц/Ц++/Објецтиве-Ц/ЈС. То подржава мацрос, OOP, генерички, изузеци, врућа замена кода и још много тога. Лиценца: МИТ.

Најзначајније промене:

  • Постоји нови ОРЦ сакупљач смећа који користи алгоритам из АРЦ-а, али у исто време рукује кружним референцама на посебан начин. Омогућено опцијом -гц:орц. О разликама АРЦ/ОРЦ постоји одличан чланак.

  • Додан је режим за стриктне дефиниције функција, који омогућава додатну проверу променљивости објекта. Активира се преко прагма {.екпериментал: "стрицтФунцс".} или преко --екпериментал:стрицтФунцс кључа.

  • Кључна реч фром сада се може користити као оператор.

  • Додата .ноалиас прагма. Пресликава се на кључну реч Ц ограничење да би се повећала ефикасност коју кључна реч може да пружи.

  • Одређена упозорења се сада могу претворити у грешке преко --варнингАсЕррор[Кс]:он|офф.

  • Нова команда: ним р маин.ним [аргс...], која компајлира и покреће маин.ним, и укључује --усенимцацхе тако да се резултат чува у $нимцацхе/маин$екеЕкт, користећи исту логику као ним ц - р да се отараси поновне компилације када се извори нису променили. Пример:

ним р компајлер/ним.ним --хелп # компајлиран по први пут
ецхо 'импорт ос; ецхо гетЦуррентЦомпилерЕке()’ | ним р - # и ово ради
ним р компајлер/ним.ним --фуллхелп # без поновне компилације
ним р —нимцацхе:/тмп маин # бинарни сачуван у /тмп/маин

  • Додан је нови наговештај -хинт:мсгОригин, који ће показати где је компајлер генерисао поруке о грешци/упозорењу. Ово помаже када није очигледно одакле је порука дошла.

  • Додата је заставица —бацкенд:јс|ц|цпп|објц (или -б:јс, итд.) за промену позадине.

  • Додата ознака --усенимцацхе за излаз бинарних датотека у нимцацхе.

  • Уклоњени кључеви: --олдНевлинес, --лакСтрингс, --олдаст, --олдгенсим

  • Услужни програм нимсуггест сада показује не само пре-декларацију, већ и локацију имплементације за деф захтев.

Поред тога, у стандардну библиотеку су додате многе промене и многе исправке грешака.

Извор: линук.орг.ру