mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-21 12:10:26 +02:00
Update history.texi
* doc/ref/history.texi (A Timeline of Selected Guile Releases, Status): Update.
This commit is contained in:
parent
0d1788039a
commit
f5729276a9
1 changed files with 26 additions and 27 deletions
|
@ -1,6 +1,6 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Guile Reference Manual.
|
@c This is part of the GNU Guile Reference Manual.
|
||||||
@c Copyright (C) 2008, 2010, 2011
|
@c Copyright (C) 2008, 2010, 2011, 2013
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file guile.texi for copying conditions.
|
@c See the file guile.texi for copying conditions.
|
||||||
|
|
||||||
|
@ -211,6 +211,13 @@ via Geiser. Guile caught up to features found in a number of other
|
||||||
Schemes: SRFI-18 threads, module-hygienic macros, a profiler, tracer,
|
Schemes: SRFI-18 threads, module-hygienic macros, a profiler, tracer,
|
||||||
and debugger, SSAX XML integration, bytevectors, a dynamic FFI,
|
and debugger, SSAX XML integration, bytevectors, a dynamic FFI,
|
||||||
delimited continuations, module versions, and partial support for R6RS.
|
delimited continuations, module versions, and partial support for R6RS.
|
||||||
|
|
||||||
|
@item 2.2 --- mid-2014
|
||||||
|
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. A PEG
|
||||||
|
parser toolkit was added, making it easier to write other language
|
||||||
|
frontends.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Status
|
@node Status
|
||||||
|
@ -250,19 +257,13 @@ than in other languages.
|
||||||
These days it is possible to write extensible applications almost
|
These days it is possible to write extensible applications almost
|
||||||
entirely from high-level languages, through byte-code and native
|
entirely from high-level languages, through byte-code and native
|
||||||
compilation, speed gains in the underlying hardware, and foreign call
|
compilation, speed gains in the underlying hardware, and foreign call
|
||||||
interfaces in the high-level language. Smalltalk systems are like
|
interfaces in the high-level language. Smalltalk systems are like this,
|
||||||
this, as are Common Lisp-based systems. While there already are a
|
as are Common Lisp-based systems. While there already are a number of
|
||||||
number of pure-Guile applications out there, users still need to drop
|
pure-Guile applications out there, users still need to drop down to C
|
||||||
down to C for some tasks: interfacing to system libraries that don't
|
for some tasks: interfacing to system libraries that don't have prebuilt
|
||||||
have prebuilt Guile interfaces, and for some tasks requiring high
|
Guile interfaces, and for some tasks requiring high performance. Native
|
||||||
performance.
|
ahead-of-time compilation, planned for Guile 3.0, should help with
|
||||||
|
this.
|
||||||
The addition of the virtual machine in Guile 2.0, together with the
|
|
||||||
compiler infrastructure, should go a long way to addressing the speed
|
|
||||||
issues. But there is much optimization to be done. Interested
|
|
||||||
contributors will find lots of delightful low-hanging fruit, from
|
|
||||||
simple profile-driven optimization to hacking a just-in-time compiler
|
|
||||||
from VM bytecode to native code.
|
|
||||||
|
|
||||||
Still, even with an all-Guile application, sometimes you want to
|
Still, even with an all-Guile application, sometimes you want to
|
||||||
provide an opportunity for users to extend your program from a
|
provide an opportunity for users to extend your program from a
|
||||||
|
@ -270,19 +271,17 @@ language with a syntax that is closer to C, or to Python. Another
|
||||||
interesting idea to consider is compiling e.g.@: Python to Guile. It's
|
interesting idea to consider is compiling e.g.@: Python to Guile. It's
|
||||||
not that far-fetched of an idea: see for example IronPython or JRuby.
|
not that far-fetched of an idea: see for example IronPython or JRuby.
|
||||||
|
|
||||||
And then there's Emacs itself. Though there is a somewhat-working Emacs
|
And then there's Emacs itself. Guile's Emacs Lisp support has reached
|
||||||
Lisp language frontend for Guile, it cannot yet execute all of Emacs
|
an excellent level of correctness, robustness, and speed. However there
|
||||||
Lisp. A serious integration of Guile with Emacs would replace the Elisp
|
is still work to do to finish its integration into Emacs itself. This
|
||||||
virtual machine with Guile, and provide the necessary C shims so that
|
will give lots of exciting things to Emacs: native threads, a real
|
||||||
Guile could emulate Emacs' C API. This would give lots of exciting
|
object system, more sophisticated types, cleaner syntax, and access to
|
||||||
things to Emacs: native threads, a real object system, more
|
all of the Guile extensions.
|
||||||
sophisticated types, cleaner syntax, and access to all of the Guile
|
|
||||||
extensions.
|
|
||||||
|
|
||||||
Finally, there is another axis of crystallization, the axis between
|
Finally, there is another axis of crystallization, the axis between
|
||||||
different Scheme implementations. Guile does not yet support the
|
different Scheme implementations. Guile does not yet support the latest
|
||||||
latest Scheme standard, R6RS, and should do so. Like all standards,
|
Scheme standard, R7RS, and should do so. Like all standards, R7RS is
|
||||||
R6RS is imperfect, but supporting it will allow more code to run on
|
imperfect, but supporting it will allow more code to run on Guile
|
||||||
Guile without modification, and will allow Guile hackers to produce
|
without modification, and will allow Guile hackers to produce code
|
||||||
code compatible with other schemes. Help in this regard would be much
|
compatible with other schemes. Help in this regard would be much
|
||||||
appreciated.
|
appreciated.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue