Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Reed Mullanix

@totbwf@types.pl
mastodon 4.8.0-alpha.2+glitch
  • Open on types.pl

Type Theory/Category Theory

I like proof assistants and make them too!

488 Followers
83 Following
16 Posts
Joined September 23, 2021
Pronouns:
He/Him
Open post
Reed Mullanix @totbwf@types.pl
· 6mo ago

When looked at the right way, init systems like systemd, launchd, etc are build systems; instead of building a piece of software, they build a working environment. This is more than just a vague metaphor: most reasonable init systems will have a way of expressing dependencies, expected outputs, etc.

What *is* legitimately different is that init systems keep running after the artifact is built, and have rules that dynamically fire; EG: a rule that fires when network configurations change, a rule that fires every hour, etc. In a sense, this means that init systems are build systems that are always in watch mode, and support dynamic rules.

It would be interesting to transfer these rules across our analogy, and experiment with a build-style system that supports dynamic watch rules. Most fancy build systems already support an ad-hoc form of this via hot-reloading, but a principled version seems very useful!

106
10
48
0
Open post
Reed Mullanix @totbwf@types.pl
· 4mo ago
Replying to

https://gist.github.com/TOTBWF/b3dbe1fb1b62018fe40870163a72e532

Basic problem is that positivity checking mutual definitions can be tricked by (a) preventing it from seeing the entirety of a Pi type and (b) adding a layer of indirection

Credit to @ncf@types.pl for the idea that things like (tt : ⊤) → ⊤-rec tt (Set → Set) could fool the positivity checker.

A proof of false in Agda 2.9.0
Gist

A proof of false in Agda 2.9.0

A proof of false in Agda 2.9.0. GitHub Gist: instantly share code, notes, and snippets.

18
9
4
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago

One mistake that almost every programming language seems to make is conflating files with compilation units with namespaces

15
1
2
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago
Replying to
@carloangiuli @jonmsterling I see a lot of confusion on this one from computer scientists who think that function extensionality removes the ability to distinguish between, say merge-sort and insertion sort. However, this is a question about the *codes* of functions, not the functions themselves.
8
5
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago
Replying to
I swear I have blocked like 1000 sites about Chronic Bee Paralysis Virus from my DDG search results and they keep on coming; if you are going to hoover up all my data at least be good at using it smh
7
2
1
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago

Haskell association lists have to be the *worst* possible data structure imaginable...

5
1
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago
Replying to

@stschaef @amy @ncf

There are two things blocking Kan ops for Typeω. The first is a technical problem: for small hcomps, we can use universe polymorphism to have a single primitive primHComp : ∀ {ℓ} {A : Type ℓ} {φ : I} (u : ∀ i → Partial φ A) (a : A) → A. This trick does not work for Typeωᵢ. Possible solutions are:

(a) have universe polymorphism in Typeωᵢ which just kicks the problem up a dimension or (b) have users bind primitives for primHCompω₀, primHCompω₁, ...

The second blocker is a somewhat sillier one: the 1lab actually relies on the fact that Typeω does not have Kan operations for performance reasons! In particular, we put some indexed inductives in Typeω to avoid generating the extra cubical code. This is definitely a capital-H Hack, but it does make a huge difference for performance.

We have dropped support for rewrite rules (see https://codeberg.org/1lab/mikan/pulls/68) They are a really cool feature for transforming your proof assistant into another type theory, but they add a large amount of complexity and overhead.

Codeberg.org

Remove global and local rewrite rules

This PR removes all code and supporting infrastructure related to rewrite rules in their various incarnations. This closes #66. ## Code Luckily, most of the removal process went pretty smoothly. The only parts that might be worth examining is the dead-code detection; previously, we were doing a...

4
1
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 7mo ago
Replying to
@MartinEscardo Im glad that the performance work is appreciated!
6
0
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago
Replying to
@ionchy Going to call my next CBPV project honeybee in memoriam
3
0
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago

Well this is pretty damning...

https://damrnelson.github.io/github-historical-uptime/

damrnelson.github.io

Historical GitHub Uptime Charts

View GitHub

2
2
1
0
Open post
Reed Mullanix @totbwf@types.pl
· 4mo ago
Replying to
@jonmsterling@mathstodon.xyz @ncf@types.pl @jeanas@mathstodon.xyz There are some things I'd like to keep that don't admit an eliminator translation: Higher inductive-inductives and single (higher?) IR
1
4
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago
Replying to
@jonmsterling If we all decided to stop dynamic linking this would not be a problem and we could all live in bliss but alas
1
0
0
0
Open post
Reed Mullanix @totbwf@types.pl
· 5mo ago
Replying to
@jonmsterling It is a bad solution to a real problem 😔
0
4
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 01:56:48 UTC