Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tolyo/coursera-fun-prog-elixir
Functional Programming Principles in Elixir
https://github.com/tolyo/coursera-fun-prog-elixir
Last synced: about 2 months ago
JSON representation
Functional Programming Principles in Elixir
- Host: GitHub
- URL: https://github.com/tolyo/coursera-fun-prog-elixir
- Owner: tolyo
- Created: 2021-10-20T21:17:26.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-05T15:23:41.000Z (about 1 year ago)
- Last Synced: 2023-12-05T21:32:29.044Z (about 1 year ago)
- Language: Elixir
- Homepage:
- Size: 7.1 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Functional Programming Principles in Elixir
===============This is set of exercises for [Elixir](https://elixir-lang.org/) from the original [Functional Programming Principles in Scala](https://www.coursera.org/learn/scala-functional-programming) course, by Martin Odersky. Originally published in 2011, this MOOC had far-reaching influence on many a Java developer by introducing them to functional programming and probably had an effect on the course of Java language itself. Even if you have no interest in Scala, it remains one of the best sources for learning functional programming techniques, which — as these exercises demonstrate — are applicable across all functional languages.
There are two types of programmers that should find them especially usefull:
* newcomers to Elixir wanting to improve their skills at tacking problems in a functional programming style
* Java/Scala developers curious about functional programming outside of the JVMCompleting these exercises should not only improve your reasoning about functional programming, but hopefully also reveal Elixir as expressive, scalable and sufficiently typesafe language in its own right.
## Getting started
The folders are named exactly as the original homework problems in Scala with each folder being a separate `mix` project. To get started, clone this repo and try out sample problems in `/examples` folder. To verify your solution, run `mix test` and compare with proposed solution under `solutions` branch. If you found a way to improve the proposed solution, please submit a pull request.