Damus
Andrew Tropin profile picture
Andrew Tropin
@Andrew Tropin

Hack on operating systems and programming languages. He/Him.

Improve tooling for Guile and Guix.

Author of Guix Home, RDE, Arei/Ares Guile IDE.

74830A276C328EC2 at keyserver.ubuntu.com and keys.openpgp.org.

#plt #os #fp #lisp #scheme #clojure #guile #guix #nix #rde #emacs

Relays (1)
  • wss://relay.ditto.pub – read & write

Recent Notes

Andrew Tropin profile picture
During last a couple of weeks I've spent enormous amount of time reviewing Scheme code. My top reasons of miserable and painful review experience:

- Fucked up POSIX API.
- Text representation of the code.
- Lack of types and effects declarations.
- Verboseness of Scheme.

However, it's almost an actionable observation.

I have more exact issues/use cases written down and I have thoughts on how they can be fixed.

The only problem is: it's quite a challenge to implement those "fixes" :D
Andrew Tropin profile picture
Okay, friends, we don't need smarter and faster LLMs. We don't need better harnesses. We don't need to produce more code.

Review is the bottleneck.

We need to improve and simplify the languages, system APIs, review and verification processes.

We always needed better foundations, but today those issues shines like diamonds in the sun.

And I bet that "AI" won't magically solve it for us.
Andrew Tropin profile picture
Woah, the Unix is so cursed. I'm suprised how the applications and kernels still work somehow with all that dup2, fd's, fork-child-exec-and-whatnot crap under the hood.

It's so overcomplicated, It's so brittle. It's a torture, not a programming.

Yeah, you can guess that I'm reviewing some Scheme code with these tasty Unix APIs calls.
Andrew Tropin profile picture
Rocq-solid Software - a formally verified/proven piece of a program.

Example usage: I want both the kernel and userspace programs to be rocq-solid.

P.S. Doesn't matter what proof assistant you used: #coq/#rocq, #IsabelleHOL, #agda, #tlaplus or whatever.
Andrew Tropin profile picture
I have one more reason to make code content-addressable.

Right now people have became much more capable in producing code with the tools like LLMs, but it definitely increases fragmentation and isolation in the communities.

However, we still have a lot to share and talk about and if the code was content-addressable, we could literally see that other people work on the same ideas as we do (even across the boundaries of one language) and communicate and cooperate on these matters.