Influences
Rust is not a particularly original language, with design elements coming from a wide range of sources. Some of these are listed below (including elements that have since been removed):
- SML, OCaml: algebraic data types, pattern matching, type inference, semicolon statement separation
 - C++: references, RAII, smart pointers, move semantics, monomorphization, memory model
 - ML Kit, Cyclone: region based memory management
 - Haskell (GHC): typeclasses, type families
 - Newsqueak, Alef, Limbo: channels, concurrency
 - Erlang: message passing, thread failure, 
linked thread failure,lightweight concurrency - Swift: optional bindings
 - Scheme: hygienic macros
 - C#: attributes
 - Ruby: closure syntax, 
block syntax - NIL, Hermes: 
typestate - Unicode Annex #31: identifier and pattern syntax
 
    © 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
    https://doc.rust-lang.org/reference/influences.html