Gjuha e programimit GNU Guile 3.0.10 është në dispozicion

ËshtĂ« publikuar versioni GNU Guile 3.0.10, njĂ« implementim tĂ« lirĂ« tĂ« gjuhĂ«s funksionale tĂ« programimit Scheme, i cili mbĂ«shtet mundĂ«sinĂ« e integrimit tĂ« kodit nĂ« aplikacione tĂ« tjera programimi. Guile mund tĂ« pĂ«rdoret si njĂ« gjuhĂ« pĂ«r zhvillimin e shtesave pĂ«r aplikacione, pĂ«r pĂ«rcaktimin e konfigurimeve, ose pĂ«r zhvillimin e komponentĂ«ve pĂ«r lidhjen e primitivave tĂ« ndryshĂ«m, qĂ« ofrohen nga aplikacioni. Guile Ă«shtĂ« gjuhĂ« zyrtare pĂ«r zhvillimin e shtesave pĂ«r sistemin operativ GNU.

Baza e Guile Ă«shtĂ« ĐČĐžŃ€Ń‚ŃƒĐ°Đ»ŃŒĐœĐ°Ń ĐŒĐ°ŃˆĐžĐœĐ°, e cila ekzekuton njĂ« grup udhĂ«zimesh tĂ« pĂ«rcjellshme, tĂ« gjeneruara nga njĂ« kompjuter optimizues tĂ« specializuar. Makina virtuale Guile lehtĂ« integrohet me kodin e aplikacioneve nĂ« gjuhĂ«t C dhe C++. PĂ«rveç gjuhĂ«s Scheme, pĂ«r tĂ« cilĂ«n Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r specifikimet R5RS, R6RS dhe R7RS, nĂ« kuadĂ«r tĂ« projektit Guile janĂ« zhvilluar kompajlerĂ« edhe pĂ«r gjuhĂ« tĂ« tjera, si ECMAScript, Emacs Lisp dhe Lua (nĂ« proces zhvillimi). Paketimi pĂ«rmban njĂ« bibliotekĂ« modulash, nĂ« tĂ« cilĂ«t janĂ« implementuar funksione tipike shĂ«rbimi, si puna me protokollin HTTP, analizimi i XML dhe pĂ«rdorimi i metodave tĂ« programimit me objekt.

Ndryshimet në publikimin e ri përfshijnë:

  • ËshtĂ« zbatuar njĂ« ndĂ«rfaqe eksperimentale pĂ«r pĂ«rdorimin e backend-eve tĂ« jashtme. ËshtĂ« dhĂ«nĂ« mundĂ«sia pĂ«r zhvilluesit tĂ« pĂ«rdorin frontend-in ekzistues, i cili transformon kodin burim nĂ« njĂ« pĂ«rfaqĂ«sim tĂ« brendshĂ«m dhe optimizuesin Guile, sĂ« bashku me backend-e tĂ« tjera qĂ« kryejnĂ« gjenerimin e kodit.
  • ËshtĂ« prezantuar backend-i i jashtĂ«m hoot pĂ«r gjenerimin e kodit ndĂ«rmjetĂ«s WebAssembly, i cili mund tĂ« ekzekutohet nĂ« shfletues. NĂ« tĂ« ardhmen, nuk pĂ«rjashtohet pĂ«rfshirja e WebAssembly nĂ« listĂ«n e qĂ«llimeve kryesore tĂ« mbĂ«shtetjes sĂ« kompilimit nĂ« Guile.
  • ËshtĂ« lejuar pĂ«rdorimi i definicioneve "define" nĂ« kontekstin e shprehjeve "when", "unless", "cond", "case", "and-let*" dhe "with-fluids".
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin e porta tĂ« personalizuara, i cili Ă«shtĂ« pĂ«rshkruar nĂ« dialektin e gjuhĂ«s Scheme R6RS dhe lejon lidhjen e trajtuesve pĂ«r transformimin e tĂ« dhĂ«nave (p.sh., kompresim/zhvishje ose ndryshim i kodimit tĂ« simboleve), tĂ« pĂ«rpunuara nĂ« funksione tĂ« tilla si
    read, write dhe display. Në Guile është ofruar gjithashtu moduli "(ice-9 soft-ports)", i cili ofron një ndërfaqe "soft port", e cila pozicionohet si një analog më i thjeshtë i "custom ports".
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r sintaksĂ«n e thjeshtĂ«zuar wisp, e cila lejon shkruarjen e kodit mĂ« tĂ« lexueshĂ«m, pĂ«r shembull:

    defino : faktoriel n
    nëse : zero? n
    . 1
    * n : faktoriel (- n 1)
    shfaq : faktoriel 5
    newline

    në vend të

    (defino (faktoriel n)
    (nëse (zero? n)
    1
    (* n (faktoriel (- n 1)))))

    (shfaq (faktoriel 5))
    (newline)

  • NĂ« kompilator Ă«shtĂ« realizuar njĂ« paralajmĂ«rim tĂ« ri, i cili jepet nĂ« rastin e importimit tĂ« moduleve nĂ« kodin, tĂ« cilat funksionet e tij nuk pĂ«rdoren.
  • ËshtĂ« shtuar njĂ« annotim i ri «maybe-unused», i cili shtyp paralajmĂ«rimet mbi mos pĂ«rdorim tĂ« procedurave.
  • Shfaqja e gjurmĂ«ve tĂ« stack-ut tani pritet nĂ« kufirin 500 karaktere, e jo 80 (mund tĂ« ndryshohet pĂ«rmes parametrave default-frame-width).
  • NĂ« procedurĂ«n «kopjo-skedarin» Ă«shtĂ« shtuar parametri «#:copy-on-write», qĂ« lejon pĂ«rdorimin e mekanizmit copy-on-write nĂ« sistemet e skedarĂ«ve qĂ« e mbĂ«shtesin atĂ«.
  • ËshtĂ« shtuar njĂ« optimizim, qĂ« siguron zhvillimin inline tĂ« thirrjeve tĂ« procedurave me argumente keyword.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster