164 lines
7.4 KiB
HTML
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> [<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"> ¶</a></span></h4>
|
|
|
|
<dl class="table">
|
|
<dt>guile-i — 4 February 1995</dt>
|
|
<dd><p>SCM, turned into a library.
|
|
</p>
|
|
</dd>
|
|
<dt>guile-ii — 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 — 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 — 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’s and user’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 — 16 May 1997</dt>
|
|
<dt>1.2 — 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 — 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 — 20 August 1999</dt>
|
|
<dt>1.3.4 — 25 September 1999</dt>
|
|
<dt>1.4 — 21 June 2000</dt>
|
|
<dd><p>A long list of lispy features were added: hooks, Common Lisp’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 — 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 — 20 February 2006</dt>
|
|
<dd><p>Guile’s arbitrary-precision arithmetic switched to use the GMP
|
|
library, and added support for exact rationals. Guile’s embedded
|
|
user-space threading was removed in favor of POSIX pre-emptive
|
|
threads, providing true multiprocessing. Gettext support was added,
|
|
and Guile’s C API was cleaned up and orthogonalized in a massive way.
|
|
</p>
|
|
</dd>
|
|
<dt>2.0 — 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 — 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’s POSIX multithreading was improved, stacks became dynamically
|
|
expandable, the ports facility gained support for non-blocking I/O.
|
|
</p>
|
|
</dd>
|
|
<dt>3.0 – 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> [<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>
|