minirust
miniPerl
minirust | miniPerl | |
---|---|---|
7 | 1 | |
770 | 0 | |
1.6% | - | |
9.2 | 10.0 | |
about 20 hours ago | over 7 years ago | |
Rust | Perl6 | |
Apache License 2.0 | Artistic 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.
miniPerl
-
Announcing: MiniRust
Using "mini" to mean a subset of the language rather than a version for small systems has precedent. For example in the Perl community, miniperl is a subset of Perl. It's mostly used to bootstrap builds of the full language, but in theory can be used separately as a restricted programming language. It's also the name of a module, ExtUtils::Miniperl, for Perl (https://metacpan.org/pod/ExtUtils::Miniperl) that builds miniperlmain.c and perlmain.c files to bootstrap the compilation of the language system. This is not to be confused with the Raku project on Github called "miniPerl" (https://github.com/grondilu/miniPerl) which compiles subsets of Perl via the Lambda calculus to JavaScript output.
I'd personally pretty much always expect "mini" or "r" (as in "rperl", a restricted subset of Perl with C++ connections) versions of a language to be restricted subsets for some purpose (rperl's is to give away flexibility for performance while maintaining a good portion of the original language).
I've seen an "e" or "emb" prefix or a "small", "tiny", "micro" or "µ" (or "u") prefix to mean a small toolchain version several places, like SmallC or uclibc or Mikroe's mikroC. It wouldn't surprise me to see a "nano" version of a language tool either. Sometimes these are subsets as well, but to fit the size constraints of the target rather than for constraining the input for its own sake.
What are some alternatives?
datafrog - A lightweight Datalog engine in Rust
a-mir-formality - a model of MIR and the Rust type/trait system