llvm-cbe
rust_sqlite
llvm-cbe | rust_sqlite | |
---|---|---|
14 | 9 | |
867 | 1,083 | |
1.4% | - | |
6.6 | 0.0 | |
25 days ago | over 2 years ago | |
C++ | Rust | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
llvm-cbe
-
Ask HN: LLVM vs. C
So how does the LLVM C backend work then?
https://github.com/JuliaHubOSS/llvm-cbe
-
rust to c complication?
One alternative worth mentioning, though, would be the LLVM C Backend maintained by the Julia community.
-
Programming language that compiles to clean C89 or C99?
If you drop "easily" and "human" (/s) from your requirements list, then the C backend for LLVM might work. Then you can choose any programming language you want that has LLVM 10-compatible frontend.
-
Easy way to convert a C++ library into straight C ?
If you really must have something that compiles in C (e.g. for a platform where you only have a C compiler) there's an LLVM backend that outputs C code: https://github.com/JuliaComputingOSS/llvm-cbe
- Snowman native code to C/C++ decompiler for x86/x86_64/ARM
-
Can Rust do every low level stuff C/C++ do?
You can convert llvm bitcode to C and then use C compiler, there is such project https://github.com/JuliaComputingOSS/llvm-cbe .
-
lipstick: a Rust-like syntax frontend for C
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
-
C++ to C converter?
Check this project out: https://github.com/JuliaComputingOSS/llvm-cbe.
-
Show HN: prometeo – a Python-to-C transpiler for high-performance computing
Well IMO it can definitely be rewritten in Julia, and to an easier degree than python since Julia allows hooking into the compiler pipeline at many areas of the stack. It's lispy an built from the ground up for codegen, with libraries like (https://github.com/JuliaSymbolics/Metatheory.jl) that provide high level pattern matching with e-graphs. The question is whether it's worth your time to learn Julia to do so.
You could also do it at the LLVM level: https://github.com/JuliaComputingOSS/llvm-cbe
For interesting takes on that, you can see https://github.com/JuliaLinearAlgebra/Octavian.jl which relies on loopvectorization.jl to do transforms on Julia AST beyond what LLVM does. Because of that, Octavian.jl beats openblas on many linalg benchmarks
-
Writing a SQLite clone from scratch in C
You can try your luck with the "resurrected" C backend: https://github.com/JuliaComputingOSS/llvm-cbe
I don't understand why I see so many requests for LLVM-based languages to change around their backend or IR, that seems to be a huge amount of work for comparatively little benefit. The correct thing to do there is to just add support for those to LLVM.
rust_sqlite
- Writing a SQLite clone from scratch in C
- SQLite the only database you will ever need in most cases
- SQLRite – SQLite clone from scratch in Rust
-
What would SQLite look like if written in Rust? — Part 2
You may have noticed that throughout the entire code I am making reference to a SQLRiteError type. That is an error type I defined as an enum using the thiserror crate, that is a super easy to use library that provides a convenient derive macro for the standard library’s std::error::Error trait. If you check the commits in the github repository, you may notice that I first wrote my own implementation of the std::error::Error trait. But then I bumped into this trait, that basically takes care of a lot of the boiler plate, and let’s face it, the code looks super clean! This is our error module so far, located in src/error.rs .
-
New chapter on the series - Writing a SQLite clone from scratch in Rust
Also check out the github repo: https://github.com/joaoh82/rust_sqlite
- What would SQLite would look like if written in Rust?
- SQLite Clone from Scratch in Rust
-
What would SQLite look like if written in Rust? — Part 1
I assume that if you are trying to follow this and writing some code along with me you can manage to create an empty Rust project on your own. Just to be clear this is what I did to start: cargo new rust_sqlite --bin . But again, you can find all the code on Github.
-
What would SQLite look like if written in Rust? — Part 0
View on Github (pull requests are welcome)
What are some alternatives?
llvm-project - Fork of LLVM with Xtensa specific patches. To be upstreamed.
sqlcipher - SQLCipher is a standalone fork of SQLite that adds 256 bit AES encryption of database files and other security features.
acados - Fast and embedded solvers for nonlinear optimal control
rustyline - Readline Implementation in Rust
abuse - Abuse (1995) by Crack dot Com
chiselstrike - ChiselStrike abstracts common backends components like databases and message queues, and let you drive them from a convenient TypeScript business logic layer
ulisp - A version of the Lisp programming language for ATmega-based Arduino boards.
temporal_tables - Temporal Tables PostgreSQL Extension
mrustc - Alternative rust compiler (re-implementation)
medium-unlimited - A browser extension to read medium.com articles for free without membership.
nim-esp8266-sdk - Nim wrapper for the ESP8266 NON-OS SDK
rqlite - The lightweight, user-friendly, distributed relational database built on SQLite.