lipstick: a Rust-like syntax frontend for C

This page summarizes the projects mentioned and recommended in the original post on /r/rust

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

    You _can_ put lipstick on a pig

    Repo

  • mrustc

    Alternative rust compiler (re-implementation)

    Another way to "turn off the borrow checker" is to compile with mrustc: https://github.com/thepowersgang/mrustc

  • 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.

  • corrode

    C to Rust translator

    Some intersection with https://github.com/jameysharp/corrode in theory right? Maybe it's saner actually to start with corrode-to-lipstick (there has to be a good project name here) and then it's perhaps easier to turn lipstick into safe Rust?

  • llvm-cbe

    resurrected LLVM "C Backend", with improvements

    I'm really surprised that the LLVM C backends have continually been resurrected then abandoned over the years. It's a good solution to this sort of thing and would enable a lot of cool stuff like Rust to weird embedded platforms. The most recent one is the Julia backend: https://github.com/JuliaComputingOSS/llvm-cbe

  • datatype99

    Algebraic data types for C99

    I've done something similar with Datatype99 and Interface99. They are like a macro eDSL that compiles to C. The first one features algebraic data types, the second one features interfaces.

  • interface99

    Full-featured interfaces for C99

    I've done something similar with Datatype99 and Interface99. They are like a macro eDSL that compiles to C. The first one features algebraic data types, the second one features interfaces.

  • c2rust

    Migrate C code to Rust

    I think the most advanced approach for C to Rust currently is https://github.com/immunant/c2rust. But year I had the idea of having a rustly compile to C intermediate language as well. C2Rust currently does a massive transpile step in the beginning. I am not sure if lipstick has the right properties for this though, but having a language that compiles back to C would allow for a gradual translation.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

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