From c95d6645b943eded451fe116a9f11a46755a0a5c Mon Sep 17 00:00:00 2001 From: AbhigyaKrishna Date: Thu, 20 Jun 2024 04:16:28 +0530 Subject: [PATCH] feat: Lambda functions --- ...24-06-20-Understanding-Lambda-Functions.md | 167 ++++++++++++++++++ images/lambda.png | Bin 0 -> 67002 bytes 2 files changed, 167 insertions(+) create mode 100644 _posts/2024-06-20-Understanding-Lambda-Functions.md create mode 100644 images/lambda.png diff --git a/_posts/2024-06-20-Understanding-Lambda-Functions.md b/_posts/2024-06-20-Understanding-Lambda-Functions.md new file mode 100644 index 0000000..62302db --- /dev/null +++ b/_posts/2024-06-20-Understanding-Lambda-Functions.md @@ -0,0 +1,167 @@ +--- +layout: post +title: Understanding Lambda Functions +description: Insight on some core concepts of lambda functions in programming. +date: 2024-06-20 04:12 +0530 +image: '/images/lambda.png' +tags: [Programming, Concept] +--- +Functions, in general, are a set of instructions that are executed to perform a task with some input parameters. In programming, functions are used to organize the code into logical blocks and perform operations efficiently. + +# A Bit about Functions... +We often write functions to encapsulate a piece of code that does a specific task. We know that functions have a name (so that we can call them later), input parameters (to pass some data), and a return value (to get the result). +A function somewhat looks like this: +```text +function name_of_function(input_parameters): return_type { + // code block + return result; +} +``` +If we dive deeper into compiler theory, we get to know that functions are often optimized by the compiler by **inlining** the encapsulated code block wherever the function is called. +When a program executes a function, it creates a **stack frame** in the memory to store the local variables and the return address. This stack frame is popped out of the memory once the function execution is completed. +So inline functions helps in reducing the overhead of creating and destroying the stack frame for the function. + +Enough of the theory, let's talk about lambda functions now. + +# What are Lambda Functions? +> Lambda functions are anonymous functions that only has a return type and parameters. They are also known as **function literals** or **closures**. + +Different languages implement lambda functions in different ways. Some have a single expression syntax, while others have syntax that allows multiple expressions. +An example of a lambda function in Java to add two numbers: +```java +(a, b) -> { + return a + b; +} +``` +Shorthand syntax for single expression lambda function: +```java +(a, b) -> a + b +``` + +The usage of lambda functions and method references is a key concept of [**Functional Programming**](https://www.geeksforgeeks.org/functional-programming-paradigm/). + +# Functional Programming +> Just like mathematics functions + +Functional programming is an approach to software development that uses pure functions to create maintainable software. In other words, building programs by applying and composing functions. +While functional programming, we can pass on higher order functions as arguments to other functions, return functions from other functions, and assign functions to variables. +The beauty of functional programming allows use to write more concise, readable, and maintainable code and also to achieve [**Function Purity**](https://www.geeksforgeeks.org/pure-functions/) with ease. + +# Types of Lambda Functions +According to the number of parameters and the return type, lambda functions can be classified into different categories. Categorising lambda functions helps in understanding the use cases and the syntax of lambda functions, +and also to refer to them in a more structured way. Here are some types of lambda functions: +1. **Runnable**: Lambda functions which take no parameter and return no value. + ```java + () -> { + System.out.println("Hello, World!"); + } + ``` +2. **Supplier**: Lambda functions which take no parameter and return a value. + ```java + () -> { + return 10; + } + ``` +3. **Consumer**: Lambda functions which take a parameter and return no value. + ```java + (a) -> { + System.out.println(a); + } + ``` +4. **Function**: Lambda functions which take a parameter and return a value. + ```java + (a) -> { + return a * a; + } + ``` +5. **Predicate**: Lambda functions which take a parameter and return a boolean value. + ```java + (a) -> { + return a > 10; + } + ``` +6. **BiFunction**: Lambda functions which take two parameters and return a value. + ```java + (a, b) -> { + return a + b; + } + ``` +7. **BiPredicate**: Lambda functions which take two parameters and return a boolean value. + ```java + (a, b) -> { + return a > b; + } + ``` +8. **BiConsumer**: Lambda functions which take two parameters and return no value. + ```java + (a, b) -> { + System.out.println(a + b); + } + ``` +9. **UnaryOperator**: Lambda functions which take a parameter and return a value of the same type. + ```java + (a) -> { + return a * a; + } + ``` +10. **BinaryOperator**: Lambda functions which take two parameters and return a value of the same type. + ```java + (a, b) -> { + return a + b; + } + ``` + +A quick example for a lambda function in Java: +```java +import java.util.function.Runnable; + +public class LambdaExample { + public static void main(String[] args) { + Runnable run = () -> { + System.out.println("Hello, World!"); + }; + + Thread[] threads = new Thread[10]; + for (int i = 0; i < 10; i++) { + threads[i] = new Thread(run); + threads[i].start(); + } + + for (int i = 0; i < 10; i++) { + try { + threads[i].join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } +} +``` +In the above example, we have created a lambda function of type `Runnable` and used it to create 10 threads that print "Hello, World!". +See how the same function which is stored in a variable can be passed in multiple places. This is the power of lambda functions. + +# Context Capturing +Lambda functions can capture the context in which they are defined. This means that they can access the variables from the enclosing scope. +The variables accessed by a lambda from the enclosing scope are directly passed to the lambda function and are called **captured variables**. +```java +public class LambdaExample { + public static void main(String[] args) { + int a = 10; + Runnable run = () -> { + System.out.println("Value of a: " + a); // Capturing the variable a from outside of the lambda variable scope + }; + + Thread thread = new Thread(run); + thread.start(); + + try { + thread.join(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} +``` +In the above example, the lambda function captures the variable `a` from the enclosing scope and prints its value in a different thread context. +The only constraint is that the captured variables should be effectively final or final. This means that the value of the variable should not change after it is captured by the lambda function. +If the value of the variable changes after it is captured, it is effectively an error for the compiler as it may lead to data discrepancy. diff --git a/images/lambda.png b/images/lambda.png new file mode 100644 index 0000000000000000000000000000000000000000..dadceea735cacc0c360f0edca6376f7102093d47 GIT binary patch literal 67002 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 Mbe#N5RO*NS0EYpJdH?_b literal 0 HcmV?d00001