{"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\/pl\/blog\/news\/uvidel-svet-gnu-guile-3-0","title":{"rendered":"\u015awiat\u0142o dzienne ujrza\u0142o GNU Guile 3.0","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\">Zdarzy\u0142o si\u0119<\/a><\/noindex> wydanie <noindex><a rel=\"nofollow\" href=\"http:\/\/www.gnu.org\/software\/guile\/guile.html\">GNU Guile 3.0<\/a><\/noindex>, wolnego wdro\u017cenia funkcjonalnego j\u0119zyka programowania <noindex><a rel=\"nofollow\" href=\"http:\/\/ru.wikipedia.org\/wiki\/Scheme\">Schemat<\/a><\/noindex>, wspieraj\u0105cego mo\u017cliwo\u015b\u0107 osadzania kodu w aplikacjach napisanych w innych j\u0119zykach programowania. Guile mo\u017ce by\u0107 u\u017cywany jako j\u0119zyk do tworzenia rozszerze\u0144 aplikacji, definiowania konfiguracji lub opracowywania komponent\u00f3w do komunikacji r\u00f3\u017cnych prymityw\u00f3w dostarczanych przez aplikacj\u0119. Guile jest oficjalnym j\u0119zykiem do rozwijania rozszerze\u0144 dla systemu operacyjnego GNU. <\/p>\n<p>Podstaw\u0105 Guile jest efektywna maszyna wirtualna, kt\u00f3ra wykonuje przeno\u015bny zestaw instrukcji generowany przez specjalny kompilator optymalizuj\u0105cy. Maszyna wirtualna Guile \u0142atwo integruje si\u0119 z kodem aplikacji w j\u0119zykach C i C++. Opr\u00f3cz j\u0119zyka Scheme, dla kt\u00f3rego wdro\u017cono wsparcie specyfikacji <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> i <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex>, w ramach projektu Guile opracowano kompilatory r\u00f3wnie\u017c dla innych j\u0119zyk\u00f3w, takich jak ECMAScript, Emacs Lisp i Lua (w trakcie opracowywania). W sk\u0142ad pakietu wchodzi biblioteka modu\u0142\u00f3w, w kt\u00f3rej zrealizowane s\u0105 typowe funkcje serwisowe, takie jak obs\u0142uga protoko\u0142u HTTP, parsowanie XML oraz korzystanie z metod programowania obiektowego.<\/p>\n<p>Kluczow\u0105 nowo\u015bci\u0105 w GNU Guile 3.0 jest pojawienie si\u0119 kompilatora JIT, obok wcze\u015bniej oferowanego interpretera i kompilatora do kodu bajtowego, wykonywanego w specjalnej maszynie wirtualnej, powi\u0105zanej z aplikacj\u0105 w formie biblioteki. JIT umo\u017cliwia generowanie kodu maszynowego w czasie rzeczywistym i znacznie przyspiesza wykonanie aplikacji Guile (testy pokazuj\u0105 przyspieszenie do 4 razy). Kompilator JIT wspiera dzia\u0142anie na architekturach x86-64, i686, ARMv7 i AArch64.<\/p>\n<p>Niekt\u00f3re z innych ulepsze\u0144:<\/p>\n<ul>\n<li class=\"l\"> Wsparcie nowej specyfikacji j\u0119zyka Scheme <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex> i okre\u015blonych w niej modu\u0142\u00f3w bibliotecznych;\n<li class=\"l\"> W maszynie wirtualnej Guile wdro\u017cono obs\u0142ug\u0119 ni\u017cszego poziomu kodu bajtowego, co pozwala na zastosowanie rozszerzonych optymalizacji;\n<li class=\"l\"> \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 define-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, &#171;(define _ (begin (foo) #f))&#187;);\n<li class=\"l\"> \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0430 \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445  (&#171;records&#187;);\n<li class=\"l\"> Zreformowano prymitywy obs\u0142ugi wyj\u0105tk\u00f3w (throw i catch);\n<li class=\"l\"> \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0438 \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 &#171;else&#187;, &#171;=&gt;&#187;, &#171;&#8230;&#187; \u0438 &#171;_&#187;;\n<li class=\"l\"> W procedurach http-request, http-get i innych zwi\u0105zanych z klientem webowym dodano mo\u017cliwo\u015b\u0107 przesy\u0142ania tre\u015bci przez zaszyfrowany kana\u0142 komunikacyjny z wykorzystaniem TLS z poprawn\u0105 weryfikacj\u0105 certyfikat\u00f3w.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/uvidel-svet-gnu-guile-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47 Zobaczy\u0142 \u015bwiat GNU Guile 3.0 | ProHoster","description":"Wydano GNU.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/uvidel-svet-gnu-guile-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/55312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=55312"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/55312\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=55312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=55312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=55312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}