1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

Update compiler.texi and history.texi

* doc/ref/compiler.texi (Extending the Compiler):
* doc/ref/history.texi (A Timeline of Selected Guile Releases):
  (Status): Update.  Thanks to Mikael Djurfeldt for the bug report.
This commit is contained in:
Andy Wingo 2020-01-06 21:44:39 +01:00
parent 6cfee36543
commit 272bc09d97
2 changed files with 12 additions and 17 deletions

View file

@ -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!

View file

@ -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.