Skip to content

Latest commit

 

History

History
650 lines (482 loc) · 64 KB

File metadata and controls

650 lines (482 loc) · 64 KB

drawing

Let's learn about Functional Programming via these 159 free blog posts. They are ordered by HackerNoon reader engagement data. Visit the /Learn or LearnRepo.com to find the most read blog posts about any technology.

Dig Recursion? Welcome to functional programming

Applications of dynamic programming

Have you been reading JavaScript posts lately? Maybe you’ve noticed that functional programming is really popular right now. It’s a really powerful way to program, but can be overwhelming to get started with. Thankfully the most popular NPM package (with 48 million downloads this month) has a very useful functional programming package to help us get started!

Firmware development is a necessary process in creating a new device and an embedded system. All the features and functionality of a device depend on its firmware. In simple words, firmware lies between software and hardware parts. So, it helps run software on a device and makes hardware perform required functions without involving users.

Functional components are far more efficient than class based components. Less code is needed to be written to achieve the same goal.

One of the things that's been criticized by newbies in Rust is the file include mechanism. About 2 days ago, I spent around 5 hours on how I was supposed to include a file that was referenced deep down in a directory tree. The docs didn't help, as they were simple structures. Here I'll show you how you can include your code in different parts of the application, even when the structure is complex, and save you hours on how to do this supposedly trivial task.

Golang's Goroutines make it easy to run code concurrently. We can simply add the keyword “go” in front of a function call to make it run in a separate routine, or asynchronously.

Golang has been a popular language over the past few years known for it's simplicity and great out-of-the-box support for building web applications and for concurrency heavy processing. Similarly, JWT (JSON Web Tokens) are turning into an increasingly popular way of authenticating users. In this post I shall go over how to create an authentication middleware for Golang that can restrict certain parts of your web app to require authentication.

This article will introduce functional programming concepts that every programmer should know. Let's begin by defining what functional programming is (FP from now on). FP is a programming paradigm where software is written by applying and composing functions. A paradigm is a "Philosophical or theoretical framework of any kind." In other words, FP is a way for us to think of problems as a matter of interconnecting functions.

Unlock the power of functional programming in JavaScript! Learn key concepts, practical examples, and unleash its potential in your projects.

How to avoid inheritance problems using composition and functional programming

Let’s dive in to learn about object-oriented programming and functional programming. What is object-oriented programming/OOP? What's functional programming/FP?

Take a look at a functional programming paradigm in Go

Inheritance vs Composition in JavaScript. What is better, when use inheritance, when use composition. We will look at different examples on JS.

Choosing the best programming language to learn first can be overwhelming. We are reviewing popular languages and giving resources to learn them for FREE.

The complete explanation of Arrow functions in Javascript, and how it helps developers to write flexible and consistent code.

The notion of state machines is extremely useful in programming. It streamlines the process of developing more complicated use case apps.

Or a small rant against Elixir.

Despite the popularity of currying and the rise of functional programming (and of TypeScript), it is still a hassle today to make use of curry and have proper type checks. Even famous libraries like Ramda do not provide generic types for their curry implementations (but we will).

In the article the author describes the common pipelane of multilass classification solution using keras

Let's imagine that we have a component, a simple counter. The counter has a state and two buttons to manipulate with this state. We also have a function to render the state.

This article shows you how to insert the profile information of any user into the react navigation bar, so as to make it sign-in aware.

Drawing from 12 years of programming across various languages, I'll share how I've applied principles from these to my frontend projects.

Functional programming is a way of writing code that relies on the use of functions to solve problems.

Type-safe domain modeling in Kotlin. If it compiles, it works. With Valiktor and Konad

Ramda, Functional programming, Native JavaScript, TypeScript, Lodash, ES2020, Code readability, Performance optimization, Coding style

React Functional Components grabbed all the attention after the introduction of Hooks. They sidelined Class Components to become the main hero of React apps.

You will require coding skills if you want to work in the field of artificial intelligence (AI). How do you begin? and Which programming language to use?

How the MVC architecture is built, how the code is structured and it can benefit your work.

The Erlang VM-based programming language, Elixir, is slowly but surely gaining popularity. Let's take a look at some benefits of Elixir development.

What Are Java Method References And Kinds Of Method References Available?

In this article, we'll examine how to apply bioinformatics and C# coding to effectively deal with biological information.

Functional programming is old. But it did not become popular, and probably for a reason.

This post is substantially directed to non Haskellers. Haskell frequently appears on hackernews or /r/programming but the content is commonly evangelizing some aspect of functional programming, strong types, and purity.

Here's a problem. You have an object in your code exposed via an export. You also have a function in the same file (also exported) consuming that object directly.

Learn everything you need to know about Functional Programming via these 105 free HackerNoon stories.

The NonNullable type is a utility type in TypeScript which creates a new type, whilst removing all null or undefined elements.

Experience in implementing the Perceus reference counting algorithm in the Pen programming language

Haskell language (and functional programming approach) has become more and more popular in the industry – businesses need robust and safe software solutions, and some of the problems can’t be solved without an advanced technological stack.  

(Photo by Diego Madrigal from Pexels)

The world according to Clojure is nothing but data.At any point in time, it’s one piece of data.

Scala 3 is finally here, but have you seen many real-world applications written in it? In this article, I will show you an example of such an application!

Dive into error handling in C# with the Either monad using LanguageExt. Learn to differentiate success (Right) and errors (Left) effectively.

If you’re a Java developer, I’m sure that you have seen code similar to the featured image snippet above at least once. The code in the snippet above is an example of functional programming paradigm implementation in Java, which will filter and transform the List in the request to another List.

So your thoughts on seeing this title might be “Holy cow, an article about imports…could there be anymore more boring?” But bear with me. This is actually something that is pretty easy to do correctly. But if you’re even a bit lazy (as I often am), you’ll do it wrong. And that can have really bad effects on you and your teammates’ productivity.

Array reduce is a powerful functional programming technique that can be used to simplify complex data manipulation tasks. One of the main advantages of using array reduce over traditional for loops and filter operations is that it allows for more concise and expressive code.

Objects

How to build a fun QR code project and learn about Azure Functions at the same time. Using the latest .NET technologies.

The rise in cybercrime and the sophistication of attacks has made security a crucial part of the development process and not just an afterthought.

Visitor pattern is dead. Long live to Visitor pattern. (With Kotlin examples)

We dive deep into the first principle of SOLID programming, the Single responsible principle. It states "A class should have one and only one reason to change"

How to use the new programming language to build more efficiently.

From version v3, the OpenApi standard brings another way to introduce query parameters via DeepObject.

Simply put, functional programming is a programming style that relies exclusively on functions.

Discussing with a brazilian friend about the situation in our country, we realised how difficult it is to find information about public spending, and when available, how difficult it can be to reason about it. Joining our forces, we decided to explore some data exposed by the Brazilian government, aiming to provide an easier way to visualise and understand how the public resources has been used.

Functional programming is about developing small simple functions and combining them for the purposes of executing more complex tasks.

Why we chose Clojure: functional programming that yields faster features, fewer bugs, smaller teams, and measurable delivery metrics for client projects.

Just like the great majority of programming-related courses, I was introduced to programming with the object-oriented paradigm (OOP). Even though many languages are multi-paradigm, like Python, C++, JavaScript and Ruby, we still have OOP as the norm.

Today I am going to talk about how to design Pure Function and help you understand the benefits of pure function.

In functional programming, pure functions are at the core of this paradigm. When we speak of pure functions we mean that these functions satisfy two main conditions; the first is that they will not cause any side effects and the second is that depending on their arguments they will return the same result. When you create pure functions you should try to make them take care of one thing and only one, so your functions will be very easy to test and scale. Consider the following function:

Explore the origins and guiding principles behind Erlang and Elixir to understand their full potential and innovation.

Build your own Programming Language from Scratch Part 4, where we start new function constructions & implementing functions.

Functional programming is a programming paradigm. This post tells you the basics and benefits of it and how to use it in JavaScript.

One of the core ideas in functional programming is composition: building larger things from smaller things. The canonical example of this idea should be familiar with legos.

I am putting my understanding about functor,Applicative and Monad after spending few days to find out what monad is . Here is what I found. I am using Kotlin to explain with examples

Learn about functional programming, pure functions, map(), filter(), zip(), reduce() concepts

There’s nothing new about Functional Programming. Functional Programming has been around for much longer than OOP as it dates back to the 60s.

If you have been programming for any length of time, you may well have come across higher-order functions but may not have fully appreciated them.

The writing of Clojure/Script macro may seem as a wizard senior programming craft, but this article will show you that it's not the case. This is the second part of my journey to learn Clojure/Script macro and this article will deal with Clojure macro.

Template parameter pack was introduced in C++11. Today we will utilise it to write our fold function. To the ones who don't know what a fold function the expression fold(add, 1, 2, 3, 4, 5) , we will output (1 +(2 + (3 + (4 + 5)))) = 15 (which is left fold). Similarly for fold(mul, 1, 2, 3, 4, 5) , we will output 120. More about it can be found here.

The Frankensteinian Hodgepodge That Puts Mr. Burns' Smithers in Charge of the Starship Enterprise and Leaves Coders Screaming 'Wubba Lubba Dub Dub!'"

In a real

It all started when we ordered an actuator, with an encoder, from China for a project. But something went wrong, and a month later, we received actuators withou

Learn how to build a multilingual text-to-audio converter using Python. This guide covers essential libraries, techniques, and best practices

Lambda expressions in python are one-time anonymous functions which we don’t need more than once.

This article is based on a story of one of our developers, ex Java now Scala developer, who decided to follow the Scala path because he found writing in Scala extremely developing and interesting.

We’re all using resources on a daily basis. You turn on the water tap, wash your hands for at least 20–30 seconds, and turn it off. You switch the light on if it’s dark, and off when you no longer need it.

My grandfather was staring deeply into the television screen in the dimly lit living room. After his cataract had over matured, he swapped the newspaper he peeled through every morning for a news channel with as much depth as the flat screen it was served on.

In 2019, I was looking for a project.

So you probably know that functions are objects in javascript (if not go up the prototype chain of a function to find out). But recently, I noticed that javascript objects can be treated like functions. Which leads to some pretty cool implications!

Playwright isn’t just for UI testing — it can also measure front-end performance from a real user perspective.

What

Stop fighting the 'Celtic runes' of functional programming. Learn FP through a simple model of computation, from basic recursion to the magic of shared thunks.

Almost all the Codepens I've written this year have had some form of a JavaScript function that I call qs()(). That's not a typo! There are two sets of parenthesis following it, and it is good practice as this function uses closures. In just one line, I create a Swiss Army knife of several functions.

The first exercise for my mentees was to draw on a piece of paper the interface that they see for this application.

Most of what I will discuss in this article is knowledge accumulated from reading, “Functional Programming in JavaScript”, by Luis Atencio. Let’s dig right in…

What are union types and how you can use them to your advantage!

Build a Python currency converter with Tkinter. Learn API interaction, user input handling, and GUI design for real-time currency conversion.

Java Stream's Collectors methods fit most use-cases. They allow returning either a Collection or a scalar. For the former, you use one of the toXXX() method, for the latter, one of the reducing() one.

"Let's Understand Chrome V8" are serial technology articles that explain the V8 code, it covers many V8 kernel functions and fundamentals.

Implementing an architecture within an application can be challenging. There are rules we can follow (SOLID, Clean Architecture) and patterns to guide us (MVVM, MVP, MVI, Redux, …) but sometimes, things we thought were well established deserve a step back.

The essence of currying is simple: to take a function of any arity (number of expected arguments) and make it into a unary function.

By far, Microsoft .NET is one of the best platforms for building secure, robust, and scalable desktop or web applications. Used by most Fortune 500 companies, Microsoft .NET is very popular for large-scale applications.

How functional programming changed the way I write and think about code — with easy Python examples and lessons from real coding struggle.

I love recursion. I think it's a very elegant way of writing code, and sometimes it lets you write simple but yet effective pieces of code. And if you happen to use languages like Scala, then recursion is a must.

Clojure is reshaping how teams build software, enabling small, focused groups to tackle complex challenges efficiently.

Using debounce, the function will be executed only when a certain amount of time has passed since the last function call.

There are quite a few ways in Javascript to loop through an array of items or any other iterable item in Javascript. You may have seen them:

In this article, we are going to learn higher-order functions in JavaScript, as well as see the ways you can use them.

I’m learning the Clojure and ClojureScript craft and I must say, I enjoy it. This article explains what leads me on the track of learning Clojure/Script macro. This is the first part of my journey on this topic.

Imperative and declarative styles of programming.

The 2020 #Noonies are here! And they are both much greener and much bigger than last year. Among the 2,000+ deserving humans nominated across 5 categories for over 200 award titles, we discovered Aswin Ganesh from India, who’s has been nominated for Hacker Noon's Contributor of the Year in our Functional Programming category. Without further ado, we present to you, our big techy world in 10 questions, from the perspective of Aswin.

A lightweight Rust game framework built with Macroquad and ECS, designed to run on low-end hardware while exploring functional programming patterns.

Learn how the first property-based testing library, QuickCheck, works by implementing it in Python.

You can’t officially do it, but you can write a function that does virtually the same thing. Let’s see how and maybe why you should.

A deep dive into codata, dependent types, and defunctionalization—reframing the expression problem through data–codata duality.

functional programming emphasizes the use of pure functions, immutability, and advanced techniques like currying, memoization, and monads to create cleaner code

"Clojure in Product. Would you do it again?" podcast explores how teams use the language to grow their businesses.

A new calculus unifies functional and object-oriented paradigms in dependently typed languages using duality and defunctionalization.

Our backend engineer, Pavel Argentov, traveled to Marrakech, Morocco to attend the ninth MirageOS retreat, which was held from March 13-19, 2020. The goal of the event is to bring both experienced and brand new MirageOS users together to collaborate and sync various MirageOS subprojects, start new ones, and help each other fix bugs.

The process to learn functional programming can be daunting and slow as new concepts are involved. Here are 5 tips for you to consider when learning FP.

Data Analyis Project using Spacy and Regular Expressions to extract specific strings from a data set.

Recently I've been learning how to write code in F#. For those who haven't heard of it, F# is Microsoft's/.NET's answer to a functional-first programming language. My motivation was to learn a functional programming language that would make coding for scientific computing and data analysis more expressive, concise, and maintainable, all while fitting seamlessly into the .NET ecosystem that I already know and love. F# fits that bill perfectly.

What would happen if we apply some wisdom from handling exceptions to handling negative emotions?

New to hardware hacking? Learn the essential tools you need to avoid costly mistakes. This guide covers the survival kit every beginner should have.

In this short article we will cover Function Defaults and learn how to use it in our day to day JavaScript programming. This article assumes you have some familiarity with coding in the JavaScript ecosystem.

How to compose independently computed Kotlin nullables, in an easy and clean way

Immediately invoked function expressions, or IIFE, are functions that are run as soon as you define the function.

Whether you are a beginner or a 10x developer, chances are that you have used the methods of the Array Object. The methods in the Array Object are classified into two different categories. One category takes a value as arguments( string, integer, array, object) and another category takes a function as arguments. l

Use Elixir's short-circuit evaluation syntax to build lists and make it easier to define active menu item in Phoenix Framework.

We are a hundred days deep in the Lambda Quadrant part of the galaxy, resting on a deep space Moonad, myself and my crew, my parter and my lovematch, our infant son, and a cat. We study the properties and relations of Haskell abstract entities, enjoying meditating the pure functional programming vibe. It is deep work and we take time and turns. We also watch the second season of Star Trek Discovery and enjoy seeing the bright stars of its universe.

Grammarly’s AI engine and Kasta’s e-commerce platform showcase functional programming at global scale.

Exploring how defunctionalization breaks judgmental and eta equality—and the naming-based solution that preserves type safety.

A clear breakdown of how λμμ˜-calculus relates to sequent calculus, typing rules, and operational semantics like label/goto.

Introduction to streams API

A formal core calculus for dependent data and codata with pattern matching, copatterns, call-by-value semantics, and type soundness proofs.

Explore 5 powerful insights into the 𝜆𝜇𝜇˜-calculus, from first-class evaluation contexts to the elegant duality between data and codata types.

A standardized tech stack (ArTEMiS, VSCodium) for automated grading and collaboration in a large-scale Haskell course.

If you are learning scala or wondering if you should use for new project in your organisation, I suggest that you do. As always, see if scala and scala’s ecosy

Lexical functional programming - jargon and naming convention. How to standardize descriptive names?

A case study showing how dependently typed OOP enables modular web servers, extensible routes, and type-level enforcement of HTTP properties.

Discover the dual nature of algebraic data and codata types in the Fun and Core languages—exploring pattern, copattern, symmetry, and lazy evaluation.

Evaluation contexts solve nested expression stalls in functional languages like Fun and Core by enabling precise operational semantics.

A deep dive into dependently typed object-oriented programming, codata design, self-parameters, and verified interfaces.

Learn how typing rules and type soundness theorems ensure safe program evaluation in Core and Fun, including codata handling and recursive definitions.

Forgetting to close things off in Go can potentially come back to bite you. The most basic and straightforward method is to call rollback or commit.

Discover the importance of using immutable objects in programming to prevent unexpected changes, reduce bugs, and improve code predictability.

Learn how programming concepts like logic, control flow, and evaluation strategy shape the languages we use.

An explanation and short implementation of how shrinking works in property-based testing

Programming paradigms don't give freedom—they take it away. Here's why Structured, OOP, and Functional might be the last paradigms we ever get.

A formal study shows de- and refunctionalization preserve typing and program well-formedness in a dependently typed language.

To engage 1000+ students, lectures evolved from simple Q&A to a moderated live board, boosting synchronous interaction and solving the 'silent majority' problem

Learn about currying in JavaScript and how it can enhance your coding experience.

You’ve probably used map, reduce, and other functional methods in Javascript before, but there are a few use cases you probably haven’t thought about much or used before. In this post, I’d like to go over these methods (and a few other surprises!) to show what’s possible.

Learn how to write pure functions to enhance code readability, maintainability, and testability.

A toolkit of practical methods—bonuses, instant feedback, competitions, and workshops—used to engage 1000+ students in a large-scale Haskell course.

1/19/2023: Top 5 stories on the Hackernoon homepage!

The operational playbook for a 1000+ student Haskell course, detailing syllabus design, staffing logistics, and a practical-first pedagogical approach.

Healthcare organizations that follow HIPAA guidelines must be explicitly aware of security threats. Ethical hacking needs a more critical role in the framework.

Explore let bindings, top-level definitions, and continuation semantics in λμμ˜-calculus and how they shape functional programming evaluation.

Learn how focusing in Core helps eliminate stuck terms, optimize evaluation, and improve program compilation through static transformations.

Explore how sequent calculus handles consumers, evaluation orders, and eta laws better than CPS, with insights on linear logic and functional compilers.

A breakdown of typing rules in Fun and Core languages, with insights into control flow, type soundness, and data vs codata handling.

Discover how Rust's experimental try block feature simplifies error handling beyond the traditional ? operator.

Discover the λμμ̃-Calculus: a powerful tool for compiler writers that simplifies evaluation contexts without the complexity of CPS types.

A case study on engaging 2000+ students in a Haskell course with automated feedback, creative projects, and shareable tools for educators.

Explore how first-class functions and control operators like label/goto are desugared and implemented in functional programming using codata and μ-bindings.

Explore the duality between let-bindings and control operators, and how λμμ˜ calculus enables powerful compiler optimizations like case-of-case.

Bringing Options to JavaScript and TypeScript.

Explore how arithmetic expressions in a functional language are translated into Core's sequent-calculus framework using producers, consumers, and statements.