brennan

brennan

Any tips on understanding recursion?

Trying to understand recursion in Elixir. Sometimes it is simple based on the problem, sometimes it is hard. Any suggestions on how to learn and understand it better?

Most Liked

joeb

joeb

Check out PragProg ‘Learn Functional Programming with Elixir’ chapter on recursion. That might help.

AstonJ

AstonJ

I agree - I learnt some really cool things in that book!

#book-learn-functional-programming-with-elixir

Here’s my review of it:

The book’s author @ulissesalmeida is here on Devtalk too :+1:

malloryerik

malloryerik

There’s an awesome book that’s not about Elixir at all called The Little Schemer which is a fun and illuminating way to learn recursion and functional-ish stuff like linked lists. It’s written as a fun quiz that asks questions before you could know the answer, so that you have to guess about things before being exposed to them. Scheme is a lisp, but it actually shares a great deal with Elixir. I printed out a copy of the book that I found online and went though it like that, without touching a keyboard. You’ll quickly be doing recursion in your head and it will makes total sense and will be fun, and I think several parts of the structure of a language like Elixir will open up to you. At least it seemed to help me in that way.

Where Next?

Popular General Dev topics Top

Kurisu
You can go directly to the last paragraph of this post to read about my concern. I was trying Git submodules then found the above po...
New
AstonJ
Stopwords are words that you normally filter for things like search queries, such as ‘as’, ‘because’ etc - there are a few online, but I ...
New
finner
Hello devtalk ! Heroku are closing their free tier (dynos) later this month and I was wondering if you guys could recommend any alternat...
New
harwind
Consider the following bits of code: void foo(const int i) // First foo { std::cout << "First " << i << endl; } vo...
New
harwind
I have an array of strings in JavaScript, and I need to convert it into a single string with specific delimiter characters between the el...
/js
New
harwind
I’m working on a SQL query for a database containing records of customer transactions. Each transaction has a transaction_id, customer_id...
New
harwind
Given an array of integers, find the length of the longest increasing subsequence. A subsequence is a sequence that can be derived from a...
New
harwind
I am working on a Python script, and you encounter an error related to the misuse of lists and tuples. Here’s a simplified version of you...
New
harwind
Hi, I’m now investigating the complexities of Python loops, specifically the contrast between for and while loops. However, I’ve had some...
New
dPhong31415
Hey everyone :waving_hand: I’ve just recently discovered Elixir, and honestly—it’s been mind-blowing so far (coming from a React backgro...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1063 24245 395
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
AstonJ
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting: asdf install erlang 23.1.2 Configure failed. checking ...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
PragmaticBookshelf
As digital systems increasingly run the world, mastery of the recurring patterns of software development risk is the key to fast and effe...
New
PragmaticBookshelf
Quickly turn complex problems into simple, working solutions using functional programming, safe concurrency, and the expressive tools of ...
New
pragdave
Build robust LLM-powered apps, chatbots, and agents while mastering AI engineering principles that will help you outlast the tools and th...
New