minirust
datafrog
minirust | datafrog | |
---|---|---|
7 | 7 | |
768 | 781 | |
1.3% | 2.4% | |
9.2 | 0.0 | |
8 days ago | over 2 years ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
minirust
-
The Cerberus C semantics [pdf]
People are working on the formal specification of rust. It isn't easy. There are at least three projects, maybe more if we include academia https://github.com/RalfJung/minirust has a summary of efforts in the end of the readme.
-
[...] each time a journalist is killed because of memory safety violations, one committee member who voted to add more UB or remove bounds checks should have their legs broken with a sledgehammer.
The real qualitative difference between the two is that C++ is developed as normative document shared by several software project. Rust, on the other hand, is developed as a software project, and its various efforts at codification, on the other hand, are targeted to make sure the pillars of the language is comprehensible and sound. Not at implementing a compiler front end in prose.
-
Tell HN: Rust Is Complex
Rust doesn’t handhold you for anything low-level. It’s just that Rust hides all that complexity beneath Unsafe Rust, which is an eldritch abomination of a language that no one quite knows all the rules yet… I hope the MiniRust project (https://github.com/RalfJung/minirust) succeeds in writing a formal spec of it someday.
-
Do we need a "Rust Standard"?
By the way, are you familiar with the MiniRust project?
-
Announcing: MiniRust
I compare MiniRust and Ferrocene at https://github.com/RalfJung/minirust#what-about-the-ferrocen.... :) TL;DR they re quite different in style, precision, and scope.
Yeah, I didn't even bother specifying a concrete syntax. This file specifies the "abstract syntax", i.e. the result produced by the parser; it doesn't really matter much how you choose to construct those datatypes.
-
The last two years in Miri
If you want a sneak peak and give some early feedback: https://github.com/RalfJung/minirust. The best channel for feedback is Zulip.
datafrog
- Datafrog: A lightweight Datalog engine in Rust
-
Differential Datalog: a programming language for incremental computation
What is the difference with https://github.com/rust-lang/datafrog? It’s a Datalog engine written by Frank McSherry on top of differential dataflow, that’s used here also
-
Announcing: MiniRust
C++ is arguably the most complex programming language ever. There is not much to be gained by comparing against the supremum.
Take a look at the languages that rust was influenced by (https://en.wikipedia.org/wiki/Rust_(programming_language)) those aren't languages with straightforward compilation semantics.
There is a reason why rust has a datalog engine build into the compiler (https://github.com/rust-lang/datafrog). Which is imho totally rad and awesome, but really hard to fully form a mental model of without a spec.
-
Help with iterator efficiency
Datalog may be obscure, but its actually what the next generation of the borrow checker is going to be implemented in, you may find inspiration here: https://github.com/rust-lang/datafrog
- Scryer-Prolog: modern Prolog implementation written mostly in Rust
-
Differential Dataflow for Mere Mortals
They used to but Frank McSherry (author of differential dataflow) wrote them a specialized version without all the dataflow infrastructure [1]. It's part of the rust-lang nursery [2] now but hasn't been updated in a while, so I'm not sure what happened to it.
[1] https://github.com/frankmcsherry/blog/blob/master/posts/2018...
[2] https://github.com/rust-lang/datafrog
What are some alternatives?
a-mir-formality - a model of MIR and the Rust type/trait system
polonius - Defines the Rust borrow checker.
dida - Differential dataflow for mere mortals
psac - Parallel Self-Adjusting Computation
database-stream-processor - Streaming and Incremental Computation Framework
datalog_rust
blog - Some notes on things I find interesting and important.
differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.
differential-dataflow - An implementation of differential dataflow using timely dataflow on Rust.
ascent - logic programming in Rust
scryer-prolog - A modern Prolog implementation written mostly in Rust.