{"id":55312,"date":"2020-01-17T00:00:00","date_gmt":"2020-01-16T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/uvidel-svet-gnu-guile-3-0"},"modified":"2020-02-18T14:03:25","modified_gmt":"2020-02-18T11:03:25","slug":"uvidel-svet-gnu-guile-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/news\/uvidel-svet-gnu-guile-3-0","title":{"rendered":"GNU Guile 3.0 har sett dagens lys","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/lists.gnu.org\/archive\/html\/info-gnu\/2020-01\/msg00003.html\">Har funnet sted<\/a><\/noindex> versjon <noindex><a rel=\"nofollow\" href=\"http:\/\/www.gnu.org\/software\/guile\/guile.html\">GNU Guile 3.0<\/a><\/noindex>, fri reisa funksjonelt programmeringsspr\u00e5k <noindex><a rel=\"nofollow\" href=\"http:\/\/ru.wikipedia.org\/wiki\/Scheme\">Ordning<\/a><\/noindex>, som st\u00f8tter muligheten for \u00e5 innebygge kode i applikasjoner skrevet i andre programmeringsspr\u00e5k. Guile kan brukes som et spr\u00e5k for utvikling av utvidelser for applikasjoner, definisjon av konfigurasjoner eller utvikling av komponenter for \u00e5 koble sammen ulike primitive som tilbys av applikasjonen. Guile er det offisielle spr\u00e5ket for utvikling av utvidelser for GNU-operativsystemet. <\/p>\n<p>Grunnlaget for Guile er en effektiv virtuell maskin som kj\u00f8rer et portabelt instruksjonssett, generert av en spesialdesignet optimaliseringskompilator. Guile sin virtuelle maskin kan lett integreres med kode skrevet i C og C++. I tillegg til spr\u00e5kene Scheme, som har st\u00f8tte for spesifikasjoner <noindex><a rel=\"nofollow\" href=\"http:\/\/www.schemers.org\/Documents\/Standards\/R5RS\/\">R5RS<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/www.r6rs.org\/\">R6RS<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex>, er det i prosjektet Guile utviklet kompilatorer for andre spr\u00e5k, som ECMAScript, Emacs Lisp og Lua (under utvikling). I pakken inng\u00e5r et bibliotek med moduler som implementerer typiske tjenestefunksjoner, som HTTP-protokollh\u00e5ndtering, XML-parsing og bruk av objektorienterte programmeringsmetoder.<\/p>\n<p>Et av de viktigste nyvinningene i GNU Guile 3.0 var introduksjonen av JIT-kompilator, i tillegg til de tidligere tilgjengelige tolkeren og kompilatoren til bytekode, som kj\u00f8res i en spesialbygd virtuell maskin knyttet til applikasjonen i form av et bibliotek. JIT tillater generering av maskinkode p\u00e5 farten og gir betydelig raskere kj\u00f8ring av Guile-applikasjoner (tester viser opptil 4x hastighetsforbedring). JIT-kompilatoren st\u00f8tter drift p\u00e5 arkitekturer som x86-64, i686, ARMv7 og AArch64.<\/p>\n<p>Noen av de andre forbedringene:<\/p>\n<ul>\n<li class=\"l\"> St\u00f8tte for den nye spesifikasjonen av spr\u00e5ket Scheme <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex> og de bibliotekmodulene som er definert i den;\n<li class=\"l\"> I Guile sin virtuelle maskin er det implementert st\u00f8tte for et mer lavniv\u00e5 bytekode, som muliggj\u00f8r utvidede optimaliseringer;\n<li class=\"l\"> St\u00f8tte for \u00e5 kombinere interne define-definisjoner og uttrykk (f.eks. \u00ab(define _ (begin (foo) #f))\u00bb);\n<li class=\"l\"> En unifisert implementering av strukturerte datatyper (\u00abrecords\u00bb) er foresl\u00e5tt;\n<li class=\"l\"> Omstrukturering av primitive unntaksh\u00e5ndtering (throw og catch);\n<li class=\"l\"> Bindinger for utvidet syntaks \u00abelse\u00bb, \u00ab=&gt;\u00bb, \u00ab\u2026\u00bb og \u00ab_\u00bb er definert;\n<li class=\"l\"> I http-request, http-get og andre prosesser knyttet til web-klienter, er det n\u00e5 mulig \u00e5 laste ned innhold via en kryptert forbindelse ved hjelp av TLS med korrekt sertifikatverifisering.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Kilde: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52203\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 GNU Guile 3.0, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Scheme, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. Guile \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c. Guile \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b GNU. \u041e\u0441\u043d\u043e\u0432\u0443 Guile [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55312","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 GNU.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/news\/uvidel-svet-gnu-guile-3-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0432\u0438\u0434\u0435\u043b \u0441\u0432\u0435\u0442 GNU Guile 3.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 GNU.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/news\/uvidel-svet-gnu-guile-3-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-16T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47GNU Guile 3.0 har sett dagens lys | ProHoster","description":"GNU har blitt utgitt.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/news\/uvidel-svet-gnu-guile-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0432\u0438\u0434\u0435\u043b \u0441\u0432\u0435\u0442 GNU Guile 3.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 GNU.","og:url":"https:\/\/prohoster.info\/no\/blog\/news\/uvidel-svet-gnu-guile-3-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-16T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55312","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:46:28","updated":"2022-10-04 18:27:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/55312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=55312"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/55312\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=55312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=55312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=55312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}