{"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\/cs\/blog\/news\/uvidel-svet-gnu-guile-3-0","title":{"rendered":"Na sv\u011btlo se dostal 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\">Prob\u011bhlo<\/a><\/noindex> vyd\u00e1n\u00ed <noindex><a rel=\"nofollow\" href=\"http:\/\/www.gnu.org\/software\/guile\/guile.html\">GNU Guile 3.0<\/a><\/noindex>, svobodn\u00e9 implementace funkcion\u00e1ln\u00edho programovac\u00edho jazyka <noindex><a rel=\"nofollow\" href=\"http:\/\/ru.wikipedia.org\/wiki\/Scheme\">Sch\u00e9ma<\/a><\/noindex>, podporuj\u00edc\u00edho mo\u017enost vkl\u00e1d\u00e1n\u00ed k\u00f3du do aplikac\u00ed v jin\u00fdch programovac\u00edch jazyc\u00edch. Guile m\u016f\u017ee b\u00fdt pou\u017eit jako jazyk pro v\u00fdvoj roz\u0161\u00ed\u0159en\u00ed pro aplikace, definov\u00e1n\u00ed konfigurace nebo v\u00fdvoj komponent pro propojen\u00ed r\u016fzn\u00fdch primitiv poskytovan\u00fdch aplikac\u00ed. Guile je ofici\u00e1ln\u00edm jazykem pro v\u00fdvoj roz\u0161\u00ed\u0159en\u00ed pro opera\u010dn\u00ed syst\u00e9m GNU. <\/p>\n<p>Z\u00e1kladem Guile je efektivn\u00ed virtu\u00e1ln\u00ed stroj, kter\u00fd vykon\u00e1v\u00e1 p\u0159enositelnou sadu instrukc\u00ed generovanou speci\u00e1ln\u00edm optimalizuj\u00edc\u00edm kompil\u00e1torem. Virtu\u00e1ln\u00ed stroj Guile se snadno integruje s k\u00f3dem aplikac\u00ed napsan\u00fdch v jazyc\u00edch C a C++. Krom\u011b jazyka Scheme, pro kter\u00fd je implementov\u00e1na podpora specifikac\u00ed <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> a <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex>, v r\u00e1mci projektu Guile byly vyvinuty kompil\u00e1tory i pro dal\u0161\u00ed jazyky, jako jsou ECMAScript, Emacs Lisp a Lua (ve f\u00e1zi v\u00fdvoje). Sou\u010d\u00e1st\u00ed bal\u00ed\u010dku je knihovna modul\u016f, ve kter\u00e9 jsou implementov\u00e1ny typov\u00e9 servisn\u00ed funkce, jako je pr\u00e1ce s protokolem HTTP, parsov\u00e1n\u00ed XML a vyu\u017eit\u00ed metod objektov\u011b orientovan\u00e9ho programov\u00e1n\u00ed.<\/p>\n<p>Kl\u00ed\u010dovou novinkou v GNU Guile 3.0 bylo zaveden\u00ed JIT-kompil\u00e1toru, krom\u011b d\u0159\u00edve nab\u00edzen\u00e9ho interpretu a kompil\u00e1toru do bytov\u00e9ho k\u00f3du, vykon\u00e1van\u00e9ho ve speci\u00e1ln\u00edm virtu\u00e1ln\u00edm stroji, kter\u00fd je p\u0159ipojen k aplikaci ve form\u011b knihovny. JIT umo\u017e\u0148uje generovat strojov\u00fd k\u00f3d za b\u011bhu a v\u00fdrazn\u011b zrychluje prov\u00e1d\u011bn\u00ed aplikac\u00ed Guile (testy ukazuj\u00ed zrychlen\u00ed a\u017e 4x). JIT-kompil\u00e1tor podporuje pr\u00e1ci na architektur\u00e1ch x86-64, i686, ARMv7 a AArch64.<\/p>\n<p>N\u011bkter\u00e1 z dal\u0161\u00edch vylep\u0161en\u00ed:<\/p>\n<ul>\n<li class=\"l\"> Podpora nov\u00e9 specifikace jazyka Scheme <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex> a specifick\u00fdch knihovn\u00edch modul\u016f v n\u00ed;\n<li class=\"l\"> Ve virtu\u00e1ln\u00edm stroji Guile byla implementov\u00e1na podpora n\u00edzko\u00farov\u0148ov\u00e9ho bytov\u00e9ho k\u00f3du, co\u017e umo\u017e\u0148uje aplikaci pokro\u010dil\u00fdch optimalizac\u00ed;\n<li class=\"l\"> Podpora kombinov\u00e1n\u00ed vnit\u0159n\u00edch define-definic\u00ed a v\u00fdraz\u016f (nap\u0159\u00edklad &#171;(define _ (begin (foo) #f))&#187;);\n<li class=\"l\"> Byla navr\u017eena unifikovan\u00e1 implementace strukturovan\u00e9ho typu dat (&#171;records&#187;);\n<li class=\"l\"> Byly p\u0159epracov\u00e1ny primitivy pro zpracov\u00e1n\u00ed v\u00fdjimek (throw a catch);\n<li class=\"l\"> Byly definov\u00e1ny vazby pro roz\u0161\u00ed\u0159enou syntaxi &#171;else&#187;, &#171;=&gt;&#187;, &#171;&#8230;&#187; a &#171;_&#187;;\n<li class=\"l\"> V http-request, http-get a dal\u0161\u00edch souvisej\u00edc\u00edch postupech s webov\u00fdm klientem byla p\u0159id\u00e1na mo\u017enost na\u010d\u00edt\u00e1n\u00ed obsahu prost\u0159ednictv\u00edm \u0161ifrovan\u00e9ho kan\u00e1lu s vyu\u017eit\u00edm TLS a spr\u00e1vnou verifikac\u00ed certifik\u00e1t\u016f.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Zdroj: <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.3 - 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\/cs\/blog\/news\/uvidel-svet-gnu-guile-3-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Byl uveden GNU Guile 3.0 | ProHoster","description":"Bylo vyd\u00e1no GNU.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/uvidel-svet-gnu-guile-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/55312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=55312"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/55312\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=55312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=55312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=55312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}