Daphne Preston-Kendal
Daphne Preston-Kendal
Preliminary (albeit likely unfairly flattering) benchmarks show that this patch does actually marginally speed up access to even very small strings. With the default `SEXP_STRING_INDEX_TABLE_CHUNK_SIZE` of 64, the results are...
> I'm OK with even a small hit in string-ref performance if it helps some common quadratic patterns. This doesn't slow down the cursor API or any of the high-level...
> You can check the chibi/red/snow image sizes for a start. For me, they’re all exactly the same size as they are when built without this patch.
I’ve possibly discovered a bug in `SEXP_USE_STRING_INDEX_TABLE` while writing benchmarks. It seems that sometimes the index table can possibly sometimes contain invalid cursors (pointing to partial UTF-8 bytes) — at...
Still haven’t had time to finish working out some practical benchmarks for this, but coincidentally I did just learn that [Emacs uses basically the same trick.](https://nullprogram.com/blog/2019/05/29/) (It doesn’t appear to...
[Chicken Scheme is also now planning to switch to doing this.](http://wiki.call-cc.org/unicode-transition) I’ve merged in a branch which lets the bookmark move backwards as well as forwards through the string. I...
Unfortunately, that can’t work in all cases because of internal definitions. Using this definition corrected to the actual syntax of SRFI 206: ```scheme (define-library (srfi 206) (import (scheme base) (only...
Oh yeah, ligatures too. I didn’t test to see that they aren’t substituted by default.
I have begun to do this with FontForge in my personal fork at [dpk/et-book](https://github.com/dpk/et-book).
I’ve now done this completely with one exception: I can’t work out how to get the `frac` feature to work to enable automatic creation of fractions from strings such as...