நிம் நிரலாக்க மொழி வெளியீடு 1.4.0

நிம் சிஸ்டம் புரோகிராமிங் மொழியின் புதிய பதிப்பு வெளியிடப்பட்டது, இந்த செப்டம்பரில் அது வெளிவந்து ஒரு வருடத்தைக் குறிக்கிறது. முதல் நிலையான பதிப்பு. தொடரியல் பைத்தானைப் போன்றது, மேலும் செயல்திறன் கிட்டத்தட்ட C++ போன்றது. படி FAQ மொழி (பங்களிப்பின் எடை வரிசையில்) இருந்து பெரிதும் கடன் வாங்குகிறது: மாடுலா 3, டெல்பி, அடா, சி++, பைதான், லிஸ்ப், ஓபரான்.


C/C++/Objective-C/JS க்கு தொகுக்கும் திறனின் காரணமாக எல்லா இடங்களிலும் வேலை செய்கிறது. இது ஆதரிக்கிறது மேக்ரோக்கள், ஓஓபி, பொதுவானவை, விதிவிலக்குகள், சூடான குறியீடு மாற்று இன்னும் பற்பல. உரிமம் - எம்ஐடி.

மிக முக்கியமான மாற்றங்கள்:

  • புதிய ORC குப்பை சேகரிப்பான் உள்ளது, அது ARC அல்காரிதத்தைப் பயன்படுத்துகிறது, ஆனால் ஒரு சிறப்பு வழியில் வட்டக் குறிப்புகளைக் கையாளுகிறது. --gc:orc விருப்பத்துடன் இயக்கப்பட்டது. ARC/ORC வேறுபாடுகள் பற்றி ஒரு பெரிய கட்டுரை உள்ளது.

  • கண்டிப்பான செயல்பாட்டு வரையறைகளின் ஒரு பயன்முறை சேர்க்கப்பட்டுள்ளது, இதில் பொருளின் மாற்றத்திற்கான கூடுதல் சரிபார்ப்பு உள்ளது. {.experimental: "strictFuncs".} பிரக்மா அல்லது --experimental:strictFuncs சுவிட்ச் வழியாக செயல்படுத்தப்பட்டது.

  • from the keyword ஐ இப்போது ஒரு ஆபரேட்டராகப் பயன்படுத்தலாம்.

  • .noalias பிரக்மா சேர்க்கப்பட்டது. இந்தத் திறவுச்சொல் வழங்கக்கூடிய செயல்திறனை அதிகரிக்க இது C கட்டுப்படுத்தும் முக்கிய சொல்லுக்கு வரைபடமாக்குகிறது.

  • குறிப்பிட்ட எச்சரிக்கைகளை இப்போது --warningAsError[X]:on|off வழியாக பிழைகளாக மாற்றலாம்.

  • புதிய கட்டளை: nim r main.nim [args...], இது main.nim ஐ தொகுத்து இயக்குகிறது மற்றும் --usenimcache ஐ உள்ளடக்கியது, இதன் விளைவாக $nimcache/main$exeExt இல் சேமிக்கப்படும், nim c - போன்ற அதே தர்க்கத்தைப் பயன்படுத்தி மூலக் குறியீடு மாறாதபோது, ​​மறுதொகுப்பிலிருந்து விடுபட r. உதாரணமாக:

nim r compiler/nim.nim --help # முதல் முறையாக தொகுக்கப்பட்டது
எதிரொலி 'இறக்குமதி OS; எதிரொலி getCurrentCompilerExe()' | nim r - # இதுவும் வேலை செய்கிறது
nim r compiler/nim.nim --fullhelp # மறுதொகுப்பு இல்லாமல்
nim r --nimcache:/tmp முக்கிய # பைனரி /tmp/main இல் சேமிக்கப்பட்டது

  • ஒரு புதிய குறிப்பு சேர்க்கப்பட்டது --hint:msgOrigin இது கம்பைலர் எங்கு பிழை/எச்சரிக்கை செய்திகளை உருவாக்கியது என்பதைக் காட்டும். செய்தி எங்கிருந்து வந்தது என்பது தெளிவாகத் தெரியாதபோது இது உதவுகிறது.

  • பின்தளத்தை மாற்ற --backend:js|c|cpp|objc (அல்லது -b:js, முதலியன) கொடி சேர்க்கப்பட்டது.

  • பைனரிகளை நிம்கேச்சிக்கு வெளியிட --usenimcache கொடி சேர்க்கப்பட்டது.

  • விசைகள் அகற்றப்பட்டன: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest பயன்பாடு இப்போது முன்னோக்கி அறிவிப்பை மட்டும் காட்டுகிறது, ஆனால் def கோரும் போது செயல்படுத்தும் இடத்தையும் காட்டுகிறது.

கூடுதலாக, நிலையான நூலகத்தில் பல மாற்றங்கள் மற்றும் பல பிழை திருத்தங்கள் சேர்க்கப்பட்டுள்ளன.

ஆதாரம்: linux.org.ru