Cours du jour
This commit is contained in:
parent
a3aba51336
commit
2982dbbb10
26
base.tex
Normal file
26
base.tex
Normal file
@ -0,0 +1,26 @@
|
||||
\documentclass[10pt]{report}
|
||||
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\usepackage[frenchb]{babel}
|
||||
\usepackage{ucs}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{eurosym}
|
||||
\usepackage{enumerate}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{listings}
|
||||
\usepackage{color}
|
||||
\usepackage{array}
|
||||
|
||||
\definecolor{dkgreen}{rgb}{0,0.6,0}
|
||||
\definecolor{gray}{rgb}{0.5,0.5,0.5}
|
||||
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
||||
|
||||
\lstset{language=C++,keywordstyle=\color{blue},stringstyle=\color{mauve}}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\input{main}
|
||||
|
||||
\end{document}
|
5
foncprog/biblio.tex
Normal file
5
foncprog/biblio.tex
Normal file
@ -0,0 +1,5 @@
|
||||
\chapter{Bibliographie}
|
||||
|
||||
Apprendre Scheme
|
||||
|
||||
Le livre Practical Common Lisp (\url{http://www.gigamonkeys.com/book/})
|
63
foncprog/intro.tex
Normal file
63
foncprog/intro.tex
Normal file
@ -0,0 +1,63 @@
|
||||
\chapter{Introduction}
|
||||
|
||||
\paragraph{Lisp~:} fanboy du lisp~! C'est sans doute l'un des langage qui
|
||||
inclus le plus de paradigme possible~: homoiconicité (un autre exemple serait
|
||||
Prolog).
|
||||
|
||||
Tous les dialectes de lisp sont composés de 7 opérateurs.
|
||||
|
||||
Dans les dialectes sympa, il y a Scheme qui est simple et minimaliste.
|
||||
Common Lisp est un standard et possède même des bibliothèques standards.
|
||||
Emacs Lisp est un mélange du Common Lisp et du Mac Lisp.
|
||||
|
||||
Ruby est inspiré de Lisp.
|
||||
|
||||
\section{Paradigme}
|
||||
|
||||
Un \emph{paradigme} est une conception qui permet d'exprimer un certain nombre
|
||||
de choses~: fonctionnel, impérative, procédural, \ldots
|
||||
|
||||
Cela permet de faciliter l'écriture de certain concepts~: dans certain
|
||||
paradigme, il est plus simple de faire certaines choses. Tout est possible
|
||||
partout, plus ou moins simplement :p\\
|
||||
|
||||
Le paradigme affecte donc l'expressivité d'un langage, mais aussi la manière de
|
||||
penser dans un langage.
|
||||
|
||||
Généralement, un langage n'a pas de paradigme ferme.
|
||||
|
||||
\section{1er ordre}
|
||||
|
||||
Inventé par Christopher Strackey.\\
|
||||
|
||||
Un objet de première classe peut être stocké dans une variable, agrégé
|
||||
(structure), passer en argument à une fonction, retourner d'une fonction,
|
||||
manipuler de manière anonyme (utiliser un entier sans l'avoir assigné à une
|
||||
variable) ou faire de la construction dynamique (un entier calculé à partir de
|
||||
deux autres entiers).\\
|
||||
|
||||
Dans une langage fonctionnel, la fonction est un objet de première classe.
|
||||
|
||||
\subsection{Lisp 1 vs 2}
|
||||
|
||||
Common Lisp est un Lisp 2, Scheme un Lisp 1. Déréférence les espaces de noms.
|
||||
|
||||
\subsection{Mapping et folding}
|
||||
|
||||
\paragraph{Mapping} Consiste à appliquer une fonction sur tous les éléments
|
||||
d'une fonction.
|
||||
|
||||
\paragraph{Folding} Consiste à combiner 2 par 2 tous les éléments d'une liste
|
||||
pour n'avoir plus qu'une valeur unique à la fin.
|
||||
|
||||
\paragraph{Retour fonctionnel} Capacité à créer de nouvelles fonctions à la
|
||||
volée.
|
||||
|
||||
\section{Pureté}
|
||||
|
||||
\section{Évaluation}
|
||||
|
||||
\section{Typage}
|
||||
|
||||
\section{Résumé}
|
||||
|
8
foncprog/main.tex
Normal file
8
foncprog/main.tex
Normal file
@ -0,0 +1,8 @@
|
||||
\title{Approche fonctionnelles de la programmation}
|
||||
\author{Didier \textsc{Verna}}
|
||||
\date{}
|
||||
|
||||
\maketitle
|
||||
|
||||
\input{intro.tex}
|
||||
\input{biblio.tex}
|
Reference in New Issue
Block a user