Home » Functional Programming

Reduction of List

reduceLeft and foldLeft reduceLeft insert a given operator between adjacent elements of a list List(x1, …, xn) reduceLeft op = x1 op x2 op … xn Ex:

foldLeft is like reduceLeft but takes accumulator, z as an…

Read More »

Pair and tuple

Pair A pair include 2 elements that is written (x, y) in Scala Pairs can also be used as patterns: val (label, value) = pair  Tuple A tuple includes more than 2 elements The fields of a tuple…

Read More »

Functions as objects

The function type A => B is just an abbreviation for the class scala. Function1[A, B], which is defined as follows. 

An anonymous function such as 

is expanded to: 

A function call, such as f(a),…

Read More »

Scala syntax summary

Type Numeric type: Int, Double (and Byte, Short, Char, Long, Float) Boolean type: with the values true and false String type Function type: ike Int => Int, (Int, Int) => Int Expression Identifier: such as x, isGoodEnough Literal:…

Read More »

Currying

Currying is when you break down a function that takes multiple arguments into a series of functions that each take only one argument. Example Ex1: Write a function that takes the product of all the integers on a…

Read More »

Higher-order functions

Higher order functions Higher order functions return functions as a result

Higher order functions also take other functions as parameters

We can write:

Function types Type A => B is the type of a…

Read More »

Java – Immutable

Khái niệm về Immutable là vô cùng quan trọng trong hầu hết tất cả các ngôn ngữ, bao gồm cả Java. Với việc Java đưa ra phiên bản 8, Immutable đã trở nên quan trọng hơn. Phiên bản…

Read More »

Java 8 – Functional Programming

Bạn có thể đã được nghe về functional programming (FP) và nó thật là tuyệt vời để giảm số dòng code và giúp cho source code dễ đọc hơn. Nhưng ý nghĩa thực sự của functional programming là…

Read More »

Mô hình Functional Programming

Thật khó để tìm một định nghĩa nhất quán của Functional Programming. Nhưng trong bài viết này tôi sẽ đưa ra 2 khái niệm để định nghĩa về FP như sau: Khi bạn code ứng dụng chỉ sử…

Read More »

Monad

Có rất nhiều khái niệm khác nhau trong functional programming như là  HOFs, closures, currying, partial application…rất là hữu ích trong lập trình viên ngày nay. Một trong những khái niệm rất là quan trọng khác trong của functional…

Read More »