{"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\/pt\/blog\/news\/uvidel-svet-gnu-guile-3-0","title":{"rendered":"Lan\u00e7ado o 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\">Aconteceu<\/a><\/noindex> lan\u00e7amento <noindex><a rel=\"nofollow\" href=\"http:\/\/www.gnu.org\/software\/guile\/guile.html\">GNU Guile 3.0<\/a><\/noindex>, uma linguagem de programa\u00e7\u00e3o funcional de livre implementa\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"http:\/\/ru.wikipedia.org\/wiki\/Scheme\">Esquema<\/a><\/noindex>, que suporta a possibilidade de incorpora\u00e7\u00e3o de c\u00f3digo em aplicativos escritos em outras linguagens de programa\u00e7\u00e3o. Guile pode ser utilizado como uma linguagem para desenvolver extens\u00f5es para aplicativos, definir configura\u00e7\u00f5es ou desenvolver componentes para interligar v\u00e1rios primitivos fornecidos pelo aplicativo. Guile \u00e9 a linguagem oficial para desenvolvimento de extens\u00f5es do sistema operacional GNU. <\/p>\n<p>A base do Guile \u00e9 uma m\u00e1quina virtual eficiente, que executa um conjunto port\u00e1til de instru\u00e7\u00f5es, gerado por um compilador otimizado especial. A m\u00e1quina virtual Guile se integra facilmente com o c\u00f3digo de aplicativos nas linguagens C e C++. Al\u00e9m da linguagem Scheme, para a qual o suporte \u00e0s especifica\u00e7\u00f5es foi implementado <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> e <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex>, no \u00e2mbito do projeto Guile, compiladores para outras linguagens, como ECMAScript, Emacs Lisp e Lua (em desenvolvimento) tamb\u00e9m foram desenvolvidos. O pacote inclui uma biblioteca de m\u00f3dulos, que implementam fun\u00e7\u00f5es de servi\u00e7o t\u00edpicas, como trabalhar com o protocolo HTTP, an\u00e1lise de XML e uso de m\u00e9todos de programa\u00e7\u00e3o orientada a objetos.<\/p>\n<p>Uma das principais inova\u00e7\u00f5es no GNU Guile 3.0 foi a introdu\u00e7\u00e3o do compilador JIT, al\u00e9m dos anteriormente oferecidos interpretador e compilador para bytecode, executados em uma m\u00e1quina virtual especial, ligada ao aplicativo na forma de uma biblioteca. O JIT permite gerar c\u00f3digo de m\u00e1quina em tempo real e acelera significativamente a execu\u00e7\u00e3o de aplicativos Guile (testes mostram acelera\u00e7\u00e3o de at\u00e9 4 vezes). O compilador JIT suporta opera\u00e7\u00e3o nas arquiteturas x86-64, i686, ARMv7 e AArch64.<\/p>\n<p>Algumas das outras melhorias:<\/p>\n<ul>\n<li class=\"l\"> Suporte \u00e0 nova especifica\u00e7\u00e3o da linguagem Scheme <noindex><a rel=\"nofollow\" href=\"https:\/\/small.r7rs.org\/\">R7RS<\/a><\/noindex> e aos m\u00f3dulos de biblioteca definidos nela;\n<li class=\"l\"> Na m\u00e1quina virtual Guile, foi implementado suporte para bytecode de n\u00edvel mais baixo, permitindo aplicar otimiza\u00e7\u00f5es avan\u00e7adas;\n<li class=\"l\"> Suporte para a combina\u00e7\u00e3o de defini\u00e7\u00f5es internas com express\u00f5es (por exemplo, &#171;(define _ (begin (foo) #f))&#187;);\n<li class=\"l\"> Uma implementa\u00e7\u00e3o unificada do tipo de dado estruturado (&#171;records&#187;);\n<li class=\"l\"> Os primitivos de manipula\u00e7\u00e3o de exce\u00e7\u00f5es (throw e catch) foram reformulados;\n<li class=\"l\"> Bindings definidos para a sintaxe avan\u00e7ada &#171;else&#187;, &#171;=&gt;&#187;, &#171;&#8230;&#187; e &#171;_&#187;;\n<li class=\"l\"> Nos procedimentos de http-request, http-get e outros relacionados com o cliente web, foi adicionada a possibilidade de carregar conte\u00fado atrav\u00e9s de um canal de comunica\u00e7\u00e3o criptografado usando TLS com verifica\u00e7\u00e3o correta dos certificados.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <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\/pt\/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=\"pt_PT\" \/>\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\/pt\/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\udd47Lan\u00e7ado o GNU Guile 3.0 | ProHoster","description":"Foi lan\u00e7ado o GNU.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/uvidel-svet-gnu-guile-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/55312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=55312"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/55312\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=55312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=55312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=55312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}