Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

julesh

@julesh.mathstodon.xyz.ap.brid.gy
306 followers 0 following 1.8K posts

Applied Compositional Thinking 🌉 bridged from ⁂ mathstodon.xyz/@julesh, follow @ap.brid.gy to interact

PostsRepliesMedia
julesh @julesh.mathstodon.xyz.ap.brid.gy · 11/10/2026
Sunset through the palm house at Kew
003 3
julesh @julesh.mathstodon.xyz.ap.brid.gy · 11/10/2026
Pagoda? I 'ardly know 'er
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 06/10/2026
Here is an extremely neat definition of dependent lenses I've never seen before, as kleisli morphisms of the extension (ie. the equivalence of categories from containers to polynomial functors) considered as some exotic kind of generalised monad
  record Cont where
    constructor MkCont
    base : Type
    fib : base -> Type
  
  record Ext (c : Cont) (y : Type) where
    constructor MkExt
    value : c.base
    continuation : c.fib value -> y

  unit : (x : c.base) -> Ext c (c.fib x)
  unit x = MkExt {
    value = x,
    continuation = id
  }

  extend : ((x : c.base) -> Ext d (c.fib x)) -> Ext c y -> Ext d y
  extend f x = MkExt {
    value = (f x.value).value,
    continuation = x.continuation . (f x.value).continuation
  }

  Lens : Cont -> Cont -> Type
  Lens c d = (x : c.base) -> Ext d (c.fib x)

  compose : Lens c1 c2 -> Lens c2 c3 -> Lens c1 c3
  compose l m x = extend m (l x)
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 01/10/2026
Haii
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 01/10/2026
Going to the AI shop, anyone need anything?
020 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 24/09/2026
Open games are evolving! Preview of a blog post I'm about to write
pd : (PDMove * PDMove) -> Bool
pd = extract $ CalcWith $
  |~  ((PDMove * PDMove) :- Bool)
  <~  (PDMove :- Bool) // (PDMove :- Bool)
  ... and
  <~  Game (PDMove :- Nat) // Game (PDMove :- Nat)
  ... select {c = PDMove :- Nat} (argmax [C, D]) ~//~ select {c = PDMove :- Nat} (argmax [C, D])
  <~  Game ((PDMove :- Nat) // (PDMove :- Nat))
  ... nash {c = PDMove :- Nat, d = PDMove :- Nat}
  <~  Game End
  ... mapGame {c = (PDMove :- Nat) // (PDMove :- Nat)} (costate pdPayoffs)
  <~  End
  ... runGame
110 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 24/09/2026
Train internet creating a very 21st century Cthulhu cult chant
Jules Hedges: Oh gods emailJules Hedges: Oh gods emailJules Hedges: Oh gods emailJules Hedges: Oh gods email
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 20/09/2026
We had a very close encounter with a very inquisitive fops
120 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 18/09/2026
One of the spots in London that can pass for Amsterdam
020 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 04/09/2026
I might have to write a blog post building up an explanation of this little bit of code. This is a way of handling mutable local state in lenses, using (1) an old Lisp trick called for simulating OOP, and (2) the fact that categories are comonoids of the composition product of polynomial functors
new : Category s -> State s -> Costate (Tensor s a) -> IO (Costate (Lift IO a))
new (MkCategory _ cod _) init f = do
  ref <- newIORef (init ()).fst
  pure $ \x => (() ** \_ => do
    current <- readIORef ref
    let (() ** k) = f (current, x)
    let (delta, y) = k ()
    writeIORef ref (cod current delta)
    pure y)
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 03/09/2026
Misinformation RE: mathstodon.xyz/@johncarlosbaez/1172…
342 4
julesh @julesh.mathstodon.xyz.ap.brid.gy · 30/08/2026
Didn't realise Iceland was so smol, you would need almost 24 of them to make London alone
110 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 30/08/2026
Today I learned about this proposed new tube line which was killed by covid, ie. all of its funding was redirected to pay for lockdown. This would change the feel of the area I live so much, Dalston is already quite busy despite being pretty awkward to get to […] [Original post on mathstodon.xyz]
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 26/08/2026
For some entirely practical reason I wanted to apply the extension of one container to the fibres of another container, and it turns out to be on the nose exactly left kan extension. Sometimes the universe just gives you a gift.
Commuting diagram
210 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 17/08/2026
Repost of an old blog post: Bidirectional typechecking is bidirectional julesh.com/posts/2025-01-28-bidirec…
Just for fun, here is an idea I had that fixes the first problem while ignoring the second, by heavily abusing how Haskell desugars do-notation. There is a class in Prelude called MonadFail that exists for legacy reasons, and adds to the monad signature a function fail :: String -> m a. When Haskell encounters certain syntactic forms of possibly-failing pattern match in a do-block, it desugars it to MonadFail, filling the string with information about the failed match.

Any reader who was unhappy about monadic traversals should probably skip the next block of code, because I am about to deploy an optic for MonadFail. It’s fair to say that this is one of the more horrifying things I have ever done in Haskell.
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 12/08/2026
Help the sun has been eaten by a giant catgirl
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 06/08/2026
@dimpase Standard multivariant chain rule but for transpose jacobian so the matrix multiplication goes the other way, aka backprop
101 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 04/08/2026
Holy shit I have a linux machine and I can finally play a bunch of games, I've wanted to play Satisfactory for literally years
020 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 03/08/2026
New laptop who dis
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 29/07/2026
This is the slick coend calculus proof of Abbott's theorem, that the category of containers and lenses is equivalent to the category of polynomial functors. You Yoneda-reduce the class of natural transformations and the set of lenses just falls out
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 25/07/2026
Outfit for London Pride (* the real one, not the fake compromised one that was a month ago)
030 3
julesh @julesh.mathstodon.xyz.ap.brid.gy · 23/07/2026
Apparently I look like this? Idk seems fake to me.
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 23/07/2026
Excuse me what? No I haven't?
Posts and boosts
Lately you've posted about #memes. Add these as featured hashtags?
Add
No thanks
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 20/07/2026
∑𝑎ₙ𝑥ⁿ polynomial ENDEMF
110 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 19/07/2026
Negative space
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 18/07/2026
They have one teensy little radiological incident last time and suddenly it's health and safety gone mad
No orphan sources permitted on site
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 17/07/2026
I'm hot (caught the sun)
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 16/07/2026
Gender levels are off the charts
020 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 16/07/2026
emf-girl
030 3
julesh @julesh.mathstodon.xyz.ap.brid.gy · 16/07/2026
Defining axioms
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 16/07/2026
What's that hashtag people use? Trams on trains? That makes no sense at all, the gauge would be wrong (with @zanzi)
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 14/07/2026
What the fuck happened to Hyde Park? Until I got close I thought this was concrete... *everything* is dead. When the wind blows there is dust. I guess we have a desert in London now.
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 11/07/2026
Baby's first earrings (I have to wait 2 months still until I can wear them)
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 09/07/2026
*Dark Souls text* Baltic touched
210 2
julesh @julesh.mathstodon.xyz.ap.brid.gy · 09/07/2026
Applied knot theory
031 3
julesh @julesh.mathstodon.xyz.ap.brid.gy · 09/07/2026
The last of the 3 Glaive talks at ACT, Dylan Braithwaite talking about the category of polynomial functors / containers / lenses as a model of some kind of cohesive linear dependent type theory. Among other things, this is the foundational work behind a possible future "dependent Polylang"
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 09/07/2026
Next is Nathaniel Virgo on stochastic Mealy machines, Bayesian updating and filtering for POMDPs
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 09/07/2026
I'm going to try my best to live twoot the afternoon. First up after lunch is CB Aberlé (aka @cbaberle) on system verification using a lot of stuff from polynomials. I also read the paper behind this one and we plan to study it very closely because this might […] [Original post on mathstodon.xyz]
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 09/07/2026
Shoutout to the Baltic Sea as honorary participant, I haven't been out to touch it yet but I'll do it today I think
010 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 08/07/2026
Matt Wilson again on diagrams with holes in... I did a tonne of work on this problem in 2019 and I'm glad things are increasingly being figured out
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 08/07/2026
Leo Lobski on "layered monoidal theories", for string diagrams that mix several different monoidal categories for different levels of abstraction
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 08/07/2026
Anny Azevedo on sheaf cohomology for measuring obstructions to compositionality, a problem I care quite deeply about
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 08/07/2026
ACT day 3 thread, this one will be shorter because we're excursing this afternoon Tarmo Uustalu talking about effects in concurrency with a bunch of locally ordered categories stuff
110 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
Next was Neil Ghani (my former boss) using "snoc trees" and some serious containers machinery to build a universe of sample-able types
000 0
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
David Jaz Myers doing Lyapunov theory in the thing that he calls categorical systems theory and I call categorical cybernetics
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
After lunch I'm chairing a session on mostly control theory. First up is @Joemoeller again putting categorical Lyapunov theory on an actual robot
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
Matt Wilson again, who was forced to teach AI and then noticed that POMDPs look like higher order quantum processes, in particular since both are lenses, and that you can get some mileage out of doing both at the same time
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
Joe Moeller using mixed charts made of manifolds and sets to do control theory of hybrid systems for robotics
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
Aziz Kharoof on simplicial sets and probability *increments the counter for number of independent inventions of lenses again*
100 1
julesh @julesh.mathstodon.xyz.ap.brid.gy · 07/07/2026
ACT day 2. I wonder if I don't have the stamina that I used to for conferences, already suffering from too much Estonian beer and not enough sleep. Anyway, here's the first half of the Adjoint School presentations
131 3