lineiform

A meta-JIT library for Rust interpreters (by chc4)

Lineiform Alternatives

Similar projects and alternatives to lineiform

  1. glicol

    Graph-oriented live coding language and music/audio DSP library written in Rust

  2. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  3. TablaM

    The practical relational programing language for data-oriented applications

  4. strop

    Stochastically generates machine code

  5. uom

    27 lineiform VS uom

    Units of measurement -- type-safe zero-cost dimensional analysis

  6. indicatif

    A command line progress reporting library for Rust

  7. bonsaidb

    A developer-friendly document database that grows with you, written in Rust

  8. atomic-server

    16 lineiform VS atomic-server

    An open source headless CMS / real-time database. Powerful table editor, full-text search, and SDKs for JS / React / Svelte.

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. cranelift-jit-demo

    JIT compiler and runtime for a toy language, using Cranelift

  11. soundfingerprinting

    Open source audio fingerprinting in .NET. An efficient algorithm for acoustic fingerprinting written purely in C#.

  12. open-football

    Football simulation engine (like Football Manager) written in pure Rust

  13. cargo-mutants

    :zombie: Inject bugs and see if your tests catch them!

  14. rs_pbrt

    Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...

  15. augmented-audio

    Rust - Augmented Audio Libraries

  16. mogwai

    The minimalist, obvious, graphical, web application interface

  17. conserve

    🌲 Robust file backup tool in Rust

  18. grenad

    Tools to sort, merge, write, and read immutable key-value pairs :tomato:

  19. Nova

    Implementation of "Ray Tracing in One Weekend": https://raytracing.github.io/books/RayTracingInOneWeekend.html (by LeCyberDucky)

  20. tree-flat

    TreeFlat is the simplest way to build & traverse a pre-order Tree in Rust

  21. rust-sbash

    Simon Bourne's Augmented Shell

  22. pot

    Discontinued A private discord music bot writen in rust (by rurigk)

  23. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better lineiform alternative or higher similarity.

lineiform discussion

Log in or Post with

lineiform reviews and mentions

Posts with mentions or reviews of lineiform. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-16.
  • JITting functions in Rust for runtime performance flexibility
    4 projects | /r/rust | 16 Dec 2022
    Sounds similar to lineiform. Which isn't all that stable or actively developed, but it is a cute approach to writing a meta-jit in rust. It's a weird approach, but IMO it's worth more experimentation.
  • What’s everyone working on this week (9/2022)?
    10 projects | /r/rust | 27 Feb 2022
    Working on Lineiform, my meta-JIT library, some more.
  • Lineiform, a meta-JIT library for Rust interpreters
    1 project | /r/rust | 17 Feb 2022
    In response to Cranelift, switching to my own Tangle IR won't be using Cranelift at all (it uses raw dynasm-rs for emitting instructions). I go into a bit in https://github.com/chc4/lineiform/issues/19, but Cranelift specifically has some rules about iflags, the type they use to conceptualize processor flags effects (e.g. add's carryout or overflow). You can only have one iflags value live at a time, and it can't overlap with any other math operation. This is a problem because the x86 we're lifting doesn't always follow that rule, so if we just emit Cranelift as we go it will panic and say we built an invalid function.
    2 projects | news.ycombinator.com | 15 Feb 2022
    I go into a bit in https://github.com/chc4/lineiform/issues/19, but it's less a problem with its optimizer and more a problem with its IR constraints. Cranelift specifically has some rules about `iflags`, the type they use to conceptualize processor flags effects (e.g. add's carryout or overflow). You can only have one `iflags` value live at a time, and it can't overlap with any other math operation. This is a problem because the x86 we're lifting doesn't always follow that rule, so if we just emit Cranelift as we go it will panic and say we built an invalid function.

    The iflags design in general is kinda awkward too, and was being rethought a few months ago when I was first getting this working; I think they're planning on redesigning the add carryout interface and things to be slightly more streamlined. I suspect that any redesigned interface will have similar problems with mismatch between what I want from Cranelift and what 90% of other uses of Cranelfit want, though, and so I decided to just make my own IR instead.

  • What's everyone working on this week (3/2022)?
    7 projects | /r/rust | 17 Jan 2022
    Working on the codegen backend for Lineiform again. I sketched out a plan on how to implement register allocation in a way that hopefully doesn't have horrible behavior in the majority of cases, and implemented ~half of it last week, and hopefully I'll implement the other half and instruction scheduling this week.
  • HN: == Happy New Year HN == (What is your “plans” for the new year?)
    2 projects | news.ycombinator.com | 31 Dec 2021
    Yup, https://github.com/chc4/lineiform. It's not usable at all yet - I was building it on top of Cranelift, which turned out to be a fairly bad idea, so I'm going to have to essentially rewrite all of it with my own codegen backend I think. I've been hacking on it on and off but it's been much slower progress due to work (and writing a codegen backend is hard...)
  • What's everyone working on this week (32/2021)?
    7 projects | /r/rust | 9 Aug 2021
    I got struck by either a very dumb or very good idea a few days ago, and finally have a working (minimal) proof-of-concept for it: Lineiform is a meta-JIT library to nearly automatically get an optimizing method JIT from a Rust interpreter. It does dynamic recompilation on closures by lifting from x86 to Cranelift IR for runtime function inlining and constant propagation.
  • A note from our sponsor - SaaSHub
    www.saashub.com | 19 Apr 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic lineiform repo stats
8
162
0.0
about 2 years ago

Sponsored
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com

Did you know that Rust is
the 5th most popular programming language
based on number of references?