diff --git a/doc/ref/compiler.texi b/doc/ref/compiler.texi index cb6b1ad35..8b99d43f1 100644 --- a/doc/ref/compiler.texi +++ b/doc/ref/compiler.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 2008-2016, 2018 +@c Copyright (C) 2008-2016, 2018, 2020 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -1378,11 +1378,10 @@ machine code in addition to bytecode, pre-filling the corresponding JIT data structures referenced by the @code{instrument-entry} bytecodes. @xref{Instrumentation Instructions}. -The compiler also needs help at the top end, enhancing the Scheme that -it knows to also understand R7RS, and adding new high-level compilers. -We have JavaScript and Emacs Lisp mostly complete, but they could use -some love; Lua would be nice as well, but whatever language it is -that strikes your fancy would be welcome too. +The compiler also needs help at the top end, adding new high-level +compilers. We have JavaScript and Emacs Lisp mostly complete, but they +could use some love; Lua would be nice as well, but whatever language it +is that strikes your fancy would be welcome too. Compilers are for hacking, not for admiring or for complaining about. Get to it! diff --git a/doc/ref/history.texi b/doc/ref/history.texi index d23d5a08d..fb2fb3f56 100644 --- a/doc/ref/history.texi +++ b/doc/ref/history.texi @@ -219,10 +219,14 @@ 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. -@item 3.0 -- early 2019 (unreleased at time of writing) +@item 3.0 -- January 2020 Guile gained support for native code generation via a simple just-in-time (JIT) compiler, further improving the speed of its virtual -machine. +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. @end table @node Status @@ -277,17 +281,9 @@ 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 not that far-fetched of an idea: see for example IronPython or JRuby. -And then there's Emacs itself. Guile's Emacs Lisp support has reached +Finally, there's Emacs itself. Guile's Emacs Lisp support has reached an excellent level of correctness, robustness, and speed. However there is still work to do to finish its integration into Emacs itself. This will give lots of exciting things to Emacs: native threads, a real object system, more sophisticated types, cleaner syntax, and access to all of the Guile extensions. - -Finally, there is another axis of crystallization, the axis between -different Scheme implementations. Guile does not yet support the latest -Scheme standard, R7RS, and should do so. Like all standards, R7RS is -imperfect, but supporting it will allow more code to run on Guile -without modification, and will allow Guile hackers to produce code -compatible with other schemes. Help in this regard would be much -appreciated.