miniPerl
minirust
miniPerl | minirust | |
---|---|---|
1 | 7 | |
0 | 764 | |
- | 0.8% | |
10.0 | 9.2 | |
over 7 years ago | 7 days ago | |
Perl6 | Rust | |
Artistic 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.
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.
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.
What are some alternatives?
datafrog - A lightweight Datalog engine in Rust
a-mir-formality - a model of MIR and the Rust type/trait system