{"id":111841,"date":"2023-11-29T21:10:14","date_gmt":"2023-11-29T19:10:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp"},"modified":"2023-11-29T21:10:14","modified_gmt":"2023-11-29T19:10:14","slug":"vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp","title":{"rendered":"Release of SBCL 2.3.11, an implementation of the Common Lisp language","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The release of SBCL 2.3.11 (Steel Bank Common Lisp), a free implementation of the Common Lisp programming language, has been published. The project code is written in Common Lisp and C, and is distributed under the BSD license. In this new release:  <\/p>\n<ul>\n<li class=\"l\"> Minor incompatibilities:\n<ul>\n<li class=\"l\"> Streams with the external-format parameter defined using &#171;:REPLACEMENT&#187; will apply the replacement data once in the stream, which leads to decoding errors (unlike in some cases, where it applies once for each byte sequence that is not a valid starting position for a character in this external-format).\n<li class=\"l\"> External-format specifiers using unsupported or unrecognized options will now signal an error.  <\/ul>\n<li class=\"l\"> Improvements:\n<ul>\n<li class=\"l\"> In the dispatching of generic functions using the standard or short combination method, if there are no main applicable methods, the system will invoke the generic function SB-PCL:NO-PRIMARY-METHOD, whose standard behavior is to signal an error. Users can define methods for this generic function.\n<li class=\"l\"> External formats now support newline variants for single-byte and UTF-8 encodings.\n<li class=\"l\"> Errors regarding the encoding and decoding of characters signaled by stream or octet functions now support USE-VALUE restarting for handlers that provide replacements for input or output.\n<li class=\"l\"> READ-SEQUENCE and WRITE-SEQUENCE support user-defined sequences; the standard implementation processes one element at a time, reading or writing one byte or character to\/from the stream respectively.  <\/ul>\n<li class=\"l\"> Optimizations:\n<ul>\n<li class=\"l\"> External formats with :REPLACEMENT no longer bind handlers for conversion function errors, which should reduce the number of cons operations and improve performance.\n<li class=\"l\"> If :EXTERNAL-FORMAT acts as an argument for STRING-TO-OCTETS or OCTETS-TO-STRING and is a constant at compile-time, then the external format is resolved at load time, not at each invocation.\n<li class=\"l\"> The compiler may restrict argument types for certain functions based on the inferred or implied type of the value returned by that function.\n<li class=\"l\"> The compiler reduces the number of redundant type checks in functions like ASSOC and GETF.      <\/ul>\n<li class=\"l\"> Bug fixes:\n<ul>\n<li class=\"l\"> OCTETS-TO-STRING now correctly signals or applies replacements when using single-byte external formats for less common encodings (e.g., iso-8859-3), rather than taking bits from the NIL address and converting those bits to characters.\n<li class=\"l\"> FILE-STRING-LENGTH now returns NIL if the input values are not encoded in an external stream format.\n<li class=\"l\"> Table-based multi-byte external formats (EUC-JP, Shift-JIS, GBK) now consider the replacement character (in the external format or through restarting) when encoding to octets.\n<li class=\"l\"> Converting from octets using external formats UCS-2, UCS-4, and UTF-32 no longer reads the end of the octet array with a non-integer number of two or four-byte units.\n<li class=\"l\"> Converting from octets using external formats UCS-2, UCS-4, and UTF-32 now returns a simple string, as required by the OCTETS-TO-STRING type definition.\n<li class=\"l\"> Using an incorrect external format argument for OPEN or WITH-OPEN-FILE (or the internal MAKE-FD-STREAM) no longer leads to a file descriptor leak.\n<li class=\"l\"> SB-ROTATE-BYTE defines BYTE specifications beyond the allowable range before executing cons for very large integers for the use of masks and shifts.\n<li class=\"l\"> Fixing the output type when compiling SB-ROTATE-BYTE forms with a non-zero POSITION in the byte definition.\n<li class=\"l\"> Correcting multiple assembly errors when compiling MAKE-ARRAY, MAKE-STRING, and others with large constant sizes.\n<li class=\"l\"> Fixing an internal error when compiling (SETF-SBIT) with a large constant index.\n<li class=\"l\"> Fixing an internal compiler error for a lambda function with an incorrect parameter list in LABELS.\n<li class=\"l\"> Fixing an internal compiler error when compiling certain infinitely-recursive LABELS forms.\n<li class=\"l\"> Fixing an internal compiler error when attempting to embed a jump to an already removed label.\n<li class=\"l\"> FILL-POINTER must never be negative.    <\/ul>\n<\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60193\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a SBCL 2.3.11 (Steel Bank Common Lisp), \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Common Lisp. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 Common Lisp \u0438 \u0421\u0438, \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD. \u0412 \u043d\u043e\u0432\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435: \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438: \u041f\u043e\u0442\u043e\u043a\u0438 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c external-format, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e &#171;:REPLACEMENT&#187;, \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c [&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-111841","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=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a SBCL 2.3.11 (Steel Bank Common Lisp), \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Common Lisp. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 Common Lisp \u0438 \u0421\u0438, \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD.\" \/>\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\/en\/blog\/news\/vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\u0412\u044b\u043f\u0443\u0441\u043a SBCL 2.3.11, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 Common Lisp | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a SBCL 2.3.11 (Steel Bank Common Lisp), \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Common Lisp. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 Common Lisp \u0438 \u0421\u0438, \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp\" \/>\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=\"2023-11-29T19:10:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-11-29T19:10:14+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\udd47SBCL 2.3.11 release, Common Lisp implementation | ProHoster","description":"Released SBCL 2.3.11 (Steel Bank Common Lisp), a free implementation of the Common Lisp programming language. The project code is written in Common Lisp and C, and is distributed under a BSD license.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\u0412\u044b\u043f\u0443\u0441\u043a SBCL 2.3.11, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 Common Lisp | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a SBCL 2.3.11 (Steel Bank Common Lisp), \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Common Lisp. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 Common Lisp \u0438 \u0421\u0438, \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-sbcl-2-3-11-realizaczii-yazyka-common-lisp","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":"2023-11-29T19:10:14+00:00","article:modified_time":"2023-11-29T19:10:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/111841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=111841"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/111841\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=111841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=111841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=111841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}