Using Ocaml to learn FP. What FP concepts should I touch on?
I just started to learn Ocaml to learn functional programming. I will use it to build a CLI that's mostly orchestrating other programs.
My experience is mostly in JS / TS, but I've also coded a good bit in Python and Lua.
Below, I provided a list of things I learned or focused on while using OCaml. But I feel like I must be missing something. This is only moderately different from what I'm used to in JS. I expected something more radical. Moreover, I constantly hear a lot of FP jargon (like "highly kinded types", monads, etc) that I feel am still missing.
So far, here's what I studied:
- immutability
- avoid side affects
- static typing
- recursion instead of loops
- option / maybe
- higher order functions
- conditionals and other constructs as expressions, when they're statements in other languages
- pipelines and functions as input —> output
- currying
- scoping with let
What am I missing?
Concepts of Functional Programming
Concepts of Functional Programming
https://priver.dev/blog/functional-programming/concepts-of-functional-programming/
This post explores the concepts of functional programming, including immutability, pure functions, higher-order functions, recursion, and more. It also delves into the history of functional programming and introduces Lambda Calculus. If you're new to functional programming or want to deepen your understanding, this post is for you.
Functional Classes (2023)
https://blog.cleancoder.com/uncle-bob/2023/01/18/functional-classes.html
15-150: Principles of Functional Programming
https://brandonspark.github.io/150/
Gopiandcode > logs > How I wrote an Activitypub Server in OCaml: Lessons Learnt, Weekends Lost
Gopiandcode > logs > How I wrote an Activitypub Server in OCaml: Lessons Learnt, Weekends Lost
https://gopiandcode.uk/logs/log-writing-activitypub.html
Fearless Tinkering with Nix
Fearless Tinkering with Nix
https://www.heneli.dev/blog/fearless-tinkering-nix
Move fast and save things with Nix: A purely functional DevOps ecosystem.
Beyond functional programming: a taste of Verse. Simon Peyton Jones & Tim Sweeney | Lambda Days 2023
Beyond functional programming: a taste of Verse. Simon Peyton Jones & Tim Sweeney | Lambda Days 2023
https://www.youtube.com/watch?v=OJv8rFap0Nw
Keynote talk by Simon Peyton Jones and Tim Sweeney from Epic Games.Verse is a new programming language, being designed at Epic Games as the language of the m...
Fearless Tinkering is Functional
Fearless Tinkering is Functional
https://www.heneli.dev/blog/fearless-tinkering-is-functional
A fearless tinkerer sails a ship where entire classes of leakage are rendered an impossibility.
Fixing the Future | Functional Programming: The Biggest Change Since We Killed The Goto?
Fixing the Future | Functional Programming: The Biggest Change Since We Killed The Goto?
https://share.transistor.fm/s/da246c70
Charles Scalfini, the CTO of Panoramic Software, makes the case for why programmers should make the leap to functional programming, which promises more maintainable code, and eliminates some of the problems inherent to conventional languages.
The one thing you cannot do in object-oriented programming but you can in functional
The One Thing You Cannot Do in Object-Oriented Programming but You Can in Functional
https://www.youtube.com/watch?v=_4WdW36725A
Download the source code for this demo at Patreon: https://www.patreon.com/posts/one-thing-you-do-85222122In Object-Oriented Programming, objects are instanc...