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 -*-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-2016, 2018 @c Copyright (C) 2008-2016, 2018, 2020
@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.
@ -1378,11 +1378,10 @@ machine code in addition to bytecode, pre-filling the corresponding JIT
data structures referenced by the @code{instrument-entry} bytecodes. data structures referenced by the @code{instrument-entry} bytecodes.
@xref{Instrumentation Instructions}. @xref{Instrumentation Instructions}.
The compiler also needs help at the top end, enhancing the Scheme that The compiler also needs help at the top end, adding new high-level
it knows to also understand R7RS, and adding new high-level compilers. compilers. We have JavaScript and Emacs Lisp mostly complete, but they
We have JavaScript and Emacs Lisp mostly complete, but they could use could use some love; Lua would be nice as well, but whatever language it
some love; Lua would be nice as well, but whatever language it is is that strikes your fancy would be welcome too.
that strikes your fancy would be welcome too.
Compilers are for hacking, not for admiring or for complaining about. Compilers are for hacking, not for admiring or for complaining about.
Get to it! 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 Guile's POSIX multithreading was improved, stacks became dynamically
expandable, the ports facility gained support for non-blocking I/O. 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 Guile gained support for native code generation via a simple
just-in-time (JIT) compiler, further improving the speed of its virtual 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 @end table
@node Status @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 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. 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 an excellent level of correctness, robustness, and speed. However there
is still work to do to finish its integration into Emacs itself. This 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 will give lots of exciting things to Emacs: native threads, a real
object system, more sophisticated types, cleaner syntax, and access to object system, more sophisticated types, cleaner syntax, and access to
all of the Guile extensions. 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.