W4S1, FUNCTIONS AS FIRST-CLASS VALUES
Roshan * Roshan *
343 subscribers
80 views
4

 Published On Apr 24, 2020

About This Course
Functional programming is a programming paradigm which is rapidly attracting interest from a broad range of developers because it allows to write expressive, concise and elegant programs.

In this MOOC you will learn Functional programming using the OCaml programming language.You will discover the powerful mechanisms that are offered to build and manipulate complex data structures in a clean and efficient way. And you will see how functions play a central role, as first-class values that can be freely used in any place where an expression can appear.

The OCaml programming language is a member of the ML language family pioneered by Robin Milner. An important feature of OCaml is that it reconciles the conciseness and flexibility of untyped programming languages (like Python, for example) with the safety of strongly typed programming languages (like Java, for example). The OCaml compiler performs in fact a type inference. Types of identifiers do not have to be declared but are inferred by the compiler at the moment of definition of an identifier, and then used for assuring type correctness when using an identifier.

We will start by using OCaml as a purely functional programming language. At the end of this MOOC we will see that OCaml is in fact a multi-paradigm language which allows you to combine the functional programming style with the imperative programming paradigm.


Following are the authors of this video:

ROBERTO DI COSMO
Roberto Di Cosmo is professor of computer science at University Paris Diderot, director of Irill, currently on leave at INRIA. His research interests include functional and parallel programming, type systems, logic, rewriting, and the static analysis of large software collections.

YANN REGIS-GIANAS
Yann Régis-Gianas teaches computer science at Université Paris-Diderot. His research at the PPS laboratory focuses on the theory and the design of programming languages. He did his PhD in the INRIA team that develops OCaml and is now in the development team of the Coq proof assistant.

RALF TREINEN
Ralf Treinen is professor of computer science at University Paris Diderot. Symbolic constraint solving, verification and application of formal methods to the quality assurance of software components are among his current research interests. He is also a member of Irill.

Course Schedule
Week 0: Introduction and overview
Week 1: Basic types, definitions and functions
Week 2: Basic data structures
Week 3: More advanced data structures
Week 4: Higher order functions
Week 5: Exceptions, input/output and imperative constructs
Week 6: Modules and data abstraction

Terms Of Use
Course: Creative Commons BY NC ND license : The user must include the name of the author, it can exploit the work except in a commercial context and can not make any changes to the original work. https://creativecommons.org/licenses/...
Content produced by users: restrictive license. Your production remains your intellectual property and can therefore not be reused.

show more

Share/Embed