Functional Programming & Proofs
I. Introduction
- What are the main characteristics of all the Functional Programming Languages (
F#
, Javascript
, Python
, (CA)ML
, Lisp
, Haskell
,...) ?
- Based on a paradigm (point of view) where everything is a function
Ex. What is the "factorial" function ? What is the derivative of a function ?
- Based on a simple mathematical model with rewriting: the lambda calculus with only "substitutions" as illustrated here
$$
(fun\ x\to y)\ v
\Leftrightarrow y[x/v]
$$
NB. A common syntactic sugar of the preceding expression is: "let x=v in y"
- Different from imperative (e.g. computing factorial):
Declare what is the result not how to compute it !
1 - 8
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide
docteur dr laurent thiry uha mulhouse france functional programming fsharp proof theory coq coqide