summaryrefslogblamecommitdiffstats
path: root/development/rust/README
blob: ff69812bdf6c353a1837fb5b49121ab514fe82ef (plain) (tree)
1
2
3
4
5
6
7
8
9
10

    
                                                            
 

                                                                      
 


                                                                          
 






                                                                      

                                                                 
 
                                                                
 
                                                                     
 
                                                 
 
                                                               
 
                                                                             
 
                                                  
 
                            
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.

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