Hacker News new | ask | show | jobs
by gradschool 1696 days ago
Your profile says you like doing things your own way, so the best way for a person of your disposition to internalize functional programming concepts is to make up your own functional programming language and write an interpreter for it. Without all the bells and whistles, the interpreter amounts to a stack machine. You can skip the literature survey if you want because whatever you invent will be similar to what's been done. Your first version should be so bad it's embarrassing. The important thing is to have it up and running and then think about improving it. Don't overdesign it because if you make a bad decision and have to redo it you'll learn even more. Start with the usual functional programming combinators (map, fold, etc.) and by the time you've worked your way up to monadic i/o you'll understand that stuff as well as anyone.