Introduction to Functional Programming in Rust
Rust is a multi paradigm language with performance and safety as primary goals. Rust is strongly influenced by functional programming languages like ML, so it is possible to follow a functional coding style. In this talk I will explore the features of Rust that makes it a good choice for functional programming as well as its drawbacks. Following areas will be covered:
* Algebraic Data Types
* Pattern matching
* Brief overview on Ownership and Lifetimes in Rust
* Higher order functions and combinators
* An extended example that makes use of the above as well as slightly advanced topics.
In addition to the above the strengths and weakness of Rust as a functional programming language will be compared.
Outline/Structure of the Talk
Introduction to Rust
Functional programming features in Rust:
* Algebraic Data Types
* Pattern matching
* Brief overview on Ownership and Lifetimes in Rust
* Higher order functions and combinators
* An extended example that makes use of the above as well as slightly advanced topics.
Conclusion - why should one try Rust for functional programming
Learning Outcome
* A quick introduction to Rust for the unfamiliar.
* Programming in functional style in an impure language.
Target Audience
Anyone with beginner or intermediate functional programming knowledge who is interested in Rust. No previous knowledge of Rust is required.
Prerequisites for Attendees
Basic idea of functional programming
Video
Links
I haven't done any talks on this topic. I plan to write a blog series about this. First part: http://amitdev.github.io/coding/2019/03/26/Functional-Rust/