rfcs
typedlua
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.
rfcs
-
What are the current hot topics in type theory and static analysis?
I would add that Equality saturation/E-graphs has become quite a hot topic recently, since their POPL21 paper, with workshops dedicated to applications of e-graphs. They have even recently been added to Cranelift as an IR for optimizations.
-
Blog Post: Next Rust Compiler
I think with Cranelift's investment into an e-graph based optimizer (https://github.com/bytecodealliance/rfcs/blob/main/accepted/cranelift-egraph.md) they are well positioned to have quite competitive performance as a backend.
-
Inko in 2023
They're also actively working in this area, for example the recently added equality saturation framework and the pattern matching DSL it builds on.
-
Wasmtime Reaches 1.0: Fast, Safe and Production Ready!
There's an RFC here: https://github.com/bytecodealliance/rfcs/pull/28 and SaΓΊl Cabrera, the person who is leading this effort and implementing the compiler tier, has a work-in-progress draft PR here: https://github.com/bytecodealliance/wasmtime/pull/4907
- Cranelift: Using E-Graphs for Verified, Cooperating Middle-End Optimizations
- Cranelift Progress Report: A Look Back at 2021
typedlua
-
Ravi is a dialect of Lua, with JIT and AOT compilers
it's based off MIR, does it have something to do with https://mlir.llvm.org/ ?
for typed lua, there is another effort https://github.com/teal-language/tl in addition to the mentioned typescript approach: https://github.com/andremm/typedlua
- Seeking Language+Library recs for context sensitive language
-
What are the current hot topics in type theory and static analysis?
Gradual typing. This is what TypeScript is: you have some typed values and untyped values, and want to verify and possibly optimize the typed code while permitting the untyped code to compile. Besides JavaScript/TypeScript, you'll find gradual typing on pretty much any other popular untyped language including Python, Lua, and Racket. Mojo is also going to have gradual typing.
What are some alternatives?
reduze - Zig program reduction is upstream in compiler due to various parser + formatter interactions.
hylo - The Hylo programming language
buck2 - Build system, successor to Buck
libaco - A blazing fast and lightweight C asymmetric coroutine library π β πβ π
lean4 - Lean 4 programming language and theorem prover
design
eff - π§ a work in progress effect system for Haskell π§
spiderlightning - A set of WIT definitions and associated implementations to enable app developers to work at a faster pace and require less knowledge of the environment in which they are executing.
dafny - Dafny is a verification-aware programming language
marker - An experimental linting interface for Rust. Let's make custom lints a reality
ravi - Ravi is a dialect of Lua, featuring limited optional static typing, JIT and AOT compilers