GNU Guile 3.0 ကိုထွက်ရှိခဲ့သည်။

နေရာယူခဲ့သည်။ လွှတ်ပေး GNU Guile 3.0လုပ်ဆောင်နိုင်သော ပရိုဂရမ်းမင်းဘာသာစကားကို အခမဲ့ အကောင်အထည်ဖော်ဆောင်ရွက်ခြင်း schemeအခြားပရိုဂရမ်းမင်းဘာသာစကားများဖြင့် အပလီကေးရှင်းများထဲသို့ ကုဒ်ထည့်သွင်းနိုင်မှုကို ပံ့ပိုးပေးသည့်၊ Guile သည် အပလီကေးရှင်း၏ တိုးချဲ့မှုများကို တီထွင်ရန်၊ ဖွဲ့စည်းမှုပုံစံကို သတ်မှတ်ရန် သို့မဟုတ် အပလီကေးရှင်းမှ ပံ့ပိုးပေးထားသည့် အမျိုးမျိုးသော primitives များကို ချိတ်ဆက်ရန် အစိတ်အပိုင်းများကို တီထွင်ရန်အတွက် Guile ကို ဘာသာစကားတစ်ခုအနေဖြင့် အသုံးပြုနိုင်သည်။ Guile သည် GNU လည်ပတ်မှုစနစ်အတွက် တရားဝင် extension development language ဖြစ်သည်။

Guile ၏ဗဟိုချက်မှာ အထူးကောင်းမွန်အောင်ပြုလုပ်ထားသော compiler မှထုတ်ပေးသော ခရီးဆောင်လမ်းညွှန်ချက်အစုံကို လုပ်ဆောင်သည့် ထိရောက်သော virtual machine တစ်ခုဖြစ်သည်။ Guile virtual machine သည် C နှင့် C++ ရှိ အက်ပ်ကုဒ်များနှင့် အလွယ်တကူ ပေါင်းစပ်ထားသည်။ Scheme language အပြင်၊ specification support ကို အကောင်အထည်ဖော်ပါတယ်။ R5RS, R6RS и R7RSGuile ပရောဂျက်သည် ECMAScript၊ Emacs Lisp နှင့် Lua ကဲ့သို့သော အခြားဘာသာစကားများအတွက် ရေးဖွဲ့မှုများကို တီထွင်ခဲ့သည်။ ပက်ကေ့ဂျ်တွင် HTTP ပရိုတိုကော၊ XML ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် အရာဝတ္ထုကို ဦးတည်သည့် ပရိုဂရမ်းမင်းနည်းလမ်းများကို အသုံးပြုခြင်းကဲ့သို့သော စံဝန်ဆောင်မှုလုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်သည့် မော်ဂျူးစာကြည့်တိုက်တစ်ခု ပါဝင်သည်။

GNU Guile 3.0 တွင် အဓိက ဆန်းသစ်တီထွင်မှုမှာ JIT compiler ၏ နိဒါန်းဖြစ်ပြီး၊ ယခင်က ကမ်းလှမ်းထားသော စကားပြန်နှင့် bytecode compiler အပြင် စာကြည့်တိုက်ပုံစံဖြင့် အပလီကေးရှင်းနှင့် ချိတ်ဆက်ထားသော အထူး virtual machine တွင် လုပ်ဆောင်ခဲ့သည်။ JIT သည် သင့်အား စက်ကုဒ်ကို အမြန်ထုတ်ပေးနိုင်ပြီး Guile အပလီကေးရှင်းများ၏ လုပ်ဆောင်မှုကို သိသိသာသာ အရှိန်မြှင့်နိုင်သည် (စမ်းသပ်မှုများသည် မြန်နှုန်းကို 4 ကြိမ်အထိ ပြသသည်)။ JIT compiler သည် x86-64၊ i686၊ ARMv7 နှင့် AArch64 ဗိသုကာများကို ပံ့ပိုးပေးသည်။

အခြားတိုးတက်မှုအချို့-

  • Scheme ဘာသာစကားသတ်မှတ်ချက်အသစ်အတွက် ပံ့ပိုးမှု R7RS ၎င်းတွင် သတ်မှတ်ထားသော စာကြည့်တိုက် မော်ဂျူးများ၊
  • Guile virtual machine သည် အဆင့်မြင့်သော ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်မှုများကို ခွင့်ပြုပေးသည့် အောက်ခြေအဆင့် bytecode အတွက် ပံ့ပိုးမှုပေးပါသည်။
  • အတွင်းပိုင်း သတ်မှတ်ချက်များ နှင့် အသုံးအနှုန်းများကို ပေါင်းစပ်ရန်အတွက် ပံ့ပိုးမှု (ဥပမာ၊ "(define _ (begin (foo) #f))");
  • ဖွဲ့စည်းပုံဒေတာအမျိုးအစား (“မှတ်တမ်းများ”) ကို တစ်စုတစ်စည်းတည်း အကောင်အထည်ဖော်ရန် အဆိုပြုထားသည်။
  • ခြွင်းချက်အနေဖြင့် ရှေးဦးအရာများကို ကိုင်တွယ်ခြင်း (ပစ်ခြင်းနှင့် ဖမ်းခြင်း) ကို ပြန်လည်လုပ်ဆောင်ခဲ့သည်။
  • တိုးချဲ့ထားသော အထားအသို "else", " =>", "..." နှင့် "_" အတွက် သတ်မှတ်ထားသော နှောင်ကြိုးများ;
  • http-request၊ http-get နှင့် web client နှင့်သက်ဆိုင်သည့် အခြားလုပ်ထုံးလုပ်နည်းများတွင်၊ မှန်ကန်သောလက်မှတ်အတည်ပြုချက်နှင့်အတူ TLS ကိုအသုံးပြု၍ ကုဒ်ဝှက်ထားသောဆက်သွယ်ရေးချန်နယ်တစ်ခုမှ အကြောင်းအရာများကို ဒေါင်းလုဒ်လုပ်နိုင်စွမ်းကို ထည့်သွင်းထားသည်။

source: opennet.ru

မှတ်ချက် Add