summaryrefslogtreecommitdiff
path: root/development/rust/README
diff options
context:
space:
mode:
Diffstat (limited to 'development/rust/README')
-rw-r--r--development/rust/README29
1 files changed, 19 insertions, 10 deletions
diff --git a/development/rust/README b/development/rust/README
index a5e2d15083..ff69812bdf 100644
--- a/development/rust/README
+++ b/development/rust/README
@@ -1,25 +1,34 @@
Rust
Rust is a curly-brace, block-structured expression language.
-It visually resembles the C language family, but differs significantly in syntactic and
-semantic details.
-Its design is oriented toward concerns of "programming in the large", that is, of creating
-and maintaining boundaries - both abstract and operational - that preserve large-system
-integrity, availability and concurrency.
-It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure
-functional styles. Rust also supports generic programming and metaprogramming, in both static
-and dynamic styles.
+It visually resembles the C language family, but differs significantly
+in syntactic and semantic details.
-Cargo - the Rust package manager - is included into this build.
+Its design is oriented toward concerns of "programming in the large", that
+is, of creating and maintaining boundaries - both abstract and operational
+- that preserve large-system integrity, availability and concurrency.
-A short summary of features
+It supports a mixture of imperative procedural, concurrent actor,
+object-oriented and pure functional styles. Rust also supports generic
+programming and metaprogramming, in both static and dynamic styles.
+
+Cargo - the Rust package manager - is included in this build.
+
+A short summary of features:
Type system: static, nominal, linear, algebraic, locally inferred
+
Memory safety: no null or dangling pointers, no buffer overflows
+
Concurrency: lightweight tasks with message passing, no shared memory
+
Generics: type parameterization with type classes
+
Exception handling: unrecoverable unwinding with task isolation
+
Memory model: optional task-local GC, safe pointer types with region analysis
+
Compilation model: ahead-of-time, C/C++ compatible
+
License: dual MIT / Apache 2