En ny version av det systemprogrammeringssprÄket Nim har slÀppts, som i september firar ett Är sedan den första stabila versionen kom ut . SprÄket liknar Python i syntax men har nÀstan samma prestanda som C++. EnligtsprÄket lÄnar mycket frÄn (i ordning av viktighet): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon. FAQ Det fungerar överallt tack vare möjligheten att kompilera till C/C++/Objective-C/JS. Det stöder
makron OOP, undantag, generics, hot swap av kod, och mycket mer. Licensen Àr MIT. De mest betydande förÀndringarna:
En ny skrĂ€pare ORC har lagts till, som anvĂ€nder en algoritm frĂ„n ARC men pĂ„ ett speciellt sĂ€tt hanterar cykliska referenser. Den aktiveras med alternativet âgc:orc. Om skillnaderna mellan ARC/ORC
-
finns en utmĂ€rkt artikel En strikt definitionslĂ€ge för funktioner har lagts till, dĂ€r en extra kontroll av objekts mutabilitet aktiveras. Det aktiveras via pragma {.experimental: "strictFuncs".} eller genom nyckel âexperimental:strictFuncs..
Nyckelordet from kan nu anvÀndas som en operator.
Pragma .noalias har lagts till. Det motsvarar C:s nyckelord restrict, för att öka effektiviteten som detta ord kan ge.
Specifika varningar kan nu omvandlas till fel med âwarningAsError[X]:on|off.
Ett nytt kommando har lagts till: nim r main.nim [argsâŠ], vilket kompilerar och kör main.nim, och inkluderar âusenimcache sĂ„ att resultatet sparas i $nimcache/main$exeExt, med samma logik som nim c -r för att undvika rekompilering nĂ€r kĂ€llorna inte har Ă€ndrats. Exempel:
nim r compiler/nim.nim âhelp # kompilerat första gĂ„ngen
echo âimport os; echo getCurrentCompilerExe()â | nim r â # det fungerar ocksĂ„
nim r compiler/nim.nim âfullhelp # utan rekompilering
nim r ânimcache:/tmp main # binĂ€ren sparad i /tmp/main
En ny hint âhint:msgOrigin har lagts till, som visar var kompilatorn genererade fel- och varningsmeddelanden. Detta hjĂ€lper nĂ€r det Ă€r oklart var meddelandet kom ifrĂ„n.
En flagga âbackend:js|c|cpp|objc (eller -b:js osv.) har lagts till för att byta backend.
En flagga âusenimcache har lagts till för att spara binĂ€rer i nimcache.
Nycklarna âoldNewlines, âlaxStrings, âoldast, âoldgensym har tagits bort.
Verktyget nimsuggest visar nu inte bara förhandsdeklarationen utan ocksÄ platsen för implementeringen pÄ begÀran def.
Dessutom har mÄnga Àndringar lagts till i standardbiblioteket och mÄnga buggar har ÄtgÀrdats.
Utöver detta har mÄnga Àndringar lagts till i standardbiblioteket och ett flertal buggfixar.
KĂ€lla: linux.org.ru
