Paulo A. Pereira
Rahul C. Shah
About the Author
Kenny Ballou is a life-long learner, developer, mathematician, and overall thinker. He enjoys solving problems, learning about technologies, and discussing new and different ideas.
He graduated from the Boise State University, majoring in applied mathematics, and minoring in computer science. He has been programming professionally for nearly a decade, and is currently working as a software developer for an analytics company in the Boise, Idaho area.
Apart from developing professionally, he is active in the open source community, contributing where he can.
When he is not developing, he enjoys reading, learning, and shredding the local mountains.
You can read more from him on his blog at https://kennyballou.com, check out his code on GitHub at https://github.com/kennyballou/, and follow him on Twitter at @kennyballou
.
I stand on the shoulders of those before me. I could not be where I am today without the many that have contributed to my success. Thank you.
I would like to specifically thank Sam Schrader for teaching me to teach myself, Dan Feldhusen, and Dillon Woods for affording me the opportunities to learn more, my parents for encouraging me to always strive for more than even I myself think is achievable, and my closest friends for supporting me through to the end.
I would also like to thank my reviewers and Packt Publishing for the guidance and assistance to shape and improve this book. I'm certain this book would not have been of the great quality it is now without their help.
About the Reviewers
Ahmed El-Sharkasy is a senior software engineer at Onfido (https://onfido.com/). Over the course of his life, he joined different start-ups. He worked as a team leader at Byteis (http://web.byteis.com/), lead developer at Bkam (https://eg.bkam.com), and software engineer at eSpace (http://espace.com.eg/) and Shaqa (https://www.shaqa.com/). He loves building products that can improve people's lives, and is specifically interested in the knowledge and education sectors. He is the cofounder and CEO of Fretsi (https://fretsi.com/), having a mission to deliver knowledge to humanity for free and rewarding people based on their knowledge levels. He has also published a research paper named TRUPI: Twitter Recommendation based on Users' Personal Interests .
Paulo A. Pereira is a senior software engineer. He fell in love with Elixir, and has a passion for exploring new technologies and keeping himself up to date with the industry's developments.
He previously worked as a consultant and lead developer for Mediadigital, implementing Grails and Rails solutions. He is currently working at Onfido Background Checks, a London-based tech start-up that is proving to be a key player in the background checking industry.
www.PacktPub.com
Support files, eBooks, discount offers, and more
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at > for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
- Fully searchable across every book published by Packt
- Copy and paste, print, and bookmark content
- On demand and accessible via a web browser
Free access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.
Preface
This is an introduction to Elixir, a relatively new programming language. We will go through the basics of the language and teach functional programming and other paradigms as we progress. We will study the basics of concurrent and distributed programming through the lens of Elixir and OTP. We will also examine one of the more exciting features of Elixir: metaprogramming, or writing code that writes code.
This book doesn't teach the basics or programming in your first language, but it does teach the basics of Elixir under the assumption that this is a new language.
This book will also discuss a fair amount of Erlang, the predecessor language Elixir derives from, and the runtime Elixir compiles to, which is prevalent to the understanding of Elixir.
What this book covers
, Introducing Elixir Thinking Functionally , introduces Elixir and functional programming, and provides some of the history and justification of Elixir. It also walks you through installing Elixir.
, Elixir Basics Foundational Steps toward Functional Programming , introduces the basics of Elixir and its types, syntax, and semantics. This chapter lets you start reading and writing Elixir code.
, Modules and Functions Creating Functional Building Blocks , lets us extend and expand on the previous chapter by introducing the basics of Elixir code organization into modules and functions. It makes us start our lengthy discussion on pattern matching, one of the coolest features of Elixir.