Functional Programming

!functional_programming

@programming.dev
Create post
Using Ocaml to learn FP. What FP concepts should I touch on?

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

Open link in next tab

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.

Concepts of Functional Programming
Functional Classes (2023)

Functional Classes (2023)

Open link in next tab

https://blog.cleancoder.com/uncle-bob/2023/01/18/functional-classes.html

15-150: Principles of Functional Programming

15-150: Principles of Functional Programming

Open link in next tab

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

Open link in next tab

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

Open link in next tab

Fearless Tinkering with Nix

https://www.heneli.dev/blog/fearless-tinkering-nix

Move fast and save things with Nix: A purely functional DevOps ecosystem.

Fearless Tinkering with Nix
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

Open link in next tab

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

Open link in next tab

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.

Fearless Tinkering is Functional
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?

Open link in next tab

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.

Fixing the Future | Functional Programming: The Biggest Change Since We Killed The Goto?
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

Open link in next tab

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...