* GNU Guile meeting notes
@ 2009-08-25 21:53 Neil Jerram
0 siblings, 0 replies; only message in thread
From: Neil Jerram @ 2009-08-25 21:53 UTC (permalink / raw)
To: Guile Development; +Cc: Andy Wingo, Ludovic Courtès
Andy, Ludo and I actually met in Real Life (tm) a couple of weeks ago,
and spent a day talking through lots of Guile stuff. It was fun.
With apologies for the delay (which reflects nothing but my lack of
time), below are my notes from that meeting.
Neil
* 2.0 release milestones
We discussed and agreed the following items as things that we really
want to get done before the 2.0 release.
Bearing in mind all of the following, we also agreed to move the
tentative 2.0 date from 15th October to 15th December.
** GC
i.e. switching to using Boehm-Deimers-Weiser libgc, instead of Guile's
own.
Our plan is to merge this work to master before the next 1.9.x
prerelease.
** Module name spaces
i.e. we'd really like to get rid of the `%app' and
`%module-public-interface' hacks before 2.0.
** Scheme eval
Implementing eval in Scheme, and compiling it, will solve current
problems of bouncing between compiled and interpreted code, and of not
being able to tail-call between them.
** Fix problems with read options and current-reader
The fact that a whole file is read and compiled together - as opposed
to each top level expression being read and then evaluated in turn -
means that these no longer work as they used to.
Plan to fix this by making read-set! etc. a macro.
** GOOPS dispatch in the VM
Look at using polymorphic inline caches here.
Andy adds: "I ran into this issue on wip-eval-cleanup; it
self-compiles until reaching occam-channel, because it's the first
thing that uses GOOPS.
I think this is going to be an early priority for me, along with
cleaning up subr dispatch (so it's easy to get into the VM)."
** Merge most of Andy's array refactoring
Most of this branch has since been merged. We're still not quite
agreed on the bytevector/SRFI-4 unification; Andy's going to prepare
an updated patch for that.
** ECMAscript test and documentation
We have another working language, so we should show it off!
** Testing the main Guile applications
As much as we can; by encouraging the application developers to test
against the prereleases and/or doing this ourselves.
** Multiple value handling
Largely eliminate the #<values ...> object. Allow passing multiple
values to a single value continuation, by using just the first value.
(The compiler does this already; this change is about making the
interpreter do the same thing.)
** Import Guile-Lib
Subject to legal details.
* 2.0 release optional items
We also discussed the following as things that would be nice for 2.0,
but not required
** Function inlining in the compiler
e.g. inlining (map ... ) calls
** Support for using R6RS libraries
** An FFI
** Completing the MOP for generic functions
** ECMAscript - completing the implementation
We don't yet support the whole standard, and it would be nice (or at
least neater) to do so.
** Enlarge the space of SMOB numbers
* Native compilation
Given a compiler that produces VM code, it's a relatively short extra step
to produce native code instead. Sassy can help with this.
* Debugging and stack layout
A hassle with VM development has been handling different
representations of debugging information (i.e. in the C eval and in
the VM), and compiling backtraces that may include segments of both
kinds. With a Scheme eval this becomes much easier; and if we design
the stack layout carefully, the same debug info representation can
work for native code too.
* Elisp
Agreed that we need to implement dynwind directly in the VM, so that
dynamic binding can be efficient.
Need to review and merge Mark Weaver's patches.
Andy is going to merge Daniel's work soon; at that time, most of the
old lang/elisp stuff will be removed (to avoid confusion!).
* Really delete environments.[ch]
There's no plan now to use this code, so we will delete it to avoid
confusion.
* Benchmarking
We'd like to have an easy way of storing off performance results over
time; e.g. `make benchmark' running the benchmarks, and then also
storing the results somewhere persistent.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-08-25 21:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-25 21:53 GNU Guile meeting notes Neil Jerram
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).