Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, toxicity and dog-whistling are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com.
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.
6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !uspolitics@lemmy.world
7) No Hit-and-Run questions.
Please don't delete your post for no apparent reason. If you plan on deleting a question later, say so in the post, or if you feel that you have a good reason to remove it, message a mod beforehand. It's not fair to the ones who took their time to answer, and it's not in the spirit of the community.
8) No Bots.
Posts or comments from bots, LLM's, AIs, Neural Networks, Transformers, or Marvin the Paranoid Android are not welcome in AskLemmy. Real humans only please.
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
view the rest of the comments
Functional programming.
I'm curious if it's the whole shebang or there are some aspects you do okay with. Immutability, higher-order functions, partial application, recursion, closures, pattern matching, tacitness, etc. I can also recommend not starting with Haskell. It's a bit much.
I actually spent some time thinking about this. I guess it's because I was a developer for 17 years before I ever heard about lambda calculus or functional programming, and it was really difficult for me to wrap my brain around it.
I like immutability, and discriminated unions, and I can handle monads, but a lot of the rest of it gets too far into the weeds for me. Writing a function that is just a single return statement that chains together a bunch of map and reduce calls just doesn't click for me.
"If it compiles, it works." Yeah, I've never found that to be true. And don't get me started on how you can't debug chained calls when something inevitably goes sideways.
Once I heard someone say "a monad is a monoid in the category of endofunctors" I was officially out. No thanks. Not for me.