What Is Type-Level Programming?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • ideas4

    An Additional 100 Ideas for Computing https://samsquire.github.io/ideas4/

  • This is very interesting and could lead to some futuristic programming technology.

    I kind of want to plot the state space of a program to see all available states.

    In my exploration of distributed systems, microservices and multithreaded systems, it is extremely helpful to try and see what potential states the system can be in. Global and local reasoning of these kinds of software is rather difficult.

    I've written about value tracing but I've not heard of treating values as types. I would love to be able to see the trajectory of a value through different states.

    https://github.com/samsquire/ideas4#571-value-calculus-varia...

    I've never written a TLA+ specification and I'm a complete beginner to this space but I've been trying to understand the dining philosophers one. TLA+ Toolbox is aware of discrete states in the state space, which is absolutely awesome. Types can inform us about future possible valid states.

    I began writing a visualisation of memory and animated the movement of memory around to try reveal patterns.

    https://replit.com/@Chronological/ProgrammingRTS#index.html

    If we see types or values as positions, we can create animations of the state space unfolding in front of us. This is the dream.

  • bounded-registers

    Using Type-Level Programming in Rust to Make Safer Hardware Abstractions

  • This sort of thing is something we abused about Rust quite some time ago to make safer interfaces to low-level hardware.

    https://blog.auxon.io/2019/10/25/type-level-registers/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • BitBang_I2C

    A software I2C implementation to run on any GPIO pins on any system

  • I'm sure you mean "nobody" not nobody, otherwise this doesn't exist: https://github.com/bitbank2/BitBang_I2C (and plenty of others, this was just the first github link google gave me). There's quite a few articles suggesting to bit bang i2c on tiny MCUs also for various memory/code size/etc reasons.

    I suspect trivial to do in C++ really should be "trivial" too.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts