Fa'asa'olotoina o le gagana fa'akomepiuta Nim 1.4.0

Ua fa'alauiloa mai se fa'aaliga fou o le gagana fa'akomepiuta a le Nim, lea na fa'amanatuina i le masina o Setema lona tasi le tausaga. lomiga mautu muamua. Ole gagana e tutusa ile syntax ile Python, ma toetoe lava pei ole C++ ile faʻatinoga. Ae faimai foi FAQ Ole gagana e nono tele mai (i le faasologa o le sao): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


E galue i soʻo se mea faʻafetai i le mafai ona tuʻufaʻatasia ile C/C++/Objective-C/JS. E lagolagoina macros, OOP, generics, tuusaunoaga, fesuiai code vevela ma le tele o isi mea. Laisene: MIT.

O suiga sili ona taua:

  • O loʻo i ai se faʻaputu lapisi fou a le ORC o loʻo faʻaogaina le algorithm mai le ARC, ae i le taimi lava e tasi e faʻatautaia faʻamatalaga faʻasalalau i se auala faʻapitoa. E mafai e le filifiliga -gc:orc. E uiga ile eseesega ole ARC/ORC o loʻo i ai se tala sili.

  • Ua fa'aopoopoina se faiga mo le fa'auigaina o galuega mamafa, lea e mafai ai ona toe siaki fa'aopoopo mo suiga mea. Fa'agaoioi ile pragma {.experimental: "strictFuncs".} po'o le --experimental:strictFuncs ki.

  • O le upu mai le upu ua mafai nei ona fa'aogaina e fai ma fa'agaioiga.

  • Faaopoopo .noalias pragma. E fa'afanua i le C fa'atapula'a upu autu e fa'ateleina ai le lelei e mafai ona tu'uina atu e le upu autu.

  • O lapata'iga fa'apitoa ua mafai nei ona liua i mea sese e ala i le --warningAsError[X]:on|off.

  • Poloaiga fou: nim r main.nim [args...], lea e tuufaatasia ma tamo'e main.nim, ma e aofia ai --usenimcache ina ia teuina le taunuuga i le $nimcache/main$exeExt, e faaaoga ai le manatu tutusa e pei o nim c - r e aveese mai le toe tuufaatasia pe a le suia punaoa. Faataitaiga:

nim r compiler/nim.nim --fesoasoani # tuufaatasia mo le taimi muamua
si'uleo 'aumai os; echo getCurrentCompilerExe()' | nim r - # e aoga foi
nim r compiler/nim.nim --fullhelp # e aunoa ma le toe tuufaatasia
nim r —nimcache:/tmp main # binary teu i totonu /tmp/main

  • Faʻaopoopoina se faʻamatalaga fou -hint:msgOrigin, lea o le a faʻaalia ai le mea na faʻatupuina ai e le tagata faʻapipiʻi feʻau sese / lapataiga. E fesoasoani lenei mea pe a le iloa po o fea na sau ai le savali.

  • Fa'aopoopo le fu'a —backend:js|c|cpp|objc (poo -b:js, etc.) e sui ai le pito i tua.

  • Fa'aopoopo --usenimcache fu'a i le fa'auluina o binaries i le nimcache.

  • Ua aveese ki: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • O le faʻaogaina o le nimsuggest ua faʻaalia nei e le gata i le taʻutinoga muamua, ae faʻapea foʻi le faʻatinoga o le nofoaga mo se talosaga def.

E le gata i lea, o le tele o suiga ua faʻaopoopoina i le faletusi masani ma le tele o faʻasologa o pusa.

puna: linux.org.ru