About the service
I write battle-tested code in Chez Scheme for teams that need real native speed, not an interpreter that looks good only in demos. Over the past nine years I've shipped compilers, runtime tools, and long-lived services in Chez Scheme, including work directly under the Racket backend where Chez Scheme carries the main load. If you have a numerical core, parser, rule engine, or data pipeline that's too slow in a scripting language, I'll port it to Chez Scheme and make it run nearly as fast as hand-written C.
Every day I use the full R6RS surface: clean library structure, phase imports, proper record types, condition hierarchies, and portable I/O. I'm comfortable deep in the macro system — I write hygienic transformations with syntax-rules and full syntax-case transformers, build small embedded DSLs, and untangle messy macros so they expand predictably and compile fast. When performance matters, I read the machine code Chez Scheme generates, tune optimization levels, cut allocations, apply flonum and fixnum specializations, and call unsafe primitives only where provably correct.
Embedding and interoperability are a big part of my work. I bind Chez Scheme to C and Rust through its foreign function interface, make Scheme a scripting layer inside a large host, and pack boot files and object code so deployment is a single artifact. I also handle threads, custodian-style resource management, signal handling, and graceful shutdown for services that need to live for months.
A typical result: a working and measured module or service, a readable test suite, build scripts, and a short document describing architecture and extension points. I profile before and after, so speedups are measured, not claimed. Send me slow code or a rough spec — and I'll honestly say whether Chez Scheme fits here and what real gain is possible.
Every day I use the full R6RS surface: clean library structure, phase imports, proper record types, condition hierarchies, and portable I/O. I'm comfortable deep in the macro system — I write hygienic transformations with syntax-rules and full syntax-case transformers, build small embedded DSLs, and untangle messy macros so they expand predictably and compile fast. When performance matters, I read the machine code Chez Scheme generates, tune optimization levels, cut allocations, apply flonum and fixnum specializations, and call unsafe primitives only where provably correct.
Embedding and interoperability are a big part of my work. I bind Chez Scheme to C and Rust through its foreign function interface, make Scheme a scripting layer inside a large host, and pack boot files and object code so deployment is a single artifact. I also handle threads, custodian-style resource management, signal handling, and graceful shutdown for services that need to live for months.
A typical result: a working and measured module or service, a readable test suite, build scripts, and a short document describing architecture and extension points. I profile before and after, so speedups are measured, not claimed. Send me slow code or a rough spec — and I'll honestly say whether Chez Scheme fits here and what real gain is possible.