#PaperADay🦆 today is kindly offered by @jonmsterling & collaborators:

arxiv.org/abs/2107.04663

1/n
I'm not going to run a long thread on this because the paper is very detailed and quite enjoyable to read, but here's some of the things I loved 2/n
The central idea of the paper is beautifully laid out at the beginning: use an open/closed pair of modalities on types to treat *intension* as structure on *extension*. So cool! 3/n
These modalities are generated by a certain predicate ¶_E which classifies the extensional phase. This seemed odd to me at first, but then this example made it so intuitive: 4/n
The other key idea of calf is to use model computational cost as a side-effect. Hence 'cost structures' become effectively algebras of a writer monad for a monoid of cost (e.g. running-time would be Nat) 5/n
So basically the extension modality 'forgets' step^c: 6/n
In the paper you find a full specification of 'calf', some categorical model theory (to prove it is non-degenerate), and most importantly, examples of verifying the running time of a program (such as an implementation Euclid's algorithm)
And there's an Agda formalization too! 7/7

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with pullback of matteo along a 2-fibration

pullback of matteo along a 2-fibration Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @mattecapu

6 Jan
#PaperADay🦆 time!

Today I read Apolito's essay I announced yersterday.

TL;DR: anarcho-communism should develop a competing alternative to markets for large-scale economical organization, and 'integrated information' is an appealing theoretical framework to look at

1/n
First, a reminder that Aurora Apolito is a pseudonym (I don't know if her real name is public knowledge so I'm not gonna dox). But it's cool that the name itself roughly means 'dawn of the stateless [society]', which is really cool 2/n
The paper starts with a question: 'Is anarchism [...] a system destined to only work in the scale of small local communities?' 3/n
Read 31 tweets
22 Dec 21
Today Dylan Braithwaite, @bgavran3, @_julesh_, @AyeGill and myself published the extended abstract of a work that has been cooking for quite a bit (at least a year!)

arxiv.org/abs/2112.11145

What's in there? 1/n Fibre optics (extended abstract) Dylan Braithwaite, Matteo C
The problem we're trying to solve is to 'complete this square'. Lenses are modular data accessors for records (i.e. pairs), dep. lenses are modula data accessors for records *with dependency* (i.e. dependent pairs), whereas optics extend lenses to obscene levels of generality 2/n
In particular, optics provide an abstract framework for defining 'lens-like' accessors for structures with much more complexity than records (e.g. trees) and for more exotic accessing patterns (e.g. with monadic effects)
See arxiv.org/abs/1703.10857 and arxiv.org/abs/2001.07488 3/n
Read 43 tweets
27 Nov 21
I'm starting a category theory without context (credit: ) art gallery thread
Read 5 tweets
23 Nov 21
If you didn't get it, the bottom line (or at least *my* bottom line) is semicolon-y coding is obsolete.

We should write code with string diagrams!

It's not about *visual programming*, it's about making concurrency trivial to see and reason about.
Also, don't get me wrong, I don't want everything to be a string you plug around. I want string diagrams to be a way to organize code in a file, not as the only programming facility. That's hell.
In particular, 'stringy' coding should be added *on top* of semicolony coding, like writing code in separate files became a standard programming facility/practice.

I want to write code in interacting, separate columns.
Read 4 tweets
23 Nov 21
"We're busy teaching you to program in a programming language that has semicolons all over the place. What that means is that it is not at all obvious how to split those tasks up into things which can be done simultaneously on different cores,... 1/5
Because your program structure says 'first do this and then, maybe, using the results of that, do something else'. And you have no choice but to wait for the first thing to finish before you start the second thing, and... 2/5
...in the context of what's happening to processors this is a *disaster*!
We are teaching you to program with a technology which was great last century, but something's gotta give if you're going to be able to survive in programming this century! 3/5
Read 7 tweets
21 Oct 19
Introducing the Pirahã people:
en.wikipedia.org/wiki/Pirah%C3%…
They are a small (800ish) culture leaving in the Amazon forest. Them alone suffice to challenge a lot of our assumptions about human nature. Follow me.

(1/n)
They have one of the most interesting culture: very self-sufficient (they call themselves 'the straight ones' and show no major interest in 'developing' themselves), incredibly adapted to their environment. This both reflects and is reflected in their unique language.

(2/n)
Pirahã is indeed unique, as it is the only remaining dialect of the now-defunct Mura lang. Pirahã has no more than 13 distinct phonemes (English has 25ish). This phonetical simplicity allows them to sing/whistle their language, very useful if you hunt in group in a forest!

(3/n)
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(