mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 11:50:28 +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:
parent
6cfee36543
commit
272bc09d97
2 changed files with 12 additions and 17 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-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!
|
||||||
|
|
|
@ -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.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue