విడుదల ఫంక్షనల్ ప్రోగ్రామింగ్ భాష యొక్క ఉచిత అమలు ఇతర ప్రోగ్రామింగ్ భాషలలో వ్రాసిన అప్లికేషన్లలో కోడ్ను పొందుపరిచే సామర్థ్యానికి ఇది మద్దతు ఇస్తుంది. అప్లికేషన్ ఎక్స్టెన్షన్లను అభివృద్ధి చేయడానికి, కాన్ఫిగరేషన్ను నిర్వచించడానికి, లేదా ఒక అప్లికేషన్ అందించే వివిధ ప్రిమిటివ్లను అనుసంధానించే కాంపోనెంట్లను అభివృద్ధి చేయడానికి గైల్ను ఒక భాషగా ఉపయోగించవచ్చు. గైల్ అనేది GNU ఆపరేటింగ్ సిస్టమ్ యొక్క అధికారిక ఎక్స్టెన్షన్ డెవలప్మెంట్ భాష.
గైల్ అనేది ఒక ప్రత్యేక ఆప్టిమైజింగ్ కంపైలర్ ద్వారా రూపొందించబడిన పోర్టబుల్ ఇన్స్ట్రక్షన్ సెట్ను అమలు చేసే ఒక సమర్థవంతమైన వర్చువల్ మెషీన్పై ఆధారపడి ఉంటుంది. గైల్ వర్చువల్ మెషీన్ C మరియు C++ అప్లికేషన్ కోడ్తో సులభంగా అనుసంధానించబడుతుంది. స్పెసిఫికేషన్ సపోర్ట్ అమలు చేయబడిన స్కీమ్ భాషకు అదనంగా, , и గైల్ ప్రాజెక్ట్ ECMAScript, Emacs Lisp మరియు Lua (అభివృద్ధిలో ఉంది) వంటి ఇతర భాషల కోసం కూడా కంపైలర్లను అభివృద్ధి చేస్తుంది. ఈ ప్యాకేజీలో HTTP ప్రోటోకాల్తో పనిచేయడం, XML పార్సింగ్ మరియు ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ టెక్నిక్ల వంటి సాధారణ సేవా విధులను అమలు చేసే మాడ్యూళ్ల లైబ్రరీ ఉంటుంది.
GNU Guile 3.0 లో ఒక ముఖ్యమైన ఆవిష్కరణ ఏమిటంటే, గతంలో అందించిన ఇంటర్ప్రెటర్ మరియు బైట్కోడ్ కంపైలర్కు అదనంగా, జస్ట్-ఇన్-టైమ్ (JIT) కంపైలర్ను ప్రవేశపెట్టడం. ఇది ఒక ప్రత్యేక వర్చువల్ మెషీన్లో అమలు చేయబడుతుంది మరియు అప్లికేషన్కు లైబ్రరీగా లింక్ చేయబడి ఉంటుంది. JIT, ఆన్-ది-ఫ్లై మెషీన్ కోడ్ జనరేషన్ను సాధ్యం చేస్తుంది మరియు Guile అప్లికేషన్ల అమలును గణనీయంగా వేగవంతం చేస్తుంది (పరీక్షలు 4 రెట్ల వరకు వేగవంతం అయినట్లు చూపిస్తున్నాయి). JIT కంపైలర్ x86-64, i686, ARMv7, మరియు AArch64 ఆర్కిటెక్చర్లకు మద్దతు ఇస్తుంది.
ఇతర మెరుగుదలలలో కొన్ని:
- కొత్త స్కీమ్ భాషా స్పెసిఫికేషన్కు మద్దతు మరియు దానిలో నిర్వచించబడిన లైబ్రరీ మాడ్యూల్స్;
- గైల్ వర్చువల్ మెషీన్ దిగువ-స్థాయి బైట్కోడ్కు మద్దతును అమలు చేస్తుంది, ఇది అధునాతన ఆప్టిమైజేషన్లను అనుమతిస్తుంది;
- అంతర్గత డిఫైన్లు మరియు ఎక్స్ప్రెషన్లను కలపడానికి మద్దతు (ఉదా. "(define _ (begin (foo) #f))");
- నిర్మాణాత్మక డేటా రకం (“రికార్డులు”) యొక్క ఏకీకృత అమలు ప్రతిపాదించబడింది;
- ఎక్సెప్షన్ హ్యాండ్లింగ్ ప్రిమిటివ్స్ (త్రో మరియు క్యాచ్) పునఃరూపకల్పన చేయబడ్డాయి;
- విస్తరించిన సింటాక్స్ "else", "=>", "..." మరియు "_" కోసం బైండింగ్లు నిర్వచించబడ్డాయి;
- http-రిక్వెస్ట్, http-గెట్ మరియు ఇతర వెబ్ క్లయింట్ సంబంధిత ప్రక్రియలలో, సరైన సర్టిఫికేట్ ధృవీకరణతో TLSని ఉపయోగించి ఎన్క్రిప్టెడ్ కమ్యూనికేషన్ ఛానల్ ద్వారా కంటెంట్ను డౌన్లోడ్ చేసుకునే సామర్థ్యం జోడించబడింది.
మూలం: opennet.ru
