Sign in

Aaron Steven White

@aaronstevenwhite.io
2.3K followers 806 following 831 posts

computational semanticist. into modular synths, film photography, and rum. developing @panproto.dev, @idiolect.dev, @chive.pub, and @layers.pub. @anglebas.in is my alter ego. aaronstevenwhite.io

PostsRepliesMedia
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
A good chunk of these examples come from a partial implementation of @pkuchmiichuk.com's paper.
chive.pub
Restricting resolutions: effect-driven semantics of numerical approximation
Approximators such as *approximately* or *exactly* have been analyzed either as operators that manipulate a numeral's denotation, or as devices that select a granularity level at which the numeral is
000
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
There's also been some improvements to the editor tooling. Treesitter and Pygments can now highlight indexed families, effects, instances, handlers, and resumption grades, and the language server now has checked hovers, completions, rename, symbols, and target-aware diagnostics.
Highlighted QVR source using the new index, family, constructor, effect, instance, handler, and resumes forms. The first-party grammar and highlighter recognize each form, while the language server assigns checked types and identities to the declarations and references.
102
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Named `define`s can be run directly without wrapping them in a probabilistic `program`, making small semantic components independently testable using `qvr run`.
Highlighted QVR computation for the exact interpretation of a numeral. It creates a scoped Resolve Exact instance, installs the single-resumption handler, requests an exact description, and returns whether the candidate quantity belongs to that description. This named computation can be checked or run directly.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Fixed shape collections are now checked too, and you can `map`, `fold`, and `traverse`.
Highlighted QVR computations from a numerical resolution model. The normalize helper uses fold and map; approximate_five traverses seven candidate prices, evaluates their effectful likelihoods in source order, and normalizes the resulting masses.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Effects can be open, so a computation can say which instances it requires while preserving effects supplied by its caller. `lacks` constraints rule out duplicate lexical instances when unknown.
Highlighted QVR library computation that requests a loose numerical resolution. It requires the unresolved instance, preserves an open caller row named rho, and proves that rho cannot already contain unresolved.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Effect instances are lexical. Two instances of the same interface remain distinct effects, and `with instance` allocates a fresh local identity. A total handler must discharge that identity before it can escape its scope.
Highlighted QVR computation for the loose interpretation of a numeral. It allocates a fresh Resolve Loose instance, handles that instance with the nonexact handler, requests a description, and tests whether the candidate quantity belongs to it.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Handlers can now be authored in QVR with their coverage, forwarding, and resumption grade.
Highlighted QVR handlers for numerical resolutions. The exact handler resumes once with the singleton description. The nonexact handler resumes with ten-cent and twenty-cent descriptions and combines the continuation results with weights 0.75 and 0.25.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Effects are now source-level interfaces that can take static parameters. An operation’s result may depend on the parameter, so one interface can distinguish requests whose answers have different indexed types.
Highlighted QVR declaration of a resolution-choice effect indexed by precision. Calling choose under Resolve Exact returns an exact description, while calling it under Resolve Loose returns a loose description.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
QVR now has indexed families, which means a constructor can refine an index, so an invariant such as exact versus loose resolution is represented in the value’s type.
Highlighted QVR code for exact and loose numerical resolution descriptions. ExactAt constructs only an exact description; Around constructs only a loose one. The supported computation checks whether a price belongs to either indexed description.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
Quivers now has a typed, executable IR for QVR that preserves indexed types, effects, handlers, and probabilistic operations after checking and is consumed by the interpreter and transpilers.
Highlighted QVR code showing a named computation and a probabilistic program in the same module. The program samples a positive rationality parameter, calls the named computation to construct a listener distribution, observes 200 choices, and returns that distribution. Both source forms lower to the shared typed IR.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
QVR programs can now transpile to BUGS, Church, Edward2, Gen, JAGS, NumPyro, PyMC, Pyro, Stan, Turing, and WebPPL, and the checker will tell you when a transpilation isn't supported (usually because the QVR can't be preserved in the target).
Highlighted QVR source for Bayesian linear regression. It samples a noise scale, intercept, and slope; computes the expected response; and observes 64 outcomes. This exact source was successfully emitted to all eleven targets named in the post.The stanc3-formatted Stan emitted from the preceding QVR source. Its data, parameters, transformed parameters, model, and generated quantities preserve the regression structure and half-Cauchy constraint.The Ruff-formatted Pyro emitted from the preceding QVR source. The Python function samples the same three parameters, computes the same mean, and observes the response in a 64-element plate.The Prettier-formatted WebPPL emitted from the preceding QVR source. The JavaScript-style model samples the same three parameters, maps the regression mean over the predictor, and observes each response.
100
Aaron Steven White @aaronstevenwhite.io · 24/09/2026
A lot of fun new stuff in quivers.
github.com
GitHub - FACTSlab/quivers: A functional probabilistic programming language that compiles to PyTorch.
A functional probabilistic programming language that compiles to PyTorch. - FACTSlab/quivers
121
Aaron Steven White @aaronstevenwhite.io · 23/09/2026
This was so good.
020
Reposted by Aaron Steven White
Angle Basin @anglebas.in · 22/09/2026
Taking another spin of the test pressings to celebrate the fact that AFG just shipped the first pressing of Eigengrau! You can hear the first track and preorder the album at anglebasin.bandcamp.com/album/eigeng....
The side of a brown cardboard box with shipping tape labeled "AFG Record Manufacturing".The vinyl mockup of Eigengrau by Angle Basin.
001
Reposted by Aaron Steven White
idiolect @idiolect.dev · 18/09/2026
We have a new release (v0.13.0) that introduces a bunch of new community management tooling. There is now one portable path from a governed definition change through consequence analysis, review, verification, signed release, resumable migration, federation, and exit.
github.com
Release v0.13.0 · idiolect-dev/idiolect
Added Community control plane for 0.13.0. The new idiolect-community crate and CLI lifecycle provide versioned idiolect.toml workspaces, role-aware maintainer/consent/vote/steward/hybrid governanc...
112
Aaron Steven White @aaronstevenwhite.io · 15/09/2026
Super cool paper by my student @pkuchmiichuk.com that synthesizes Dylan Bumford and @simoncharlow.com's work on effect-driven interpretation with probabilistic dynamic semantics to understand how slack regulators like "exactly" and "approximately" work.
062
Reposted by Aaron Steven White
panproto @panproto.dev · 12/09/2026
We have new versions of panproto (0.74) and didactic (0.15). didactic adds a public general first-order generalized algebraic data type (GADT) and indexed-family language, and panproto checks the resulting theory.
github.com
GitHub - panproto/didactic: A typed data library for Python on top of panproto.
A typed data library for Python on top of panproto. - panproto/didactic
111
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
Yeah. Every NSF PO I have worked with has been wonderful. It’s not their fault at all. The point of the thread is more informational.
020
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
I’ve submitted as a co-I on a few NIH proposals, but I don’t keep up on its state because most of what I do doesn’t really fit there. Others could comment better on its current viability for non-heavily tweaked proposals. But yeah. NSF was basically it for awards you could get anything done with.
010
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
I don't know how common this experience is for this seemingly last cycle for NSF Linguistics. But it's probably time to move into the acceptance stage: there's not going to be new funding for linguistics coming from NSF in the near term.
111
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
This week, we got a notification from SBE that the award was in indefinite limbo. Basically, they're going to keep it active, rather than decline it, in case funding becomes available. But they stressed that that is quite unlikely.
100
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
Most of the summer passed without word and that PO has since finished their term without replacement.
100
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
They had to do a sort of sales pitch for the award to people higher in the chain and see if they would give the go-ahead to do the official recommendation.
100
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
Where the meeting diverged from a standard one is that the PO couldn't promise that they could officially recommend the award in the technical sense.
100
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
For context, we submitted a proposal in January and had a relatively standard pre-recommendation meeting with the then-PO a couple months ago. The one where the PO asks you to get materials ready for them to include with their recommendation.
100
Aaron Steven White @aaronstevenwhite.io · 12/09/2026
If you are looking for an NSF Linguistics solicitation, you can stop looking. @juliangrove.bsky.social, @h-a-t.bsky.social, and I got confirmation from SBE that Linguistics has no active solicitation.
2103
Aaron Steven White @aaronstevenwhite.io · 09/09/2026
That snippet is from a package that builds on top of didactic, which is sort of pydantic on top of panproto.
github.com
GitHub - panproto/didactic: A typed data library for Python on top of panproto.
A typed data library for Python on top of panproto. - panproto/didactic
020
Aaron Steven White @aaronstevenwhite.io · 09/09/2026
Imagine telling someone in 2009 that this is what python would become. Deeply cursed.
A snippet of python making heavy use of generics and type variables.
171
Reposted by Aaron Steven White
Chive @chive.pub · 08/09/2026
Alongside a bunch of bug fixes, we've got a few new features on chive.pub we're excited about. Most of them involve connecting a paper to other things that relate to it on the Atmosphere and beyond.
chive.pub
Chive | Decentralized Eprint Service
Decentralized eprints on ATProto.
1216
Aaron Steven White @aaronstevenwhite.io · 06/09/2026
After using a lot of cubic grain film (Tri-X, HP5), it really is striking just how sharp T-grain film (Ektapan, formerly T-Max) can be at the exact same ISO.
Black and white close-up of a marigold flower, its ruffled petals catching bright sunlight against a soft, blurred backdrop of foliage.Black and white photo of anise hyssop plants with dense, spiky flower spikes rising against a bright overcast sky, with blurred evergreen trees in the background.Black and white close-up of three spiky teasel seed heads silhouetted against a bright sky, with a blurred field behind them.
030
Aaron Steven White @aaronstevenwhite.io · 05/09/2026
Stoked for this to finally be up. Think it came out pretty well.
010
Aaron Steven White @aaronstevenwhite.io · 05/09/2026
Is indie good again?
bandcamp.com
Bandcamp Radio
Tune in weekly to hear new music and artist interviews.
020
Aaron Steven White @aaronstevenwhite.io · 04/09/2026
What do we Rochesterians do for fun? Well. Mostly we just sort of walk around the Genny Brewhouse and take photos of the old flour mill on our Kodak film.
A man in a striped shirt and jeans with a black camera up to his eye. A railing and a large brick building is in the background. A brick smokestack is off in the distance.
030
Aaron Steven White @aaronstevenwhite.io · 04/09/2026
Not to mention the increasingly frequent tornado warnings.
110
Aaron Steven White @aaronstevenwhite.io · 03/09/2026
Yup. Where available, enhanced dependencies are an additional independent layer.
010
Aaron Steven White @aaronstevenwhite.io · 03/09/2026
You should start posting to grain.social!
010
Aaron Steven White @aaronstevenwhite.io · 03/09/2026
We’re using Universal PropBank (universalpropositions.github.io), which natively uses UD tokenization. (The EWT portions were mapped from the original stand-offs over the EWT constituency parses, and there’s some information about how they did it in their README.) UDS uses UD tokenization natively.
100
Aaron Steven White @aaronstevenwhite.io · 03/09/2026
So for instance, both PropBank and UDS annotate UD, and both live in distinct PDS accounts on repo.layers.pub and repo.decomp.io respectively. But they nonetheless point at the same set of UD annotations on repo.layers.pub, making it easy to align the two if desired.
120
Aaron Steven White @aaronstevenwhite.io · 03/09/2026
What I find particularly cool about this setup (beyond improved discoverability) is that it makes stand-off annotations a lot easier to work with, especially when multiple annotation layers in distinct datasets point to the same source.
110
Aaron Steven White @aaronstevenwhite.io · 03/09/2026
Really excited about this project. You can now access effectively all of UniMorph, Universal Dependencies, Universal Decompositional Semantics, MegaAttitude, and various other linguistic resources in a unified format. And there's a lot more coming down the pike in the near future.
2111
Reposted by Aaron Steven White
ATProto Science @atproto.science · 28/08/2026
We made a thing! Check out our new #ATScience ecosystem map ✨ All projects, organized in one place: atproto.science/ecosystem/
310132
Aaron Steven White @aaronstevenwhite.io · 21/08/2026
☝️
010
Aaron Steven White @aaronstevenwhite.io · 21/08/2026
Come work with CM on multilingual and low-resource NLP!!!
010
Aaron Steven White @aaronstevenwhite.io · 21/08/2026
Or if you’ve taught the class before, 48/96 that you’ll still try to jam into 24.
150
Aaron Steven White @aaronstevenwhite.io · 21/08/2026
1.5/24 that you later realize are actually 6/96.
190
Aaron Steven White @aaronstevenwhite.io · 19/08/2026
The solution to one's blood sugar being in the boolean algebra is indeed generally Tanqueray 10 and a walk. post-like.exe.xyz
Spent the last hour trying to map a GLMM into a new algebra homomorphism, only to realize I forgot to eat lunch. The code compiles, but my blood sugar is in the boolean algebra now. Need a Tanqueray 10 and maybe a walk around Rochester before I touch the shot logger again.
020
Reposted by Aaron Steven White
panproto @panproto.dev · 19/08/2026
We have a new release (v0.71.0) that substantially improves automated migration discovery by updating schema morphism search from enumeration and ranking to exact optimization.
github.com
Release v0.71.0 · panproto/panproto
Added panproto_schema::induce and induce_on_vertices (panproto-schema): the supported way to cut a sub-schema, accounting for all twenty-one Schema fields in their own key spaces and rebuilding th...
111
Aaron Steven White @aaronstevenwhite.io · 17/08/2026
Everyone listens to Grouper at the gym, right?
010
Aaron Steven White @aaronstevenwhite.io · 10/08/2026
That would be super helpful! Thanks! Will DM.
010
Aaron Steven White @aaronstevenwhite.io · 07/08/2026
Let me know any ways I can improve the interface! Currently have plans to tweak some of the film management tooling as well as the shot logger and dev timer.
010