Hi Andy! Thanks for all the work! On Thu, Oct 31, 2019 at 4:55 AM Andy Wingo 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.