1. GConfs
  2. Untitled project
  3. conf OCaml

Commits

Philémon Gardet  committed 6a0879d

Review drop Rafael.

  • Participants
  • Parent commits fd6a255
  • Branches master

Comments (0)

Files changed (6)

File conf/main.tex

View file
 \setcounter{tocdepth}{1}
 
 \title{OCaml \\ De l'objet à l'utilisation de SDL}
-\author{Philemon Gardet - Rafael Gozlan}
+\author{Philemon 'PhilGekni' Gardet [philglva@gmail.com]}
 \institute{\includegraphics[width=1.8cm]{pics/epita.png}\\\includegraphics[width=2cm]{pics/gconfs.png}}
 \date{11 octobre 2013}
 

File conf/slides/fonctionnel.tex

View file
 		\item Les caractères : 'c'\\
 		\item Les chaines de caractères : "abcd"\\
 			~~"The " \^~"meaning of " \^~"life"
-			\item Les n-uplets : ( 1, 2, 3, 4 )
+			\item Les n-uplets : ( 1, 4.2, "abc", 4 )
 	\end{itemize}
 \end{frame}
 
 
 	 	\begin{block}{Déclaration}
 		\begin{lstlisting}
-		  let incr ?pas:(x = 1) r = r + x
+		  let incr ?step:(x = 1) r = r + x
+		  
+		  val incr : ?step:int -> int -> int
 		\end{lstlisting}
 		\end{block}
 
 	 	\begin{block}{Utilisation}
 		\begin{lstlisting}
-		  incr ~pas:10 32
+		  incr 32
+		  incr ~step:10 32
 		\end{lstlisting}
 		\end{block}
 
   match expr with
      m1 -> expr1
    | m2 -> expr2
-   | pn -> exprn
+   | mn -> exprn
 		\end{lstlisting}
 	\end{block}
 	\begin{block}{Exemples}
    	    name = 
          typeToDefine
     
-  type ('label,'valType) labeledList =
-    'label * ('valType list) 
+  type ('valType) labeledList =
+    string * ('valType list) 
 	\end{lstlisting}
 \end{frame}
 

File conf/slides/imperatif.tex

View file
 	\frametitle{Le sequençage}
 		\begin{block}{Séparer des expressions}
 			\begin{lstlisting}
-  expr1; ...; expr2
+  expr1; ...; exprn
 			\end{lstlisting}
 		\end{block}
 		\begin{block}{Faire des "blocs" de code}

File conf/slides/objet.tex

View file
 \begin{frame}[fragile]
 	\frametitle{Initialisation}
 	\begin{lstlisting}
-class putLineInQueue (l:int list) =
+class putListInQueue (l:int list) =
   object (self)
     
-  val data = Queue.create ()
+  val data = Stack.create ()
 
   initializer
     let rec storage = function
 class childName parameters =
   object
   inherit motherClass mothersParameters 
-    as motherSelf
+    as motherSuper
 
   end
 	\end{lstlisting}
 	\framesubtitle{L'interface}
 	\textit{On peut utiliser une classe ou une interface pour faire du polymorphisme de sous-type.}
 	\begin{block}{Opérateur}
-		~~Instance\_Sous-Type :> Sur-type
+		~~Instance\_Sous-Type \large{:>} Sur-type
 	\end{block}
 	\begin{block}{Interface}
 		\begin{lstlisting}

File conf/slides/struDonnees.tex

View file
 	\item Déclaration de type: 
 		\begin{lstlisting}
 		type pixel = 
-		{ mutable  r:float ; mutable g:string 
-		; b:int } 
+		{ 
+		   mutable r:float; 
+		   mutable g:string; 
+		   b:int;
+		} 
+		
+		let p = { r=2.3; 
 		\end{lstlisting}
-		Un champ mutable signifie qu'il peut être modifié.
-	
-	\item Modifiaction des champs de valeur:
+	\item Modification des champs de valeur:
 		\begin{lstlisting}
 			p.r <- 42.0;
 			p.g <- "The Game"
 
 \begin{frame}[fragile]
 	\frametitle{Les références}
-	Une référence est considérée comme l'équivalent (selon l'INRIA) des pointeurs en OCaml.
+	Une référence est considérée comme l'équivalent (selon l'INRIA) des pointeurs en OCaml.\\
 	Déclaration:
 	\begin{lstlisting}
-		let a = ref 0
+		  let a = ref 0
 
-		let l = ref [];;
-		val l : '_a list ref = {contents=[]}
+		  let l = ref [];;
+	\end{lstlisting}
+	Variable de type faible :
+	\begin{lstlisting}
+		  val l : '_a list ref = {contents=[]}
 	\end{lstlisting}
 	Utilisation:
 	\begin{lstlisting}
-		!a ;;
-		- : int = 0
-		a := !a + 1 ;;
-		- : unit = ()
+		  !a ;;
+		  - : int = 0
+		  a := !a + 1 ;;
+		  - : unit = ()
 	\end{lstlisting}
 
 \end{frame}
 	val v : float array = [|3.14; 6.28; 9.42|]
 	\end{lstlisting}
 
-	\item Array.create
+	\item Array.make
 	\begin{lstlisting}
-	let v = Array.create  3  3.14;;
+	let v = Array.make  3  3.14;;
 	val v : float array = [|3.14; 3.14; 3.14|]
 	\end{lstlisting}
 
-	\item Array.make
 	\end{itemize}
 \end{frame}
 
 \begin{frame}[fragile]
 	\frametitle{Les vecteurs}
 	\framesubtitle{Utilisation simple}
-	\begin{enumerate}
+	\begin{itemize}
 	\item
 	\begin{lstlisting}
-	v.(1) ;;
-	- : float = 3.14
+	v ;;
+	- : float array = [|100; 3.14; 3.14|]
 	\end{lstlisting}
 
 	\item
 	\begin{lstlisting}
-	v.(0) <- 100.0 ;;
-	- : unit = ()
+	v.(1) ;;
+	- : float = 3.14
 	\end{lstlisting}
 
 	\item
 	\begin{lstlisting}
-	v ;;
-	- : float array = [|100; 3.14; 3.14|]
+	v.(0) <- 100.0 ;;
+	- : unit = ()
 	\end{lstlisting}
-	\end{enumerate}
+	\end{itemize}
 \end{frame}
 
 \begin{frame}[fragile]
            [|1; 4; 6; 4; 1|];
            [|1; 5; 10; 10; 5; 1|]
          |] 
+	
+	t.(2).(0)
 	\end{lstlisting}
 \end{frame}
 
 
 	\item Array.to\_list
 
-	\item RTFM...
-
 	\end{itemize}
 \end{frame}
 
 	
 	\item
 		\begin{lstlisting}
-		Stack.push "42" s; Stack.push s "1337";;
+		Stack.push 42 s; Stack.push 1337 s;;
 		- : unit = ()	
 		\end{lstlisting}	
 	
 	\item
 		\begin{lstlisting}
 		Stack.pop s;;
-		- : string = "43"
+		- : int = 1337
 		Stack.top s;;
-		- : string = "42"
+		- : int = 42
 		\end{lstlisting}	
 
 	\end{itemize}

File conf/themeHfo.tex

View file
 \usenavigationsymbolstemplate{
 	Conférence OCaml 
 	\hspace{0,3cm} 
-	\insertframenumber/\inserttotalframenumber
+	\large\insertframenumber/\inserttotalframenumber
 }
 \setbeamertemplate{sidebar left}{
 	\vfill