1
0
Fork 0
cl-sites/guile.html_node/A-Timeline-of-Selected-Guile-Releases.html
2024-12-17 12:49:28 +01:00

164 lines
7.4 KiB
HTML

<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This manual documents Guile version 3.0.10.
Copyright (C) 1996-1997, 2000-2005, 2009-2023 Free Software Foundation,
Inc.
Copyright (C) 2021 Maxime Devos
Copyright (C) 2024 Tomas Volf
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License." -->
<title>A Timeline of Selected Guile Releases (Guile Reference Manual)</title>
<meta name="description" content="A Timeline of Selected Guile Releases (Guile Reference Manual)">
<meta name="keywords" content="A Timeline of Selected Guile Releases (Guile Reference Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content=".texi2any-real">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="History.html" rel="up" title="History">
<link href="Status.html" rel="next" title="Status">
<link href="A-Scheme-of-Many-Maintainers.html" rel="prev" title="A Scheme of Many Maintainers">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
-->
</style>
<link rel="stylesheet" type="text/css" href="https://www.gnu.org/software/gnulib/manual.css">
</head>
<body lang="en">
<div class="subsection-level-extent" id="A-Timeline-of-Selected-Guile-Releases">
<div class="nav-panel">
<p>
Next: <a href="Status.html" accesskey="n" rel="next">Status, or: Your Help Needed</a>, Previous: <a href="A-Scheme-of-Many-Maintainers.html" accesskey="p" rel="prev">A Scheme of Many Maintainers</a>, Up: <a href="History.html" accesskey="u" rel="up">A Brief History of Guile</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="A-Timeline-of-Selected-Guile-Releases-1"><span>9.1.4 A Timeline of Selected Guile Releases<a class="copiable-link" href="#A-Timeline-of-Selected-Guile-Releases-1"> &para;</a></span></h4>
<dl class="table">
<dt>guile-i &mdash; 4 February 1995</dt>
<dd><p>SCM, turned into a library.
</p>
</dd>
<dt>guile-ii &mdash; 6 April 1995</dt>
<dd><p>A low-level module system was added. Tcl/Tk support was added,
allowing extension of Scheme by Tcl or vice versa. POSIX support was
improved, and there was an experimental stab at Java integration.
</p>
</dd>
<dt>guile-iii &mdash; 18 August 1995</dt>
<dd><p>The C-like syntax, ctax, was improved, but mostly this release
featured a start at the task of breaking Guile into pieces.
</p>
</dd>
<dt>1.0 &mdash; 5 January 1997</dt>
<dd><p><code class="code">#f</code> was distinguished from <code class="code">'()</code>. User-level, cooperative
multi-threading was added. Source-level debugging became more useful,
and programmer&rsquo;s and user&rsquo;s manuals were begun. The module system
gained a high-level interface, which is still used today in more or
less the same form.
</p>
</dd>
<dt>1.1 &mdash; 16 May 1997</dt>
<dt>1.2 &mdash; 24 June 1997</dt>
<dd><p>Support for Tcl/Tk and ctax were split off as separate packages, and
have remained there since. Guile became more compatible with SCSH, and
more useful as a UNIX scripting language. Libguile could now be built as
a shared library, and third-party extensions written in C became
loadable via dynamic linking.
</p>
</dd>
<dt>1.3.0 &mdash; 19 October 1998</dt>
<dd><p>Command-line editing became much more pleasant through the use of the
readline library. The initial support for internationalization via
multi-byte strings was removed; 10 years were to pass before proper
internationalization would land again. Initial Emacs Lisp support
landed, ports gained better support for file descriptors, and fluids
were added.
</p>
</dd>
<dt>1.3.2 &mdash; 20 August 1999</dt>
<dt>1.3.4 &mdash; 25 September 1999</dt>
<dt>1.4 &mdash; 21 June 2000</dt>
<dd><p>A long list of lispy features were added: hooks, Common Lisp&rsquo;s
<code class="code">format</code>, optional and keyword procedure arguments,
<code class="code">getopt-long</code>, sorting, random numbers, and many other fixes and
enhancements. Guile also gained an interactive debugger, interactive
help, and better backtraces.
</p>
</dd>
<dt>1.6 &mdash; 6 September 2002</dt>
<dd><p>Guile gained support for the R5RS standard, and added a number of SRFI
modules. The module system was expanded with programmatic support for
identifier selection and renaming. The GOOPS object system was merged
into Guile core.
</p>
</dd>
<dt>1.8 &mdash; 20 February 2006</dt>
<dd><p>Guile&rsquo;s arbitrary-precision arithmetic switched to use the GMP
library, and added support for exact rationals. Guile&rsquo;s embedded
user-space threading was removed in favor of POSIX pre-emptive
threads, providing true multiprocessing. Gettext support was added,
and Guile&rsquo;s C API was cleaned up and orthogonalized in a massive way.
</p>
</dd>
<dt>2.0 &mdash; 16 February 2010</dt>
<dd><p>A virtual machine was added to Guile, along with the associated compiler
and toolchain. Support for internationalization was finally
reimplemented, in terms of unicode, locales, and libunistring. Running
Guile instances became controllable and debuggable from within Emacs,
via Geiser. Guile caught up to features found in a number of other
Schemes: SRFI-18 threads, module-hygienic macros, a profiler, tracer,
and debugger, SSAX XML integration, bytevectors, a dynamic FFI,
delimited continuations, module versions, and partial support for R6RS.
</p>
</dd>
<dt>2.2 &mdash; 15 March 2017</dt>
<dd><p>The virtual machine and introduced in 2.0 was completely rewritten,
along with much of the compiler and toolchain. This speeds up many
Guile programs as well as reducing startup time and memory usage.
Guile&rsquo;s POSIX multithreading was improved, stacks became dynamically
expandable, the ports facility gained support for non-blocking I/O.
</p>
</dd>
<dt>3.0 &ndash; January 2020</dt>
<dd><p>Guile gained support for native code generation via a simple
just-in-time (JIT) compiler, further improving the speed of its virtual
machine. The compiler itself gained a number of new optimizations:
inlining of top-level bindings, better closure optimization, and better
unboxing of integer and floating-point values. R7RS support was added,
and R6RS support improved. The exception facility (throw and catch) was
rewritten in terms of SRFI-34 exception handlers.
</p></dd>
</dl>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Status.html">Status, or: Your Help Needed</a>, Previous: <a href="A-Scheme-of-Many-Maintainers.html">A Scheme of Many Maintainers</a>, Up: <a href="History.html">A Brief History of Guile</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>