#Functional-Programming
39 notas · última:
There and Back Again
The author compares C# and F# through a bank-account withdrawal app, showing how immutability in F# keeps data changes separate from persistence, while C# needs extra care with Entity Framework tracking.
Functional Programming (F#) for C# Developers
The article explains core functional programming ideas and shows how C# can express them through immutability, pure functions, composition, and LINQ, with F# presented as the .NET functional language.
Functional Programming in C#—A Brief Consideration
The post introduces functional programming in C# as a way to reduce complexity, relying on pure functions, immutability, LINQ, and higher-order functions to make code easier to understand, debug, and test.
Introduction to F#: A Language for Functional Programming
F# is presented as a functional-first .NET language that combines functional, imperative, and object-oriented styles, with immutability, pattern matching, async support, and strong interoperability.
What is Functional Programming?
The article defines functional programming as building programs mainly by composing functions, supported by higher-order functions, first-class values, immutable data, ADTs, and limited effects. It also distinguishes casual from pure FP and argues most value comes from the casual form.
F# Advent of Code 2023: A random walk in the direction of functional enlightenment
The post follows Scott’s refactoring of old Grace CLI code to make it more idiomatic F#, showing how smaller functions, less duplication, and monadic bind improve clarity while exposing older bugs.
A high-velocity style of software development
The article argues for coding as a fast, iterative experiment: write code early, keep mock data nearby, restart often, favor consistency, and use composable functions and clean workspaces to shorten feedback loops.
Why is F# code so robust and reliable?
The post argues that F# reduces bugs through immutability, exhaustive matching, no nulls by default, explicit errors, typed primitives, and explicit dependencies in functional code.
Domain-Driven Design meets Functional Programming
Interview with Scott Wlaschin on why DDD's demand for composable, autonomous subsystems fits functional programming better than OO does in practice.
Dive Deep into Higher-Order Functions
Curated resource guide defining Higher-Order Functions as functions that take or return other functions, with map, filter and reduce as the everyday entry point into the concept.
Functionally Solving Problems
A Learn You Some Erlang chapter that solves an RPN calculator and a shortest-path puzzle with folds and pattern matching instead of hand-rolled recursion.
Beyond Functional Programming with Elixir and Erlang
José Valim argues that functional programming was never the goal of the Erlang VM, only the means to fault-tolerant, concurrent, maintainable distributed systems.
A Simple Example of Calling an Elixir Library from Gleam
Michael Lynch works through a minimal example of calling an Elixir CSV library from Gleam, wrapping @external attributes and converting Elixir's Enumerable into a Gleam List.
3 tribes of programming
The essay argues that programmers tend to value one of three things most: programming as mathematical expression, as hardware-aware engineering, or as a way to build useful products for people.
JavaScript Higher-Order Functions: A Complete Guide
Explains how higher-order functions in JavaScript rely on first-class functions and shows patterns for passing, returning, and combining functions, plus common built-in uses.
Resources for F# Onboarding
Curated links for learning F#, covering official docs, functional programming, code architecture, testing, performance, and people to follow on Twitter.
Programming paradigms you must know
The article says developers should know programming paradigms to choose a problem-solving approach, and it outlines imperative, procedural, object-oriented, declarative, logic, functional, and reactive styles.
Functional vs Object-Oriented Programming
The article defines programming paradigms, contrasts functional programming with OOP, shows a simple form example in both styles, and says most real problems use a mix of the two.
Iteration: A Gentle Introduction to Functional Programming
The page shows how to move from loops to reusable functional tools like forEach, map, prop, curry, and compose, making dependencies explicit and code easier to test and combine.
Dependency Injection in Elixir
The post compares two ways to apply dependency injection in Elixir: through application config with Application.get_env/3, or by passing collaborators as function parameters, with trade-offs in visibility and flexibility.
My reasons to love F#
The page lists reasons to like F#: cross-platform open source support, interactive exploratory work, functional style, immutability, clarity, prototyping, productivity, distribution, concurrency, syntax, community, and learning resources.
Melhorando validações no domínio com melhores assinaturas de método e lógica funcional (Parte 2)
O texto propõe assinaturas mais claras para recuperar, modificar e persistir entidades, usando tipos como Try, Untrusted e Unit para explicitar falhas, entrada duvidosa e evitar null.
David Heinemeier Hansson on the Future of Rails
DHH says Rails still aims to help small teams build large apps, keep the web simple, and stay relevant through Turbolinks, API mode, and ideas from functional programming.
Functional Patterns in Domain-Driven Design
The page says DDD benefits from a ubiquitous language, but class-based state-and-behavior models can become muddled and fragile. It presents standalone functions as a better fit for modular domain behavior.
Converting a DSL to Executable F# Code On-the-Fly, Part 1
The post shows how to move from a hard-coded function to a replaceable F# function by modeling expressions with a discriminated union and interpreting them into executable code.
Personal Thoughts on the Current Functional Programming Bandwagon
The post argues that functional programming is useful and timely, but not uniquely superior. It frames the current enthusiasm as part of a generational search for identity and a wider, multi-paradigm history.
Elixir concepts for Go developers
The post sketches Elixir for Go developers by comparing immutability, pattern matching, atoms, processes, supervisors, pipes, macros, OTP, and Phoenix to familiar Go ideas.
Functional Programming in a Dysfunctional World
The article argues that functional programming improves correctness and testability through immutability, pure functions, algebraic data types, and strong type systems, with property-based testing as a key complement.
Stories of Elixir in the Wild: Interview with Johnny Winn
Interview with Johnny Winn about his Elixir projects, a company move toward microservices, what he values in Elixir, the main difficulty he hit, and resources he recommends.
Hacking Elixir's Syntax
The author adds underscore support to Elixir binary literals by locating the tokenizer, adjusting its Erlang patterns, and verifying the change with tests before opening a pull request.
OCaml for the Skeptical
The page introduces OCaml as an ML dialect, sketches the history from ML and Caml to OCaml, and collects installation, documentation, book, tutorial, and mailing-list resources.
Introducing Transproc - functional data transformations for Ruby
The post presents Transproc as ROM’s data-transformation backend, built around stateless functions that compose left to right. It argues this fits data pipelines better than typical OO Ruby for handling hashes and nested transformations.
Elixir: Come for the syntax, stay for everything else
The author says Elixir first appeals through Ruby-like syntax, then keeps developers with functional programming, scalability, memory handling, immutability, fault tolerance, and a community he trusts.
Round-up of Elixir Books and Resources
A curated, subjective list of Elixir books and learning resources, ordered from introductory to advanced, with extra recommendations on Erlang, OTP, functional programming, and community channels.
The Philosophy of Ramda
Ramda says it is a practical functional library for JavaScript programmers, built around small composable functions, immutable data, a shallow API, and parameter order that supports currying.
Pipe Forward and Pipe Backward
The post reviews F# pipe-forward and pipe-backward operators, shows how they pass values between functions, and explains how composition operators help when chaining functions or changing precedence.
Elixir - The Love Child of Ruby and Erlang
The article tours Elixir’s core features: the IEx shell, functional tools, immutability, recursion, streams, the pipe operator, processes, message passing, and Erlang interoperability.
Thoughts About Elixir
The author argues that Elixir is now a viable choice for server software because it keeps Erlang's runtime and OTP while offering clearer syntax, easier nested data handling, better tooling, documentation, and seamless Erlang interop.
Porting from C# to F#: Introduction
The series says a direct port from C# to F# is often not the best way to write F# code, and it lays out three levels of porting, from direct translation to type-driven design.
