1
0
Fork 0
cl-sites/guile.html_node/Early-Days.html

115 lines
5.5 KiB
HTML
Raw Normal View History

2024-12-17 12:49:28 +01:00
<!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>Early Days (Guile Reference Manual)</title>
<meta name="description" content="Early Days (Guile Reference Manual)">
<meta name="keywords" content="Early Days (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="A-Scheme-of-Many-Maintainers.html" rel="next" title="A Scheme of Many Maintainers">
<link href="The-Emacs-Thesis.html" rel="prev" title="The Emacs Thesis">
<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="Early-Days">
<div class="nav-panel">
<p>
Next: <a href="A-Scheme-of-Many-Maintainers.html" accesskey="n" rel="next">A Scheme of Many Maintainers</a>, Previous: <a href="The-Emacs-Thesis.html" accesskey="p" rel="prev">The Emacs Thesis</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="Early-Days-1"><span>9.1.2 Early Days<a class="copiable-link" href="#Early-Days-1"> &para;</a></span></h4>
<p>Tom Lord was the first to fully concentrate his efforts on an
embeddable language runtime, which he named &ldquo;GEL&rdquo;, the GNU Extension
Language.
</p>
<p>GEL was the product of converting SCM, Aubrey Jaffer&rsquo;s implementation
of Scheme, into something more appropriate to embedding as a library.
(SCM was itself based on an implementation by George Carrette, SIOD.)
</p>
<p>Lord managed to convince Richard Stallman to dub GEL the official
extension language for the GNU project. It was a natural fit, given
that Scheme was a cleaner, more modern Lisp than Emacs Lisp. Part of
the argument was that eventually when GEL became more capable, it
could gain the ability to execute other languages, especially Emacs
Lisp.
</p>
<p>Due to a naming conflict with another programming language, Lee Thomas
suggested a new name for GEL: &ldquo;Guile&rdquo;. Besides being a recursive
acronym, &ldquo;Guile&rdquo; craftily follows the naming of its ancestors,
&ldquo;Planner&rdquo;, &ldquo;Conniver&rdquo;, and &ldquo;Schemer&rdquo;. (The latter was truncated
to &ldquo;Scheme&rdquo; due to a 6-character file name limit on an old operating
system.) Finally, &ldquo;Guile&rdquo; suggests &ldquo;guy-ell&rdquo;, or &ldquo;Guy L.
Steele&rdquo;, who, together with Gerald Sussman, originally discovered
Scheme.
</p>
<p>Around the same time that Guile (then GEL) was readying itself for
public release, another extension language was gaining in popularity,
Tcl. Many developers found advantages in Tcl because of its shell-like
syntax and its well-developed graphical widgets library, Tk. Also, at
the time there was a large marketing push promoting Tcl as a
&ldquo;universal extension language&rdquo;.
</p>
<p>Richard Stallman, as the primary author of GNU Emacs, had a particular
vision of what extension languages should be, and Tcl did not seem to
him to be as capable as Emacs Lisp. He posted a criticism to the
comp.lang.tcl newsgroup, sparking one of the internet&rsquo;s legendary
flamewars. As part of these discussions, retrospectively dubbed the
&ldquo;Tcl Wars&rdquo;, he announced the Free Software Foundation&rsquo;s intent to
promote Guile as the extension language for the GNU project.
</p>
<p>It is a common misconception that Guile was created as a reaction to
Tcl. While it is true that the public announcement of Guile happened
at the same time as the &ldquo;Tcl wars&rdquo;, Guile was created out of a
condition that existed outside the polemic. Indeed, the need for a
powerful language to bridge the gap between extension of existing
applications and a more fully dynamic programming environment is still
with us today.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="A-Scheme-of-Many-Maintainers.html">A Scheme of Many Maintainers</a>, Previous: <a href="The-Emacs-Thesis.html">The Emacs Thesis</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>