Hi Andy! Thanks for all the work!

On Thu, Oct 31, 2019 at 4:55 AM Andy Wingo <wingo@pobox.com> wrote:
Hey folks!

I wanted to send out an update on Guile 3.  Do take a look at
https://git.savannah.gnu.org/cgit/guile.git/tree/NEWS to see where we've
come; basically the JIT is done, and we're ready to release soonish.

Guile powered by JIT was confirmed to increase at least 20% performance for Artanis. 
And this is a rough result of the early-bird version of Guile-2.9. I haven't tried the latest.
I'm looking forward to an official release of Guile-3 so that I can manage to support the version detection correctly. It was 2.9 but should detect as 3.0, IIRC.
 
 
But!  Now we have bootstrapping problems; how to get the implementation
in boot-9?  Exceptions in SRFI-35, R6RS, R7RS, and Racket are these
hierarchical things: they form a DAG of subtypes.  But core records in
Guile aren't subtypeable, so what to do?

Are you talking about Guile specific record-type?
Personally, I've gradually reduced my usage of Guile records. I think R6RS records are better for me.
I didn't know the Guile bootstrapping requires Guile specific record-type. So I don't know better advice.
 
There will be bijections
between a Guile's "throw" arguments and structured exceptions, mostly
inspired with what Julian did in the R6RS layer already.

That's cool!


Thoughts welcome!  Also: should these structured error objects be named
exceptions or conditions?  SRFI-35, R6RS, and R7RS say "conditions", but
racket and my heart say "exceptions"; wdyt?

I never say "condition" to describe an exception. I always say "exception". 
Most other languages use "exception" too. The term "condition" sounds like conditional branching.
 
Best regards.