నిమ్ సిస్టమ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క కొత్త వెర్షన్ విడుదల చేయబడింది. ఇది వెర్షన్ 1.0తో పాక్షిక అననుకూలతను కలిగి ఉంది, ఉదాహరణకు కఠినమైన రకం మార్పిడి కారణంగా. కానీ ఈ సందర్భంలో ఫ్లాగ్ -useVersion:1.0 ఉంది.
ప్రధాన ఆవిష్కరణ -gc:arc ఎంపిక ద్వారా ప్రారంభించబడిన కొత్త చెత్త కలెక్టర్. భాష యొక్క రచయిత, ఆండ్రియాస్ రంఫ్, ARC యొక్క ప్రయోజనాల గురించి వివరణాత్మక కథనాన్ని వ్రాయబోతున్నారు, కానీ ప్రస్తుతానికి అతను మిమ్మల్ని చదవమని ఆహ్వానిస్తున్నాడు FOSDEMలో అతని ప్రదర్శనతో, ఇది బెంచ్మార్క్ ఫలితాలను చూపుతుంది.
- కంపైలర్ ఇప్పుడు ఉత్పత్తి చేయబడిన అసెంబ్లీ కోడ్ యొక్క మరింత సౌకర్యవంతమైన పరిశీలన కోసం --asm ఎంపికకు మద్దతు ఇస్తుంది.
- సమలేఖనం ప్రాగ్మాను ఆబ్జెక్ట్ వేరియబుల్స్ మరియు ఫీల్డ్లలో ఉపయోగించవచ్చు, ఇది C/C++లోని అలైన్లను పోలి ఉంటుంది.
- ది =సింక్ ఆపరేటర్ ఇప్పుడు ఐచ్ఛికం. కంపైలర్ ఇప్పుడు వస్తువులను సమర్ధవంతంగా తరలించడానికి =destroy మరియు copyMem కలయికను ఉపయోగించవచ్చు.
- రన్టైమ్లో సంతకం చేయని పూర్ణాంకాలకి మార్పిడులు తనిఖీ చేయబడవు. లో వివరాలు https://github.com/nim-lang/RFCs/issues/175
- lvalue కోసం కొత్త సింటాక్స్: var b {.byaddr.} = expr, దిగుమతి std/decls ద్వారా కనెక్ట్ చేయబడింది
- కంపైలర్ కొత్త స్విచ్ -పానిక్స్:ఆన్కు మద్దతు ఇస్తుంది, ఇది ఇండెక్స్ఎర్రర్ లేదా ఓవర్ఫ్లోఎర్రర్ వంటి రన్టైమ్ ఎర్రర్లను ప్రయత్నించడం ద్వారా క్యాచ్ చేయలేని ఘోరమైన ఎర్రర్లుగా మారుస్తుంది. ఇది రన్టైమ్ సామర్థ్యాన్ని మరియు ప్రోగ్రామ్ పరిమాణాన్ని మెరుగుపరుస్తుంది.
- రూపొందించబడిన JS కోడ్ ఖాళీలు మరియు ట్యాబ్ల మిష్మాష్కు బదులుగా ఖాళీలను మాత్రమే ఉపయోగిస్తుంది.
- కంపైలర్ .localPassc ప్రాగ్మాకు మద్దతును జోడించింది, ఇది ప్రస్తుత Nim మాడ్యూల్ నుండి రూపొందించబడిన C(++) ఫైల్ కోసం ప్రత్యేక C(++) బ్యాకెండ్ ఎంపికలను నిర్వహించడానికి ఉపయోగించబడుతుంది.
- నింప్రెట్టి ఇండెంటేషన్ను సెట్ చేయడానికి ప్రతికూల వాదనను అంగీకరించదు, ఎందుకంటే ఇది ఫైల్లను విచ్ఛిన్నం చేస్తుంది.
- కొత్త మాక్రోలు జోడించబడ్డాయి (కలెక్ట్, డప్, క్యాప్చర్), దిగుమతి చక్కెర ద్వారా కనెక్ట్ చేయబడింది.
అదనంగా, ప్రామాణిక లైబ్రరీకి అనేక మార్పులు మరియు అనేక బగ్ పరిష్కారాలు జోడించబడ్డాయి.
మూలం: linux.org.ru