Blog

All our insights, cases, blog posts, news and more in one place

Composition in Functional Programming

Composition in Functional Programming

In the realm of functional programming, function composition emerges as a powerful concept, fundamentally reshaping the way we design and structure our code. At its core, function composition involves combining multiple functions to create a new function. This elegant approach not only streamlines code but also enhances readability and promotes a declarative programming style.

Introduction to category theory for programmers

Introduction to category theory for programmers

Category theory serves as a foundational branch of mathematics with profound implications in the world of programming, particularly in the realm of functional programming. Let’s embark on our journey by understanding the fundamental concepts that form the backbone of category theory.

Concurrency patterns in Functional Programming

Concurrency patterns in Functional Programming

Concurrent programming allows developers to execute multiple tasks simultaneously, enhancing performance and responsiveness. However, with this power comes the complexity of managing shared resources, avoiding race conditions, and ensuring data consistency — challenges that have long perplexed software engineers.

Is Erlang relevant in 2024?

Is Erlang relevant in 2024?

Originally developed in the 1980s by Ericsson for building telecommunication systems, Erlang has made a lasting impact due to its unique design principles and emphasis on solving real-world challenges.

Ease into Functional Programming

Ease into Functional Programming

In software development, one paradigm has been gaining considerable traction — Functional Programming (FP). As developers, we’re accustomed to the imperative and object-oriented styles, but the functional approach brings a fresh perspective and a powerful set of principles to the table.

Went

Went

Went is an open-source library for building visually appealing diagrams using PureScript and the GoJS web framework.

Most popular functional programming language in 2023

Most popular functional programming language in 2023

We have looked into PYPL and TIBOE index now in December to rank the following functional programming languages in popularity: Clojure, Elixir, Erlang, F#, Haskell, Kotlin, OCaml, Rust, Scala and Swift.

Strict vs Lazy evaluation

Strict vs Lazy evaluation

In the world of functional programming, where the elegance of code and the purity of functions reign supreme, the choice of evaluation strategy becomes a pivotal decision for programmers. At the heart of this decision lies a fundamental dichotomy: strict vs. lazy evaluation.

Why Functional Programming for CTOs

Why Functional Programming for CTOs

In the landscape of software development, Functional Programming stands out as a paradigm that transcends conventional approaches. As a Chief Technology Officer (CTO), steering the technical direction of a company is a strategic responsibility, and understanding the nuances of Functional Programming becomes pivotal in shaping a resilient and forward-looking technical architecture.

Why Functional Programming for CEOs

Why Functional Programming for CEOs

In the dynamic landscape of modern business, technology plays a pivotal role in driving innovation and ensuring sustained growth. Among the array of programming paradigms, Functional Programming stands out as a powerful catalyst for achieving not only technical excellence but also unparalleled business agility.

Functional Programming in Swift: A comprehensive guide

Functional Programming in Swift: A comprehensive guide

Functional programming is a paradigm that has gained popularity in recent years due to its elegance and efficiency in code development. Swift, Apple’s powerful programming language, is no exception when it comes to embracing functional programming principles. In this blog post, we’ll take a deep dive into Swift and explore how it incorporates functional programming concepts.

Recursion

Recursion

In the vast landscape of functional programming, one concept stands as a beacon of elegance and problem-solving prowess: recursion. It’s a term that often elicits both fascination and intimidation, and in the context of functional programming, it holds a pivotal role.

Functional Programming simplified for business success

Functional Programming simplified for business success

In the dynamic world of software development, businesses are continually seeking solutions that enhance efficiency, security, collaboration, and performance. Enter functional programming, a paradigm that has been making waves in the software industry. Functional programming simplifies the complex, streamlining the development process and bolstering the success of businesses in a multitude of ways.

Referential transparency

Referential transparency

In the world of functional programming, a profound concept reigns supreme — a concept that underpins the principles of clarity, predictability, and reliability in code. This concept is known as “referential transparency,” and it forms the backbone of functional programming paradigms.

Pattern matching in Functional Programming

Pattern matching in Functional Programming

In the world of functional programming, where clarity, simplicity, and predictability are paramount, pattern matching emerges as a powerful and elegant tool. It’s a technique that not only defines the structure of your data but also transforms the way you handle it. In this blog post, we’ll dive into the concept of pattern matching and explore its profound significance in the realm of functional programming.

Exploring Agda: Empowering software development with dependent types

Exploring Agda: Empowering software development with dependent types

Agda, a remarkable functional programming language and proof assistant, has been gaining recognition for its extraordinary capabilities in enhancing software correctness and reliability. In this blog post, we will embark on a journey to understand the world of Agda, exploring its unique features and its relevance in real-world applications.

Pure functions in Functional Programming

Pure functions in Functional Programming

Functional programming, with its unique approach to software development, introduces a fundamental concept that forms the foundation of its principles: pure functions. In the world of functional programming, pure functions aren’t just another coding technique; they are the cornerstone of creating robust, maintainable, and predictable software.

Happy Ada Lovelace Day

Happy Ada Lovelace Day

Ada Lovelace was the first computer programmer of history. In her notes on Charles Babbage’s mechanical computer, the first algorithm designed to be machined has been found. She created questions through poetic science, a relationship between human, society, technology and mathematics.

The importance of code quality

The importance of code quality

In the intricate realm of software development, there exists an underlying element that can make or break a project’s success – code quality. Code quality is the measure of how well-written and well-structured a piece of software code is. It encompasses a wide spectrum of attributes, including readability, maintainability, efficiency, and reliability. While it might not be the most glamorous aspect of software development, it is undeniably the backbone of software excellence.

The efficiency of Functional Programming: Less code, more power

The efficiency of Functional Programming: Less code, more power

In the landscape of software development, one paradigm has emerged as a champion of code efficiency, maintainability, and elegance: functional programming. As the demand for software applications continues to surge, the quest for creating more with less has become paramount. In this pursuit, functional programming has not only risen to prominence but has also rewritten the rulebook on how we approach app development.

Unlocking the power of functional frontend development with ELM

Unlocking the power of functional frontend development with ELM

In the world of web development, staying ahead of the curve is a constant challenge. Web technologies come and go, and keeping up with the latest trends can sometimes feel like a daunting task. However, if you’re looking for a language that combines the best of both worlds – functional programming and frontend development – ELM might just be the answer.

Exploring Clojure

Exploring Clojure

Clojure, a functional programming language created by Rich Hickey, has gained popularity for its unique design philosophy that emphasizes data-centric development. In this blog post, we will delve into the core principles of Clojure’s design and see how they impact the way developers work with data and functions.

Configuration languages can also be Functional

Configuration languages can also be Functional

Configuration files are an integral part of software development, used to define parameters, settings, and options for applications. However, working with configuration files can sometimes be a daunting task, especially when they grow in complexity. In this blog post, we’ll explore a unique solution to this problem: The Dhall configuration language. We’ll discuss how Dhall combines functional programming principles with configuration files, making them more manageable, safe, and expressive.

Pure Functional Programming in Dart

Pure Functional Programming in Dart

Functional programming has gained immense popularity in recent years due to its ability to write clean, maintainable, and bug-free code. While languages like Haskell, Scala, and even JavaScript have embraced functional programming concepts, you might be surprised to learn that Dart, the language developed by Google, also has its own functional programming library called Dartz developed by Björn Sperber.

How memory leaks leave the door open for hackers and how Functional Programming can remedy that

How memory leaks leave the door open for hackers and how Functional Programming can remedy that

In today’s digitally connected world, cybersecurity is a top concern for individuals and organizations alike. One of the often-overlooked culprits behind successful hacker attacks is memory leaks in software. In this blog post, we’ll dive into the world of memory leaks, explore their role in hacker attacks, and discover how Functional Programming (FP) serves as a potent remedy to this persistent issue.

Functional thinking

Functional thinking

Discover the power of Functional Thinking in software development. Explore principles like immutability, pure functions, and composition that shape this transformative mindset. Enhance your code quality, problem-solving, and scalability with functional thinking techniques.

Immutability in Functional Programming

Immutability in Functional Programming

Functional programming is a paradigm that has gained significant traction in recent years. Its core philosophy revolves around the idea of using functions to construct programs, leading to code that is modular, predictable, and easier to reason about. One of the fundamental principles that underpins functional programming is immutability – a concept that brings a host of advantages to the development process.

Monads and algebraic effects

Monads and algebraic effects

The presentation discusses monads and algebraic effects in programming languages, tracing their historical origins and practical applications. While monads have become prevalent due to their ease of implementation, algebraic effects offer a more flexible approach to handling effects. Despite the challenges in implementing algebraic effects in existing languages, the talk encourages further exploration of their potential for future language design.

What is Functional Programming? 

What is Functional Programming? 

Functional programming means combining functions to construct a program. Functional programming is declarative, it describes what to solve in contrast to imperative programming that describes how to solve it. In this blog post we will explain what functional programming is and how to apply functional programming concepts with examples in Erlang.

Seamless banking experience with F#

Seamless banking experience with F#

We were a part of a collaborative effort with the customer to continue to build an online bank using the programming language F# (F Sharp). F# is a functional-first programming language that provides strong support for functional programming paradigms. It is known for its conciseness, expressive syntax, and strong type inference.

Real-Time user presence tracking with Phoenix Presence

Real-Time user presence tracking with Phoenix Presence

A comprehensive explanation of how to display the currently logged-in user using Phoenix Presence in a Phoenix LiveView application. The video covers the concepts, implementation details, and code snippets, providing valuable insights for developers interested in real-time web development with Elixir and Phoenix.

Safe migration of live production database with Erlang and Haskell

Safe migration of live production database with Erlang and Haskell

Within the online banking domain, we were responsible for the live migration of a large production database. This task typically involves transferring data from one database system to another without disrupting the online services provided by the banking application. Live migration is a complex process that requires careful planning, execution, and monitoring to ensure minimal downtime and data integrity.

Building a seamless payment experience with Scala

Building a seamless payment experience with Scala

We were an integral part of a development team within the online banking domain. Specifically, we were involved in building applications for direct debit and credit transfer payments services. These applications were designed to facilitate seamless and secure transactions for customers, allowing them to manage their finances efficiently. To accomplish this, the team utilized Scala, a powerful programming language known for its functional and object-oriented capabilities, and Cats Effects, a library that provides functional programming abstractions for building concurrent and asynchronous applications in Scala.