Нова верзија програмског језика Ним 0.20

одиграло се издање системског програмског језика Ним 0.20.0. Језик користи статичко куцање и креиран је имајући на уму Пасцал, Ц++, Питхон и Лисп. Ним изворни код се компајлира у Ц, Ц++ или ЈаваСцрипт репрезентацију. Након тога, резултујући Ц/Ц++ код се компајлира у извршну датотеку помоћу било ког доступног компајлера (цланг, гцц, ицц, Висуал Ц++), што вам омогућава да постигнете перформансе блиске Ц, ако не узмете у обзир трошкове покретања сакупљач смећа. Слично Питхон-у, Ним користи увлачење као сепараторе блокова. Подржани су алати за метапрограмирање и могућности за креирање језика специфичних за домен (ДСЛ). Шифра пројекта испоручује се под лиценцом МИТ-а.

Издање Ним 0.20 се може сматрати кандидатом за прво стабилно издање 1.0, које укључује неколико промена које разбијају интероперабилност потребних да би се формирала прва стабилна грана која ће унети стање језика. Верзија 1.0 се рекламира као стабилно, дугорочно издање подршке које ће гарантовано одржавати компатибилност уназад у стабилизованом делу језика. Одвојено, компајлер ће такође имати на располагању експериментални режим у којем ће се развијати нове функције које могу да наруше компатибилност уназад.

Међу изменама предложеним у Ним 0.20 су:

  • „Не“ је сада увек унарни оператор, тј. изрази попут „ассерт(нот а)“ сада нису дозвољени и дозвољено је само „ассерт нот а“;
  • Омогућене строге провере за конверзију целих и реалних бројева у фази компилације, тј. израз "цонст б = уинт16(-1)" ће сада резултирати грешком, пошто -1 не може да се конвертује у неозначени целобројни тип;
  • Обезбеђено је распакивање тупле-а за константе и променљиве петље.
    На пример, сада можете да користите задатке као што су 'цонст (д, е) = (7, "осам")" и "за (к, и) ин ф";

  • Обезбеђена подразумевана иницијализација хешева и табела. На пример, након декларисања „вар с: ХасхСет[инт]“ можете одмах да извршите „с.инцл(5)“, што је претходно довело до грешке;
  • Побољшане информације о грешци за проблеме који се односе на оператор „цасе“ и индекс низа ван граница;
  • Промена дужине табеле током итерације је забрањена.

Извор: опеннет.ру

Додај коментар