How I built an interactive Elm workshop environment using Guida's in-browser compiler after server-side compilation hit memory limits| cekrem.github.io
Writing code in a functional way can help to solve complex problems in a efficient and in a reusable manner, for creating clean and maintainable software.| iO tech_hub
How Self-Contained Features and Event Logs Replace Legacy Models| Rico Fritzsche
Transpose If we are to represent a row of a matrix as a list of numbers, then a matrix can naturally be re...| blog.shaynefletcher.org
Filtering arrays with other value types| Matthias Noback
Introducing functional programming in Fortran with filtering integers| Matthias Noback
Higher-order functions and closures| Matthias Noback
Transforming arrays| Matthias Noback
"All you need is list, set and dict"| Agile & Coding
"What do you call a Frenchman wearing sandals?"| Agile & Coding
File & folder structures - there's almost as many different variations as there are code repositories.| Agile & Coding
Notice The work in this article is in progress. But you are free to read it in its current state and free to post comments. If you want to see the change set, go to the bottom of the page. Maybe you are of those people who gets headache when writing a parser. LL or […]| Kerflyn's Blog
In a previous post, I’ve shown how to use the type Optional provided by Guava, in a view to create a monad. Personally, I’m not satisfied with the resulting code. Since, I’ve found another way to represent the Option monad in Java only, and the new representation seems to be better. So we start with […]| Kerflyn's Blog
Guava is a kind of Swiss Army knife API proposed by Google for Java 5 and more. It contains many functionalities that help the developer in its every day life. Guava proposes also a basic functional programming API. You can represent almost statically typed functions with it, map functions on collections, compose them, etc. Since […]| Kerflyn's Blog
What I like with factorial function is that it’s easy to implement by using different approaches. This month, I’ve presented functional programming and some of its main concepts (recurs…| Kerflyn's Blog
Shardcake is a Scala open source library I created in 2022 to easily distribute entities across multiple servers (sharding) and to interact with them using their ID without knowing their actual location (location transparency). To support a real-life...| Pierre Ricadat's Tech Blog
While Dart is in its core an object-oriented programming language, that doesn’t mean that you’re stuck only with that paradigm. In fact, Dart is something called a multi-paradigm language! Functional programming (FP) makes your code easier to test and reuse, and also makes it less error prone. With Dart, it’s easy to start introducing practical functional […] The post Practical Functional Programming in Dart & Flutter appeared first on Reso Coder.| Reso Coder
Why I stopped chasing reuse and started writing domain logic around decisions, not abstractions.| Rico Fritzsche
Streamline Testing by Eliminating Mocks and Focusing on Pure Functions| Rico Fritzsche
Moving Beyond Mutable Objects to Explicit Business Logic| Rico Fritzsche
Why I Moved Beyond Aggregates to Functional Domain Modeling| Rico Fritzsche
Pure functions and immutable data aren't just academic concepts. They're practical tools for building robust, maintainable software.| Rico Fritzsche
A Simple Rust Example for Testable Logic and Clear Boundaries| Rico Fritzsche
Why Removing Aggregates Unlocks Simplicity, Flexibility, and Independent Feature Slices| Rico Fritzsche
I recently thought of a nice way to structure a language for parallel programming around the concept of sequential composition. Think of parallelism as the default—evaluate everything in parallel unless the semantics of the situation precludes it: sums are posterior to summands, but the summands can be evaluated simultaneously. You need a way to express […]| Existential Type
... or how to make a non-deterministic functions deterministic through the power of isolated WASM sandbox. This time we'll go through the problems of unpredictability in code, which execution could be affected by external factors like I/O operations, time etc. Then we'll see what kind of| Bartosz Sypytkowski
Today, we're going to discuss .NET locks API, how are they (un)fit for the async workflows and thread-pool backed runtimes and what can we do about it. We'll also challenge some of the decades old design decisions and propose a new ones. Finally we're going to implement a working| Bartosz Sypytkowski
How to introduce Elm incrementally into your existing web applications with a real-world example| cekrem.github.io
I have a new note on toying with the lambda calculus in Python to share here. Please check it out!| Win Vector LLC
Update: fellow algorithms researcher Francisco Claude just posted a great article about using lazy evaluation to solve Tic Tac Toe games in Common Lisp. Niki (my brother) also wrote a post using generators with asynchronous prefetching to hide IO latency. Worth a read I| alexbowe.com
I’ve recently taken Erlang back up1, and I wanted to use this blog post to talk about something cool I learned over the weekend. I am implementing a data structure. Reimplementing actually, as it is the structure from my thesis – a succinct text index (I will| alexbowe.com
Understanding the concepts of closures, currying, and arrow functions isn’t just about “knowing more JavaScript,” but about learning to think better in JavaScript.| Apiumhub
A small utility package to make working with HTML in Elm more convenient| cekrem.github.io
I blogged about Java Stream debugging in the past but I skipped an important method that's worthy of a post of its own: peek. This blog post delves into the practicalities of using peek() to debug Java streams, complete with code samples and common p...| Java, Debugging, DevOps & Open Source
As early adopters of Elixir, we've been using the functional programming language for more than a decade. Here, our software experts share tips and tricks.| Revelry
This post explores unusual primitive constructs in programming languages, from data-like primitives to somewhat esoteric features. Unusual primitives are interesting because they indicate an attempt by the language designer to help the programmer think in a new way. Acknowledgement: This writeup is a response and followup to Hillel Wayne’s …| dr knz @ work
Photo by Steven Wright on Unsplash In late 2023, Alex Kladov published Push ifs up and fors down which essentially says the following (correct) statement: If there’s an if condition inside a functi…| Andy G's Blog
*I’m pretty sure the only way to really tell if an email address is valid is to send an email to it and hopefully not get it bounced back as undeliverable. Regular expressions be damned. *In Haskell, this is only true if you ask it to| Andy G's Blog
This is something I’ve been asking myself while learning Rust. Yes, I know that this sounds like a weird question to ask as it’s no secret that Rust has huge influence from the functional programming world. Closures, iterators, pattern matching, algebraic data types; these are features inspired by FP languages, so obviously you can do … Continue reading Is Rust a Functional Language in Disguise?→| Manuel Cerón
I just released v2.21 of True Myth, with two new pairs of helpers to deal with safe JavaScript object property lookup with Maybes and handling exception-throwing code with Results. Safe JavaScript object property lookup We often deal with optional properties on JavaScript objects, and by default JavaScript just gives us undefined if a property doesn’t exist on an object and we look it up: type Person = { name?: string; }; let me: Person = { name: 'Chris' }; console.log(me.name); // Chris le...| Chris Krycho
A bunch of neat new utility functions on Maybe for arrays and tuples.| v4.chriskrycho.com
I’ve been working on getting the Ember app I work on fully type-checked in strict mode this week, and noticed something interesting along the way: there are a lot of design decisions—a few of them really core to the behavior of the app!—which we never, ever would have made if we had been using Typescript in the first place. One of these is pervasive references to certain optional properties that appear in services throughout our app—the basket, for example. These can indeed be inset a...| Chris Krycho
Adam Giese’s “Level up your .filter game” does something really interesting and helpful: it introduces a bunch of fairly sophisticated functional programming concepts without ever mentioning functional programming and without ever using any of the jargon associated with those terms. “Level up your .filter game” gives you a reason to use some standard FP tools—currying, higher-order functions, composition—in your ordinary work. It’s pitched at working JS developers. It gives a ...| Chris Krycho
In 2017 I decided to print some PDFs to read instead of just have them in an ever-growing folder of Papers to Read. Here is the list of the ones I managed to read this year. Out of the Tar Pit / Ben Moseley, Peter Marks / 2006 This is my favorite paper. It is a bit long (around 60 pages), but well worth reading. It is very thorough in defining what software complexity is. The authors make the distinction between essential and accidental complexity (following Fred Brook’s ideas on the topic)...| Runtime Checks
Every time I want to quickly understand something about an advanced type system or programming language concept I get lost when I see something like this on Wikipedia: Linear type systems are the internal language of closed symmetric monoidal categories, much in the same way that simply typed lambda calculus is the language of Cartesian closed categories. More precisely, one may construct functors between the category of linear type systems and the category of closed symmetric monoidal catego...| Runtime Checks
Warning: this is probably only of interest to functional programmers.| Teaching, Playing, and Programming
I've always enjoyed the mathematical tradition of “proofs without words”, so I wanted to see if something similar could be done with an algorithm. Of course, an algorithm is typically more complicated than a mathematical identity, so it's not surprising that an algorithm typically can't be captured in a single picture. Instead, I've found the idea of a commutative diagram to be a useful pictorial shorthand, where the short way around the diagram gives a high-level view of the operation...| Teaching, Playing, and Programming
Ada is not the first language that comes to mind when you want to do functional programming. (You in the back, stop laughing!) Why, with excellent functional programming languages like Haskell or ML easily available, would I choose to do a functional programming project in Ada? (I CAN STILL HEAR YOU LAUGHING!) Partly because we use Ada in some courses at our institution, and I wanted a library that could help in teaching recursion to novices. But, honestly, mostly I just wanted to see if i...| Teaching, Playing, and Programming
How to supercharge your development setup with true code hot-reloading in a truly functional programming language.| 200ok.ch
1 Main ideas 2 Lack of tuples 3 Folding over arrays 4 Deallocating stuff 5 Discriminated unions 6 Main data structure 7 Tokenizer 8 Parser 9 Flattener 10 Define the phases 11 Parsing the command li…| x += x++
0.1 Cleanup 0.2 Lambdas 0.3 Unions 0.1 Cleanup Let’s start simple with the cleanup function. First we need the usual barrage of includes. G_BEGIN_DECLS allows the header to be linked in C++. #ifn…| x += x++
0.1 Discriminated unions in C 0.2 Nested functions and lambda variables 0.3 Automatic cleanup of local variables 0.4 Data structures 0.5 Wrapping up This post/program (as I’m writing it in literate…| x += x++
Technical blog of Microsoft certified developer James Hickey. Helping you reach the next step of your career as a software developer!| blog.jamesmichaelhickey.com
Lambda calculus provides some of the foundational structures that functional programming is built from. It therefore seems fitting to start my journey through functional programming with a thorough examination of lambda calculus. This first post will introduce Lambda calculus with references to the book An Introduction to Functional Programming Through Lambda Calculus. Syntax The complete syntax for Lambda calculus is surprisingly small and comprehensible. This section lists the syntax in its...| Kevin Sookocheff
I’m documenting my journey from functional neophyte to (hopefully) functional programmer by writing a series of blog posts on the topic. So far I’ve covered what functional programming is and why you would want to learn about it. In this post, I’m going to describe the resources I will be using to become functionally fluent. Although I have previously said I’m learning about functional programming, I should be more specific. I do already have some middling experience with Clojure and ...| Kevin Sookocheff
I’m documenting my journey from functional neophyte to (hopefully) functional programmer by writing a series of blog posts on the topic. This is the first post describing what, exactly, the word functional programming means. Functional programming is a programming paradigm that lives alongside other programming paradigms. None of these paradigms have a precise, unanimous definition or standard, and there is not real agreement on which paradigm is better or worse for building particular type...| Kevin Sookocheff
Clojure either directly supports, or easily supports the use of common design patterns like singleton, command, observer, visitor| Janet A. Carr
I think there's another reason this problem persists in Clojure. There's no Rails for Clojure.| Janet A. Carr
Dear Janet, I hope this email finds you well. I know I'm just a fictional character in a fictional email to set up the hook for this blog post, but I was wondering if you could help me speed up our slow library. We use the best algorithms money can| Janet A. Carr